Skip to content

UK: source the extended-hours usage draw from DfE additional-hours PTEs (#1126) - #1127

Closed
vahid-ahmadi wants to merge 1 commit into
mainfrom
uk-extended-hours-usage-dfe-1126
Closed

vahid-ahmadi wants to merge 1 commit into
mainfrom
uk-extended-hours-usage-dfe-1126

Conversation

@vahid-ahmadi

Copy link
Copy Markdown
Contributor

Fixes #1126

What changes

take_up_contract.json changes the maximum_extended_childcare_hours_usage entry. The entry was frozen by adjudication; it is now sourced from DfE:

Before After
mean 15.019 31.141
sd 4.972 4.972 (unchanged; no source identifies it)
clip [0, 30] [0, 30]
status frozen_by_adjudication (#834) sourced_administrative_derived
clipped mean 15.02 h/week 28.54 h/week

The derivation and both DfE sources are recorded in the entry. #834 froze the draw "pending evidence on hours actually used". That evidence:

The engine variable caps a family's total weekly extended hours, so the anchor is the total (universal plus additional). Only the 3-4 cohort is used as the anchor, because DfE's under-2 and 2-year-old PTEs are partly forecast.

Effect: offline check, no rebuild

On the certified national release (f9d1922c, policyengine-uk 2.102.3), I inverted the release's own draws through N(15.019, 4.972) to recover the identity-keyed uniforms, mapped them through N(31.141, 4.972), clipped to [0, 30] and set the result as input. A rebuild with this contract would produce the same draws. Results for 2026-27 (£bn):

Before After DfE
Free early-years entitlements, total 5.81 9.30 9.9
Under 2 1.44 2.58 3.0
2-year-olds 1.50 2.58 2.7
3- and 4-year-olds 2.87 4.14 4.2
3-4 additional-hours PTEs ~0 359k 342.0k

The remaining £0.6bn sits on the policyengine-uk side and is out of scope here. It is made up of hourly rates 1-6% below DfE's 2026-27 averages (+£0.21bn) and under-1s (whole-year ages), offset by 4-year-olds in reception who are still funded. The universal-hours switch-off, policyengine-uk#1930, adds +£0.11bn on the old draw and has essentially no effect on the new one.

Tests

  • New test_extended_hours_usage_reproduces_dfe_additional_hours_ptes (engine-free UK). It checks the entry is sourced and that its clipped mean reproduces the DfE-implied 28.535 hours to within 0.01.
  • uv run pytest on tests/engine_free/uk and tests/engine_free/shared, plus ruff check, run locally. The stochastic-tool tests use their own fake contract, so they are unaffected.
  • The contract digest is not pinned in any committed file.

Not in this PR (needs a decision or a build)

  • Refit the take-up rates. tools/fit_uk_childcare_takeup.py fits the four childcare rates using the hours draw, and its extended-rate row is bilinear with the hours through the engine's exclusions. It needs the engine and the spine, so it was not re-run here. The landed rates should be refit, or the decision to keep them recorded, before the next UK build.
  • No release is rebuilt or published. The next UK national build picks up the new draw.
  • Review requested on whether a sourced derivation can replace the Port post-freeze UK childcare/TFC spine inputs and calibration contract #834 freeze. The freeze recorded a reviewed decision. If lifting it needs an adjudication record in experiments/ or the tracking issue, I will add one.

🤖 Generated with Claude Code

#1126)

The frozen clip(N(15.019, 4.972), 0, 30) gave a working-parent 3- or
4-year-old about 15 funded hours a week, the universal offer alone.
DfE's January 2025 census funds 341,988.09 additional-hours PTEs for
379,000 registered 3-4-year-olds: 28.535 weekly hours in total. The mean
becomes 31.141 (sd and bounds held), status sourced_administrative_derived.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@juaristi22

Copy link
Copy Markdown
Collaborator

Superseded by #1299 (merged 16 October), which carries this PR's commit with your authorship as 88e355305 (the same change as b91ef34f8), with the take-up fitter and the refit on top. Closing without merging. Thanks @vahid-ahmadi.

@juaristi22 juaristi22 closed this Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UK: extended-hours usage draw (mean ~15 of 30) leaves free early-years spending at £5.8bn vs DfE £9.9bn

2 participants