Conversation
Stand-ins for rent_paid_as_boarder, rent_paid_as_lodger and pays_rent_to_householder, which the householder-side branch (boarder-lodger-rent) adds. This commit is dropped when that branch is merged in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…egory - personal_rent / benunit_rent: each family's own liability. The household's rent is shared equally among the people liable for it (the household head's family plus any family liable_for_share_of_household_rent: UC Regs 2013 Sch 4 para 24(4); HB Regs 2006 reg 12B(4)), plus what boarders and lodgers pay the householder (UC Sch 1 para 2(b); HB reg 12(1)). - benunit_tenure_type: a boarder or lodger rents privately whatever the household's tenure (UC Sch 4 para 20; HB reg 13C(5)(a)); in_social_housing and uc_housing_costs_element follow the family's tenure. - Non-dependants: only the household head's family has them, and families liable for rent are never non-dependants (UC Sch 4 para 9(2)(d)-(f); HB reg 3(2)(d)-(e), 3(4)). Applied to UC and HB deductions, UC bedrooms and the specified-renter test. - LHA category: Universal Credit by entitlement only (Sch 4 para 25(2)(b)); a new Housing Benefit category (reg 13D(2)-(3)) with its own size criteria and rate, including the shared rate for a claimant entitled to one bedroom who lacks exclusive use, used by LHA_cap. - Housing Benefit meals: fixed weekly amounts (Sch 1 para 2, 2008-2026) and a meals_included_in_rent input; deducted from HB eligible rent (reg 12B(2)(b), 13(13)). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…on-dependants - Council Tax Reduction: where the household's rent is shared, every family liable for it is jointly and severally liable for the council tax and claims on the council tax divided by the number of people jointly liable (SI 2012/2885 Sch 1 para 7(3)-(4); Wales and Scotland the same), with a shared non-dependant apportioned equally (para 8(5)). Joint tenants and lodgers are not non-dependants (reg 9(2)(d)-(e)). National schemes and the five local schemes. - Housing Benefit: a non-dependant of several joint occupiers is apportioned by their shares of the rent (reg 74(5); SPC reg 55(5)). - Cite the current HB reg 13(7) (as substituted by SI 2007/2868) for the meals deduction on the rent officer route. - Tests: meals amounts, sharers, boarders and lodgers, CTR joint liability. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…housing support Hypothesis invariants over generated households: rent conservation and bounds, boarder and lodger tenure, non-dependant exclusion, UC category independent of the shared-accommodation input, HB shared rate where exclusive use is lacking, meals never raising HB eligible rent, CTR claim shares in shared households, monotonicity in household rent, and a no-op check against the previous rent and deduction formulas. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rent_paid_as_boarder, rent_paid_as_lodger and pays_rent_to_householder are copied byte for byte from boarder-lodger-rent (#2002) at the same paths, so the two branches merge without conflict in either order. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 1, 2026
Draft
personal_rent puts the family's share (share_of_household_rent, per person liable) on the household head for the head's family and on the family's head otherwise, so the household head still carries the whole rent when no one else is liable (test_deterministic_variables TestHeadOrdering). Family totals and the UC Sch 4 para 24(4) split are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 1, 2026
MaxGhenis
added a commit
that referenced
this pull request
Oct 1, 2026
Cherry-picks #2007 (59c7082: HB reg 74 / SPC reg 55 bands, remunerative-work test, couple rule and exemptions; national CTR own scales and exemptions) onto the in-unit non-dependant change (#2014) and the #2006 rent shares, as agreed with #2007's author: - HB and national CTR aggregation: one deduction for a non-dependant couple (the claimant and partner of a non-dependant family, the higher amount; both for a Welsh working-age couple on UC), any other adult in that family counted separately, in-unit non-dependants pooled and apportioned by rent share (HB) or joint-liability share (CTR), and the claimant's exemption. - Joint income for the bands is the couple's only (reg 74(4), para 8(4)); another adult is banded on their own income. - The IS, income-based JSA, income-related ESA, Pension Credit and UC exemptions apply only to the award's claimant and partner. - The HB claimant exemption reads is_claimant_or_partner, not is_adult. Drops council_tax_reduction_pension_credit.yaml and the in_receipt_of_guarantee_credit output, which depend on #1909 (main only). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis
added a commit
that referenced
this pull request
Oct 1, 2026
Cherry-picks #2007 (59c7082: HB reg 74 / SPC reg 55 bands, remunerative-work test, couple rule and exemptions; national CTR own scales and exemptions) onto the in-unit non-dependant change (#2014) and the #2006 rent shares, as agreed with #2007's author: - HB and national CTR aggregation: one deduction for a non-dependant couple (the claimant and partner of a non-dependant family, the higher amount; both for a Welsh working-age couple on UC), any other adult in that family counted separately, in-unit non-dependants pooled and apportioned by rent share (HB) or joint-liability share (CTR), and the claimant's exemption. - Joint income for the bands is the couple's only (reg 74(4), para 8(4)); another adult is banded on their own income. - The IS, income-based JSA, income-related ESA, Pension Credit and UC exemptions apply only to the award's claimant and partner. - The HB claimant exemption reads is_claimant_or_partner, not is_adult. Drops council_tax_reduction_pension_credit.yaml and the in_receipt_of_guarantee_credit output, which depend on #1909 (main only). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 2, 2026
Open
MaxGhenis
added a commit
that referenced
this pull request
Oct 2, 2026
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>
This was referenced Oct 2, 2026
Draft
- UC non-dependants count in one claim: the first family liable for the rent that is eligible for and claims UC, not always the household head's (Sch 4 para 9(2)(f)). New uc_non_dependants_counted, used by deductions, bedrooms and the specified-renter test. - HB meals are deducted only where a rent officer has found a substantial part of the rent is board and attendance (reg 13C(5)(e), 13(7)); the LHA cap rent is gross (regs 12D, 13D(12)). New input housing_benefit_board_and_attendance_determination. - HB severe disability premium conditions (Sch 3 para 14; SPC Sch 3 para 6) replace the tax credit severe disability test in the HB LHA category, so a PIP daily living recipient living alone keeps the one-bedroom rate. - HB size criteria over the claim's occupiers: one room per couple, one per other occupier aged 16 or over, children paired across occupiers (reg 13D(3), (12)). - CTR non-dependants exclude claimant families, sharers and people paying the householder, not any rent-liable family; excluded students are left out of the joint-liability count and do not claim as sharers (SI 2012/2885 Sch 1 para 7(5); Default Scheme Sch para 75(1)). - Property tests: generated earnings, a fixed household with every role, the single-claim and apportionment invariants, and bedroom and deduction no-op checks against the previous formulas. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 tasks
This was referenced Oct 2, 2026
Open
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2005
Stacked on #1896 (base
remove-is-child-flags), which addsis_claimant_or_partner,lha_renter_has_non_dependantand the specified-renter test that this builds on. The data comes from PolicyEngine/policyengine-uk-data (companion PR to follow).Summary
Families other than the household head's had no rent. This gives them the treatment the regulations set out:
The law (read for this PR; texts and an independent legal memo in the review folder)
Rent liability
Tenure
Non-dependants
LHA category
UC. The cap rent is the LHA for the category the renter is entitled to (Sch 4 para 25(2)(b); paras 8-12, 26-29). Only a "specified renter" (single, under 35, not excepted, no child, no non-dependant) is limited to shared accommodation (paras 27-28). A single renter aged 35 or over in a room gets the one-bedroom rate.
HB. The shared rate applies (reg 13D(2)) to:
Either way it does not apply where the severe disability premium applies. In the exclusive-use test, rooms shared with the claimant's household, non-dependants or people paying the claimant rent still count as exclusive.
HB size criteria count every "occupier" except a joint tenant outside the claimant's household (13D(3), (12)). So a householder's lodger adds an HB bedroom but not a UC one.
Meals
CTR, joint liability. The maximum reduction uses the council tax divided by the number of persons jointly and severally liable, with no division where the only other liable person is the partner (England pensioners SI 2012/2885 Sch 1 para 7(3)-(4); Wales SI 2013/3029 Sch 1 para 2, Sch 6 para 4; Scotland SSI 2021/249 reg 79).
What changed
Rent liability.
benunit_rentand the newshare_of_household_renthold each family's own liability.personal_rentputs the family's share on the household head (head's family) or the family head (others), so the household head still carries the whole rent where no one else is liable. The family's liability is:liable_for_share_of_household_rent;rent_paid_as_boarderandrent_paid_as_lodger.Those two inputs and
pays_rent_to_householderare byte-identical copies of #2002's files at the same paths, so the two PRs merge in either order.Tenure.
benunit_tenure_typeis the family's own tenure: a boarder or lodger rents privately.in_social_housinganduc_housing_costs_elementfollow it.Non-dependants
is_non_dependant_of_household_head.lha_renter_has_non_dependantcount non-dependants for the household head's family only, never families liable for rent.LHA
LHA_category(UC) is set by entitlement only;is_shared_accommodationno longer affects it.housing_benefit_LHA_allowed_bedrooms,housing_benefit_shares_accommodation,is_housing_benefit_young_individual,housing_benefit_LHA_categoryandhousing_benefit_LHA_rate.LHA_cap(HB) uses the HB rate.lha_rate_for_categoryandcategory_maximumtake the category variable.Meals. New input
meals_included_in_rent(default none), parametersgov.dwp.housing_benefit.ineligible_charges.meals.*(dated 2008-2026 from legislation.gov.uk point-in-time texts and each up-rating order), andhousing_benefit_meals_deduction. These are applied inLHA_capand on the non-LHA HB path. The FRS does not record meals, so the dataset leaves this at none.CTR
council_tax_reduction_claimant_benunit: every jointly liable family where the rent is shared; otherwise the old age rule.council_tax_reduction_joint_liability_share.Behaviour change for API users
BRMA_LHA_ratestays the published rate forLHA_category. Housing Benefit now readshousing_benefit_LHA_rate, so an input set onBRMA_LHA_rateno longer drives HB.is_shared_accommodationnow affects only HB.Choices where the law leaves room (each documented on the variable)
Invariants and tests
Property tests (Hypothesis) in
test_rent_of_sharers_boarders_and_lodgers_properties.py, over generated multi-family households:is_shared_accommodation; the HB category is A whenever a family is entitled to one bedroom, lacks exclusive use and has no SDP.YAML tests, with the arithmetic in comments:
rent_of_sharers_boarders_and_lodgers.yamlhousing_benefit/housing_benefit_meals_deduction.yamlcouncil_tax_reduction/joint_liability.yamlUpdated tests whose expectations encoded the old proxies:
LHA_claimant_compositioncases;Results
test_deterministic_variables.Found while testing and fixed in PRs stacked on this one:
benunit_contains_household_headgave CTR to two families when their oldest adults were the same age.Impact (real microsimulation runs, head 01d140e)
All runs compare this PR's head (01d140e) with its base (143cc3c, #1896) on the same dataset and weights, for 2025-26 and 2026-27. Survey households are counted by a fingerprint of household rent and members' ages, which joins the enhanced FRS copies; any cell behind fewer than 10 is suppressed.
1. Today's published enhanced FRS (snapshot ace89433, sha256
03fe15e40a4c). It has neither the sharer flag nor the boarder and lodger inputs, so this is what the PR does if it merges alone.2. Enhanced FRS built from policyengine-uk-data#512 (a9e3371, sha256
ed1a29912656; stacked on #506 and #503, so it carries the sharer flag and the boarder and lodger inputs).Against calibration targets (build 2)
The weights were calibrated with policyengine-uk 2.93.0, so these figures hold weights fixed and isolate the rule change.
Methodology readings for Max (d836)
Review
axiom: uk/regulations/uksi/2013/376/schedule/4/paragraph/24 encoded-correct (test
listed_and_other_persons_are_apportioned_by_formula); TheAxiomFoundation/rulespec-uk#406 queued (UC Sch 4 paras 9 and 20; HB regs 3, 12B, 13(7), 13D, 74(5) and Sch 1 para 2; CTR reg 9 and Sch 1 paras 7-8)🤖 Generated with Claude Code