Repository navigation
UK: data fixes for the Budget 2026 household measures #1418
Description
Summary
The Budget on 28 October 2026 confirmed a set of household measures, in Table 6.1 of the Budget document, the Overview of tax legislation and rates and the policy costings. policyengine-uk is porting them; the first drafts are PolicyEngine/policyengine-uk#2712, PolicyEngine/policyengine-uk#2713 and PolicyEngine/policyengine-uk#2714.
This issue lists what Microcosm needs for population runs to score those measures accurately, checked against:
- the next cut (Sign the draught shares' degenerate exclusions and build on policyengine-uk #2695 #1411);
- policyengine-uk main (2.162.20).
It keeps to static fixes from data we hold or from published tables. The rest stays out, and the dashboard cites the official costing for it.
The measured gaps below come from a run of the dashboard's measure code (PolicyEngine/uk-autumn-budget-dashboard-2026#290 at b87156bb) on a6299504 with policyengine-uk 2.151.0 and the October 2026 forecast: static figures, by tax year, in £m. The comparison with Table 6.1 is in that PR's comment.
Versions
- The dashboard today: build a6299504 (code at 67ee2dd, 25 October) with policyengine-uk 2.151.0.
- The next cut: Sign the draught shares' degenerate exclusions and build on policyengine-uk #2695 #1411 (head daaf543), built on policyengine-uk
b71ce793, which is 2.162.12 plus Settle property allowance elections without the charge where it cannot change them policyengine-uk#2695. The target engine is 2.162.14 (Checklist for the next policyengine.py bump (policyengine-uk 2.151.0 to the release with PolicyEngine/policyengine-uk#2695) uk-autumn-budget-dashboard-2026#262). - Already in Sign the draught shares' degenerate exclusions and build on policyengine-uk #2695 #1411: Write policyengine-uk's alcohol, tobacco and gambling duty inputs from the LCFS stage #1381 (gambling, alcohol and tobacco duty bases), Bind DESNZ domestic energy by constituency (microcosm#1095) #1404, Draw is_apprentice for employees aged 21 to 24 on the UK spine (#1372) #1373, UK spine: refuse malformed FRS claimant roles directly; check every supplied role reaches the engine #1205 and Build the national + local-area pair on policyengine-uk 2.151.0, and drop UK model-figure withholding #1396.
Fixes
- Bind HMRC's pensioner taxpayers by area and re-index the SPI State Pension bands (#1069) #1414 in the next cut. Pension Tax Allowance (row 52).
-
Bind HMRC's pensioner taxpayers by area and re-index the SPI State Pension bands (#1069) #1414 binds HMRC's Income Tax payers of State Pension age by area, and re-indexes the SPI State Pension bands. It merged after Sign the draught shares' degenerate exclusions and build on policyengine-uk #2695 #1411's head, so Sign the draught shares' degenerate exclusions and build on policyengine-uk #2695 #1411 doesn't carry it.
-
The allowance turns on total income near the full new State Pension and is withdrawn at £1 for every £3 above it, so this is the data it rests on.
-
Measured on a6299504:
2027-28 2028-29 2029-30 People who benefit 0.67m 1.06m 1.36m People taken out of tax 0.41m 0.50m 0.88m Cost (£m) −42 −113 −193 Table 6.1 (£m) −45 −90 −150 The Treasury's explainer gives about 500,000 who benefit and 290,000 who pay no tax in 2027-28, and "around 1 million" by the end of the Parliament. So the counts are about a third high and the cost about a quarter high from 2028-29.
-
The SPI £12,570 to £15,000 band and the State Pension amount bands are bound, but nothing resolves the band of about £750 above the personal allowance where the allowance works. The data place too many pensioners in it.
-
Check on the next cut: the explainer's counts as a diagnostic, after Bind HMRC's pensioner taxpayers by area and re-index the SPI State Pension bands (#1069) #1414. If they stay high, look at the full new State Pension mass point and pensioners' small private pension and savings income near the threshold.
-
Decision owed: merge main into Sign the draught shares' degenerate exclusions and build on policyengine-uk #2695 #1411 before the build, or take it in the following cut.
-
- Carer's Allowance earnings taper (row 7): the pool is now too large.
- UK Carer's Allowance: would_claim follows reported receipt, so earnings-limit reforms reach 4,600 new carers against an official 61,000 #1319's draw (4f361e5) is already in a6299504's build code (67ee2dd): carers the earnings limit keeps out claim at the take-up contract's 0.6. So the undershoot in UK Carer's Allowance: would_claim follows reported receipt, so earnings-limit reforms reach 4,600 new carers against an official 61,000 #1319's title no longer holds for this cut.
- Measured on a6299504: about 82,000 carers gain. Gross Carer's Allowance spending rises £75m in 2030-31 (half year) and £152m in 2031-32. The Treasury expects about 48,000 carers, at −40 and −80. Its costing also nets off Universal Credit and a labour-supply response, so part of the gap is basis.
- Fix: the pool. The 35-hour limb reads reported FRS care hours with no check that the person cared for gets a qualifying benefit (Align UK UC claim, child and period definitions #882), so too many carers sit above the limit. Restrict it where the FRS identifies the person cared for (in the household: their disability benefits).
- Then check the 0.6 rate (sensitivity 0.45 to 0.75) against the Treasury's 48,000.
- Export versioned additive UK ISA income and migrate calibration and projection together #1360. Savings income rates of 24%, 44% and 49% (row 62), and the Pension Tax Allowance.
- Under the legacy gross ISA contract, projected interest outside ISAs is slightly overstated.
- A saver whose only interest is ISA interest shows a small positive taxable amount. For a pensioner near the allowance's threshold, that starts the taper when it shouldn't.
- UK: impute ISA subscriptions per adult by type, calibrated to HMRC's ISA tables #1415. ISA measures (rows 11, 38 and 39).
- Export the inputs under the names in Model the ISA subscription limits, with per-person ISA subscriptions and balances policyengine-uk#2712:
cash_isa_subscriptions,stocks_and_shares_isa_subscriptions,cash_isa_balanceandstocks_and_shares_isa_balance. - Also export
lifetime_isa_payments. - Scope as in that issue's comment of 28 October.
- Export the inputs under the names in Model the ISA subscription limits, with per-person ISA subscriptions and balances policyengine-uk#2712:
- New: Machine Games Duty on stakes over £1 (row 56).
- Write policyengine-uk's alcohol, tobacco and gambling duty inputs from the LCFS stage #1381 writes
machine_games_{lower,standard,higher}_rate_net_takings. - From April 2027 the standard class pays 25% instead of 20% on stakes over £1, so its takings need splitting at a £1 stake.
- Source: the Gambling Commission's industry statistics, gross gambling yield by machine category, where category C has a £1 maximum stake.
- The engine needs the new class as well, in the port.
- Write policyengine-uk's alcohol, tobacco and gambling duty inputs from the LCFS stage #1381 writes
- New: Rural Fuel Duty Relief areas (row 3).
in_rural_fuel_duty_relief_areadefaults to false and Microcosm doesn't write it, so the relief never applies.- The eligible areas are a published list of postcodes (islands, the Isles of Scilly and remote areas of the Highlands and Cumbria). Set the flag from the household's local authority or postcode area.
- UK bus fares: outside London the stage makes only older-person eligibility and under-5s free, but its yield removes all concessionary journeys #1385 and UK bus travel: the lowest frequency band gives about half the population trips, so incidence counts are about double #1386. The £2 bus fare cap (row 4).
- Row 4: single bus fares capped at £2 in England outside London for one year from 1 January 2027, funded by reprioritising DESNZ budgets.
- The cap reaches only fare-paying journeys, so it rests on how the bus stage splits journeys between fare-paying and concessionary, and on how many people travel at all:
- UK bus fares: outside London the stage makes only older-person eligibility and under-5s free, but its yield removes all concessionary journeys #1385: outside London, the stage makes only older people's eligibility and under-5s free, but its yield removes every concessionary journey.
- UK bus travel: the lowest frequency band gives about half the population trips, so incidence counts are about double #1386: the lowest frequency band gives about half the population trips, so the counts of who is affected are too high.
- The engine side of UK bus fares: outside London the stage makes only older-person eligibility and under-5s free, but its yield removes all concessionary journeys #1385 was fixed in policyengine-uk 2.158.3 (Fix outside-London bus concessionary yield policyengine-uk#2641, closing Bus fares: outside London the yield removes all concessionary journeys, but bus_pass_eligible makes only older-person eligibility and under-5s free policyengine-uk#2640), which the 2.162.14 target carries.
- UK bus fares: outside London the stage makes only older-person eligibility and under-5s free, but its yield removes all concessionary journeys #1385 is still open. Check whether that fix settles it, or whether the stage's eligibility still needs a change.
- UK SPI stage 1 keeps 4–17% of the tape's donors; replace the removed QRF tail gate with a donor-fidelity check #1276 and UK SPI channel after #840: residuals, post-merge measurements and stale pointers #1288. The SPI top tail (rows 61 and 62). The rate rises fall most on higher- and additional-rate savers and landlords, so the SPI residuals matter more.
- UK: 2023-24 property income of Scottish taxpayers by NSND band — the back-cast, reweight, disclosure and engine steps the analysis needs #1326. Property income rates (row 61). The new property rates apply in England, Wales and Northern Ireland. Scottish taxpayers' property income is the related check.
- Measured on a6299504: +396, +410 and +441 in 2027-28, 2028-29 and 2030-31, against Table 6.1's mature years of +435 to +455. That is in line.
- Neither Scotland's share (5.6% of property income in the data) nor landlords' finance costs (£12.8bn in 2027-28) is a target.
- Parental Allowance (row 6, from April 2029). Wait for the eligibility criteria.
- The FRS has what an imputation would need: children aged 0, self-employment, earnings, and months in the current job (
CURRJOBM, for Statutory Paternity Pay's 26-week test). - Adoption isn't identified.
- The group is small, so the disclosure floors apply to any breakdown.
- New: the savings interest level (row 62).
- Measured on a6299504: the savings rate rise yields +269, +286 and +322 in 2027-28, 2028-29 and 2030-31. Table 6.1's mature years are +520 to +590, so ours is a little over half, and further below a static costing, since Table 6.1 nets off behaviour. Property is in line (item 9), so the shortfall is in savings.
- The data hold £25.0bn of taxable interest in 2027-28, plus £8.0bn of ISA interest.
- Calibration binds interest to SPI 2023-24 Table 3.7 interest by total-income band, uprated to 2025, within 0.2% on amounts. The ONS D.41 row is a diagnostic. That anchor looks well below the base HMRC costed.
- Fix: reconcile the SPI anchor with HMRC's own savings base, and find what's missing. Candidates: interest of people below £12,570 or outside the SPI, and the SPI's coverage of bank-reported interest.
- The direction is opposite to item 3 (Export versioned additive UK ISA income and migrate calibration and projection together #1360), which makes interest outside ISAs slightly high.
- Engine: policyengine-uk projects
savings_interest_incomewithons.household_interest_income, whose forecast years are the OBR's non-labour income growth, not interest rates.
- New: domestic electricity spending (row 2).
- Measured on a6299504: the zero rate gives −840 in 2026-27, against −755. That puts spending about 11% above the base Table 6.1 implies, and Table 6.1 includes a behavioural response.
- The level is DESNZ Energy Trends volume at QEP 2024 prices, under the D1 ruling of UK domestic electricity and gas: record why ONS 04.5.1/04.5.2 is preferred over DESNZ × QEP, reconcile the two, and declare the price basis PE-UK should project from #1113. ONS 04.5.1 is 12% lower and stays a diagnostic.
- policyengine-uk then projects
electricity_consumptionwith CPI. That carries no price cap path, including April 2026's removal of policy costs. - Decision owed: revisit the D1 level against the Treasury's base, or move the engine's projection to an electricity price index (the OBR's economy Table 1.20). The 2027-28 day weighting is the dashboard's, noted on Add a DataFrame front door to populace-fit with explicit-weights contract #290.
- New: small trading incomes (row 15).
- Measured on a6299504: −112 and −120 in 2027-28 and 2028-29, against Table 6.1's mature years of −165 to −180.
- Besides the missing receipts (accepted below), the SPI self-employment targets start at £12,570 of total income, so the count of small traders and their profits up to £3,000 aren't bound.
- Fix, if a source exists: bind HMRC's counts of small self-employment profits.
- Engine: the allowance doesn't reach miscellaneous income (Budget day: announced measures uk-autumn-budget-dashboard-2026#290, Max's note).
- New: area coverage for the area maps.
- The local cut binds the following at local-authority or constituency level:
- council tax bands;
- domestic electricity and gas;
- employment and self-employment income;
- Universal Credit, age, tenure and rents.
- It binds savings, property and pension income, road fuel and carers at region level at most. So the area maps for these measures follow correlates:
- the Pension Tax Allowance;
- the savings and property rates;
- fuel duty;
- the Carer's Allowance taper.
- Bind HMRC's pensioner taxpayers by area and re-index the SPI State Pension bands (#1069) #1414 adds pensioner taxpayers by area.
- Next: pension income by area from the same HMRC tables as the employment and self-employment rows, if they publish it.
Checked: no data change needed
- Household Energy Payment (row 1): council tax bands are calibrated to MHCLG's council tax stock, nationally and by area. Northern Ireland has domestic rates, not council tax, so its handling belongs in the engine or the dashboard.
- Measured: 19.7m households in England in bands A to D (Budget: up to 20m), so −1,969 against row 1's −2,625. The difference is the Barnett funding that row 1 includes.
- Fuel duty (row 3): litres are spending over price, and road fuel spending is bound to ONS.
- Measured: −301 and −521 against −575 and −780 (52% and 67%). The gap is scope: business fuel is outside the household frame, as the held-out OBR cars row records.
- VAT on domestic electricity (row 2): see item 12 for the measured gap.
- Energy spending is measured, not bound, under the ruling on UK domestic electricity and gas: record why ONS 04.5.1/04.5.2 is preferred over DESNZ × QEP, reconcile the two, and declare the price basis PE-UK should project from #1113 (D1).
- VAT grossing is re-derived on the next cut (VAT grossing property tests and later-cut provenance; coverage re-derived on the next certified cut policyengine-uk#2634).
Out of scope: accepted limitations
- Trading Allowance (row 15):
- Neither the FRS nor the SPI tape records trading turnover, so
self_employment_gross_receiptsstays unsupplied. - The engine assumes a profit within the allowance comes from receipts within it, and that a larger profit already reflects the better of expenses and the allowance.
- Neither the FRS nor the SPI tape records trading turnover, so
- Behaviour:
- fuel use responding to prices;
- savings moving into ISAs;
- landlords incorporating;
- carers' labour supply;
- First Time Buyer ISA take-up.
- Amounts that build up over years: ISA balances, and BADR's lifetime limit (row 60).
- House purchases: the First Time Buyer ISA (row 38) and the Lifetime ISA charge above the price cap (row 39).
- Not in the data or the engine:
- business mileage (row 5);
- company cars (row 86);
- Universal Credit's surplus earnings rule (row 8), which needs monthly earnings;
- Plan 2 and Plan 3 student loan interest (row 83), which changes balances only;
- the triple lock change, which has no effect within the forecast.
- Gas standing charges: gas spending is in the data, with spending above zero standing in for a mains-gas connection. Rebalancing the bills is modifier work.
Engine versions
- The Carer's Allowance Weekly Earnings Limit: set at 16 hours at the National Living Wage from 2.162.17 (Project the Carer's Allowance earnings limit as 16 hours at the national living wage policyengine-uk#2699), after the 2.162.14 target. The taper needs 2.162.17 or later.
- The cut-to-engine pairing: the ports land after 2.162.20, so the pairing in Checklist for the next policyengine.py bump (policyengine-uk 2.151.0 to the release with PolicyEngine/policyengine-uk#2695) uk-autumn-budget-dashboard-2026#262 needs checking again when they're released.
Related: #1095, #1415, PolicyEngine/uk-autumn-budget-dashboard-2026#287.
Activity
MaxGhenis commentedon Oct 28, 2026
Item 11 (savings interest level): what the shortfall is made of
@juaristi22 We traced item 11 today on the dashboard's stack: build
a6299504, policyengine-uk 2.151.0 and the October forecast. The reviewed write-up, with sources, is in uk-autumn-budget-dashboard-2026#296.The shortfall comes from three gaps in the data. Each one was priced by a microsimulation on a corrected copy of the dataset. The effects are for 2029-30, averaged over every order in which the corrections could be applied:
other_investment_incomeisn't bound: +£89m.hmrc.spi_other_income_amountandhmrc.spi_other_income_countby band.hmrc_spi_other_incomecolumn is SPIOTHERINC, which is a different field from Table 3.7'sOTHERINV.With all three corrected, the static yield is about £620m in 2029-30. The official figure before behaviour is about £0.7bn: Table 6.1's £520m plus the roughly £0.2bn ISA response in EFO paragraph 3.17. That leaves about £100m unexplained, which could be anywhere from about £50m to £150m.
Two of the candidates in item 11 are ruled out:
The engine bullet and policyengine-uk#2638. #2638 restates
savings_interest_income's 2024 and 2025 growth from ONS outturn. For 2025 that's HAXV −2.8% per year, against the +4.4% GDP-per-head step used now. If the 2025 target uprating follows the engine's per-variable index, as the target registry's ruling note reads, #2638 would lower the 2025 targets, where the OBR path raises them. So the two are worth deciding together.The savings rise is held off tonight's dashboard release (Vahid on #290, 17:43Z). It goes on with the data release.
🤖 Generated with Claude Code
vahid-ahmadi commentedon Oct 28, 2026
Review of the data-fix list, checked against microcosm main (7bf1ed8), policyengine-uk main 2.163.0 (df239bc), the dashboard measure code at b87156bb, PolicyEngine/policyengine-uk#2719, and the Budget, OOTLAR, policy costings, Pension Tax Allowance explainer and the OBR October 2026 EFO. Max's item 11 comment isn't repeated here.
Findings
1. must: item 12, the decision owed. OBR economy Table 1.20 is a wholesale price, not a household one.
obr.consumer_price_index(economic_assumptions.py:168,uprate_energyat L457), from the H5's calendar-2024 basis (microcosmchangelog.d/1095-uk-energy-price-basis.added.md). So the CPI point in item 12 is right.2. must: item 11, the engine bullet names the wrong index.
savings_interest_incomedeclaresons.household_interest_income(savings_interest_income.py:19). But dataset projection followsuprating_indices.yaml, which lists it underobr.per_capita.gdp(L106, L137).3. should: item 6 (Rural Fuel Duty Relief) doesn't move row 3.
fuel_dutyis(petrol_and_diesel − in_relief_area × 0.05) × litres(fuel_duty.py:15-17), and the relief is a flat 5p (HMRC Notice 2001). Row 3 changes the main rate only, so the relief drops out of the static cost.4. should: item 1, the band where the allowance works widens every year.
5. should: item 2, the cared-for test is missing in the engine too, and the fix needs an out-of-household rule.
is_severely_disabled_for_carers_allowanceexists but only feeds the premiums.countriesparameter both limit the taper to England and Wales (Budget ¶6.13), so the 82,000 against 48,000 is like for like on area.6. should: item 13, part of the gap is basis, and the data side already exists.
OTHERINCtomiscellaneous_income(source_stages.json:1895, 2042-2043). So the engine fix (trading_allowance_deductionreadsself_employment_incomeonly, L61; #2719 bounds the gap at about £71m) has data to work on without a new imputation.7. nit: Household Energy Payment. The payment is England-only by policy: the Budget says "households in England in council tax bands A-D", and the devolved governments get their share through Barnett. Scotland and Wales have council tax bands but are left out too, so Northern Ireland needs no handling beyond England-only. The gap from −2,625 also includes the £100 million for local authorities in the measure's own entry, not just Barnett.
8. nit: triple lock. It's right, and more precisely: EFO ¶3.50 and footnote 17 say 2.5% applies under both versions in 2030-31 and 2031-32. The two versions match by construction in April 2030. They can only differ from April 2031, after a year in which the pension rose faster than earnings and then earnings growth beat both 2.5% and CPI. Worth checking that the engine's lock on the October assumptions (#2717) also gives 2.5% in both years.
9. nit: versions. #2713, #2714, #2715 and #2718 are closed and consolidated into draft #2719. pe-uk main is now 2.163.0. The input names in item 4 match #2712 (all Person):
cash_isa_subscriptions,stocks_and_shares_isa_subscriptions,cash_isa_balance,stocks_and_shares_isa_balance, andlifetime_isa_paymentsalready on main.Verdict
The list is sound and the measured gaps are framed honestly against Table 6.1. Two things to change before acting on it:
Item 6 should drop down the list, since it can't change row 3.
Decisions owed
Not checked
other_investment_incomeis bound in the solve.🤖 Generated with Claude Code
MaxGhenis commentedon Oct 29, 2026
Item 10 (Parental Allowance): what the data can and can't see
@juaristi22 I agree with waiting for the criteria. We counted the eligible groups today on build
a6299504, for whoever picks this up.Who the data can see. Fathers and male partners in benefit units with a child aged 0, before any reform:
The two groups with new eligibility come to about 78,000 people. At today's statutory rate for 2 weeks, with the costing's 89% take-up, they'd receive about £23m a year. The Treasury puts the measure at £70m from 2029-30, for 166,000 fathers and partners plus about 750 self-employed adopters. We multiplied the survey count by the rate; we didn't run the model.
The data records paternity pay for fewer than 10,000 people, so it can't tell us who already gets it.
Tenure needs its own column.
frs_annual_incomereads CURRJOBM, but releases it only throughemployment_income_annual_share. That share stops at 12 months and folds in job changes and the employment calendar.The engine side comes first. policyengine-uk main (2.163.0) has no eligibility rules for statutory paternity pay, statutory maternity pay or Maternity Allowance; it takes all three as reported amounts. PolicyEngine/policyengine-uk#146 and PolicyEngine/policyengine-uk#218 track them. A tenure column would have no reader until those rules exist. So the order runs: the published criteria, then those rules, then the column.
Disclosure. The totals clear the floor. A decile breakdown of the self-employed group, 38 survey households, would not.
Merge pull request #1419 from PolicyEngine/uk-budget-2026-static-fixe…
Add SPI 2023-24 Table 3.10 self-employment income bands for PolicyEng…
Merge pull request #394 from PolicyEngine/spi-table-3-10-1418
anth-volk commentedon Oct 29, 2026
@juaristi22, a note on one item under "Out of scope: accepted limitations": Universal Credit's surplus earnings rule (Table 6.1 row 8, the £2,500 threshold kept for claims from April 2027 to March 2028, −£140m in 2027-28 only).
I searched this repository for an issue on monthly earnings or the surplus earnings rule and found none besides this one, so I'm writing here.
My view: it's best not to model this rule society-wide. Imputing monthly earnings well enough for it would be complex, for these reasons:
So I'd keep it in "Out of scope", as this issue has it.
What the dashboard does instead: one household at a time. On branch
uc-surplus-earnings-household(proposal in PolicyEngine/uk-autumn-budget-dashboard-2026#356), the Household impact tab asks a household on Universal Credit whether its monthly pay varies. If it does, the household enters its pay for each month. The household API then:The national figures stay as they are. No change to Microcosm or policyengine-uk is needed for it.
anth-volk commentedon Oct 29, 2026
@juaristi22, on "business mileage (row 5)" under "Not in the data or the engine" above: I looked at whether Microcosm could impute it. The short answer is yes for a first version calibrated to published totals. The miles are the tractable part. What employers pay per mile, and who claims relief, are not published.
Context. The dashboard now applies the measure for one household at a time, from miles the user enters (PolicyEngine/uk-autumn-budget-dashboard-2026#357, branch
mileage-rates-household). Anthony confirmed the comparison with current law. The Taxation (Energy and Vehicles) Act 2026, s. 2, already gives 55p a mile for the first 10,000 business miles from 2026-27 with no end date. So against current law the Budget changes only the rate above 10,000 miles, 25p to 35p, from 2027-28. For a population figure, the share of drivers above 10,000 miles, and how far above, matters most. Table 6.1's −£200m in 2027-28 scores the 55p too, against 45p.What a population figure would need, per person
Sources
AnMiles, the annual mileage;CoursWk: "how many of the total annual miles, if any, are driven by anyone in the household in the course of work";UsualWk(commuting) andGoodsWk(carrying goods);PrivVcl, privately owned or a company vehicle;HmnDriv, who "drives the most mileage".Stat, employee or self-employed.CoursWkunbanded.What Microcosm and Chronicle hold now
num_vehicles(Wealth and Assets Survey), petrol and diesel spending (LCFS), and the bus outputs from the NTS.employment_statusand industry.What it would take
A rough estimate, for one person: about four to five weeks, including the engine work.
employment_expenses: that variable is documented as Part 5 Chapter 2, and the relief is ITEPA Part 4 Chapter 2. The taxable excess above the approved amount. The self-employed flat rate deduction. Universal Credit keeps its own reg. 59 rates. The dashboard's household-only version maps these ontoemployment_deductionsandcapital_allowancesfor now, which is fine for one household but not a model.CoursWk(and possiblyGoodsWk), give it toHmnDriv, and linkStat.Main risks
anth-volk commentedon Oct 29, 2026
@juaristi22 this is about the "Gas standing charges" entry under "Out of scope: accepted limitations" above: "gas spending is in the data, with spending above zero standing in for a mains-gas connection. Rebalancing the bills is modifier work."
On the dashboard, PolicyEngine/uk-autumn-budget-dashboard-2026#355 adds the abolition to the Household calculator only, on branch
gas-standing-charges-household. Here is what modelling it for the whole population would need, in policyengine-uk and in Microcosm. I haven't opened anything on policyengine-uk.The measure, and what the household version does
policyengine-uk
gov.ofgem.energy_price_capholds one dual-fuel typical bill, and the payment-method illustrations were mixed until Correct the Energy Price Cap basis and quarterly history policyengine-uk#2100.has_mains_gas(household, bool). Default:gas_consumption > 0, as now.gas_kwh(household, kWh a year).gas_payment_method(household, enum). The existinguses_energy_prepayment_meter, which no data populate, would become one value of it.gas_standing_charge= has_mains_gas × the daily charge for the payment method × days.gas_unit_cost=gas_kwh× the unit rate.gas_kwhcan be recovered as max(0, spending − standing charge) / unit rate, at the dataset's declared price basis (policyengine-uk'senergy_price_basisdeclaration, after UK domestic electricity and gas: record why ONS 04.5.1/04.5.2 is preferred over DESNZ × QEP, reconcile the two, and declare the price basis PE-UK should project from #1113).household_benefits/gov_spending(which is whereepg_subsidysits, and is right for the Energy Price Guarantee, a subsidy) nor a tax variable. My suggestion:gas_bill_changevariable;household_net_income−gas_bill_change, counted as the dashboard's household calculator counts it;Microcosm
price_domestic_energystage already builds spending as kWh priced at DESNZ QEP regional unit and fixed costs (UK domestic electricity and gas: record why ONS 04.5.1/04.5.2 is preferred over DESNZ × QEP, reconcile the two, and declare the price basis PE-UK should project from #1113, and the method in PolicyEngine/uk-energy-autumn-budget'sbills.py). So the kWh exist inside the build.uses_energy_prepayment_metersays no dataset populates it. It sets the standing charge removed: standard credit's is 37.49p a day against 29.68p, 26% more.uses_energy_prepayment_meter.The household calculator leaves payment method out at Anthony's request: one standing charge for every home, with standard credit as a stated limitation. A population run could use it from the data.
Not needed for this measure: the targeted mitigations (no design yet) and any behavioural response (the Treasury's estimate is static).
vahid-ahmadi commentedon Oct 29, 2026
Status of the list after #1419 (PR A) merged on 29 October as
fddbc707. Checked against the PR and the git history only; I didn't run anything.Item 1, the decision owed is settled by the history. #1414's merge commit (
a172afa1) is an ancestor of #1411's final head (55d5c9fd) and of7757add7a, which #1419's certified national cut4374e0bfwas built from. So that cut carries #1414. What's still open is the check itself: #1419 says the State Pension measure wasn't scored on either cut, because the dashboard's template can't wrapincome_taxon 2.162.14. So the explainer counts (500,000 and 290,000 in 2027-28, about 1 million by 2029-30) haven't been compared yet.Done in #1419:
other_investment_income(£9.5bn in 2024 against SPI's £5.85bn of other income), which Budget 2026 slower data fixes, PR C of #1418: electricity at the ONS level, pension income by area #1420 picks up with Table 3.7's other income by band. Budget 2026 slower data fixes, PR C of #1418: electricity at the ONS level, pension income by area #1420 also re-uprates the SPI savings rows on the OBR savings income path (its commit 32), which is the 2025-level question in Max's comment.Not in #1419: items 3 and 4 (#1360 and #1415) are in #1421; items 5 (Machine Games Duty, moved to its own PR after policyengine-uk#2731), 6, 12 and 14 are in #1420 or later; items 8, 9, 10 and 13 aren't cited by #1419, #1420 or #1421.
🤖 Generated with Claude Code
Merge pull request #1420 from PolicyEngine/uk-budget-2026-data-fixes-…
Merge pull request #1421 from PolicyEngine/uk-isa-subscriptions-1415