Repository navigation
Refit childcare take-up for funded hours that stop at school entry and start by term (policyengine-uk#2570) #633
Copy link
Copy link
Open
Description
PolicyEngine/policyengine-uk#2570 (for PolicyEngine/policyengine-uk#2567) changes which terms of the year a child gets funded early years hours in. So the take-up rates fitted in datasets/childcare/takeup_rate.py, and the caseload basis they are fitted to in datasets/childcare/targets.py, need a refit once a policyengine-uk release contains it.
What changes in policyengine-uk
- Hours stop at school entry. Universal and working parent hours stop from the term a child starts school. A child is entitled to a reception place in the September following its fourth birthday (School Admissions Code 2021 para 2.17), and the place then meets both duties (DfE statutory guidance from April 2026, footnotes 7 and 17).
- The new
early_years_term_share_before_schoolreads the date of birth. A 4-year-old born before September keeps only the summer term. early_years_school_start_deferredkeeps the whole year for a deferred start.current_educationis not read for this.
- The new
- Hours start with a term. Working parent hours start with the first 1 January, 1 April or 1 September after the child reaches the minimum age (SI 2022/1134 reg 27(1)(a)). The new variable is
extended_childcare_entitlement_term_share.- From model year 2025 (minimum age nine months), some children aged 0 in the middle of the year qualify from the autumn or spring term.
- Some children aged 1 lose the summer term.
- Whole-year ages are spread over the year by
months_since_last_birthday.
What the refit needs
- Caseloads on DfE's basis. DfE's comparators are January headcounts that leave reception children out.
targets.pytakes the universal count excluding reception, and DfE's working parent registrations have no reception rows.is_child_receiving_*counts a child funded in any term of the year. After #2570 it still counts every 4-year-old who starts reception in September, since that child is funded for the summer term.- A January-equivalent count takes the children funded in the term from 1 January:
early_years_term_share_before_schoolequal to 1, and anextended_childcare_entitlement_term_sharethat includes the spring term. - Spending targets are unaffected by this choice.
- Infants.
targets.pynotes that the model put no child under 2 on the working parent scheme. From model year 2025 it does. DfE's registrations of 9- to 11-month-olds and 1-year-olds (29,200 and 195,100 in January 2025) then become comparators on the same January basis.- Give children recorded as aged 0 an age in months #547 gives children recorded as aged 0 an age in months. The nine-month rule no longer needs it, because policyengine-uk now spreads whole-year ages over the year itself.
- If Give children recorded as aged 0 an age in months #547 lands anyway, its fractional ages are read as exact ages on 6 October, which is consistent with the term rule.
- Order. The current rates were fitted with every reception child funded all year. They belong with that rule, so they need refitting after the release that contains #2570. The universal comparator change in Count working parent children in the universal childcare caseload target #545 (companion to policyengine-uk#2177) belongs in the same refit.
Not affected
- The
LOWER_SECONDARYbranch for some 4- and 5-year-olds infrs.py(determine_education_level) no longer feeds childcare. It still feeds other readers ofcurrent_education.
Raised in Vahid's review of PolicyEngine/policyengine-uk#2570.
🤖 Generated with Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity