PolicyEngine / PolicyEngine/microcosm

UK spine: housing benefit £2.7bn against OBR £12.1bn — pensioner and supported-accommodation HB missing after the UC migration

Open
#867 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
4
Avg merge
1d 3h
Merged PRs (30d)
94

Description

Found while measuring the first calibrated rowwise UK local candidate (#762, receipts R8–R15 on uk-rowwise-candidate-762-b). The row is a reviewed measure exclusion under #762 A16, expiring 2026-10-03, tracked on #736.

Measured on spine-m (FRS 2024-25, policyengine-uk 2.92.1, calibration year 2025), single-block engine resolution: obr.housing_benefit — spine £2.67bn against the OBR EFO £12.10bn (−78 % at initialization). Block-insensitive (identical under per-block and single-block resolution), so the miss is real.

What binding it does: under the ruled grain_equal weighting the solver chases the aggregate by multiplying the few HB households — £9.4bn at 512 epochs, £11.4bn at 1500 — which halves the effective sample (ESS fraction 0.161 → 0.105 at K=15) and doubles Glasgow's social-rent count. Excluded, the concentration returns (max/median weight 2,857 → 398, R13).

Likely cause: housing benefit after the UC migration. OBR's HB line is dominated by pensioner HB and supported / temporary accommodation, which the FRS either does not capture as HB or which the spine's take-up / migration stages route into the UC housing element. The FRS-reported HB caseload should be checked against DWP Stat-Xplore HB caseload by age band and accommodation type.

Ask: reconcile the spine's HB caseload and spend against the DWP HB caseload (pensioner / working-age / supported accommodation) and the OBR spend line; add an imputation or reclassification stage for the missing pensioner and supported-accommodation HB; and, if the OBR line legitimately includes spend the household frame cannot carry, declare that reconciliation on the target.

Acceptance: the row sits within 25 % at initialization on the next spine and the A16 exclusion retires.

Refs #762, #736, #665.

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.

Research direction

No file or test is named. Start with the spine-m calibration for FRS 2024-25 and the referenced issues #762, #736, and #665; compare the housing-benefit caseload and spend with DWP HB and the OBR line by age band and accommodation type. Done means the next spine is within 25% at initialization and the A16 exclusion retires.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.