Skip to content
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 81 commits into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
adf96a0
Implement tax free childcare
vahid-ahmadi Jan 10, 2025
ee24d61
Parameterize values
vahid-ahmadi Jan 13, 2025
12d24be
Reformatting to pass the tests
vahid-ahmadi Jan 13, 2025
235fd08
Reformatting with black
vahid-ahmadi Jan 13, 2025
b3b1967
Reformatting with black
vahid-ahmadi Jan 13, 2025
55ce6c3
Format code with black
vahid-ahmadi Jan 13, 2025
9952ed9
Format code with black using 79-char line length
vahid-ahmadi Jan 13, 2025
d6b22e5
Fix YAML structure
vahid-ahmadi Jan 13, 2025
b06a47c
Fix age condition YAML file
vahid-ahmadi Jan 13, 2025
90eb823
Fix age condition YAML file
vahid-ahmadi Jan 13, 2025
0c871a5
Fix other YAML files
vahid-ahmadi Jan 13, 2025
b28b5f8
Edit parameterization
vahid-ahmadi Jan 13, 2025
ff1f456
Fix formatting
vahid-ahmadi Jan 13, 2025
d3ad685
Edit age in YAML files
vahid-ahmadi Jan 13, 2025
5c6d359
Replace if with where
vahid-ahmadi Jan 13, 2025
e0221f8
Format with black
vahid-ahmadi Jan 13, 2025
fc83a03
Edit for test passing
vahid-ahmadi Jan 13, 2025
4421154
Edit format with black
vahid-ahmadi Jan 13, 2025
b4e8d1a
Edit format of benefit py file
vahid-ahmadi Jan 13, 2025
cf7f6e6
Edit child as not being boolean
vahid-ahmadi Jan 13, 2025
d4ff3b2
Change if to where
vahid-ahmadi Jan 14, 2025
0058402
Change disability definition
vahid-ahmadi Jan 14, 2025
37c7228
Solve .values problem
vahid-ahmadi Jan 14, 2025
af96f3a
Edit .values error
vahid-ahmadi Jan 14, 2025
e96bc2e
Edit vectorization problem
vahid-ahmadi Jan 14, 2025
153c2f6
Change folder from hmrc to dwp
vahid-ahmadi Jan 14, 2025
c9fbd0c
Use is_disabled_for_benefits variable
vahid-ahmadi Jan 14, 2025
a2f73d2
Add .astype(bool) to fix error
vahid-ahmadi Jan 14, 2025
a061877
Fix bitwise AND operation error
vahid-ahmadi Jan 14, 2025
a9ca8a7
Add .astype(bool) to conditions
vahid-ahmadi Jan 14, 2025
c7c6762
Add unit tests
vahid-ahmadi Jan 14, 2025
59e1b78
Reformat with black
vahid-ahmadi Jan 14, 2025
cebaace
Fix the folders
vahid-ahmadi Jan 15, 2025
c1a5cf0
Fix the folders
vahid-ahmadi Jan 15, 2025
49ec556
Merge branch 'tax-free-childcare-new' of https://github.com/policyeng…
vahid-ahmadi Jan 15, 2025
4a5cad5
Implement free childcare program
vahid-ahmadi Jan 15, 2025
4432db2
Format with black
vahid-ahmadi Jan 15, 2025
c7c1998
Change tests
vahid-ahmadi Jan 15, 2025
7c34576
Edit folders
vahid-ahmadi Jan 22, 2025
d3adae9
Edit folders
vahid-ahmadi Jan 22, 2025
bb62fe2
Edit files directories
vahid-ahmadi Jan 22, 2025
ade2a50
Merge branch 'free_childcare' of https://github.com/policyengine/poli…
vahid-ahmadi Jan 22, 2025
014f8d3
Edit labels
vahid-ahmadi Jan 22, 2025
6a8fd46
Edit extended childcare entitlement py files based on comments
vahid-ahmadi Jan 23, 2025
3985b32
Check with black
vahid-ahmadi Jan 23, 2025
1750e05
Edit extended childcare based on Max's comments
vahid-ahmadi Jan 27, 2025
f534147
Merge branch 'master' into free_childcare
vahid-ahmadi Feb 4, 2025
59c21f2
Edit income condition
vahid-ahmadi Feb 4, 2025
8176f41
Merge branch 'master' into free_childcare
vahid-ahmadi Feb 6, 2025
2f686d5
Apply Nikhil's comments
vahid-ahmadi Feb 6, 2025
9265f24
Edit income condition py file
vahid-ahmadi Feb 6, 2025
bdc84ad
Edit work condition py file
vahid-ahmadi Feb 6, 2025
25223b2
Convert hours to expenses
vahid-ahmadi Feb 6, 2025
303c632
Move from dwp to dfe folder
vahid-ahmadi Feb 6, 2025
16fbaf9
Edit links
vahid-ahmadi Feb 6, 2025
da62ace
Unify first and second entitlement with Vahid
nikhilwoodruff Feb 7, 2025
556e489
Split avg subsidy rates by age
nikhilwoodruff Feb 7, 2025
d78d0c3
Delete redundant tests
vahid-ahmadi Feb 7, 2025
97c69a4
Edit labels and names
vahid-ahmadi Feb 7, 2025
2be410b
Format with black
vahid-ahmadi Feb 7, 2025
afcc100
Edit labels and indentation
vahid-ahmadi Feb 7, 2025
197f180
Add tests with multiple children
vahid-ahmadi Feb 7, 2025
605a718
Edit by using family_type instead of is_adult
vahid-ahmadi Feb 10, 2025
3ab9141
Create and use is_parent variable
vahid-ahmadi Feb 10, 2025
e259baf
Add extended childcare to household_benefits
vahid-ahmadi Feb 10, 2025
cc1ac6a
Edit labels
vahid-ahmadi Feb 10, 2025
c658ad2
Edit indentation
vahid-ahmadi Feb 10, 2025
5a0291a
Make disability criteria list
vahid-ahmadi Feb 11, 2025
6b69e95
Apply Max's comments
vahid-ahmadi Feb 11, 2025
7e246db
Make format
vahid-ahmadi Feb 11, 2025
45ee1d4
Edit is_parent variable
vahid-ahmadi Feb 11, 2025
1b18a10
Edit based on chat-gpt comments
vahid-ahmadi Feb 12, 2025
672aa40
Edit based on Max's cooments
vahid-ahmadi Feb 13, 2025
4f0048e
Edit is_parent variable
vahid-ahmadi Feb 13, 2025
a57598d
Apply remaining comments
vahid-ahmadi Feb 13, 2025
daa2a22
Edit disability criteria
vahid-ahmadi Feb 13, 2025
8de3999
Merge hours and expenses py files
vahid-ahmadi Feb 13, 2025
514a385
Edit disability_criteria file
vahid-ahmadi Feb 13, 2025
b37a5bf
Change unit tests
vahid-ahmadi Feb 13, 2025
3223ece
Edit labels
vahid-ahmadi Feb 13, 2025
7814351
Change disability_criteria file
vahid-ahmadi Feb 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
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
- incapacity_benefit
vahid-ahmadi marked this conversation as resolved.
Show resolved Hide resolved
- is_disabled_for_benefits
- is_enhanced_disabled_for_benefits
- is_severely_disabled_for_benefits
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
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
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
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
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
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
vahid-ahmadi marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
- name: Annual expenses for 30 hours entitlement
period: 2025
input:
extended_childcare_entitlement_hours: 30
output:
extended_childcare_entitlement: 6_703.2

- name: Annual expenses for 15 hours entitlement
period: 2025
input:
extended_childcare_entitlement_hours: 15
output:
extended_childcare_entitlement: 3_351.6

- name: No expenses for zero hours
period: 2025
input:
extended_childcare_entitlement_hours: 0
output:
extended_childcare_entitlement: 0 # 0 hours
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
- name: Eligible for 30 hours - All conditions met
period: 2025
input:
age: 3 # Age 3-4 gets 30 hours in 2025
is_child: false
extended_childcare_entitlement_meets_income_requirements: true
extended_childcare_entitlement_work_condition: true
output:
extended_childcare_entitlement_hours: 30

- name: Eligible for 15 hours - All first conditions met
period: 2025
input:
age: 2 # Age 2-3 gets 15 hours in 2025
is_child: false
extended_childcare_entitlement_meets_income_requirements: true
extended_childcare_entitlement_work_condition: true
output:
extended_childcare_entitlement_hours: 15

- 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_hours: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
- 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
is_child: true
extended_childcare_entitlement_meets_income_requirements: true
extended_childcare_entitlement_work_condition: 0
child2:
age: 3
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_hours: [0, 0, 15, 30]

- 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_hours: [0, 0, 0, 0]


- 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
is_child: true
extended_childcare_entitlement_meets_income_requirements: true
extended_childcare_entitlement_work_condition: 0
child2:
age: 3
is_child: true
extended_childcare_entitlement_meets_income_requirements: true
extended_childcare_entitlement_work_condition: 0
child3:
age: 4
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_hours: [0, 0, 15, 30, 30]
extended_childcare_entitlement_meets_work_condition: true
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
Loading