Skip to content

Housing Benefit earnings disregard stacks the base disregard on top of the worker disregard (over-disregard vs SI 2006/213 Sch 4) #1794

Description

@MaxGhenis

Summary

housing_benefit_applicable_income_disregard sums the single / couple / lone-parent base disregards and the worker disregard, but under SI 2006/213 (Housing Benefit Regulations 2006) Schedule 4 a claimant gets one base earnings disregard (the highest applicable) plus, separately, the £17.10 additional disregard where the 30-hour conditions are met. The worker parameter (£37.10) already equals the £20 higher base + £17.10 additional, so adding it on top of the £5 / £10 / £25 base double-counts a base-sized amount for working claimants.

On the Enhanced FRS this over-disregards earnings for ~63,500 benefit units and raises Housing Benefit paid by roughly £32 million/year.

The code

policyengine_uk/variables/gov/dwp/housing_benefit/applicable_income/housing_benefit_applicable_income_disregard.py:

single_disregard = single * p.single                 # £5/wk
couple_disregard = couple * p.couple                 # £10/wk
lone_parent_disregard = lone_parent * p.lone_parent  # £25/wk
hour_requirement = where(lone_parent, WTC.min_hours.lower, p.worker_hours)
worker = hours > hour_requirement
worker_disregard = worker * p.worker                 # £37.10/wk
weekly_disregard = (
    single_disregard + couple_disregard + lone_parent_disregard + worker_disregard
)

single / couple / lone_parent are mutually exclusive (is_single_person = family_type==SINGLE, is_couple = relation_type==COUPLE, is_lone_parent = family_type==LONE_PARENT), so the three base terms never overlap — that part is fine. The problem is worker_disregard being added on top of the base term.

What Schedule 4 actually says

Schedule 4 (Sums to be disregarded in the calculation of earnings), SI 2006/213:

  • Base disregard — paras 3–10, mutually exclusive, highest applicable applies: £5 (para 10, default), £10 (para 7, couple), £20 (paras 3/5/6/8 — disability/severe-disability/carer premium, WRAG, certain occupations), £25 (para 4, lone parent). Para 3(1): "if this paragraph applies to a claimant it shall not apply to his partner" — the paragraphs are alternatives, not additive.
  • Additional disregard — para 17: £17.10, on top of the single base, where the claimant/partner is 25+ in 30+ hours' remunerative work (16+ for a lone parent) or qualifies via the working-tax-credit 30-hour element.

So the worker value of £37.10 = £20 (para 3/5/6/8 higher base) + £17.10 (para 17 additional). It is an alternative base plus the additional, not something that stacks on the £5/£10/£25 base. PE's worker.yaml reference itself cites "Schedule 4 (5)(6)(17)".

Worked cases (nominal 2015 statutory values)

Claimant PE disregard Schedule 4 Over-disregard
Single, no children, 30h worker £5 + £37.10 = £42.10 £5 base + £17.10 = £22.10 £20.00/wk
Couple, one 30h worker £10 + £37.10 = £47.10 £10 base + £17.10 = £27.10 £20.00/wk
Lone parent, 16h worker £25 + £37.10 = £62.10 £25 base + £17.10 = £42.10 £20.00/wk

(In each row PE re-adds the £20 higher base that is already embedded in the £37.10 worker amount.)

Population impact (Enhanced FRS, 2026, uprated parameters)

Measured with Microsimulation(dataset="…/enhanced_frs_2023_24.h5"), benefit-unit level:

  • Housing Benefit recipients: 1,518,048
  • …with positive earnings (where the disregard bites): 223,774
  • …who are also "workers" (hours > threshold), i.e. where the base is stacked on the worker disregard: 63,526 (single+worker 165; couple+worker 61,355; lone-parent+worker 2,523)
  • Aggregate excess disregarded earnings from the stacking: ≈ £49.5 million/year
  • Aggregate excess Housing Benefit paid (excess income × 65% withdrawal rate, upper bound where the award is not floored/capped): ≈ £32.2 million/year

The distinct PE weekly-disregard values on this population match the additive formula exactly (2026 uprated): £7.02 (single), £14.05 (couple), £35.12 (lone parent), £59.13 = 7.02+52.11 (single worker), £66.16 = 14.05+52.11 (couple worker), £87.23 = 35.12+52.11 (lone-parent worker).

Suggested fix

Take the highest applicable base rather than summing the bases-plus-worker, and add the £17.10 additional separately. Sketch (element-wise max_, as used elsewhere in the codebase):

base = max_(single * p.single, max_(couple * p.couple, lone_parent * p.lone_parent))
additional = worker * p.additional   # the £17.10 para-17 amount, split out of the current £37.10
weekly_disregard = base + additional

This needs the worker parameter (currently £37.10 = £20 + £17.10) split into the para-17 additional (£17.10) and, if the £20 higher base is to be modelled, a higher-base term gated on the disability / carer / occupation categories in paras 3/5/6/8 rather than on being any 30-hour worker. Happy to open a PR if the maintainers agree on the approach.

Reference: The Housing Benefit Regulations 2006 (SI 2006/213), Schedule 4 — https://www.legislation.gov.uk/uksi/2006/213/schedule/4

Found via the Axiom cross-engine oracle comparison (axiom-oracles#165) while reconciling the encoded HB applicable-income surface against PolicyEngine-UK.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions