Skip to content

Mark the benefit units that share their household's rent - #512

Draft
MaxGhenis wants to merge 2 commits into
frs-boarder-lodger-rentfrom
frs-shared-household-rent
Draft

MaxGhenis wants to merge 2 commits into
frs-boarder-lodger-rentfrom
frs-shared-household-rent

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #511

Stacked on #506 (base frs-boarder-lodger-rent), which is stacked on #503. Model side: PolicyEngine/policyengine-uk#2006.

Summary

Adds the benefit-unit input liable_for_share_of_household_rent. In FRS shared households (HHSTAT 2), it is true for each benefit unit after the first whose adults report the rent they pay (SRENTAMT > 0) or housing benefit (HBOTHAMT > 0). rent (HHRENT) is unchanged and stays the rent of the whole dwelling. policyengine-uk#2006 splits it per person liable (UC Regs 2013 Sch 4 para 24(4); HB Regs 2006 reg 12B(4)).

Why not BURENT

The FRS derived variable BURENT is meant to split HHRENT across the units of a shared household. In the raw 2024-25 and 2023-24 EUL files it does not:

  • Units 2+. Between them they are given all of HHRENT, in proportion to their SRENTAMT. The ratio of BURENT to HHRENT × SRENTAMT share is p10 0.998, p90 1.004 (169 units, 2024-25).
  • Unit 1. It gets a further amount: BURENT/HHRENT has a median of 1.5 and a p90 of 2.0.
  • Totals. BURENT summed over a shared household is about 2.5 times HHRENT: £12.7bn against £5.0bn a year in 2024-25. This is the whole of the gap between unit-1 BURENT (£96.6bn) and HHRENT (£93.9bn). Conventional households match exactly.
  • Likely cause. RENT is blank in the EUL for every shared household. That is consistent with the spec's TOTRENT having lost its RENT term.

HHRENT and SRENTAMT are coherent. HHRENT ≈ n/(n−1) × the other units' summed SRENTAMT (median 1.5; 2.0 where there are two units), which is consistent with equal shares.

In the base build (FRS 2024-25, survey weights)

Value
Benefit units flagged 177 (613k weighted)
Households with a flagged unit 97 (306k weighted)
Rent of those households (HHRENT) £4.97bn a year

Raw cross-check: 178 later units of shared households have BURENT > 0.

Tests

policyengine_uk_data/tests/test_frs_shared_household_rent.py (7 cases, synthetic frames, no survey data) covers:

  • later paying units;
  • HBOTHAMT alone;
  • non-positive SRENTAMT;
  • conventional households;
  • a couple reporting on one partner's record;
  • no leakage across households.

Impact

The build. Enhanced build of this branch at a9e3371: production settings, sha256 ed1a29912656, finished in 53 minutes, exit 0. The only errors were the existing HMRC salary-sacrifice CSV download, which returns 410.

This PR on its own. It changes no output until policyengine-uk reads the new input. policyengine-uk ignores dataset columns it has no variable for.

With policyengine-uk#2006. On this build, same weights, the head of #2006 against its base (#1896) gives:

  • Universal Credit: +£30.9m in 2025-26 and +£33.6m in 2026-27.
  • UC housing costs element: sharers £0 → £664m, boarders and lodgers £0 → £147m, household heads −£335m (2025-26).
  • Housing Benefit and Council Tax Reduction: unchanged.
  • Nothing changed outside households with a sharer, boarder or lodger.

The full tables are in the #2006 description.

axiom: n/a: data input (the rules are in policyengine-uk#2006; rulespec-uk#406)

🤖 Generated with Claude Code

MaxGhenis and others added 2 commits October 1, 2026 11:58
In FRS shared households (HHSTAT 2), later benefit units report the rent
they pay (SRENTAMT) and their housing benefit (HBOTHAMT); HHRENT is the rent
of the whole dwelling. Store liable_for_share_of_household_rent on those
units so policyengine-uk can split the household's rent among the people
liable for it. The FRS's own BURENT split is not used: in shared households
it sums to about two and a half times HHRENT.

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

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