Skip to content

Disregard the whole income and capital of Housing Benefit claimants on IS, income-based JSA or income-related ESA - #2000

Open
MaxGhenis wants to merge 3 commits into
mainfrom
hb-passport-income-related-benefits
Open

MaxGhenis wants to merge 3 commits into
mainfrom
hb-passport-income-related-benefits

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #1993.

Problem

housing_benefit_applicable_income added income_support, jsa_income and esa_income to a Housing Benefit claimant's income and tapered it, and housing_benefit_assessable_capital counted their capital. In law, a claimant on one of these benefits has the whole of their income and capital disregarded, so they get maximum Housing Benefit: the eligible rent, less non-dependant deductions.

The hand-computed YAML cases below are real runs of origin/main (7b9fc37) and this branch. Each is a council tenancy with no non-dependants, so maximum Housing Benefit is the rent.

Case main: capital, applicable income → HB this PR
A. Lone parent aged 30, child aged 3, Income Support £5,000, earnings £3,000, savings £12,000, rent £6,240 (2025) £12,000 (tariff £1,248), £8,836.62 → £3,607.15 £0, £0 → £6,240
B. Single aged 40, income-based JSA £3,500, earnings £1,000, savings £12,000, rent £5,200 (2025) £12,000, £5,394.81 → £4,804.33 £0, £0 → £5,200
C. As B with savings £20,000 £20,000: over the £16,000 limit, so £0 £0 → £5,200
D. Couple aged 32 and 30, the partner on income-based JSA £4,000, claimant earns £12,000, rent £6,240 (2025) £0, £15,293.61 → £1,189.00 £0, £0 → £6,240
E. Mixed-age couple aged 70 and 60, the younger on income-related ESA £6,000; State Pension £12,000, private pension £15,000, savings £10,000, rent £6,240 (2026) £10,000, £29,635.59 → £0 £0, £0 → £6,240
F. As B, with contribution-based JSA (control) £12,000, £5,488 → £4,232.80 unchanged
G. As E, with contributory ESA only (control) £10,000, £29,635.59 → £0 unchanged

E sets Guarantee Credit to nil, so the result does not come from the Pension Credit passport. F is fully hand-computed with the disregard (£260) and applicable amount (£4,000) given: 5,200 − 0.65 × (3,500 + 1,000 + 1,248 − 260 − 4,000) = £4,232.80.

Law

The texts were read from legislation.gov.uk CLML (/data.xml) on 2026-10-01: the current revised text, and the point-in-time text at 2026-04-06, which is identical for these paragraphs. Copies are in the research folder.

SI 2006/213 (Housing Benefit Regulations 2006).

  • Sch 5 para 4 (sums disregarded in the calculation of income other than earnings): "Where a claimant is on universal credit, income support, an income-based jobseeker's allowance or an income-related employment and support allowance the whole of his income."
  • Sch 5 para 5: "Where the claimant is a member of a joint-claim couple for the purposes of the Jobseekers Act and his partner is on an income-based jobseeker's allowance, the whole of the claimant's income."
  • Sch 6 para 5 (capital to be disregarded): the same four benefits, "the whole of his capital". Sch 6 para 6 is the joint-claim counterpart.
  • The income-related ESA words date from 27.10.2008 (SI 2008/1082 regs 25(a) and 26(a)) and "universal credit," from 28.10.2013 (SI 2013/2070 reg 7(8) and (9)).
  • Reg 2 says what "on" means:
    • "person on income support" means "a person in receipt of income support";
    • reg 2(3) and (3A): a person is on income-based JSA or income-related ESA "on any day in respect of which [it] is payable to him", and also on some days when it is not paid (a sanction or disqualification, a waiting day, a loss-of-benefit restriction);
    • reg 2(3B): a person is on universal credit on any day they are entitled to it, "whether it is in payment or not".
  • Reg 5(1)(b): these regulations apply to a person who "has attained the qualifying age for state pension credit if he, or if he has a partner, his partner, is a person on universal credit, on income support, on an income-based jobseeker's allowance or on an income-related employment and support allowance". SI 2006/214 reg 5(2) disapplies the pension-age regulations in the same case. So a mixed-age couple whose younger member is on income-related ESA is assessed under SI 2006/213 and passported. DWP circular A9/2019 says such a couple "can continue to receive working age HB".
  • Reg 82(1): "In the case of a couple ... a claim shall be made by whichever one of them they agree should so claim".

