PolicyEngine / PolicyEngine/policyengine-uk-data

No calibration targets for UC elements: childcare runs 2.3x official, housing/LCWRA/carer unbenchmarked

Open
#466 1 comment 0 reactions 1 assignee View on GitHub

@juaristi22 is already working on this.

Since Aug 21, 2026.

Dominant language
Python
Stars
1
Forks
2
Avg merge
1d 14h
Merged PRs (30d)
4

Description

Most of UC entitlement is calibrated against nothing. sources/dwp.py targets caseload, family type, payment bands, deductions and the two-child limit — but no element counts. Only the childcare element has a published comparator, and the model is 2.3x it.

Model vs official, enhanced FRS 2023-24 v1.56.16, 2025:

Element Model recipients Official Err
Childcare 370k 160k +131%
Child 3.077m (48.1% of hh) 47% of hh ok
Housing 5.193m no target
LCWRA / health 2.041m no target
Carer 0.560m no target

Childcare official: UC statistics to 9 Oct 2025 (160k Aug 2025, 170k Aug 2024). The rest are Stat-Xplore UC_Households only — not in any bulletin.

Related: family-type targets sum to 6.096m against a dwp/uc/households target of 6.7m (the vintage tension noted in #458), and the 3+ children rows run 16-22% low:

Family type Model DWP Err
Single, no children 3.210m 2.868m +11.9%
Couple, no children 0.280m 0.231m +21.1%
3 children 0.369m 0.473m -22.0%
4 children 0.136m 0.167m -18.3%
5+ children 0.064m 0.076m -16.2%
Next steps
  1. Register a Stat-Xplore API key and add element-count targets for housing, LCWRA, carer, childcare from UC_Households.
  2. Add the childcare 160k target now — it is published and needs no key.
  3. Refresh the family-type values to a current Stat-Xplore month so they sum consistently with dwp/uc/households (the #458 follow-up).
  4. Once these exist, microcosm#729's national_calibration.py picks them up through the reference registry; no microcosm change needed until then.

cc @MaxGhenis @vahid-ahmadi

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.