-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extended childcare entitlement #1007
Merged
Merged
Changes from 78 commits
Commits
Show all changes
81 commits
Select commit
Hold shift + click to select a range
adf96a0
Implement tax free childcare
vahid-ahmadi ee24d61
Parameterize values
vahid-ahmadi 12d24be
Reformatting to pass the tests
vahid-ahmadi 235fd08
Reformatting with black
vahid-ahmadi b3b1967
Reformatting with black
vahid-ahmadi 55ce6c3
Format code with black
vahid-ahmadi 9952ed9
Format code with black using 79-char line length
vahid-ahmadi d6b22e5
Fix YAML structure
vahid-ahmadi b06a47c
Fix age condition YAML file
vahid-ahmadi 90eb823
Fix age condition YAML file
vahid-ahmadi 0c871a5
Fix other YAML files
vahid-ahmadi b28b5f8
Edit parameterization
vahid-ahmadi ff1f456
Fix formatting
vahid-ahmadi d3ad685
Edit age in YAML files
vahid-ahmadi 5c6d359
Replace if with where
vahid-ahmadi e0221f8
Format with black
vahid-ahmadi fc83a03
Edit for test passing
vahid-ahmadi 4421154
Edit format with black
vahid-ahmadi b4e8d1a
Edit format of benefit py file
vahid-ahmadi cf7f6e6
Edit child as not being boolean
vahid-ahmadi d4ff3b2
Change if to where
vahid-ahmadi 0058402
Change disability definition
vahid-ahmadi 37c7228
Solve .values problem
vahid-ahmadi af96f3a
Edit .values error
vahid-ahmadi e96bc2e
Edit vectorization problem
vahid-ahmadi 153c2f6
Change folder from hmrc to dwp
vahid-ahmadi c9fbd0c
Use is_disabled_for_benefits variable
vahid-ahmadi a2f73d2
Add .astype(bool) to fix error
vahid-ahmadi a061877
Fix bitwise AND operation error
vahid-ahmadi a9ca8a7
Add .astype(bool) to conditions
vahid-ahmadi c7c6762
Add unit tests
vahid-ahmadi 59e1b78
Reformat with black
vahid-ahmadi cebaace
Fix the folders
vahid-ahmadi c1a5cf0
Fix the folders
vahid-ahmadi 49ec556
Merge branch 'tax-free-childcare-new' of https://github.com/policyeng…
vahid-ahmadi 4a5cad5
Implement free childcare program
vahid-ahmadi 4432db2
Format with black
vahid-ahmadi c7c1998
Change tests
vahid-ahmadi 7c34576
Edit folders
vahid-ahmadi d3adae9
Edit folders
vahid-ahmadi bb62fe2
Edit files directories
vahid-ahmadi ade2a50
Merge branch 'free_childcare' of https://github.com/policyengine/poli…
vahid-ahmadi 014f8d3
Edit labels
vahid-ahmadi 6a8fd46
Edit extended childcare entitlement py files based on comments
vahid-ahmadi 3985b32
Check with black
vahid-ahmadi 1750e05
Edit extended childcare based on Max's comments
vahid-ahmadi f534147
Merge branch 'master' into free_childcare
vahid-ahmadi 59c21f2
Edit income condition
vahid-ahmadi 8176f41
Merge branch 'master' into free_childcare
vahid-ahmadi 2f686d5
Apply Nikhil's comments
vahid-ahmadi 9265f24
Edit income condition py file
vahid-ahmadi bdc84ad
Edit work condition py file
vahid-ahmadi 25223b2
Convert hours to expenses
vahid-ahmadi 303c632
Move from dwp to dfe folder
vahid-ahmadi 16fbaf9
Edit links
vahid-ahmadi da62ace
Unify first and second entitlement with Vahid
nikhilwoodruff 556e489
Split avg subsidy rates by age
nikhilwoodruff d78d0c3
Delete redundant tests
vahid-ahmadi 97c69a4
Edit labels and names
vahid-ahmadi 2be410b
Format with black
vahid-ahmadi afcc100
Edit labels and indentation
vahid-ahmadi 197f180
Add tests with multiple children
vahid-ahmadi 605a718
Edit by using family_type instead of is_adult
vahid-ahmadi 3ab9141
Create and use is_parent variable
vahid-ahmadi e259baf
Add extended childcare to household_benefits
vahid-ahmadi cc1ac6a
Edit labels
vahid-ahmadi c658ad2
Edit indentation
vahid-ahmadi 5a0291a
Make disability criteria list
vahid-ahmadi 6b69e95
Apply Max's comments
vahid-ahmadi 7e246db
Make format
vahid-ahmadi 45ee1d4
Edit is_parent variable
vahid-ahmadi 1b18a10
Edit based on chat-gpt comments
vahid-ahmadi 672aa40
Edit based on Max's cooments
vahid-ahmadi 4f0048e
Edit is_parent variable
vahid-ahmadi a57598d
Apply remaining comments
vahid-ahmadi daa2a22
Edit disability criteria
vahid-ahmadi 8de3999
Merge hours and expenses py files
vahid-ahmadi 514a385
Edit disability_criteria file
vahid-ahmadi b37a5bf
Change unit tests
vahid-ahmadi 3223ece
Edit labels
vahid-ahmadi 7814351
Change disability_criteria file
vahid-ahmadi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
18 changes: 18 additions & 0 deletions
18
policyengine_uk/parameters/gov/dfe/extended_childcare_entitlement/disability_criteria.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
description: The Department for Education exempts participants in these programs from work requirements of extended childcare entitlement. | ||
metadata: | ||
reference: | ||
- title: The Childcare Regulations 2022 - Regulation 11A | ||
href: https://www.legislation.gov.uk/uksi/2022/1134/regulation/11A | ||
period: year | ||
unit: program | ||
label: Extended childcare entitlement disability criteria | ||
values: | ||
2015-09-01: | ||
- carers_allowance # 11A(1)(a): Section 70 of the Social Security Contributions and Benefits Act 1992 | ||
- incapacity_benefit # 11A(1)(f, g): Incapacity Benefit under Social Security Contributions and Benefits Act 1992 | ||
- is_disabled_for_benefits # No direct match, but aligns with general disability-related eligibility | ||
- is_enhanced_disabled_for_benefits # No direct match, assumed to align with enhanced disability eligibility | ||
- is_severely_disabled_for_benefits # No direct match, assumed to align with severe disability eligibility | ||
- esa_contrib # 11A(1)(e): Employment and Support Allowance (ESA) under Welfare Reform Act 2007 | ||
- jsa_contrib # Not explicitly listed in Regulation 11A, but likely relevant under other benefit schemes | ||
vahid-ahmadi marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- sda # 11A(1)(h): Severe Disablement Allowance under Section 68 of Social Security Contributions and Benefits Act 1992 |
27 changes: 27 additions & 0 deletions
27
policyengine_uk/parameters/gov/dfe/extended_childcare_entitlement/expense_rate.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
description: The Department for Education converts childcare hours into expenses for extended childcare entitlement at these rates, depending on the child's age. | ||
metadata: | ||
type: single_amount | ||
threshold_unit: year | ||
amount_unit: currency-GBP | ||
label: Extended childcare entitlement hourly rates by age | ||
reference: | ||
- title: Different Rates for Extended Childcare Entitlement | ||
href: | ||
- https://www.nurseryworld.co.uk/content/news/dfe-confirms-extended-30-hours-funding-rates-but-sector-says-they-dont-reflect-the-real-delivery-cost/ | ||
vahid-ahmadi marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- https://www.gov.uk/government/news/childcare-settings-receive-cash-boost-as-funding-rates-increase | ||
- title: Commons Library | ||
href: https://commonslibrary.parliament.uk/research-briefings/cbp-8052/ | ||
|
||
brackets: | ||
- threshold: | ||
2015-01-01: 0 | ||
amount: | ||
2015-01-01: 11.22 | ||
- threshold: | ||
2015-01-01: 2 | ||
amount: | ||
2015-01-01: 8.28 | ||
- threshold: | ||
2015-01-01: 3 | ||
amount: | ||
2015-01-01: 5.88 |
40 changes: 40 additions & 0 deletions
40
policyengine_uk/parameters/gov/dfe/extended_childcare_entitlement/hours.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
description: The Department for Education provides this number of free childcare hours per week through the extended childcare entitlement scheme, depending on the child's age. | ||
metadata: | ||
type: single_amount | ||
threshold_unit: year | ||
amount_unit: hour | ||
label: Extended childcare entitlement hours by age | ||
reference: | ||
- title: Childcare Act 2016 - chapter 5.1 | ||
href: https://www.legislation.gov.uk/ukpga/2016/5 and https://www.gov.uk/check-eligible-free-childcare-if-youre-working | ||
|
||
brackets: | ||
- threshold: | ||
2015-01-01: 0 | ||
amount: | ||
2015-01-01: 0 | ||
- threshold: | ||
2015-01-01: 1 | ||
2025-01-01: 0.75 | ||
amount: | ||
2015-01-01: 0 | ||
2025-01-01: 15 | ||
2026-01-01: 30 | ||
- threshold: | ||
2015-01-01: 2 | ||
amount: | ||
2015-01-01: 0 | ||
2024-01-01: 15 | ||
2026-01-01: 30 | ||
- threshold: | ||
2015-01-01: 3 | ||
amount: | ||
2015-01-01: 30 | ||
- threshold: | ||
2015-01-01: 4 | ||
amount: | ||
2015-01-01: 30 | ||
- threshold: | ||
2015-01-01: 5 | ||
amount: | ||
2015-01-01: 0 |
12 changes: 12 additions & 0 deletions
12
...engine_uk/parameters/gov/dfe/extended_childcare_entitlement/income/countable_sources.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
description: The Department for Education includes these income sources when determining eligibility for extended childcare entitlement. | ||
metadata: | ||
reference: | ||
- title: The Childcare Payments (Eligibility) Regulations 2015 - Part 9 and 10 | ||
href: https://www.legislation.gov.uk/ukdsi/2015/9780111127063 | ||
period: year | ||
unit: program | ||
label: Extended childcare entitlement countable income sources | ||
values: | ||
2015-01-01: | ||
- employment_income | ||
- self_employment_income |
10 changes: 10 additions & 0 deletions
10
policyengine_uk/parameters/gov/dfe/extended_childcare_entitlement/income/limit.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
description: The Department for Education limits extended childcare entitlement eligibility to households where each parent's individual income is less than this amount. | ||
metadata: | ||
unit: currency-GBP | ||
period: year | ||
label: Extended childcare entitlement individual income limit | ||
reference: | ||
- title: The Childcare Payments (Eligibility) Regulations 2015 - Regulation 15 | ||
href: https://www.legislation.gov.uk/uksi/2015/448/regulation/15#commentary-key-e27c923eee152accd495af8425536e29 | ||
values: | ||
2015-01-01: 100_000 |
10 changes: 10 additions & 0 deletions
10
policyengine_uk/parameters/gov/dfe/extended_childcare_entitlement/minimum_weekly_hours.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
description: The Department for Education limits extended childcare entitlement to benefit units in which each spouse earns at least the product of their minimum wage and this number of hours per week. | ||
metadata: | ||
period: year | ||
unit: hour | ||
label: Extended childcare entitlement weekly work hours minimum | ||
reference: | ||
- title: The Childcare Payments (Eligibility) (Amendment) Regulations 2016 - regulation 3 | ||
href: https://www.legislation.gov.uk/uksi/2016/793/regulation/3/made | ||
values: | ||
2016-01-01: 16 |
10 changes: 10 additions & 0 deletions
10
policyengine_uk/parameters/gov/dfe/extended_childcare_entitlement/weeks_per_year.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
description: The Department for Education provides extended childcare entitlement for these weeks per year. | ||
metadata: | ||
period: year | ||
unit: week | ||
label: Extended childcare entitlement weeks per year | ||
reference: | ||
- title: Childcare Choices document - 15 and 30 hours childcare support | ||
href: https://www.childcarechoices.gov.uk/15-and-30-hours-childcare-support/working-families/eligibility | ||
values: | ||
2016-01-01: 38 |
137 changes: 137 additions & 0 deletions
137
...eline/gov/dfe/extended_childcare_entitlement/extended_childcare_entitlement_expenses.yaml
vahid-ahmadi marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
- name: Eligible for 30 hours - All conditions met | ||
period: 2025 | ||
input: | ||
age: 3 # Age 3+ gets 30 hours | ||
is_child: false | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
vahid-ahmadi marked this conversation as resolved.
Show resolved
Hide resolved
|
||
extended_childcare_entitlement_work_condition: true | ||
output: | ||
extended_childcare_entitlement: 6_703.2 | ||
|
||
- name: Eligible for 15 hours - All first conditions met | ||
period: 2025 | ||
input: | ||
age: 2 # Age 2 gets 15 hours | ||
is_child: false | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: true | ||
output: | ||
extended_childcare_entitlement: 4_719.6 | ||
|
||
- name: Eligible for 15 hours - One condition did not meet | ||
period: 2025 | ||
input: | ||
age: 2 | ||
is_child: false | ||
extended_childcare_entitlement_meets_income_requirements: false | ||
extended_childcare_entitlement_work_condition: true | ||
output: | ||
extended_childcare_entitlement: 0 # Not eligible | ||
|
||
- name: Eligible for mixed hours - Family with multiple children | ||
period: 2025 | ||
input: | ||
people: | ||
parent1: | ||
age: 35 | ||
is_child: false | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: 1 | ||
parent2: | ||
age: 33 | ||
is_child: false | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: 1 | ||
child1: | ||
age: 2 # 15 hours | ||
is_child: true | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: 0 | ||
child2: | ||
age: 3 # 30 hours | ||
is_child: true | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: 0 | ||
benunits: | ||
benunit1: | ||
members: [parent1, parent2, child1, child2] | ||
output: | ||
extended_childcare_entitlement: 11_422.8 | ||
|
||
- name: Not eligible - Family with multiple children but conditions not met | ||
period: 2025 | ||
input: | ||
people: | ||
parent1: | ||
age: 35 | ||
is_child: false | ||
extended_childcare_entitlement_meets_income_requirements: false | ||
extended_childcare_entitlement_work_condition: 1 | ||
parent2: | ||
age: 33 | ||
is_child: false | ||
extended_childcare_entitlement_meets_income_requirements: false | ||
extended_childcare_entitlement_work_condition: 1 | ||
child1: | ||
age: 2 | ||
is_child: true | ||
extended_childcare_entitlement_meets_income_requirements: false | ||
extended_childcare_entitlement_work_condition: 0 | ||
child2: | ||
age: 3 | ||
is_child: true | ||
extended_childcare_entitlement_meets_income_requirements: false | ||
extended_childcare_entitlement_work_condition: 0 | ||
benunits: | ||
benunit1: | ||
members: [parent1, parent2, child1, child2] | ||
output: | ||
extended_childcare_entitlement: 0 # Not eligible | ||
|
||
- name: Eligible with one working parent and one disabled parent | ||
period: 2025 | ||
input: | ||
people: | ||
parent1: | ||
age: 35 | ||
is_child: false | ||
in_work: true | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: 1 | ||
incapacity_benefit: 0 | ||
parent2: | ||
age: 33 | ||
is_child: false | ||
in_work: false | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: 1 | ||
incapacity_benefit: 100 # Has disability exemption | ||
child1: | ||
age: 2 # 15 hours | ||
is_child: true | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: 0 | ||
child2: | ||
age: 3 # 30 hours | ||
is_child: true | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: 0 | ||
child3: | ||
age: 3 # 30 hours | ||
is_child: true | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
extended_childcare_entitlement_work_condition: 0 | ||
benunits: | ||
benunit1: | ||
members: [parent1, parent2, child1, child2, child3] | ||
family_type: COUPLE_WITH_CHILDREN | ||
output: | ||
extended_childcare_entitlement: 18_126.0 | ||
|
||
- name: No expenses for zero hours | ||
period: 2025 | ||
input: | ||
extended_childcare_entitlement_meets_income_requirements: false | ||
extended_childcare_entitlement_work_condition: false | ||
output: | ||
extended_childcare_entitlement: 0 # Not eligible |
48 changes: 48 additions & 0 deletions
48
...v/dfe/extended_childcare_entitlement/extended_childcare_entitlement_income_condition.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
- name: Under 18 meeting yearly threshold | ||
period: 2025 | ||
input: | ||
age: 17 | ||
employment_income: 10_400 | ||
output: | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
|
||
- name: Age 20 meeting 18-20 yearly threshold | ||
period: 2025 | ||
input: | ||
age: 20 | ||
employment_income: 22_000 | ||
output: | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
|
||
- name: Age 21+ meeting higher yearly threshold | ||
period: 2025 | ||
input: | ||
age: 25 | ||
employment_income: 29_600 # Above £2,379 * 4 = £9,516 yearly threshold | ||
output: | ||
extended_childcare_entitlement_meets_income_requirements: true | ||
|
||
- name: Under 18 below yearly threshold | ||
period: 2025 | ||
input: | ||
age: 16 | ||
employment_income: 5_000 # Below £5,324 yearly threshold | ||
output: | ||
extended_childcare_entitlement_meets_income_requirements: false | ||
|
||
- name: Age 18-20 - eligible | ||
period: 2025 | ||
input: | ||
age: 19 | ||
employment_income: 8_000 | ||
output: | ||
extended_childcare_entitlement_meets_income_requirements: false | ||
|
||
- name: At maximum threshold | ||
period: 2025 | ||
input: | ||
age: 35 | ||
employment_income: 100_0000 # At assumed maximum threshold | ||
adjusted_net_income: 100_0000 | ||
output: | ||
extended_childcare_entitlement_meets_income_requirements: false |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nikhilwoodruff could you please advise on these? can we map these to specific programs as listed in the statutes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should remove these- they don't follow the reference in this file.
The file e.g. references the universal credit carer element, we have a variable for that already.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree. I edit the list and keep only the relevant items.