Skip to content

Model a Universal Credit claim by a member of a couple as a single person (UC Regs 2013 reg 3(3)) - #2084

Draft
MaxGhenis wants to merge 4 commits into
uc-reg3-3-single-claim-basefrom
uc-reg3-3-single-claim
Draft

MaxGhenis wants to merge 4 commits into
uc-reg3-3-single-claim-basefrom
uc-reg3-3-single-claim

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

When the other member of a couple cannot be a joint Universal Credit claimant, the member who can claims as a single person (UC Regs 2013 reg 3(3)). #2081 added the input uc_is_ineligible_partner for that other member and used it only for the minimum income floor. This PR models the rest of the award. It follows reg 3(3), which says "regulations 18 (capital limit), 36 (amount of elements) and 22 (deduction of income and work allowance) provide for the calculation of the award in such cases":

  • Amounts are a single claimant's (reg 36(3)): the single standard allowance at the claimant's own age. There is no LCWRA or carer element for the other member, who is not "a claimant" (regs 27(1), 29(1)).
  • Capital and income are the couple's (regs 18(2), 22(3)). The deduction is what joint claimants would have, so the other member's limited capability for work still gives the work allowance. The model already did this; tests now pin it.
  • The claimant must meet the basic conditions. A claimant over State Pension age cannot claim this way (WRA 2012 s.4(1)(b)): the mixed-age route of reg 3(2)(a) is only for joint claimants. The model then treats it as no single claim at all.
  • Benefit cap. A childless single claimant has the single cap (£14,753, or £16,967 in London; reg 80A(2), ADM E5007 note 3). The other member's PIP, DLA, carer's allowance, LCWRA, AFCS or contributory ESA does not lift it (reg 83(1), "a claimant"). Their earnings count towards the earnings exception (regs 78(2), 82(1)(a)).
  • Shared accommodation rate. A renter under 35 claiming as a single person is a specified renter, judged on their own age and their own disability exception (Sch 4 para 28(2), para 29(5); ADM F3213). The other member is not a non-dependant (para 9(2)(b)).
  • Limb (a) is now derived. A member of a couple under 18 to whom the reg 8 minimum age of 16 does not apply is now the ineligible partner by formula (meets_uc_minimum_age_condition). This is ADM E2017's worked example: Jane is 17 and Tom is 19, so "Tom is required to claim for himself as a single person". Limbs (b)-(e) (not in Great Britain, prisoner, reg 19, s.115 IAA 1999) are not observed and stay inputs.

Example, 2026-27: two 30-year-olds, no children, no rent. One cannot be a joint claimant, and that member earns £6,000.

Joint claimants Single claim (this PR)
Standard allowance £666.97 × 12 = £8,003.64 £424.90 × 12 = £5,098.80
Deduction (55% of £6,000, no work allowance) £3,300 £3,300
Universal Credit £4,703.64 £1,798.80

Impact: £0 on the Enhanced FRS, as expected. These are real Microsimulation runs on the Enhanced FRS 2024-25 (sha256 e433e532…), one run per package state, every year 2025 to 2030: base 6db0ab118 against branch 649503f7b, then again against 17b9b8a16 after the review fixes. Both branch runs give the same result.

  • UC, the benefit cap reduction, Housing Benefit, Pension Credit, Council Tax Reduction, household net income and poverty are unchanged to the penny.
  • No benefit unit changes any of the 15 UC, cap and LHA variables compared, or its LHA category.
  • The other limbs (prisoner, abroad, reg 19, s.115) are inputs the FRS does not supply, so the input stays false everywhere.
  • Limb (a), now derived, never fires. The data have 239 claimant-or-partner records under 18 (351,000 people weighted), and every one is a single 16- or 17-year-old heading their own benefit unit. No couple in the data has a member under 18.
  • So the change matters for calculator users who set the input, and for any future data with such couples.

Stack and base

Law (legislation.gov.uk, fetched 2026-10-02)

