Skip to content

Let pension-age families make new Housing Benefit claims - #1901

Merged
MaxGhenis merged 2 commits into
mainfrom
hb-pension-age-new-claims
Sep 30, 2026
Merged

MaxGhenis merged 2 commits into
mainfrom
hb-pension-age-new-claims

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

housing_benefit_eligible required a reported Housing Benefit claim (housing_benefit_reported > 0) and would_claim_uc False for every family. would_claim_uc has no formula and defaults to True outside datasets, so in household (situation) simulations no pension-age renter ever received Housing Benefit:

2026, rent £6,240, State Pension £10,000 main this PR
Single aged 70, council tenant HB £0 HB £6,240 (on Guarantee Credit, so income is disregarded)
Single aged 70, council tenant, State Pension £15,000 HB £0 HB £5,696.08 (65% taper)
Couple aged 70 and 68, private renter, rent £9,000 HB £0 HB £8,781.99
Mixed-age couple 70 and 60, private renter UC £14,243.64, HB £0 unchanged
Single aged 40, council tenant UC £11,338.80, HB £0 unchanged

The same gate hit the Enhanced FRS: policyengine-uk-data draws would_claim_uc for every benefit unit (pensioners included), so wholly pension-age families who report Housing Benefit lost it whenever that draw came out True (39% of pension-age units).

Law

  • New Housing Benefit claims are barred except in listed cases: SI 2014/1230 reg 6A, inserted by SI 2022/752 (it replaced reg 6 and the commencement-order bars). Reg 6A(4) exempts "a single person who has reached the qualifying age for state pension credit" and a couple where both members have. Northern Ireland: SR 2016/226 reg 4A, same wording.
  • Universal Credit is not available to them: WRA 2012 s.4(1)(b). Mixed-age couples claim UC jointly (UC Regs 2013 reg 3(2)(a)) and can keep pension-age HB only under the saving for couples entitled to HB or Pension Credit on 14 May 2019 (SI 2019/37 art 4; reg 6A(5)).
  • A UC claim ends an existing HB award (reg 8(2A)), except for pension-age claimants (reg 8(2B)).
  • The qualifying age for State Pension Credit equals State Pension age for everyone born on or after 6 December 1953 (SPCA 2002 s.1(6)), so is_SP_age is the right test.

All texts read on legislation.gov.uk on 2026-09-29.

Change

housing_benefit_eligible = (pension-age route | continuing award) & (social tenant | LHA-eligible) & capital within the limit, where

  • pension-age route: every adult in the benefit unit is over State Pension age. No reported claim needed, and would_claim_uc is ignored.
  • continuing award: housing_benefit_reported > 0 and not would_claim_uc (the previous rule, unchanged for working-age and mixed-age families; for mixed-age couples it stands in for the SI 2019/37 saving).

The pension-age test counts the same members as is_uc_eligible (any working-age adult) and is_pension_credit_eligible (all adults over State Pension age), so a family on that route gets no UC; the continuing-award route requires not claiming UC, and universal_credit is defined_for would_claim_uc. So no family receives both (a protected mixed-age couple can be eligible for both, and takes HB). would_claim_housing_benefit is unchanged, so dataset take-up still follows reported claims.

Also corrected: the Housing Benefit docs page (eligibility section; it also said would_claim_housing_benefit is drawn stochastically, but it is a formula), the unused housing_benefit/takeup.yaml description ("only current claimants are eligible (no new claims)"), and the comment in uc_legacy_mutual_exclusion.yaml.

Invariants (property-tested in test_housing_benefit_pension_age_properties.py)

  1. 0 ≤ HB ≤ benunit_rent; HB ≤ LHA_cap for LHA tenants; no HB for non-renters or above the capital limit; never HB > 0 and UC > 0 for the same family (a model convention: specified and temporary accommodation is not modelled).
  2. With no reported benefits, a family is eligible exactly when every adult is over State Pension age, it rents, and its capital is within the limit; eligible families get their full entitlement.
  3. Dataset mode (claims_all_entitled_benefits False): HB > 0 implies reported HB; for families with a working-age adult, eligibility equals the previous continuing-award formula (differential against the old rule).
  4. Flipping would_claim_uc never changes a wholly pension-age family's HB.
  5. A wholly pension-age family's HB is non-increasing in private pension income.

Six family shapes (single/couple pension-age, mixed-age, single/couple working-age, and a pensioner with an 18–19-year-old dependant), all five tenures, Hypothesis derandomize=True, 10 examples of up to 30 families each (45 s). Invariants 2 and 4 fail on main.

Tests

  • New housing_benefit_pension_age_claims.yaml, 12 cases with hand-checked values: single pensioner council tenant (Guarantee Credit passport, HB = rent); pensioner couple capped at LHA (£8,000); a tapered new claim (£9,000 − 0.65 × (£20,000 − £13,312) = £4,652.80); capital over £16,000 without Guarantee Credit (ineligible); capital disregarded on Guarantee Credit; would_claim_uc True does not block; dataset-style reporter with would_claim_uc True is paid; mixed-age couple without and with a continuing award; working-age council tenant (no new claim); pension-age owner-occupier; Northern Ireland. 7 of the 12 fail on main.
  • policyengine-core test on all HB, UC/legacy mutual-exclusion and capital YAML files: 30 passed. The scratch run of the full suites on this design (1,264 YAML tests; 314 non-microsimulation pytest tests) found no existing test changes outcome: tests without an age input default to 40.

Dataset impact (Enhanced FRS 2024-25, current weights, real runs of main vs this branch)

2026 main this PR change
Housing Benefit £13.705bn £14.227bn +£0.522bn
HB caseload (benefit units) 1,631.9k 1,711.7k +79.8k
of which wholly pension-age £13.321bn £13.843bn +£0.522bn
mixed-age / working-age HB £0.200bn / £0.184bn unchanged 0
UC / Pension Credit / Council Tax Reduction £79.32bn / £6.99bn / £2.35bn unchanged 0
Household net income +£0.522bn (= HB change)
Units with both HB > 0 and UC > 0 0 0 0

Every gainer is a wholly pension-age family that reports HB but drew would_claim_uc True; nobody loses HB. Pension-age families who report no HB still get none in the dataset (take-up there is reported-only), so the new-claim route shows up in household calculations, not in dataset totals.

Caveats: the current weights were calibrated to an OBR HB total while the model paid these families nothing, so a policyengine-uk-data rebuild will move these numbers. The dataset's pension-age HB is already well above DWP's split (GB 2025-26: about £11.35bn in PE vs £7.11bn over Pension Credit age in DWP's Spring 2026 tables, with working-age far below DWP); that mismatch predates this fix and comes from the weights, and this fix widens the pension-age gap by about £0.45bn until the rebuild.

Not in this PR (follow-ups filed separately)

  • Working-age Housing Benefit outside specified and temporary accommodation was abolished from 1 July 2026 in GB (SI 2025/1148 art 7, inserted by SI 2026/409) and 1 October 2026 in NI (SR 2025/176 art 7). The continuing-award route is left as is here.
  • Specified and temporary accommodation claims (reg 6A(2)) at any age are not modelled.
  • The pension-age test uses every adult, like is_uc_eligible and is_pension_credit_eligible; in law it is the claimant and any partner, so a pensioner with an 18–19-year-old dependant is still routed to UC. Replace generic child and adult flags with each programme's legal definitions #1896 moves UC and Pension Credit to is_claimant_or_partner; whichever of the two PRs merges second should move this test with them (and Replace generic child and adult flags with each programme's legal definitions #1896's code-health test flags the is_adult read here).
  • Pre-existing HB means-test issues found while testing: the Guarantee Credit passport keys on the calculated guarantee_credit rather than receipt of it; the £5/£10 earnings disregards are uprated with CPI and applied to all income, not only earnings; the LHA cap is applied after the taper rather than to eligible rent.

axiom: SI 2014/1230 reg 6A(4) — TheAxiomFoundation/rulespec-uk#370 queued

🤖 Generated with Claude Code

housing_benefit_eligible required a reported Housing Benefit claim and
would_claim_uc False for every family. would_claim_uc defaults to True in
household calculations, so pension-age renters never received Housing
Benefit there. In the Enhanced FRS, pension-age families who report Housing
Benefit lost it whenever the Universal Credit take-up draw came out True.

New Housing Benefit claims are barred except where the claimant and any
partner have reached the qualifying age for State Pension Credit
(SI 2014/1230 reg 6A(4); NI SR 2016/226 reg 4A(4)). Universal Credit is not
available to them (WRA 2012 s.4(1)(b)). A family in which every adult is over
State Pension age is now eligible on that route, without a reported claim
and whatever would_claim_uc says. Other families keep the continuing-award
rule: a reported claim and no Universal Credit claim.

Also corrects the Housing Benefit docs page and the take-up parameter
description, which said only existing claimants are eligible.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tion

Review follow-up: a protected mixed-age couple can be eligible for both, so
the invariant is about receipt. Also note that every adult stands in for the
claimant and partner, and that the 1 July 2026 end of working-age awards
(SI 2025/1148 art. 7) is not modelled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis merged commit 9eabf5f into main Sep 30, 2026
7 checks passed
@MaxGhenis
MaxGhenis deleted the hb-pension-age-new-claims branch September 30, 2026 07:52
@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

Merged at 59560c3 on Max's direct request for this fix (2026-09-29). Gates at merge: all 7 checks passed on the latest run and the PR was MERGEABLE. An independent Opus 5.5 review (Subfleet job 20260930-030326-hb1901-review) returned APPROVE with no blockers; its three wording points (receipt vs eligibility for the HB/UC exclusion, the unmodelled 1 July 2026 working-age abolition, every adult as a proxy for claimant and partner) are applied in 59560c3. Axiom parity: TheAxiomFoundation/rulespec-uk#370 (queued). Coordination with #1896 is noted there.

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