PolicyEngine / PolicyEngine/policyengine-scorecard

HMT distributional analysis (mode 2, distributional): decile-impact counterparts to the Budget 'impact on households' tables

Open
#61 0 comments 0 reactions 1 assignee View on GitHub

@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 construction field 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, computability triage 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

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.