Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
1d1c10d
Bind the DWP benefit rows over the households the publisher counts (#…
juaristi22 Oct 2, 2026
3c1b33f
Bind OBR's DLA and PIP line to the engine's pip plus dla (#1095)
juaristi22 Oct 2, 2026
04ea994
Map Scotland's Adult and Child Disability Payment codes on the FRS sp…
juaristi22 Oct 2, 2026
90621f7
Keep FRS-reported dividends on the UK spine (#1095)
juaristi22 Oct 2, 2026
f0c3027
Draw SPI incomes only for FRS claimants and partners (#1095)
juaristi22 Oct 2, 2026
07e5b0f
Put council tax on the UK spine before council tax reduction (#1095)
juaristi22 Oct 2, 2026
7469408
Charge Scottish households the water and sewerage they pay (#1095)
juaristi22 Oct 2, 2026
790f36f
Make SPI-channel benefit reports and UC take-up coherent (#1095)
juaristi22 Oct 2, 2026
c58fc84
Redraw SPI benefit-unit capital conditioned on investment income (#1095)
juaristi22 Oct 2, 2026
adfcc07
Measure the WAS wealth predictors alike on donor and recipient (#1095)
juaristi22 Oct 2, 2026
49d26ec
Count buy-to-let property as other residential property (#1095)
juaristi22 Oct 2, 2026
39af74a
Count ETB recipients' adults and children by FRS family role (#1095)
juaristi22 Oct 2, 2026
8ede090
Band constituency UC units by the national UC child composition (#1095)
juaristi22 Oct 2, 2026
7efa9d0
UK target-fit register: retire the SE 12,570-15,000 deferral the port…
juaristi22 Oct 3, 2026
1a4f934
Record the microcosm#1095 port receipts (#1095)
juaristi22 Oct 3, 2026
eaf7e80
Zero income-related ESA on SPI-channel rows (#1095)
juaristi22 Oct 4, 2026
d89a3dd
Charge Scottish recipients the reduction scheme's combined maximum (#…
juaristi22 Oct 4, 2026
894a33c
Pin the FRS mapping test's Scottish water value to the scheme's combi…
juaristi22 Oct 4, 2026
a0c678c
UK input-mass register: retire the three exclusions the ports make st…
juaristi22 Oct 4, 2026
479d923
Receipts: the rebase onto main, review round 1 and arm A9 (#1095)
juaristi22 Oct 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/1095-benefit-target-country-scope.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The UK benefit rows bound against DWP's lines now sum the households the publisher counts (microcosm#1095, uk-data#490). OBR table 4.9 reports these lines inside "DWP social security", whose figures cover Great Britain and residents overseas (DWP benefit expenditure and caseload tables, Spring 2026, Notes 3), and lists Northern Ireland social security on rows of its own; every row bound the UK column. `obr.pension_credit`, `obr.esa`, `obr.jobseekers_allowance`, `obr.universal_credit` and its two cap rows, `obr.housing_benefit` and `obr.statutory_maternity_pay` now bind Great Britain households, as do the Great Britain caseload facts `dwp.esa_claimants`, `dwp.esa_contrib_claimants`, `dwp.esa_income_claimants`, `dwp.jsa_claimants` and `dwp.benefit_cap.capped_households`. DWP reports Attendance Allowance, Carer's Allowance, DLA/PIP and Winter Fuel Payment for England and Wales only since executive competence moved to the Scottish Government (Carer's Allowance from 3 September 2018, DLA, PIP and Attendance Allowance from 1 April 2020, Winter Fuel Payment from 1 April 2024), and the FRS records Scotland's Pension Age Disability Payment and Carer Support Payment under the Attendance Allowance and Carer's Allowance codes, so `obr.attendance_allowance`, `obr.carers_allowance`, `obr.pip` and `obr.winter_fuel_allowance` bind English and Welsh households. Each row carries the scope twice, as a `uk.geography.country` measurement filter and as a household condition on the binding (region in the eleven Great Britain regions, or country in England and Wales), the form the Pension Credit, State Pension and pension-age Housing Benefit rows already use. Child Benefit stays a UK row: it is an HMRC line that covers Northern Ireland. A test now refuses any active row whose fact is pinned to Great Britain without a Great Britain (or narrower) condition. The target references are unchanged (household conditions are not written into them); the Chronicle facts still carry the UK code, K02000001, which a restamp would correct.
1 change: 1 addition & 0 deletions changelog.d/1095-constituency-uc-child-bands.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The UK constituency Universal Credit child bands classify each UC benefit unit with the composition the national UC-by-children rows bind (microcosm#1095, uk-data#486). The bands read the engine's age-18 `num_children`, while the national `dwp.uc.households*` rows count the members DWP's family type treats as children: never a claimant or partner, but any UC child or qualifying young person, or any other member under 20. On the 30 September national build 2.77% of UC-reporting benefit units (0.135m of 4.87m) fell in a different 0, 1, 2 or 3+ band, mostly through 18- and 19-year-old qualifying young people the engine count dropped (72k units moved from 2 to 3+ children and 36k from 0 to 1). One helper, `uc_relationships.uc_family_child_member`, now defines the composition for both, and the national family-type measurement is byte-identical.
1 change: 1 addition & 0 deletions changelog.d/1095-council-tax-before-reduction.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
`council_tax` on the UK spine is the bill before council tax reduction (microcosm#1095, uk-data#496/#499). FRS 2024-25 `CTANNUAL` is the bill after discounts and the reported reduction, while the engine reads `council_tax` as the liability before it, so reduction recipients entered with their reduction already taken off: on the 30 September national build 20.6% of English FRS-channel reduction reporters had a £0 bill and 25.6% a bill below their own reduction (Wales 14.8% and 18.4%, Scotland 0% and 14.4%), and on the raw FRS English recipients' mean bill was £779 against £1,601 for non-recipients. A household reporting a reduction (`CTREB` 1) now gets its `CTREBAMT` added back, a full reduction included, which restores £0.78bn in England, £0.05bn in Wales and £0.06bn in Scotland on the FRS channel; a recipient with no positive amount takes the larger of its bill and its cell mean, and the region, band and single-adult cells pool non-recipients only. Scottish water and sewerage charges come off the bill at the gross cells `CWATAMT1` + `CSEWAMT1`, in full for non-recipients and at 65% for recipients, the shares DWP's derivation embeds; a status-discount check on the raw tab (discounted to undiscounted bills in the same band) gave 0.81 to 0.89 under the earlier netting against the expected 0.75, and 0.75 to 0.76 on the gross cells. The WAS stage's recipient `council_tax` predictor becomes the bill paid, `council_tax` less `council_tax_rebate`, which is what the WAS donor records. The stage refuses a manifest whose rule drifts from the implemented one.
1 change: 1 addition & 0 deletions changelog.d/1095-etb-family-role-counts.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The UK ETB VAT and public-services stages count a recipient household's adults and children the way the ETB donor does (microcosm#1095, uk-data#486). The donor's `adults` and `childs` count adults and dependent children, while the recipient side summed the engine's age-18 `is_adult` and `is_child`. On the 30 September national build those disagreed with the FRS child-file count for 2.31% of households (0.67m), mostly households with dependants aged 18 or 19. The recipient counts are now the household's FRS claimants and partners and its other members (`is_uc_claimant`), and only the remaining predictors materialize from the engine. The `etb_services` stage notes also load in full again: an unquoted ` #890` in the YAML had turned the rest of them into a comment.
1 change: 1 addition & 0 deletions changelog.d/1095-frs-reported-dividends.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FRS respondents keep their reported dividends on the UK spine (microcosm#1095, uk-data#498). The `hmrc_spi_income_spine` stage redrew `dividend_income` for every FRS-channel person aged 16 or over from the SPI stage-1 forest, whose only predictors are age, gender and region, an operation adopted for parity with the incumbent (microcosm#683). On the 30 September national build that put £30.2bn of dividends on FRS-channel people who reported £4.0bn, only 530 of the 3,872 adults reporting dividends kept any, and benefit units reporting Universal Credit carried £4.07bn against about £0 reported (74.9k of them above £20k), which the engine counts as Universal Credit unearned income; the noise also fed the WAS wealth predictors, the Universal Credit reporter redraw and the capital gains income proxy. The redraw operation, its parameter and its drift checks are removed, and the stage now refuses a manifest that declares one. The keying of the FRS accounts was already on `person_id` (£8.02bn on 1,717 people at FRS design weights), so only the overwrite goes. SPI-channel draws are unchanged: the forest is still queried with every SPI-channel person and the rows outside the recipient domain discarded afterwards. Calibration to the HMRC dividend bands now moves weight between the channels, as in uk-data#498.
1 change: 1 addition & 0 deletions changelog.d/1095-obr-dla-and-pip-binding.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
`obr.pip` binds the sum of the engine's `pip` and `dla` (microcosm#1095). OBR table 4.9's line is "Disability living allowance and personal independence payments", but the row bound `pip` alone, carried as-is for parity with the incumbent and left for microcosm#622 to adjudicate, which closed without a ruling; on the 30 September national build the solve lifted PIP from £18.9bn to £36.1bn to meet a line that also holds DLA, with the stored DLA (£6.6bn) on top. The row now binds `pip + dla` over English and Welsh households (María's ruling of 2026-10-02), the scope DWP reports both benefits on since 1 April 2020.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The UK FRS spine maps Scotland's Adult Disability Payment and Child Disability Payment (microcosm#1095, uk-data#500). The FRS 2024-25 BENEFITS table records them under codes 117 and 118 (ADP daily living and mobility) and 121 and 122 (CDP care and mobility), which the spine read nowhere, so every Scottish recipient carried no disability benefit: on the raw FRS 215k adults report ADP daily living (£0.98bn a year), 147k ADP mobility, 51k CDP care and 27k CDP mobility, against 80k Scottish PIP daily-living reporters, and the calibrated build had 24.6 PIP daily-living reporters per 1,000 Scottish residents against 66.0 in England. ADP mirrors PIP's components and rates and CDP mirrors DLA's, so the amounts join the reported columns of the benefits they replace (`pip_dl_reported`, `pip_m_reported`, `dla_sc_reported`, `dla_m_reported`), and the disability categories and flags follow from them as they do for PIP and DLA. The benefit recovery codes 69 and 70 stay unmapped. The OBR PIP, AA and Carer's Allowance rows bind English and Welsh households, so the Scottish payments do not enter a line that excludes them.
1 change: 1 addition & 0 deletions changelog.d/1095-scottish-water-charge-paid.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Scottish `water_and_sewerage_charges` on the UK spine is the charge the household pays (microcosm#1095, uk-data#499). The spine read each household's discount factor as `CWATAMTD`/`CWATAMT1`, but `CWATAMTD` sits below the gross water charge even where no discount applies (a median 0.83 for undiscounted households on the 2024-25 tab, about £1 a week below in bands B and D to G), which put Scottish charges about 13% to 16% below the gross charges less the status discount, and council tax reduction recipients got no water charges reduction. The charge is now the gross `CWATAMT1` + `CSEWAMT1` less the household's status discount (25% or 50%, from `CTDISC` and `CT25D50D`); for a council tax reduction recipient the Water Charges Reduction Scheme tops that discount up to 35% of the gross charges, the full-reduction case of the 2021-27 scheme's R = 35 × (A/B) − D, so a recipient pays the gross charges less the larger of its discount and 35%. Every recipient takes the full-reduction case because 86% of Scotland's recipients receive full council tax reduction while the FRS-recorded reduction amounts carry none. A household with no gross water cell pays its recorded `CWATAMTD`, and the helper refuses a raw tab without the discount and reduction cells.
1 change: 1 addition & 0 deletions changelog.d/1095-spi-benefit-coherence.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
New UK spine stage `spi_benefit_coherence` makes the SPI channel's benefit reports and Universal Credit take-up coherent with the households they sit in (microcosm#1095, uk-data#514). The SPI support channel copies whole FRS households and the SPI income stage's FRS-only forests re-impute each adult's benefit reports from age, gender, region and the new incomes, with nothing of the benefit unit's entitlement or claim history. On the 30 September national build the SPI rows reported Income Support, Working and Child Tax Credit and income-based JSA at 2.6 to 9.1 times the FRS rate and contributory JSA at 17 times (two thirds of its SPI reporters earning above the permitted-work limit), held 64%, 72% and 67% of the reported Industrial Injuries Disablement Benefit, Armed Forces Compensation Scheme and bereavement support, kept the FRS twin's `receives_benefits_in_own_right` (3.04m SPI persons disagreed with their own reports) and kept the twin's Universal Credit take-up anchor (1.51m SPI benefit units claimed only because the twin reported Universal Credit). The stage runs after `uc_reporter_redraw`, the last writer of Universal Credit reports, and before `uc_capital_coherence` and the Pension Credit and Child Benefit take-up stages. On SPI-channel rows only, it zeroes the contributory and income-based JSA, income-related ESA, Income Support, tax credit, Severe Disablement Allowance and Sure Start Maternity Grant reports (policyengine-uk pays a reported income-related ESA award behind a capital test alone, and 56% of the SPI units carrying one had incomes above £12,570); restores IIDB, AFCS and bereavement support from the FRS twin; re-derives the disability flags (the categories are asserted unchanged) and `receives_benefits_in_own_right` from the final reports; and redraws `would_claim_uc` for SPI benefit units as `frs_take_up` draws it for FRS units: a unit with a Universal Credit reporter claims, and the rest of the Universal Credit age population claims as the residual of the contract's rate on draws keyed on the SPI unit's identity. Contributory ESA, which is open to new claims and not income-tested, PIP, DLA, AA, Carer's Allowance, State Pension and Winter Fuel Payment keep their draws, and FRS rows are never modified. The release-blocking stage-health gate `uk_stage_spi_benefit_coherence` checks the structural zeros: no SPI row keeps a zeroed report, restored reports equal the twin's, the own-right flag agrees with each person's reports, FRS rows are unchanged, every SPI unit with a Universal Credit reporter claims and no SPI unit outside the population claims without reporting.
1 change: 1 addition & 0 deletions changelog.d/1095-spi-capital-by-investment-income.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The UK spine redraws every SPI benefit unit's capital conditioned on its investment income (microcosm#1095, uk-data#495). `uc_capital_coherence` redrew `frs_benunit_capital` (TOTCAPB4) only for SPI-channel units reporting Universal Credit, by children band and couple status, and every other SPI unit kept the capital its FRS parent reported against SPI-drawn incomes: on the 30 September national build 2.28m SPI benefit units had interest and dividends implying more than £16,000 at 4% while holding £16,000 or less, 105k of them Universal Credit reporters, and 14% of SPI units with interest held no capital. The stage now redraws every SPI unit from the base units with an available answer, in cells of Universal Credit reporter status by financial investment income band (interest, dividends and other investment income: none, then up to the income that £6,000, £16,000, £50,000 and £200,000 yield at 4%, then above) by couple status by children band. A cell with fewer than 20 donors widens in a declared order (children bands merged, couple status dropped, adjacent income bands merged, then reporter status alone), and reporter status never coarsens. Property income stays out of the cells because TOTCAPB4 counts accounts and assets. The stage evidence records the units drawn at each coarsening level and, by channel, the units whose income implies capital above £6,000 or £16,000 while they hold no more, before and after the redraw.
1 change: 1 addition & 0 deletions changelog.d/1095-spi-draws-skip-dependants.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The UK SPI income stage draws only for claimants and partners aged 16 and over (microcosm#1095, uk-data#504). Its recipient guard was age-only, so dependent children aged 16 to 19 in the SPI channel took taxpayer draws from the tape: on the 30 September national build 93% of SPI-channel 16- and 17-year-olds had earnings, £11.0bn on 0.81m people, against 4% on the FRS channel; £0.95bn of it sat in benefit units reporting Universal Credit, where the engine counts a member's earnings against the unit; and 12 income band donor carriers aged 16 or 17 held draws of £200,000 or more. Recipients are now SPI-channel people aged 16 and over whose `is_uc_claimant` (the FRS adult-file role from `frs_uc_claimant_mask`) is set, and one mask drives the stage-1 and stage-2 assignments, the State Pension guards, the HMRC auxiliaries and the disability and carer refreshes, so a dependant keeps every value of its FRS twin. Both forests are still queried over every SPI-channel person aged 16 and over and the dependants' rows discarded afterwards, so every other recipient keeps its draw. Income band donor carriers are drawn from claimants and partners too, the income stage refuses a carrier outside the recipient domain, and the stage evidence records the dependant rows and weight kept on twin values.
1 change: 1 addition & 0 deletions changelog.d/1095-was-buy-to-let.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
`other_residential_property_value` on the UK spine includes buy-to-let property (microcosm#1095, uk-data#501). The WAS stage drew it from `DVHseValR8_sum` alone, the houses other than the main residence. That left `DVBltValR8_sum`, buy-to-let property worth £573bn at WAS weights across 1,351 donor households, in the undrawn other-property remainder that only `property_wealth` carries. On the donor, 24.6% of households receiving rent held other residential or non-residential property before the change and 90.5% after it. The column is now `DVHseValR8_sum + DVBltValR8_sum`, the remainder shrinks by the same amount, and `property_wealth` and its identities are unchanged. The WAS support bounds are unchanged at their one-significant-figure rounding (`tools/build_uk_was_wealth_support_bounds.py --check` passes on the licensed tab).
1 change: 1 addition & 0 deletions changelog.d/1095-was-predictor-definitions.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The UK WAS wealth stage's predictors measure the same things on the donor and the recipient (microcosm#1095, uk-data#486/#495). The donor's council tax was `CTAmtR8`, a single instalment (weighted mean £479 against £1,395 for the annual amount paid, `DVCTaxAmtAnnualR8`). Its children were `NumCh18R8`, which also counts the 16- and 17-year-olds that `NumAdultR8` counts, so the two overrun the household size on 5.6% of donor rows. The recipient's adults and children were the engine's age-18 counts. The donor now reads `DVCTaxAmtAnnualR8` and `NumChildR8` (`NumChildR8` + `NumAdultR8` is the household size on 99.99% of rows). The recipient's adults and children are its FRS claimants and partners and its other members (`is_uc_claimant`), which the Lifetime ISA stage reads through the same surface. A new `rental_income` predictor pairs the donor's net rent `DVNetRentAmtAnnualR8_aggr` with the household's property income: WAS investment income excludes rent, so the property draws had no income of their own, and on the 30 September national build 91% of households with rental income held no other residential or non-residential property. The stage refuses a manifest whose predictor lists drift from the code's.
5 changes: 3 additions & 2 deletions docs/uk-income-anchors-280.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,9 @@ FRS parent's income, while its adults' incomes were replaced by SPI draws. A
was copied from.

With the SPI block first, every row, the FRS base rows included, is imputed
from its final incomes. On the base rows this includes the SPI stage-1
dividend redraw.
from its final incomes. The base rows' incomes are their own reports: the SPI
stage-1 forest no longer redraws their dividends (uk-data#498,
microcosm#1095).

Three details follow from the order:

Expand Down
Loading
Loading