Skip to content

Use one carer attribution for the legacy severe disability premium and the Pension Credit addition (stacked on #1946 and #1951) - #1977

Draft
MaxGhenis wants to merge 20 commits into
mainfrom
sdp-carer-attribution
Draft

MaxGhenis wants to merge 20 commits into
mainfrom
sdp-carer-attribution

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #1946 and #1951 (both stacked on #1896). This branch is #1946's head (9dd45148) merged with #1951's head (228de587), plus this PR's commits. Until those merge the diff includes them; this PR's own change is d82b5b3b...sdp-carer-attribution. Merge order: #1896, then #1946 and #1951, then this. It is a draft until then.

Fixes #1972.

Summary

The legacy severe disability premium (#1946) and the Pension Credit severe disability addition (#1951) ask the same question in law: is anyone entitled to and in receipt of Carer's Allowance or Carer Support Payment in respect of caring for the claimant or partner? The two PRs answered it differently.

Both now read one person-level variable, is_cared_for_by_carer_benefit_recipient. A carer in another benefit unit of the household therefore bars the legacy premium as it already barred the addition. That includes a non-dependant whose presence is ignored under para 14(4) because they receive a qualifying benefit or are blind: the non-dependant condition and the carer condition are separate limbs.

The Pension Credit addition's results do not change. The residence tests stay separate, because that is where the law differs.

The law (read on legislation.gov.uk, 2026-09-30)

Carer limb Residence limb
HB Regs 2006 (SI 2006/213) Sch 3 para 14 (2)(a)(iii); tail of (2)(b) (2)(a)(ii), (2)(b)(iii), (4); "non-dependant" in reg 3
IS Regs 1987 Sch 2 para 13, ESA Regs 2008 Sch 4 para 6, JSA Regs 1996 Sch 1 para 15 same wording same structure
SPC Regs 2002 (SI 2002/1792) Sch I para 1 (1)(a)(iii), (b)(ii), (c)(iv) (1)(a)(ii), (b)(ii), (c)(iii); persons ignored in para 2
  • Carer limb, HB para 14(2)(a)(iii): "no person is entitled to, and in receipt of, a carer's allowance under section 70 of the Act or carer support payment or has an award of universal credit which includes the carer element in respect of caring for him". SPC Sch I para 1(1)(a)(iii) has the same words. The couple limbs allow a carer for "only one of a couple" (HB) or "one only of the partners" (SPC), or for neither.
  • Who can be cared for, SSCBA 1992 s.70(2): a "severely disabled person" is one for whom attendance allowance, the DLA care component at the highest or middle rate, the PIP daily living component, or armed forces independence payment is payable (plus the Scottish equivalents and the constant attendance allowances prescribed by the Invalid Care Allowance Regulations 1976 reg 3). PIP and AFIP were added on 8 April 2013 (SI 2013/388 Sch para 5; SI 2013/796 art 3(2)).
  • One award per carer, one carer per person: s.70(7) ("No person shall be entitled for the same day to (a) more than one allowance under this section") and s.70(7ZA) (where two or more people would be entitled "in respect of the same severely disabled person, one of them only shall have that entitlement"), with (7ZB) and (7ZC) for Carer Support Payment. Both rules were in s.70(7) before 16 November 2023.
  • Residence limbs differ. HB counts "non-dependants aged 18 or over" (reg 3: not the claimant's family) and ignores those receiving a qualifying benefit or blind (para 14(4)). SPC counts any "person who has attained the age of 18" and ignores a wider list in para 2, including any reg 4A qualifying young person. So a young person of another family is a non-dependant for HB but ignored for Pension Credit.
  • The Council Tax Reduction schemes repeat the carer limb (England SI 2012/2885 Sch 2 para 6; Scotland SSI 2012/319 and 2021/249; Wales WSI 2013/3029 and 3035). England's default scheme (SI 2012/2886) names Carer's Allowance only.

What changes

  • New is_cared_for_by_carer_benefit_recipient (Person): someone receives a carer benefit for caring for this person.
  • New is_severely_disabled_for_carers_allowance (Person) and parameter gov.dwp.carers_allowance.qualifying_disability_benefits: the s.70(2) list, which defines whom a carer benefit can be paid for.
  • severe_disability_premium and severe_disability_minimum_guarantee_addition count their qualifying claimants and partners who are cared for from the shared variable.
  • Removed num_severe_disability_addition_qualifiers_cared_for (Apply the Pension Credit severe disability residence and carer conditions #1951's Pension Credit-only count).
  • Unchanged: has_non_dependant_for_severe_disability_premium (HB reg 3 and para 14(4)) and meets_severe_disability_addition_residence_condition (SPC Sch I para 2).

The attribution

The data say who receives a carer benefit, not whom they care for. Each award is attributed as #1951 did, now per person:

  1. No one is their own carer. Each award is for one person, and each person has one carer.
  2. A carer cares within their own benefit unit if they can: a claimant or partner first, then another member such as a disabled child.
  3. Every other carer in the household cares for a claimant or partner not yet cared for in another benefit unit, if there is one. Units take them in descending order of their eldest member's age (ties in person order). Otherwise the award is taken to be for someone outside the household.
  4. Where not everyone can have a carer, those who are not carers themselves come first, then person order. The number cared for in a benefit unit does not depend on that choice.

These are modelling assumptions, not law. The law takes "in respect of caring for him" as a fact.

Invariants

For every household:

  • Only a person who is severely disabled for Carer's Allowance is marked as cared for.
  • A household has no more people cared for than carer benefits, and a household's only carer is never marked.
  • In each benefit unit, the claimants and partners marked are one of the sets an independent person-to-person matching allows (severe_disability_addition_reference.household_carer_assignments).
  • The premium and the addition are each 0, one rate or two rates, and two only for a couple who both qualify.
  • Paying anyone in the household a carer benefit never increases either amount.
  • Giving anyone a qualifying benefit, or making them blind, never reduces the legacy premium.
  • With no one aged 16 to 19 in the household, the legacy premium equals the Pension Credit addition for every benefit unit, carers in other benefit units included. The two residence tests differ only over that age group.
  • The Pension Credit addition equals the reference implementation written from the law (Apply the Pension Credit severe disability residence and carer conditions #1951's differential test, unchanged).

Tests

  • YAML, legacy premium (6 new cases), including the one Use one carer attribution for the legacy severe disability premium and the Pension Credit severe disability addition #1972 asks for: a non-dependant who is ignored under para 14(4)(a) because they receive the PIP daily living component, and who receives Carer's Allowance for caring for the claimant, bars the premium. Also a blind non-dependant carer (14(4)(b)); a couple who both qualify with an ignored non-dependant carer (single rate); a non-dependant carer with a severely disabled partner of their own (cares within their own unit, so the claimant keeps the premium); one carer for two other benefit units; and one household in which the premium and the addition read the same attribution.
  • YAML, shared variable (17 new cases) in household/demographic/is_cared_for_by_carer_benefit_recipient.yaml.
  • Apply the Pension Credit severe disability residence and carer conditions #1951's YAML: the 14 assertions on the removed count now assert the person-level flags. Each was checked to reproduce the old count before the change.
  • Hypothesis: all existing properties pass. One oracle changed, as intended: Give the legacy severe disability premium its statutory conditions (stacked on #1896) #1946's oracle assumed carers within the benefit unit only, and failed on a carer in another benefit unit. Its carer step now uses the shared reference matching. Two properties are new (the person-level differential and the cross-programme differential above).
  • Qualifying lists. The attribution's candidates are the s.70(2) list; each programme then counts its own qualifying claimants and partners among those marked. A new test pins that the three lists (Carer's Allowance, legacy premium, Pension Credit) are the same model variables from 8 April 2013. Before that date the Pension Credit parameter already lists PIP and AFIP, which did not exist, so nothing real differs.
  • Results: policyengine-core test policyengine_uk/tests/policy, 1,571 passed at b967481e (the three YAML files touched since were rerun: 88 passed). The two property files: 12 passed. A wider scratch fuzz (4,000 households, up to five benefit units, units with no claimant) against the reference matching: 0 mismatches.
  • Parent against head on the same random households (1,500 households, 3,709 benefit units, run in both trees): the Pension Credit addition differs in 0 units. The legacy premium differs in 116, every one lower, and every one has a carer benefit received in another benefit unit of the household.

Impact on the Enhanced FRS

Every figure is from a full Microsimulation run on the Enhanced FRS 2024-25 (enhanced_frs_2024_25.h5, sha256 e433e532…8712). Baseline: d82b5b3b (#1946 merged with #1951). Reform: 1c30130b (and b967481e before the review fixes, with identical results). Three years per run; nothing is scaled.

£m a year 2025 2026 2029
Housing Benefit 0.00 0.00 0.00
Council Tax Reduction 0.00 0.00 0.00
Income Support 0.00 0.00 0.00
Pension Credit 0.00 0.00 0.00
Universal Credit 0.00 0.00 0.00
Household net income 0.00 0.00 0.00
Computed legacy premium, whether or not paid −6.52 −6.19 −7.29
Computed Pension Credit addition 0.00 0.00 0.00
  • No benefit paid changes for any record, so poverty rates are unchanged.
  • The computed legacy premium falls to zero for 1.4k benefit units (14 sample records). Each is a single claimant living with one carer benefit recipient in another benefit unit who does not count as a non-dependant: most receive a qualifying benefit themselves (para 14(4)(a)), and the rest are under 18. None of the claimants receives Housing Benefit, Council Tax Reduction, Income Support, income-related ESA, income-based JSA or Pension Credit in the model, so the premium was not being paid to them.
  • The Pension Credit addition is unchanged for every record. Apply the Pension Credit severe disability residence and carer conditions #1951 already used this attribution, and the s.70(2) list is the same set of model variables as the addition's qualifying list.
  • Universal Credit carer element. The law also counts a UC award that includes the carer element. The model does not attribute those awards (reading Universal Credit here would be circular). In the Enhanced FRS it would add no one: every person the model treats as a carer for Universal Credit also receives a carer benefit (1,197 sample records in both groups), so is already attributed.

Household calculations change where a carer benefit is received in another benefit unit of the household.

Not modelled

  • Carers outside the household.
  • UC awards with the carer element (above).
  • Backdated carer awards before first payment (HB para 14(6); SPC para 1(2)(c)), the hospital rules, and loss-of-benefit restrictions (HB para 14(7)).
  • The Carer's Allowance overlapping-benefit rule: receives_carer_benefit inherits carers_allowance, which does not apply it.
  • A carer in another benefit unit is placed only with a claimant or partner, never with a disabled child of another unit.
  • The Carer's Allowance run-on of up to eight weeks after the person cared for has died (s.70(1A)): such a carer can be attributed to someone else in the household.

Review

An independent Opus review (subfleet job 20260930-231503-sdp-carer-attr-review-r1) approved b967481e on reading, with five minor findings and six nits; it had no shell. 1c30130b addresses them, and the two checks it could not execute (the YAML and property runs, and the parent-against-head comparison) are reported above.

axiom: HB Regs 2006 Sch 3 para 14 and SPC Regs 2002 Sch I para 1 queued in TheAxiomFoundation/rulespec-uk#386 and TheAxiomFoundation/rulespec-uk#360 (both take "a carer benefit is paid for caring for the claimant" as a leaf input, so the encoding does not change; the new companion cases are added by comment).

🤖 Generated with Claude Code

MaxGhenis and others added 13 commits September 30, 2026 18:27
…ions

SPC Regs 2002 Sch I para 1(1)(a)(ii), (b)(ii) and (c)(iii) with para 2: the
addition needs no other resident aged 18 or over, ignoring qualifying-benefit
recipients, blind people and qualifying young persons. Para 1(1)(a)(iii),
(b)(ii) and (c)(iv) with reg 6(5): a carer benefit blocks or halves the
addition only when it is paid for caring for a qualifying claimant or partner,
so a claimant's own Carer's Allowance no longer blocks it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ce and carer tests

A carer benefit paid to a claimant, partner or dependant is for a qualifying
claimant or partner of the same unit when there is one, so it no longer also
counts against another benefit unit in the household. Update the Carer
Support Payment test: SPC Sch I para 1(1)(a)(iii) bars only a carer benefit
paid for caring for the claimant, so a claimant's own CSP does not block it.

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

test_severe_disability_addition_properties.py compares the addition with a
reference written from the law text alone (differential), checks the rate
bounds and the qualifying-benefit list, and checks that the residence
condition, carer benefits and swapping partners behave as the law requires
(metamorphic).

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

SSCBA 1992 s.70(7) allows one carer's allowance per carer, so a carer outside
a benefit unit no longer counts against every other unit in the household.
The household's carers not caring within their own unit go to qualifying
claimants or partners not yet cared for, one each, taking the units in order
of their eldest member. The reference oracle and the metamorphic property
follow; add YAML cases for the residence probes and the allocation.

The documentation no longer says pension-age Housing Benefit applies the same
test: HB counts an 18- or 19-year-old young person of another family as a
non-dependant, and needs the claimant to qualify where the partner is blind.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…pendants, pool surplus carers

- Never let the addition go negative when more than two members are supplied
  as claimant or partner.
- A carer cares first for a qualifying claimant or partner in their own
  unit, then for another member who receives a qualifying benefit (such as a
  disabled child); only carers left over go to other benefit units. Each
  person has one carer (SSCBA 1992 s.70(7ZA)), so extra carers in a unit
  join the household pool.
- Document the age-tie order. Test the age-18 boundary, the bound, the
  disabled-child and surplus-carer cases and the tie order.
- The reference oracle now attributes carers by explicit person-to-person
  matching rather than the implementation's counting; the property generator
  draws couples and dependants in every benefit unit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The working-age severe disability premium in the Income Support, Housing
Benefit and Council Tax Reduction applicable amounts counted any adult
flagged by is_severely_disabled_for_benefits, the tax credit condition (DLA
care highest rate, PIP daily living enhanced rate, or any AFCS payment), and
paid a couple the double rate when either adult was flagged.

HB Regs 2006 Sch 3 paras 14 and 20(6), IS Regs 1987 Sch 2 paras 13 and
15(5), ESA Regs 2008 Sch 4 paras 6 and 11(2) and JSA Regs 1996 Sch 1 paras
15 and 20(6) qualify a claimant on Attendance Allowance (either rate), the
DLA care component at the middle or highest rate, the PIP daily living
component at either rate, or Armed Forces Independence Payment. A couple
needs both partners to qualify, unless the other partner is blind, who is
then treated as absent and the single rate applies. No non-dependant aged
18 or over may reside with them (ignoring non-dependants who receive a
qualifying benefit or are blind), and no carer benefit may be paid for
caring for them: a couple who both qualify get the double rate with no
carer paid for either, and the single rate with one paid for only one.

is_severely_disabled_for_benefits stays for the CTC disability element and
the WTC severe disability element (CTC Regs 2002 reg 8; WTC Regs 2002 reg
17). It now counts higher-rate Attendance Allowance (WTC reg 17(2)) and
Armed Forces Independence Payment instead of any AFCS payment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds YAML cases where an 18 or 19 year old qualifying young person is in the
family: they are neither a partner nor a non-dependant, so they cannot make
a couple qualify, be the blind partner treated as absent, or stop a lone
parent qualifying. The legacy-premium fixtures from #1896 now use PIP daily
living at the enhanced rate, which qualifies for the premium and is also
severe for tax credits. The oracle property draws carers less often and has
explicit double-rate and blind-partner examples, with events that show which
branches ran; the Pension Credit differential says it compares two encodings
of one rule, on the cases every version of that addition agrees on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A benefit-unit member aged 18 or over who is neither the claimant, the
partner, nor a child or qualifying young person (HB Regs reg 19; SSCBA
s.142) is a non-dependant under reg 3 and bars the premium; the test
previously exempted every benefit-unit member. Adds a YAML case for an
18-year-old not in education, and gives #1896's 19-year-old fixtures the
entry-condition input that makes them qualifying young persons.

Documentation now states the carer condition as the Regulations do (caring
for a single claimant; the couple rates), notes that only the claimant's
blind partner is treated as absent and that the model assumes the
qualifying partner claims (HB Regs reg 82(1)), lists child disability
payment among the unmodelled Scottish benefits, notes that the tax credit
flag also gates UC's higher disabled child addition, and fixes the JSA
pinpoint. The property tests compute each before/after pair in one
simulation, and the Pension Credit differential now covers carers and
couples with one qualifying partner, since #1896's addition applies the
same rules.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The property tests now generate a 16-19 year old in the benefit unit, in or
out of education and with an entry age either side of 19, and the oracle
treats one who is not a qualifying young person as a non-dependant (HB Regs
regs 3, 19). Explicit examples cover an 18-year-old not in education (no
premium) and a 19-year-old qualifying young person (single rate); restoring
the old all-benefit-unit exemption fails them.

The non-dependant docstring now says that a 19-year-old is a young person
only with a known entry age under 19, and that the young person's own-claim
exclusion (HB reg 19(2), IS reg 14(2)) is approximated by
receives_benefits_in_own_right. The qualifying-benefit docstring places child
disability payment in Housing Benefit and the Scottish CTR scheme.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…der as person order

Tests: a qualifying 17-year-old carer with no one else to care for in her
own unit cares for the grandmother; two young carers in their own units
cover both pensioners. Documentation: ties between units go by person order;
the reference's within-unit helper returns two values.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ium and the Pension Credit addition

Both rules ask whether anyone is entitled to and in receipt of Carer's
Allowance or Carer Support Payment in respect of caring for the claimant
or partner (HB Regs 2006 Sch 3 para 14(2)(a)(iii) and (2)(b); SPC Regs
2002 Sch I para 1(1)). The legacy premium counted only carers in the
claimant's own benefit unit; the addition also attributed carers in other
benefit units of the household. Both now read
is_cared_for_by_carer_benefit_recipient, a person-level attribution over
the people a carer benefit can be paid for (SSCBA 1992 s.70(2)).

The residence tests stay separate (HB reg 3 non-dependants with para
14(4); SPC Sch I para 2).

Fixes #1972

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ags, pin the qualifying lists

- The attribution docstring says an unplaced award is for someone outside
  the household, and notes the s.70(1A) run-on.
- The person-level property now checks other members (such as disabled
  children) against the reference's within-unit matching.
- YAML cases for three claimant-or-partner flags.
- A test that the Carer's Allowance, legacy premium and Pension Credit
  qualifying lists are the same model variables from 8 April 2013.

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

Copy link
Copy Markdown
Collaborator

Reviewed: approve with nits (keep as draft until #1946 and #1951 merge).

One person-level attribution is the right design. HB Regs 2006 Sch 3 para 14(2)(a)(iii) and (b)(iii) (IS Sch 2 para 13 has the same words) make the carer limb independent of the non-dependant limb. So a non-dependant carer who is ignored under para 14(4) correctly bars the premium. Replacing 2 - carers with 2 - cared_for also stops #1946 counting a carer whose award is for a child.

  1. Should fix: is_cared_for_by_carer_benefit_recipient.py, the cross-unit pass (needed = cp_targets - cp_cared_for_within). Left-over carers are placed only with claimants or partners of other units, never with a disabled child there. For the working-age premium this is the adverse case that matters. Example: a grandparent in their own unit gets CA, the grandchild in the claimant's unit gets DLA care, and the claimant's premium is barred. The within-unit "claimant or partner first" rule has the same direction, for example a couple both on PIP daily living where one partner gets CA, plausibly for their DLA child, and the model pays the single rate. Please either (a) let the cross-unit pass match all s.70(2) candidates in the receiving unit, with claimant and partner last, or (b) report how many affected units contain a disabled non-claimant member. Either way, state in the docstring that the choice withholds the premium.
  2. Nit: the impact section quotes small unweighted sample counts. Please drop them or round to survey output rules.
  3. Nit: the parent PRs' changelog fragments and files ride along in the diff. Say in the body that reviewers should use the d82b5b3b...sdp-carer-attribution compare, which you already link.

Verified: I read HB Regs 2006 Sch 3 para 14 and IS Regs 1987 Sch 2 para 13 (carer limbs). I took the ESA and JSA wording from the PR's table and did not fetch it. Locally, 169 YAML cases pass (the shared variable, the legacy SDP and the PC directory), as do the 12 properties. The five household probes gave results identical to #1951's. CI run 36810951630 passed all six jobs.

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.

Use one carer attribution for the legacy severe disability premium and the Pension Credit severe disability addition

2 participants