Northern Ireland: SR 2006/405 has the same wording, with "Jobseekers Order" for "Jobseekers Act":

  • Sch 6 para 4 and para 5 (income);
  • Sch 7 para 5 and para 6 (capital);
  • reg 2(3) to (3B) and reg 5(1)(b); SR 2006/406 reg 5(2).

The NI ESA words date from 27.10.2008 (SR 2008/378) and "universal credit," from 8.5.2018 (SR 2018/92). NI's Sch 6 para 6, a 2003 rate-rebate saving, has no GB counterpart and is not modelled.

Change

  • in_receipt_of_income_support_jsa_ib_or_esa_ir (new, BenUnit, bool): true when income_support, jsa_income or esa_income is positive. It follows in_receipt_of_guarantee_credit: receipt means a positive amount paid.
  • housing_benefit_applicable_income: nil when that holds (Sch 5 para 4). Adds documentation and reference.
  • housing_benefit_assessable_capital: nil when that holds (Sch 6 para 5). Tariff income is then nil and the capital limit is met, so housing_benefit_tariff_income and housing_benefit_eligible need no change.
  • Docs: one sentence in the "How PolicyEngine computes Housing Benefit" cell of housing-benefit.ipynb.
  • Existing tests: three cases in housing_benefit_applicable_income.yaml used Income Support £2,250 as ordinary income. That income now passports, so the £2,250 moves to private pension income. Their expected values are unchanged, and the tests still check what they were written for (pension contributions halved and capped, tax and other income added).

Modelling choices

  • Receipt, not "on". An amount paid above zero stands in for "on". The model cannot see the reg 2(3) and (3A) days when nothing is paid.
  • The benefit unit. The model holds these awards for the benefit unit and cannot tell which member claims Housing Benefit, so it applies the passport whichever member is on the benefit. A couple choose who claims (reg 82(1)), and para 5 covers a joint-claim couple.
  • No age condition. This follows reg 5(1)(b). A handful of wholly pension-age benefit units in the Enhanced FRS report income-related ESA or income-based JSA. None of them receives Housing Benefit, so the choice changes nothing there. If any did, the passport would follow the model's award; the age conditions belong in the ESA and JSA variables.
  • The universal credit limb is left out, as in Take Housing Benefit earnings disregards from net earnings only #1908's para 12 branch:
    • the model never pays Housing Benefit and Universal Credit to the same family (housing_benefit_eligible; 0 such benefit units on the Enhanced FRS in 2025, 2026 and 2027);
    • universal_credit depends on Housing Benefit through benefit_cap_reduction, so reading it here would be circular.
  • From 2026-27 only income-related ESA passports. gov.dwp.income_support.active and gov.dwp.JSA.income.active are false from 1 April 2026, so the model pays no Income Support or income-based JSA from 2026-27.

Interplay with open PRs

All figures are real runs of scratch merges on the same Enhanced FRS copy, for 2026 unless stated.

Impact (Enhanced FRS 2024-25, real runs, origin/main 7b9fc37 against this branch)

2025-26 2026-27 2027-28
Housing Benefit, main £13.478bn £14.227bn £14.602bn
Change +£16.3m +£16.85m +£15.8m
Benefit units gaining 9.6k 8.5k 7.6k
Losing 0 0 0
Mean gain per gaining unit £1,701 £1,989 £2,074
Pension Credit, UC, CTR, benefit cap unchanged unchanged unchanged
AHC poverty, all people −0.0009pp −0.0012pp −0.0009pp
BHC poverty, all people −0.0013pp −0.0013pp −0.0010pp

Invariants

Property-tested in test_housing_benefit_income_related_benefit_passport_properties.py: Hypothesis, derandomize=True, 5 examples of up to 20 families each. The families cover single, couple, lone parent, couple with children, mixed-age and pension-age shapes, all three renting tenures and optional non-dependants, with random earnings, pensions, savings and awards.

  1. Receipt: true exactly when Income Support, income-based JSA or income-related ESA is positive.
  2. Passport: a family in receipt has nil applicable income, assessable capital and tariff income, and meets the capital limit.
  3. Maximum: every family's entitlement is at most maximum HB (rent, capped at the LHA rate for LHA tenants, less non-dependant deductions, floored at zero). A family in receipt gets exactly that.
  4. Metamorphic, income and capital: for a family in receipt, raising earnings, pensions and savings by the same amount changes neither entitlement nor eligibility.
  5. Metamorphic, receipt: adding a positive Income Support, income-based JSA or income-related ESA amount never lowers HB before the benefit cap, and never removes eligibility. After the cap it can, because those benefits count towards the cap. That is an intended difference, so the test reads housing_benefit_pre_benefit_cap.
  6. Ages: for social tenants with no non-dependants, a passported couple's entitlement is the rent whether its members are 40 and 35, 70 and 35, or 70 and 68.
  7. Contributory benefits: contribution-based JSA and contributory ESA never set the passport, and the family's savings remain its capital.

Plus the dataset-wide differential check above.

Mutation check. Seven mutations were each applied to a scratch copy of this branch (b6d45a5). Each was run against the new and changed YAML files and the property tests, with Hypothesis shrinking off. The unmutated control passes both. The YAML and the property tests each catch all seven:

  • M1, no income passport;
  • M2, no capital passport;
  • M3, the passport applied only where no one is over State Pension age (as Take Housing Benefit earnings disregards from net earnings only #1908's para 12 does);
  • M4, receipt ignores income-related ESA;
  • M5, receipt ignores Income Support;
  • M6, receipt also counts contribution-based JSA and contributory ESA;
  • M7, receipt needs more than £100 a year of a benefit instead of any amount.

Tests

  • New: housing_benefit_income_related_benefit_passport.yaml, with the seven cases above. A to E fail on main; the controls F and G pass on both.
  • New: in_receipt_of_income_support_jsa_ib_or_esa_ir.yaml, seven cases. They include a reported income-based JSA award screened out by the capital test, which is not receipt.
  • New: the property tests (about 70 s).
  • Run locally: all 442 YAML tests under finance/benefit/family, gov/dwp and gov/local_authorities pass (including the new files), and so do the property tests. CI runs the full suite.

Research files (law texts, impact harness, scratch-merge runs and aggregate diagnostics) are in ~/reviews/uk-hb-ir-passport-2026-10-01/ on the author's machine. No record-level survey values are reported here.

axiom: uk/regulation/uksi/2006/213/schedule/5/paragraph/4, uk/regulation/uksi/2006/213/schedule/6/paragraph/5 TheAxiomFoundation/rulespec-uk#375 queued (extended with a dispatch-ready section: TheAxiomFoundation/rulespec-uk#375 (comment))

🤖 Generated with Claude Code

MaxGhenis and others added 3 commits October 1, 2026 11:23
…A(IR)

SI 2006/213 Sch 5 para 4 and Sch 6 para 5 (NI: SR 2006/405 Sch 6 para 4
and Sch 7 para 5) disregard the whole income and capital of a Housing
Benefit claimant on income support, income-based JSA or income-related
ESA. PolicyEngine counted these benefits as HB income and tapered them.

Add in_receipt_of_income_support_jsa_ib_or_esa_ir (a positive amount of
any of the three, for the benefit unit) and zero HB applicable income and
assessable capital when it holds. No age condition: reg 5(1)(b) applies
the working-age regulations to a mixed-age couple whose younger member is
on one of these benefits.

Fixes #1993

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

This branch has not been deployed

No deployments
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.

Disregard the whole income and capital of HB claimants on IS, income-based JSA or income-related ESA (HB Regs Sch 5 para 4, Sch 6 para 5)

1 participant