Repository navigation
Conversation
…ze criteria Universal Credit: a qualifying young person the renter is responsible for has a bedroom (UC Regs 2013 Sch 4 para 10(1)(b)), and any other member aged 16 or over is a non-dependant with one (para 9(2), 10(1)(c)), except a qualifying young person no one is responsible for (para 9(2)(g)). Housing Benefit: every member aged 16 or over other than the claimant or partner is a person who is not a child (HB Regs 2006 and HB (SPC) Regs 2006 reg 13D(3)(b); reg 2(1)). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
YAML cases for a qualifying young person aged 17 and 19, an 18-year-old non-dependant, a looked-after qualifying young person (no UC bedroom), a couple with a young person and two younger children (category E), a partner aged 19 (no extra bedroom) and a pensioner couple's grandchild under HB (SPC). Two LHA_claimant_composition cases asserted the old one-bedroom count for an apprentice non-dependant and an 18-year-old qualifying young person; both are now two bedrooms (Sch 4 para 10(1)(c) and (b)). Hypothesis properties: bedrooms never fall when a person aged 16-19 joins any family; the exact change when they do; and agreement with an independent count of the size criteria, children's rooms found by brute force. Fixes #2008 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…o lha-bedroom-young-people
…t's benefit unit A member of a benefit unit aged 16 or over who is not the claimant, partner or a qualifying young person (UC) or child or young person (HB, CTR) is a non-dependant of the renter (UC Regs 2013 Sch 4 para 9; HB Regs 2006 and HB (SPC) Regs 2006 reg 3; SI 2012/2885 reg 9 and the Welsh and Scottish equivalents). The deductions now charge them: - UC: to the renter's own claim; non-dependants in other families stay with the household head's claim (para 9(2)(f)). Adds the para 15 renter exemption and limits the para 16 Pension Credit exemption to the claimant or partner who receives it. - HB: apportioned between joint occupiers by rent share (reg 74(5)); a boarder or lodger bears their own. - National CTR: pooled across the claiming families by joint-liability share; only claiming families bear deductions. Fixes #2014. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… cost contributions UC Regs 2013 Sch 4 para 15(1)(a) turns on the renter's own circumstances; found by a mutation that applied the exemption to every family member. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mutation testing (15 one-line mutations of the new logic) left the in-unit age floor surviving the YAML tests, and dropping in-unit non-dependants from HB or CTR eligibility surviving the properties. The YAML case now checks a child's classification, and the oracle checks HB and CTR eligibility independently. All 15 mutations are now killed by both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reg 9(2)(a) excludes the applicant's family (claimant, partner and the children they are responsible for) from non-dependants, not every member of the FRS benefit unit. PR #2017 charges non-dependants who share a benefit unit with the claimant, so the property now asserts that no claimant or partner of a claimant family is a non-dependant. It holds on this branch and on its composition with #2017. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A non-dependant in a family's own benefit unit is that family's alone, not shared between joint occupiers: DWP guidance treats a joint tenant's sister as "Sarah's non-dependant" only (LHA Guidance Manual 2.093, example 2) and says "if a person is a non-dependant of only one of the joint occupiers, take the whole of the deduction from that joint occupier's entitlement" (HBGM A5 5.622). Reg 74(5) and CTR Sch 1 para 8(5) apportionment now apply only to non-dependants from other families. A lodger's family is one commercial arrangement for CTR too, so its adult son is no one's non-dependant there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Follows #2017's decision: a non-dependant in a joint occupier's own benefit unit is that occupier's only (LHA Guidance Manual para 2.093 example 2; HBGM A5 para 5.622). Other families' non-dependants still reside with each joint occupier. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Applies #2007 at 6257277 (59c7082 plus the r1 review commit) onto #2017 (in-unit non-dependants, #2006 rent shares): - One definition of claimant or partner: #1896's is_claimant_or_partner variable. #2007's proxy helper (benefit-unit head or any member who is not a Child Benefit child or QYP) is removed and its call sites read the variable. - HB and national CTR aggregation: another family's non-dependants per deduction_per_family (the couple's higher amount, both for a Welsh working-age UC couple, and each other member's own), counted once per family and apportioned by rent share (HB) or joint-liability share (CTR); a family's own in-unit non-dependants in full (LHA Guidance Manual 2.093; HBGM A5 5.622); the claimant exemptions. charged_to_other_families ("household minus own family") is no longer used and is removed. - #2007's property oracle reads is_claimant_or_partner; the in-unit property oracle counts a couple once and applies the claimant exemptions. - Drops council_tax_reduction_pension_credit.yaml and the in_receipt_of_guarantee_credit output (#1909, main only). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Follows #2017's decision: a non-dependant in a joint occupier's own benefit unit is that occupier's only (LHA Guidance Manual para 2.093 example 2; HBGM A5 para 5.622). Other families' non-dependants still reside with each joint occupier. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ions say Review r2 (F3, F4, F5) found three departures from the text. F3. 155766b charged a joint occupier's own adult son wholly to that occupier, citing LHA Guidance Manual 2.093 example 2 and HBGM A5 5.622. HB reg 3(1) and (4) and CTR reg 9(1) make him a non-dependant of every joint occupier he shares accommodation with: none of reg 3(2)(a)-(f) excludes him in relation to the other occupier. Reg 74(5) and CTR Sch 1 para 8(5) then apportion him. The LHA example concerns the size criteria and a sister, whom the model already treats as another family's non-dependant and apportions; 5.622 is conditional. The old rule also made the result depend on whether the survey codes the son in his parent's benefit unit or his own. HB and national CTR now pool every non-dependant, in any family, and apportion by rent share (HB) or joint-liability share (CTR). F4. A lodger's adult son was no one's non-dependant for CTR. Reg 9(2)(e) excludes only the person liable to pay the applicant, as HB reg 3(2)(e)(i) does; the household extension in (iii) is for the landlord's side. He is now eligible and is the householder's non-dependant for CTR and HB, and still the lodger's own for HB, in full, since they are not joint occupiers. F5. Widening the shared CTR eligibility made a jointly liable sharer's local claim bear the head's own son (Newham: £489.84 in 2025). The local aggregation now counts only other families' non-dependants, as before, so this change is neutral for the five local schemes until each council's aggregation is brought into line. YAML: joint tenants share one tenant's son by rent share (and get the same result with him coded in his own unit); jointly liable applicants share one's son equally; a lodger's son is the householder's non-dependant (HB and CTR) and the lodger's (HB); Newham sharer does not bear the head's son. Property oracle and conservation invariants restated for pooling. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The local schemes' aggregation masks the shared individual deductions to members of other families not liable for rent, so it stays as on base while the national eligibility also covers in-unit non-dependants. That mask must be exactly the eligibility's other-family term. #2009 changes the term to the claimant family, so that a sharer with no rent is a claimant and not a non-dependant (reg 9(2)(d)). in_other_non_liable_family now holds the term once, and both the eligibility and local_non_dep_deductions call it, so composing with #2009 is one edit. No change in behaviour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… deduction code Follows #2017 at 2d54628 (review r2 F3/F4): a non-dependant normally resides with each joint occupier whichever family they belong to (HB reg 3(1), (4); reg 74(5)), including a joint tenant's own adult son and a lodger's adult son (reg 3(2)(e)(i) excludes only the person liable to pay the claimant). A boarder or lodger keeps only their own family's. Both flags now count the same people the deduction formulas charge, so a deduction always implies a non-dependant, including for a family with no claimant or partner (review r1 finding 3). "Joint renter" in the UC docstring becomes "sharer of the rent" (in UC Sch 4 it means a joint claimant; review r1 finding 6). New YAML cases: a lodger's adult son (HB non-dependant of the householder and the lodger; UC counts him in the lodger's claim only, para 9(2)(f)), and a looked-after 16-year-old school leaver with a young single HB claimant (C, not A; #2016 review r2 N9). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… deduction code Follows #2017 at 2d54628 (review r2 F3/F4): a non-dependant normally resides with each joint occupier whichever family they belong to (HB reg 3(1), (4); reg 74(5)), including a joint tenant's own adult son and a lodger's adult son (reg 3(2)(e)(i) excludes only the person liable to pay the claimant). A boarder or lodger keeps only their own family's. Both flags now count the same people the deduction formulas charge, so a deduction always implies a non-dependant, including for a family with no claimant or partner (review r1 finding 3). "Joint renter" in the UC docstring becomes "sharer of the rent" (in UC Sch 4 it means a joint claimant; review r1 finding 6). New YAML cases: a lodger's adult son (HB non-dependant of the householder and the lodger; UC counts him in the lodger's claim only, para 9(2)(f)), and a looked-after 16-year-old school leaver with a young single HB claimant (C, not A; #2016 review r2 N9). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mutation check v3 found that dropping the applicant's own-family subtraction survived every test: with formula-computed eligibility the applicant's family never has an eligible member. An individual deduction set directly as an input does, and reg 9(2)(a) still keeps the applicant's own family out of its non-dependants, as base did. The YAML case pins it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review r3: - R3-6: in_other_non_liable_family's docstring stated the proxy as if it were reg 9(2)(a), (d)-(e). It is a proxy: a family jointly liable for the council tax but paying no rent is wrongly included, which #2009's claimant-family test fixes. - R3-3: an in-unit non-dependant's own benefit awards are not modelled, so the HB reg 74(8) and CTR Sch 1 para 8(8) exemptions for a non-dependant on an income-related benefit or on UC with no earned income never apply to them. The documentation of is_benefit_unit_non_dependant_for_legacy_benefits now says so. No change in behaviour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review r3: - R3-1: housing_benefit_non_dep_deductions' documentation still said a family's own in-unit non-dependant is its alone. The code apportions every non-dependant between joint occupiers; the text now says so, as on #2017. - R3-11: no YAML pinned the HB side of the exemptions under pooling. Two cases: a blind sharer's son is still half the head's (reg 74(5), then reg 74(6) on the sharer's claim only; £105.20 a week x 52, halved), and a lodger on PIP daily living is not charged for its own son while the householder is. - R3-6 and R3-3: the same documentation fixes as on #2017. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ncil's scale Hypothesis properties 6 and 7: each council's individual and family deductions equal an independent calculation from its 2026-27 scale, and an adult who is not a claimant or partner changes no one else's deduction through their earnings (both fail on the previous aggregation). A Merton case for a 19-year-old who has left education, and #2017's Newham case now apportions the head's own son between the jointly liable families (para 30(5)). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Composition note from #2078 (stacked on #2009), which makes the CTR means test assess the applicant and partner rather than the benefit unit's claimant and partner. #2078 adds For CTR, a family's in-unit non-dependants should then be benefit-unit members aged 18 or over who are neither This matters more after #2078: for a head who applies alone, #2078 stops counting the young couple's income, as the law requires, and leaves their non-dependant deduction (when they are 18 or over) to this PR. |
… provisional on #2017 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#2017 was stacked on #2010 (lha-bedroom-young-people), which has not moved since 2026-10-02 and is 1,651 commits behind main. #2017 needs nothing of #2010's: #2010 changes only the LHA size criteria. #2017 needs #2007's HB and CTR claimant exemptions (review r2, F2), and #2007 lands first. So this merges hb-ctr-non-dep-exemptions (#2007 at 0b6c3db, with main) and puts #2010's own files back to main's versions; the bedroom differential property that needed #2010 moves to #2010. Composition with main and #2007: - UC: other families' non-dependants follow uc_non_dependants_counted (the first liable family that claims UC). A family's own in-unit non-dependant counts in its own claim if it makes one, otherwise in that counted claim (Sch 4 para 9(2)(f); review r3, R3-7). The para 16(2)(b) Pension Credit limb is gated to the claimant or partner. Para 15 renter exemption kept. - HB: every family's per-couple amount (#2007's deduction_per_family over other families' and in-unit non-dependants) pooled and apportioned by rent share; a boarder or lodger also bears its own in full; #2007's claimant exemption zeroes the claim. HB eligibility adds #2007's exemption. - CTR: #2007's two-scheme structure. Each scheme pools every family's amount, replaces the applicant's own family amount with its in-unit non-dependants, apportions by joint-liability share, and charges claiming families only. The applicant exemption zeroes the claim. Eligibility is 18+ and either outside every claiming, sharing or lodging family (#2007's claimant-family test, now in in_other_non_liable_family) or an in-unit non-dependant for CTR. New is_benefit_unit_non_dependant_for_council_tax_reduction uses #2078's is_council_tax_reduction_applicant_or_partner, so where a household head applies alone, her benefit unit's couple are her non-dependants. - Local schemes: masked to the same other-family term, so unchanged. Tests: the composition's YAML and property oracle (couple-once, exemptions, per-applicant CTR exemption), with the oracle's UC attribution following the counted claim. Three new YAML cases: a head applying alone charged once for her benefit unit's couple; a non-claiming head's son counted in the sharer's claim; a pensioner's Pension Credit not exempting her adult son. Two cases adjusted: a pension-age head has no UC claim to count non-dependants in, and a 19-year-old on UC with no earnings is exempt under reg 74(8)(b). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ed claim Since #2015 each Council Tax Reduction claim is assessed under its own family's scheme, and #2007 recomputes a jointly liable applicant's deductions under the other scheme. The oracle and the conservation and no-op invariants charged every claiming family the head's-scheme amounts, so a pensioner head with working-age sharers in England (no national working-age scale) failed against a correct model. They now take each family's own-scheme amounts, other-scheme amounts from the aggregator's helper, and each family's scheme from the model. UC attribution follows main's uc_non_dependants_counted: other families' non-dependants count in the first liable claiming family's claim, and a family's own in-unit non-dependant in its own claim if it claims UC. The no-op invariant uses the counted claim instead of the head's family. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The 70-year-old applicant in each Scottish case is on Pension Credit, so their own council_tax_reduction_non_dep_deduction_exempt is true. The flag matters only for a non-dependant, so the cases now also assert who is eligible as a non-dependant. The deductions are unchanged. Reported by the #2017 session. The non-dependant property test's docstring now states that invariant 5 multiplies by the rent share (reg 74(5)) or the joint-liability share (Sch 1 para 8(5)), as its oracle already does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
F1. Where a liable household head is not her benefit unit's claimant or partner, she applies for Council Tax Reduction alone (#2078), but the UC and HB in-unit helpers made her a non-dependant of her own benefit unit's couple. She is the householder in whose name the accommodation is rented: UC Sch 4 para 9(2)(d) and HB reg 3(2)(d)-(e) exclude her. Both helpers now exclude is_resolved_household_head. A YAML case pins UC and HB at 0 while CTR keeps the couple as her non-dependants. F2. uc_non_dep_deductions' documentation states that "makes a claim" is the claims_universal_credit flag, so a family flagged as claiming counts its own non-dependants even with a nil award, and says where other families' go. A YAML case pins a non-claiming lodger's son in the householder's claim. F5. The changelog names the household head rule, joint-occupier apportionment and the narrowed para 16(2)(b) Pension Credit limb. The property oracle checks all three in-unit sets (UC, HB, CTR); the generator now states the child's Child Benefit status, since inputs set for some members are inputs for all. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a non-dependant #2007 masks HB's other-family non-dependants to families with no share of the rent (a joint occupier, reg 3(2)(d)), since at nil rent a sharer is not benunit_is_rent_liable. Composed with #2017's pool: the mask applies to the other-family term only, so a nil-rent sharer's own in-unit non-dependants are still pooled and apportioned between the joint occupiers (reg 74(5)). A YAML case pins it: sharer charged nothing, its adult son split [500, 500]. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ndants (review r4) F7. #2062's test_every_programme_reads_one_head pinned three rules that assume no non-dependants inside a benefit unit; on this branch it failed deterministically (a 19-year-old presumed the 82-year-old head's child is an in-unit CTR non-dependant, as SI 2012/2885 reg 9(2)(a) gives). Restated: - UC deductions fall on the counting claim, or on a family's own claim for its in-unit non-dependants; - HB deductions only for families with a share of the rent, or a boarder or lodger with a non-dependant in its own benefit unit; - no one in the adult head's family is a CTR non-dependant except a member outside the applicant's family. F6. The property generator now draws would_claim_uc per family, so the in-unit routing's claim factor is exercised (its mutant now fails the oracle); a YAML case pins a non-claiming head whose son counts in a claiming sharer's claim. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The full Python suite at 2e37b1e failed test_claimant_invariants: it pinned that no member of a sharer family is a CTR non-dependant, but an 18-year-old presumed the 66-year-old sharer's child, not in education, is outside the sharer's family and a non-dependant (SI 2012/2885 reg 9(1), (2)(a)). The assertion now excludes is_benefit_unit_non_dependant_for_ council_tax_reduction members, and "no claimant or partner is a non-dependant" now reads #2078's applicant identity, so a head applying alone may have her benefit unit's couple as non-dependants. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fixes #2014
Reproducer:
policyengine_uk/tests/policy/baseline/finance/benefit/family/benefit_unit_non_dependants.yaml::UC, an adult son in the renter's benefit unit bears a housing cost contribution;policyengine_uk/tests/test_benefit_unit_non_dependant_properties.py::test_deductions_match_the_oracleStacked on #2007 (base
hb-ctr-non-dep-exemptions), which is on main. Retarget tomainonce #2007 merges.Until 2026-10-20 this PR was stacked on #2010 (
lha-bedroom-young-people). #2010 has not moved since 2026-10-02, and this PR needs nothing of it: #2010 changes only the LHA size criteria. Merge commit 7f9ef1a merged main and #2007 into this branch and put #2010's own files back to main's versions. The one cross-PR invariant, that an in-unit non-dependant has a bedroom, moved to #2010 (comment).Merge order
This PR needs #2007's HB and CTR claimant exemptions: HB reg 74(6), SPC reg 55(6) and CTR Sch 1 para 8(6) (review r2, F2). Without them, a blind claimant, or one receiving AA, the DLA care component, the PIP daily living component or AFIP, would newly lose HB and CTR for an adult son. Stacking on #2007's branch enforces the order: this PR cannot reach main before #2007 does. It lands on the PE-UK merge-on-gates rule (d822) when:
Problem
A benefit unit can include someone aged 16 or over who is neither the claimant or partner nor a child or young person the claimant is responsible for. Examples are an adult son, or a 19-year-old who has left education. In law that person is a non-dependant of the renter. The model treated them inconsistently:
lha_renter_has_non_dependantalready counted them.uc_non_dep_deductionsandhousing_benefit_non_dep_deductionscounted only people in other families (is_non_dependant_of_household_head). The individual eligibility variables also excluded anyone in a family liable for rent.council_tax_reduction_non_dep_deductionssubtracted the claimant's own benefit unit.So a lone parent on UC with a 25-year-old son paid no housing cost contribution. The same son in his own benefit unit in the same household cost the parent £96.55 a month.
The UC renter exemption (Sch 4 para 15) was also missing. When the renter or either joint renter is blind or receives AA, the middle or highest DLA care component, or the PIP daily living component, no contribution should be made for any non-dependant.
The law
Fetched from legislation.gov.uk on 2026-10-01 (texts in the review folder's law/).
UC, Sch 4 para 9:
HB, HB Regs 2006 / HB (SPC) Regs 2006 reg 3:
CTR:
CTR applicant (#2078): where a liable household head is not her benefit unit's claimant or partner, she applies alone (
council_tax_reduction_head_applies_alone), andis_council_tax_reduction_applicant_or_partneris her alone. The benefit unit's couple are then outside her family under reg 9(2)(a).Change
•
is_benefit_unit_non_dependant_for_universal_credit: 16+, not a UC qualifying young person (para 9(1)-(2)(a), (g));•
is_benefit_unit_non_dependant_for_legacy_benefitsfor HB: not a Child Benefit child or QYP (reg 3(2)(a), (c));• new
is_benefit_unit_non_dependant_for_council_tax_reductionfor CTR: not the CTR applicant or partner (#2078's identity) and not a Child Benefit child or QYP (reg 9(2)(a), (c))uc_non_dependants_counted(para 9(2)(f))uc_non_dep_deductions_renter_exempt. The para 16(2)(b) Pension Credit limb applies only to the claimant or partner, who receive it, so a pensioner's adult son is not exempt by her award.deduction_per_family(one deduction per couple, the higher; each other adult separately) and apportioned between the joint occupiers by rent share (reg 74(5)). That includes a joint occupier's own adult son and a boarder's or lodger's. A boarder or lodger is not a joint occupier with the householder, so it also bears its own in-unit non-dependant in full. #2007's claimant exemption still zeroes the claim, and HB eligibility keeps #2007's individual exemptions.Joint occupiers and lodgers
A joint occupier's adult son normally resides with every joint occupier he shares accommodation with (HB reg 3(1), (4); CTR reg 9(1)). None of reg 3(2)(a)-(f) excludes him in relation to the other occupier, so he is a non-dependant of each, apportioned by reg 74(5) or para 8(5). That is how the model already treats a non-dependant in another family. So for joint occupiers (HB and CTR), and for CTR generally, the result does not depend on whether the survey codes the son in his parent's benefit unit or in his own: two YAML cases check the two codings give the same deductions. The exceptions are listed under "Not modelled".
Reg 3(2)(e)(i) and CTR reg 9(2)(e) exclude only the person liable to pay the claimant. The household extension in (e)(iii) is for the landlord's side. So a lodger's adult son who pays nothing himself is the householder's non-dependant. For HB he is also the lodger's own.
An earlier head (155766b) charged a joint occupier's own son wholly to that occupier, citing LHA Guidance Manual 2.093 example 2 and HBGM A5 5.622. Review r2 (F3) showed neither supports that:
2d54628 follows the text.
CTR: a head applying alone
Where a liable household head is not her benefit unit's claimant or partner, she applies alone (#2078). Her benefit unit's couple are then outside her family and are her non-dependants (reg 9(1), (2)(a)). As a couple they pay one deduction, the higher (Sch 1 para 8(3)), or one for each member in the Welsh working-age scheme where the couple has a UC award (WSI 2013/3029 Sch 6 para 5(3)).
For UC and HB the couple stay the benefit unit's claimant and partner. The head is the householder in whose name the accommodation is rented, so she is no one's non-dependant (UC Sch 4 para 9(2)(d); HB reg 3(2)(d)-(e)). Both in-unit helpers exclude
is_resolved_household_head. YAML cases pin both sides (review r4, F1).Local schemes
Merton, Kingston, Newham, Westminster and Oxford keep their own aggregation (
_legacy.local_non_dep_deductions). The shared eligibility now also covers in-unit non-dependants, so the local aggregation masks the individual deductions toin_other_non_liable_family. The eligibility uses the same function: #2007's claimant-family test (outside every claiming, sharing or lodging family). The local schemes are therefore exactly as on #2007's base. #2077 (stacked on this PR) replaces the mask with each scheme's pooled aggregation.Other compositions
council_tax_reduction_applicant_has_non_dep_exemptionand Means-test the Council Tax Reduction applicant and partner, not the benefit unit's claimant #2078's applicant identity.housing_benefit_other_occupiers. The YAML case for that: a joint tenant's son aged 17 not in education gives the other tenant 2 bedrooms.Invariants (stated and tested)
Hypothesis properties are in
test_benefit_unit_non_dependant_properties.py. They are derandomized, with 10 examples each, on populations of up to 5 households. The populations include sharers, lodgers, non-dependant families, adult children, qualifying young persons (including looked-after ones), pensioner heads with working-age sharers, and exemption flags.Tests
benefit_unit_non_dependants.yaml: 41 cases at the regulations' 2026-27 amounts (UC £96.55 a month; HB £20.40, £64.35 and £105.20 a week).policyengine-core testonfinance/benefit/family,gov/local_authoritiesandconsumption: 1,632 passed;test_rent_of_sharers_boarders_and_lodgers_properties.py::test_non_dependants, fails on Apply Housing Benefit and national Council Tax Reduction non-dependant deductions as legislated #2007's own base 0b6c3db too. Its HB conservation check predates Apply Housing Benefit and national Council Tax Reduction non-dependant deductions as legislated #2007's claimant exemption, which zeroes an exempt joint occupier's share. Fixed in Apply Housing Benefit and national Council Tax Reduction non-dependant deductions as legislated #2007 at 8e60349, merged here as 89beee8: 6/6 pass. Apply Housing Benefit and national Council Tax Reduction non-dependant deductions as legislated #2007's next head (2574473, merged as 49bd8c3) adds a mixed-scheme CTR YAML file, and two of its cases fail on Apply Housing Benefit and national Council Tax Reduction non-dependant deductions as legislated #2007's own head as well; that is reported to Apply Housing Benefit and national Council Tax Reduction non-dependant deductions as legislated #2007's owner. Otherwise the targeted YAML passes: 1,638..Impact (real microsimulation)
These figures come from the released enhanced FRS 2024-25 in uk-data 1.58.1 (HF snapshot 2526edbb, sha256
056e80fd…). The base is #2007 at 0b6c3db, this PR's base; the branch is 89beee8 (same model code as ae4e42b). Each figure comes from a real run of the full model. A survey household is counted by its rent and members' ages, and any cell from fewer than 10 survey households is suppressed.Effects, £m a year:
No household loses. Poverty before and after housing costs changes for people in fewer than 10 survey households (suppressed).
Where it comes from (2026). Rerunning the branch with only
uc_non_dep_deductions_renter_exempt(para 15) switched off changes no award. So the in-unit charge, the UC routing and the Pension Credit gate move nothing on the survey, and the whole UC effect is the para 15 renter exemption:The in-unit group itself is 23k people (20 survey households): 18k aged 16-17 (12 survey households), 18-20 suppressed, none 21 or over. UC exempts everyone under 21 (para 16(2)(a)), and HB and CTR deductions change for fewer than 10 survey households.
Intermediate variables.
council_tax_reduction_non_dep_deductionsfalls by £232.8m across 234k benefit units because non-claiming families now read zero (only claiming families bear deductions). The individual UC and HB deduction variables fall by tens of £bn because they now read zero for people who are nobody's non-dependant. No award changes through these.The earlier figure (UC +£39.1m in 2026, old stack, uk-data 1.57.4) is superseded. Both the model's base and the data have changed since then (for example, main added the single-claim rule
uc_non_dependants_counted, and uk-data moved to 1.58.1). The difference between the two figures was not decomposed.Review
Not modelled / follow-ups
receives_benefits_in_own_rightdoes not say which benefit). So the exemptions for a non-dependant on IS, income-based JSA or income-related ESA, or on UC with no earned income (HB reg 74(8), CTR Sch 1 para 8(8), SSI 2021/249 reg 90), never apply to them. The same son coded as his own benefit unit gets his own UC award and can be exempt. This sits inside a suppressed survey cell.claims_universal_credit), as in main'suc_non_dependants_counted. So a family flagged as claiming counts its own in-unit non-dependants even where its award is nil, though in law a family with no claim treats no one as its non-dependant (para 9(2)(f)). A family flagged as not claiming, which the survey's take-up draws produce, passes them to the counted claim, and a YAML case pins that. Real entitlement cannot be the test without a branch calculation, because UC entitlement depends on these deductions (review r4, F2).axiom: UC Sch 4 para 13 encoded-correct; TheAxiomFoundation/rulespec-uk#413 queued (UC Sch 4 paras 15-16); TheAxiomFoundation/rulespec-uk#406 queued (UC Sch 4 para 9, HB reg 3, CTR reg 9: who is a non-dependant, joint occupiers, lodgers, the household head); TheAxiomFoundation/rulespec-uk#407 queued (HB reg 74, SPC reg 55, CTR Sch 1 para 8)
🤖 Generated with Claude Code