Skip to content

Carer's Allowance is paid for caring for someone with no qualifying disability benefit (SSCBA 1992 s. 70(1)-(2)) #2310

Open

Description

@MaxGhenis

What the law says

Carer's Allowance is paid for caring for a severely disabled person (SSCBA 1992 s. 70(1)). That means someone who receives:

  • Attendance Allowance;
  • the DLA care component at the middle or highest rate;
  • the PIP daily living component;
  • Armed Forces Independence Payment;
  • or a constant attendance allowance or another payment prescribed by reg. 3 of SI 1976/409 (s. 70(2)).

The parameter gov.dwp.carers_allowance.qualifying_disability_benefits already lists the Attendance Allowance, DLA care and PIP daily living limbs.

What the model does

carers_allowance_pre_overlap tests hours alone (care_hours >= 35). is_severely_disabled_for_carers_allowance exists, but it is read only by is_cared_for_by_carer_benefit_recipient, so it never gates the allowance. The docstring of is_carer_for_benefits records the simplification: "the hours limb tests hours alone, as carers_allowance_pre_overlap does: it does not check that the person cared for receives a qualifying disability benefit".

Minimal reproduction

policyengine-uk 2.126.7 and main at 6d89338. A carer aged 45, caring 40 hours a week for their partner, who has no disability benefit:

situation = {
    "people": {
        "carer": {"age": {"2026": 45}, "care_hours": {"2026": 40}},
        "caree": {"age": {"2026": 50}},
    },
    "benunits": {"b": {"members": ["carer", "caree"]}},
    "households": {"h": {"members": ["carer", "caree"], "country": {"2026": "ENGLAND"}}},
}
Simulation(situation=situation).calculate("carers_allowance", 2026)
# array([4495.4, 0.])   the law gives 0

Why this is an issue, not a fix PR

Survey caring hours count care for anyone, including people outside the household. So the model can't simply require a severely disabled member of the household without dropping carers of non-residents. Two ways forward need a maintainer's choice:

  1. An input. Add an input naming whether the person cared for receives a qualifying benefit. It would default to true, so microsimulation is unchanged, and household calculations could state it.
  2. A household check. Where the person cared for is in the household (for example, care_hours set on one partner), require that some member be is_severely_disabled_for_carers_allowance.

How it was found

The PolicyBench UK round 2 internal audit (October 2026). In its carers stratum, the cared-for partner has no disability benefit in 20% of households. The affected audit cells will be added below.

Activity

  1. MaxGhenis commented on Oct 11, 2026

    @MaxGhenis
    CollaboratorAuthor

    Evidence from PolicyBench UK round 2, an internal audit of policyengine-uk 2.126.7 (references identical on 2.126.8). Six models answered the same 200 households. A reference adversary (a blind GPT-6.1 Sol judge, then reconciliation with the engine log) reviewed consensus disagreements and a sample of single-model misses, and each verdict was adjudicated against the engine code and the law. Cells that turn on this issue:

    Cell Reference Models (answer × count) With the fix Class
    scenario_084/carers_allowance £4,495.40 £0 ×4 engine defect
    scenario_085/carers_allowance £4,495.40 £0 ×6 £0.00 engine defect
    scenario_085/income_tax £45,911.63 £45,013 ×5 £45,011.95 engine defect
    scenario_087/carers_allowance £4,495.40 £0 ×6 £0.00 engine defect
    scenario_087/income_tax £450,841.11 £37,556 ×2 £601,325.38 engine defect

    In 085 and 087 the earnings limit (#2309) also applies; in 084 earnings are under the limit and only the qualifying-benefit condition fails, so #2312 leaves that cell at £4,495.40.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions