PolicyEngine / PolicyEngine/policyengine-scorecard
HMT distributional analysis (mode 2, distributional): decile-impact counterparts to the Budget 'impact on households' tables
@vahid-ahmadi is already working on this.
Since Aug 17, 2026.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 6d 12h
- Merged PRs (30d)
- 32
Description
Every fiscal event ships HM Treasury's Impact on households: distributional analysis — decile-level cash and %-of-income effects of the announced package, plus the tax/welfare/public-services split. The #32 harvest staged the HMT lane (1,368 claims, per the #3 fleet dispatch: Budget costings docs + distributional analysis). Nothing turns it into comparisons: no issue, no registry, no PE counterpart. Yet this is the population that exercises what PolicyEngine is for — household-level incidence — and the UK analogue of the US side's TPC/Urban distributional tables, which have been populated since day one (#11, #12, #31).
What makes it a distinct lane (not #54/#60)
Aggregate costings validate revenue totals; this validates the shape — who gains and loses by decile. PE-UK computes decile impacts natively, so the counterpart compute is cheap; the work is in the axes:
- Package construction: HMT scores the cumulative announced package against a counterfactual, not single measures — the registry entry is a package (a composition of #54 registry measures), which is exactly what the measure→reform registry's
constructionfield was designed to hold. - Income concept + equivalisation: HMT uses its own equivalised net-income deciles and includes public-service spending in some presentations; the tax/welfare-only split is the comparable slice. Axes go to the assumptions registry (#10).
- Basis: HMT DA is static-ish (closer to PE than OBR costings) — a better-matched benchmark class, worth recording per row.
Steps
- Adapter for the staged HMT DA tables (AS2023 → AB2025): decile × measure-group × {cash, % net income} claims with full conditions (fiscal event, counterfactual baseline as published, income concept)
- Package registry entries composing #54 measures per fiscal event,
computabilitytriage for the non-tax-benefit components (public services →not_expressible, labelled) - PE-UK decile counterparts on the certified bundle via the #56 pipeline pattern (household decile ranking recorded as an artifact so the ranking concept is auditable)
- Descriptive comparison: per-decile signed gap, named axes, no summary score;
benchmark_class = different_model
Depends on #57 (ingest shape) and #54's registry (package composition). Complements #59 — a package whose total matches but whose deciles don't is a different defect family than a costing miss.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.