Skip to content

Add DWP's UC health element caseload by rate (first tranche of #87) - #226

Open
PavelMakarchuk wants to merge 2 commits into
mainfrom
dwp-uc-health
Open

PavelMakarchuk wants to merge 2 commits into
mainfrom
dwp-uc-health

Conversation

@PavelMakarchuk

Copy link
Copy Markdown
Contributor

Part of #87 (first tranche).

Summary

New lane dwp-uc-health: DWP's UC health element (LCWRA) caseload by the entitlement rate that the Universal Credit Act 2025 created. These are the rates that an Autumn Budget 2026 freeze or cut acts on.

  • Source: DWP, Universal Credit Health statistics, Great Britain, April 2019 to June 2026 (published 15 September 2026), Table 2. The ODS file is vendored with its sha256.
  • Claims (16):
    • 15 caseloads: April, May and June 2026, by rate and in total. April's lower rate is "[low]" in the table, so that claim is suppressed.
    • 1 derived share: the lower (new-claimant) rate's share of the June total.
June 2026 Claimants
All LCWRA 2,776,867
Higher rate, pre-April 2026 claims (protected) 2,618,363
Higher rate, severe conditions criteria 145,821
Higher rate, terminally ill 11,864
Lower rate (new claimants from April 2026) 815
  • QC:
    • Each month's rates add to its total within 10 people. DWP's parts differ from the totals by 2 to 4 people, probably from disclosure control.
    • Table 2's total and severe conditions count equal Table 1 for each month.
  • Boundary: these counts are administrative outturns, which the 2026-08-02 rule sends to the Chronicle ledger. They are staged as claims by decision, as for the Census STC (US state income tax collections for every state (Census STC) as baseline claims #176) and the ONS CPI claim (Add the September 2026 CPI claims and PE-UK benefit-rate read-backs #223). source.json and ARCHITECTURE.md record it.
  • Calibration (held out): the certified bundle calibrates to 149 targets: 142 ONS, 6 SLC and 1 OBR, and no DWP target (its calibration_diagnostics.json in PolicyEngine/microcosm@7f235941). policyengine-uk-data main targets UC counts by children and family type, with no LCWRA count. The dd68c73 commit is not on GitHub.
  • Counterpart:
    • The share gets a parameter-tree read-back (pipeline/compute_uk_uc_health_readback.py, policyengine-uk 2.147.2). PE-UK's new_claimant_share for 2026-27 is 0.11, against DWP's 0.03% in June 2026.
    • The result is constructed: PE's value is a whole-year assumption (WPI Economics for the Trussell Trust), applied to benefit units by a seeded draw. DWP's is one month, early in a build-up, because the lower rate starts only after the WCA and three assessment periods.
    • The 14 published caseloads have no counterpart until a run on the certified bundle (UK compute campaign, run 1: execute the mode-1 counterpart pipeline on the certified bundle #76), so they carry publish_without_result.

Still open on #87: the child, housing, carer and childcare element counts. They are on Stat-Xplore, which needs an account.

Test plan

  • tests/test_dwp_uc_health.py:
    • raw hash;
    • the extract equals the adapter output (needs pandas and odfpy);
    • "[low]" becomes a suppressed claim, and rates that do not add up are refused;
    • the claims;
    • only the share has a result;
    • the lane's rows in the built DB.
  • Rebuild from scratch and export: 15 new feed rows (export pins UK +15, total 5737 → 5752 on top of Add the September 2026 CPI claims and PE-UK benefit-rate read-backs #223).
  • pytest tests/ (test_modal_uk_event deselected locally): 2238 passed. The only failures are 58 failures and 3 errors in the UK replay and registry tests. They come from this machine's base Python environment (an old policyengine-uk that uv run can see), and the same 58 + 3 occur on a clean main checkout.
  • ruff format --check; bun test src, bun run lint (the 2 existing warnings), bun run build.

🤖 Generated with Claude Code

PavelMakarchuk and others added 2 commits October 23, 2026 16:14
New lane dwp-uc-health: DWP UC Health statistics Table 2, the LCWRA
caseload by the entitlement rate the Universal Credit Act 2025 created
(protected, severe conditions, terminally ill, new-claimant lower rate),
April to June 2026, plus the lower rate's share of the June total.
Administrative outturns staged as held-out claims by decision; the
certified bundle has no DWP target.

The share (815 of 2,776,867 in June 2026) gets a parameter-tree
counterpart: PE-UK 2.147.2's new_claimant_share for 2026-27 is 0.11.
The caseloads publish without a result until a certified-bundle run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	app/public/data/lanes.json
#	app/public/data/populations.json
#	data/lanes.json
#	data/populations.json
#	docs/ARCHITECTURE.md
#	scorecard_db/relationships.py
#	tests/test_export_populations.py
@vercel

vercel Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
policyengine-scorecard Ready Ready Preview Oct 23, 2026 8:31pm UTC

Request Review

This branch was successfully deployed

1 active deployment
Preview — 3d9fd5ec Deployed Oct 23, 2026 by vercel[bot]
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.

1 participant