UC Regs 2013 (https://www.legislation.gov.uk/uksi/2013/376):

3(3) A person who is a member of a couple may make a claim as a single person if the other member of the couple— (a) does not meet the basic condition in section 4(1)(a) (at least 18 years old) and is not a person in respect of whom the minimum age specified in regulation 8 applies; (b) does not meet the basic condition in section 4(1)(c) (in Great Britain); (c) is a prisoner; (d) is a person other than a prisoner in respect of whom entitlement does not arise by virtue of regulation 19 (restrictions on entitlement); or (e) is a person to whom section 115 of the Immigration and Asylum Act 1999 (exclusion from benefits) applies, and regulations 18 (capital limit), 36 (amount of elements) and 22 (deduction of income and work allowance) provide for the calculation of the award in such cases.

18(2) In a case where the claimant is a member of a couple, but makes a claim as a single person, the claimant's capital is to be treated as including the capital of the other member of the couple.

22(3) In the case of an award where the claimant is a member of a couple, but makes a claim as a single person, the amount to be deducted from the maximum amount in accordance with section 8(3) of the Act is the same as the amount that would be deducted in accordance with paragraph (1) if the couple were joint claimants.

Reg 22(1)(b)(i) has no work allowance only "where a single claimant does not have, or neither of joint claimants has, responsibility for a child or qualifying young person or limited capability for work".

36(3) In the case of an award where the claimant is a member of a couple, but claims as a single person, the amounts are those shown in the table for a single claimant.

27(1) An award of universal credit is to include an amount in respect of the fact that a claimant has limited capability for work and work-related activity ("the LCWRA element").

29(1) An award of universal credit is to include an amount ("the carer element") ... where a claimant has regular and substantial caring responsibilities for a severely disabled person ...

32(1) The work condition is met in respect of an assessment period if— (a) the claimant is in paid work ...; and (b) if the claimant is a member of a couple (whether claiming jointly or as a single person), the other member is either in paid work or is unable to provide childcare because that person— (i) has limited capability for work, (ii) has regular and substantial caring responsibilities for a severely disabled person, or (iii) is temporarily absent from the claimant's household.

78(2) In this Part "couple" means— (a) joint claimants; or (b) a single claimant who is a member of a couple within the meaning of section 39 of the Act and the other member of that couple ...

80A(2)(c) £14,753 for a single claimant not resident in Greater London who is not responsible for a child or qualifying young person; (d) £22,020 for— (i) joint claimants not resident in Greater London; (ii) a single claimant not resident in Greater London who is responsible for a child or qualifying young person.

82(1)(a) the claimant's earned income or, if the claimant is a member of a couple, the couple's combined earned income, is equal to or exceeds ...

83(1) The benefit cap does not apply ... where— (a) the LCWRA element is included in the award of universal credit or the claimant is receiving an employment and support allowance that includes the support component; ... (g) a claimant, or a qualifying young person for whom a claimant is responsible, is receiving personal independence payment; ...

Sch 4 para 9(2) A person is a non-dependant if the person normally lives in the accommodation with the renter (or joint renters) and is none of the following— ... (b) where the renter is a member of a couple claiming as a single person, the other member of the couple; ...

Sch 4 para 28(2) The first condition is that the renter is a single person (or a member of a couple claiming as a single person) who— (a) is under 35 years old; and (b) is not an excepted person under paragraph 29.

Welfare Reform Act 2012 s.40 (https://www.legislation.gov.uk/ukpga/2012/5/section/40): "'claimant' means a single claimant or each of joint claimants".

DWP Advice for Decision Making:

Change

New:

  • is_uc_single_or_joint_claimant (Person). The claimant in WRA s.40's sense: is_uc_claimant (the two eldest), less uc_is_ineligible_partner.
  • uc_member_of_couple_claims_as_single_person (BenUnit). One member of the couple is the ineligible partner, and the other is a claimant who meets the s.4(1)(a)-(b) age conditions.
  • In utils/uc_work_related_requirements.py:
    • other_member_of_single_claim: the partner of such a claimant. A flag with no claimant beside it marks nothing.
    • single_claim_in_rules_shared_with_legacy_benefits and other_member_of_single_claim_in_shared_rules: the same, for the rules Housing Benefit shares, and false for a family claiming legacy benefits.

Changed:

  • uc_is_ineligible_partner: has a formula for limb (a) (a couple member who fails meets_uc_minimum_age_condition); still an input for limbs (b)-(e). A member under 16 is treated as within (a) whatever their circumstances. Strictly, reg 3(3)(a) then gives the other member no single claim; the model does not follow that.
  • uc_standard_allowance_claimant_type: counts s.40 claimants and uses their ages (reg 36(3)).
  • is_uc_eligible: the qualifying claimant must be an s.40 claimant.
  • uc_LCWRA_element, uc_carer_element: nothing for the other member of a single claim (regs 27(1), 29(1)). The carer element keeps its benunit_has_carer route.
  • is_benefit_cap_single_claimant_rate: true for a single claim without a child (reg 80A(2)), unless the family claims legacy benefits.
  • is_benefit_cap_exempt_health_disability, is_benefit_cap_exempt_other: the other member's own benefits, LCWRA, AFCS and contributory ESA lift no cap (reg 83(1)), unless the family claims legacy benefits.
  • is_lha_shared_accommodation_rate_specified_renter: applies to a member of a couple claiming as a single person, on the renter's own age and exception (Sch 4 paras 28(2), 29(5)), unless the family claims legacy benefits.
  • is_uc_claimant: docstring only, pointing to is_uc_single_or_joint_claimant.
  • uc_childcare_work_condition: the claimant must be in work and the other member is tested as a partner (reg 32(1)). Same result as before: both members of a couple must work, and the reg 32(1)(b) exceptions are still not modelled.

Unchanged and already right, now pinned by tests:

  • capital (reg 18(2)): uc_assessable_capital counts both members of the couple;
  • income and work allowance (reg 22(3)): uc_earned_income, uc_unearned_income and is_uc_work_allowance_eligible read both members;
  • the cap earnings exception (reg 82(1)(a)).

Two existing tests change expectation. A couple aged 30 and 17 used to be treated as joint claimants, and benefit_cap.yaml said "UC reg 3(3) permits some couples to claim as singles, not modelled here". The 30-year-old now claims as a single person (ADM E2017), so they get the single cap of £14,753 and the shared accommodation rate. A new sibling case in each file gives the 17-year-old a reg 8(1)(c) circumstance (caring); that couple claims jointly, with the couple cap and no shared rate.

Modelling choices and limits

  1. Housing Benefit shares the cap rate, the cap exceptions and the LHA category, but has no single claim by a member of a couple.
    • A family claiming legacy benefits (claims_legacy_benefits: reported CTC, WTC, HB, income-related ESA, IS or income-based JSA) keeps the couple rules there.
    • Otherwise the UC rule applies, which Housing Benefit then shares.
    • The UC award itself does not look at claims_legacy_benefits.
    • A flag with no claimant beside it (a single adult, both members of a couple, or a claimant over State Pension age) changes none of the shared rules; a property test pins that.
  2. Limbs (b)-(e) are not observed. The FRS does not record a partner abroad, in prison, in a religious order or subject to immigration control. Only limb (a) arises in the data.
  3. Reg 32(1)(b) exceptions (a partner with LCW, caring, or temporarily absent, for example in prison) are still not modelled for any couple. So a single claimant whose partner is away still needs the partner in work for the childcare element.

Tests

  • claims_as_single_person.yaml (27 cases). Each expected value is hand-computed from the reg 36, 22 and 80A tables in force for 2026-27 (UC Act 2025, SI 2026/113, SI 2026/148) and NMW Regs reg 4 (£12.71). The cases cover:

    • the standard allowance at the claimant's own age;
    • the Jane/Tom example, with a reg 8 sibling;
    • pension age either way round;
    • capital (two Lifetime ISAs over the limit together);
    • earned and unearned income;
    • the work allowance from the other member's LCW;
    • LCWRA and carer elements either way round;
    • the childcare work condition;
    • the cap rate with and without a child;
    • PIP and the cap either way round, against joint claimants;
    • the earnings exception;
    • the shared accommodation rate by the renter's age and the partner's PIP;
    • a single adult flagged;
    • a family claiming legacy benefits, which keeps the couple cap and no shared rate while its UC award is a single claim.
  • test_uc_single_claim_properties.py, 7 Hypothesis properties. Generated couples are calculated three ways: as a single claim, as joint claimants and as the claimant alone. Each property also runs on explicit example families, including ADM E2017's Tom and Jane.

    1. The single standard allowance at the claimant's age.
    2. The single claim's maximum amount equals the claimant-alone maximum. This covers the standard allowance, LCWRA, carer and housing elements and the shared accommodation test.
    3. Earned income, unearned income and the work allowance equal the joint claimants', and the deduction is min(maximum amount, 55% × earned + unearned).
    4. Capital equals the joint claimants'.
    5. The single cap rate applies exactly when there is no child, and the cap exceptions equal the joint claimants' with the other member's own disability, caring and benefits removed.
    6. Limb (a) against the law's own test: under 18 with none of the generated reg 8(1) circumstances, or under 16.
    7. A flag marking no single claim leaves every Housing-Benefit-shared rule as it was.

    A further test, test_examples_reach_the_cases, checks that the examples change each rule they target. Mutation-checked: reverting the LCWRA, standard allowance, cap rate or guard change each fails its property.

  • Apply the UC minimum income floor only to claimants subject to all work-related requirements #2081's property fixtures now declare is_claimant_or_partner, as Deduct only each person's own tax and NI on earnings from UC earned income #1949 did in a57caf1. Main's presumption read a generated 18-year-old partner of a 52-year-old as their child, so test_partner_who_cannot_be_a_joint_claimant failed on 6db0ab118 itself.

  • Targeted runs on this head: the UC YAML folder; the whole policyengine_uk/tests/policy YAML tree (one process); test_uc_single_claim_properties.py; and these property files: work-related groups, minimum income floor, child and adult definitions, earnings deductions, State Pension, unearned benefits, Lifetime ISA capital, abolish-benefit-cap scenario, UC deductions, rebalancing, Housing Benefit pension age, means-test income and code health. All pass on 17b9b8a16:

    • the YAML tree, 1,755 tests;
    • those property files with test_uc_single_claim_properties.py and the code-health tests, 1,851 tests plus 1 test already marked as an expected failure.

    These were run on a detached copy of the head, so no edit could reach the run.

Coordination with open PRs

Comments on those PRs say the same.

axiom: uk/regulations/uksi/2013/376/18, /22, /32, /90 and schedule/4/paragraph/28 are encoded-correct for this case. Their companion tests are, in order, single_claimant_member_of_couple_includes_other_member_capital, member_of_couple_claiming_as_single_uses_joint_claimant_deduction, couple_claimant_treated_as_paid_work_and_other_member_unable, couple_claiming_as_single_by_regulation_3_3_meets_combined_threshold and renter_meets_all_specified_renter_conditions. The rest is queued:

Review: round 1 (independent Opus review via Subfleet, head 649503f7b) asked for changes, with no P1s; every finding is addressed in 17b9b8a16. Round 2 is running.

🤖 Generated with Claude Code

MaxGhenis and others added 4 commits October 2, 2026 11:51
A member of a couple whose partner cannot be a joint claimant claims as a
single person (UC Regs 2013 reg 3(3)); regs 18, 22 and 36 then set the award.

- is_uc_single_or_joint_claimant: the WRA 2012 s.40 claimant (claimant or
  partner, less the partner who cannot be a joint claimant).
- uc_member_of_couple_claims_as_single_person: the benefit unit flag.
- uc_is_ineligible_partner derives reg 3(3)(a) (under 18, outside reg 8)
  from meets_uc_minimum_age_condition; (b)-(e) stay inputs.
- reg 36(3): single standard allowance at the claimant's own age.
- s.4 / reg 3(3): only a claimant can meet the age conditions.
- regs 27(1), 29(1): no LCWRA or carer element for the other member.
- reg 80A(2): single-claimant cap limits (ADM E5007 note 3).
- reg 83(1): the other member's benefits do not lift the cap.
- Sch 4 para 28(2): shared accommodation rate on the renter's own age and
  exceptions (ADM F3213).
- reg 32(1): the claimant must be in paid work; the other member is tested
  as a partner (no change in result).
- regs 18(2), 22(3), 82(1)(a): unchanged; the partner's capital, income,
  LCW for the work allowance and earnings already count. Tests pin them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Seven invariants over generated couples, each calculated as a reg 3(3)
single claim, as joint claimants and as the claimant alone: single
standard allowance at the claimant's age (reg 36(3)); maximum amount equal
to the solo claimant's (regs 27, 29, 36(3), Sch 4 paras 9, 10, 28, 29);
deduction equal to the joint claimants' (reg 22(3)); capital equal to the
joint claimants' (reg 18(2)); single cap rate exactly when childless and
cap exceptions ignoring the other member (regs 80A, 83); reg 3(3)(a)
derivation; and a flag marking no single claim leaving the rules Housing
Benefit shares unchanged. Mutation-checked: reverting the LCWRA, standard
allowance, cap rate or guard change each fails its property.

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

Main's claimant-or-partner inference (#1896) presumes a member under 20
who is at least 16 years younger than the claimant to be the claimant's
child. The work-related group properties generate couples such as 52 and
18 without relationship inputs, so after main was merged in the 18-year-old
was read as a child, the reg 3(3) flag landed on someone outside the
couple, and test_partner_who_cannot_be_a_joint_claimant failed (it fails
the same way on 6db0ab1, before this branch's own changes). Set
is_claimant_or_partner from each generated role, as #1949 did for its
fixtures in a57caf1.

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

From the independent review of 649503f (no P1s; three P2s and P3s):
- The benefit cap rate and exceptions and the LHA shared accommodation
  test serve Housing Benefit too, which has no single claim by a member of
  a couple. A family claiming legacy benefits (claims_legacy_benefits) now
  keeps the couple rules there; the UC award itself is unchanged. Helpers
  single_claim_in_rules_shared_with_legacy_benefits and
  other_member_of_single_claim_in_shared_rules; changelog says so.
- uc_member_of_couple_claims_as_single_person requires a claimant who meets
  the s.4(1)(a) and (b) age conditions, so a claimant over State Pension
  age with a flagged partner is no single claim (docstring corrected).
- Property tests: generate AFCS and contributory ESA (the docstring
  claimed them); explicit examples, including ADM E2017's Tom and Jane, on
  every property, and test_examples_reach_the_cases showing each rule
  changes; property 6 uses the reg 3(3)(a)/reg 8 text as its oracle; the
  cap-rate oracle reads only families whose children are under 16.
- YAML: a legacy-claiming family case; a child in the childcare cases; the
  reg 82 comment states the model's fixed 10,152 threshold too; the
  pension-age case asserts no single claim.
- is_uc_claimant's docstring points to is_uc_single_or_joint_claimant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 2, 2026
@MaxGhenis

MaxGhenis commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator Author

Coordination with #2088 (updated for #2088's rename of the offer input), which models UC Regs 2013 reg 32 (the childcare work condition's partner exceptions, reg 32(2) treated-as-working, and offers of paid work). Both PRs edit uc_childcare_work_condition.py, so whichever merges second has a conflict there. This is the resolved formula, keeping this PR's reg 3(3) structure:

    def formula(benunit, period, parameters):
        person = benunit.members
        # WRA 2012 s. 40 claimants: a single claimant or each joint claimant.
        claimant = person("is_uc_single_or_joint_claimant", period)
        # Also the other member of a reg. 3(3) single claim, who is tested
        # under reg. 32(1)(b) "whether claiming jointly or as a single person".
        claimant_or_partner = person("is_uc_claimant", period)
        # Reg. 32(2) treats "a claimant" as in paid work, so not the other
        # member of a single claim.
        treated = claimant & person("uc_childcare_treated_as_in_paid_work", period)
        in_paid_work = person("in_work", period) | treated
        meets_claimant_limb = in_paid_work | person(
            "uc_has_offer_of_paid_work_starting_by_end_of_next_assessment_period",
            period,
        )
        meets_other_member_limb = in_paid_work | person(
            "uc_unable_to_provide_childcare", period
        )
        fails_other_member_limb = claimant_or_partner & ~meets_other_member_limb
        others_failing = (
            benunit.project(benunit.sum(fails_other_member_limb))
            - fails_other_member_limb
        )
        return benunit.any(claimant & meets_claimant_limb & (others_failing == 0))

Your two reg 32 cases in claims_as_single_person.yaml. Both keep their results. Neither has an exception, a listed payment or an offer for the ineligible partner.

A case worth adding after the merge. In a reg 3(3) single claim, the claimant works and the other member receives SMP (no work, no exception). Expected: uc_childcare_work_condition: false, because the other member is not a claimant, so reg 32(2)(b) does not treat them as in paid work. In a joint claim the same facts give true (#2088's "a partner on statutory maternity pay with a working claimant").

#2088's property tests (test_uc_childcare_work_condition_properties.py) set is_claimant_or_partner and never uc_is_ineligible_partner, so they should pass unchanged after the merge.

🤖 Generated with Claude Code

@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

#2089 is stacked on this PR. It gives Universal Credit and Housing Benefit their own benefit cap and LHA shared-accommodation variables and drops the claims_legacy_benefits stopgap:

  • reg 3(3) applies to the UC rules directly;
  • HB treats the couple as a couple whatever the family claims.

#2089 removes single_claim_in_rules_shared_with_legacy_benefits and other_member_of_single_claim_in_shared_rules. If this PR changes them or their callers after #2089's base (17b9b8a), #2089 will merge the change in.

#2089's landing job waits for this PR to merge.

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.

1 participant