Skip to content

UK: data fixes for the Budget 2026 household measures #1418

Open

Description

@juaristi22

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:

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

Fixes

  1. 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).
  2. Carer's Allowance earnings taper (row 7): the pool is now too large.
  3. 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.
  4. UK: impute ISA subscriptions per adult by type, calibrated to HMRC's ISA tables #1415. ISA measures (rows 11, 38 and 39).
  5. 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.
  6. New: Rural Fuel Duty Relief areas (row 3).
    • in_rural_fuel_duty_relief_area defaults 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.
  7. 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).
  8. 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.
  9. 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.
  10. 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.
  1. 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_income with ons.household_interest_income, whose forecast years are the OBR's non-labour income growth, not interest rates.
  1. New: domestic electricity spending (row 2).
  1. 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).
  1. 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

Out of scope: accepted limitations

  • Trading Allowance (row 15):
    • Neither the FRS nor the SPI tape records trading turnover, so self_employment_gross_receipts stays 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.
  • 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

Related: #1095, #1415, PolicyEngine/uk-autumn-budget-dashboard-2026#287.

Activity

  1. MaxGhenis commented on Oct 28, 2026

    @MaxGhenis
    Contributor

    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:

    • ISA interest in the SPI binding: +£159m.
    • other_investment_income isn't bound: +£89m.
      • The 2024-25 data has £3.1bn, against Table 3.7's "Other income" of £5.85bn for 2023-24.
      • Chronicle already has hmrc.spi_other_income_amount and hmrc.spi_other_income_count by band.
      • Microcosm's hmrc_spi_other_income column is SPI OTHERINC, which is a different field from Table 3.7's OTHERINV.
    • The 2025 level of the interest targets: +£64m.
      • The targets grow SPI 2023-24 by ×1.192 to 2025: ONS D.41 ×1.142, then GDP per head ×1.044.
      • The OBR's savings income row (receipts Table 4.5) grows ×1.358 over the same period.
      • Growth after 2025-26 isn't the problem: the model grows slightly faster than the OBR to 2029-30, ×1.216 against ×1.179.

    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:

    • People outside the SPI: non-taxpayers hold only £1.1bn of the £22.8bn of taxable savings income in 2029-30.
    • Who holds the interest: reshaping interest within bands to the SPI tape's distribution adds £2m.

    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

  2. vahid-ahmadi commented on Oct 28, 2026

    @vahid-ahmadi
    Contributor

    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.

    • Table 1.20 in the October EFO economy tables is "Electricity price forecast, pounds per MWh", a quarterly wholesale series (about £45/MWh in 2012). Wholesale is only part of a domestic bill and leaves out network and policy costs, so it can't carry April 2026's removal of policy costs either.
    • The OBR does publish the path that fits: its Ofgem price cap assumption (EFO ¶2.22, peak about £1,875 in Q1 2027, and the chart sourced "Bloomberg, Ofgem, OBR").
    • Checked: the engine projects declared energy by obr.consumer_price_index (economic_assumptions.py:168, uprate_energy at L457), from the H5's calendar-2024 basis (microcosm changelog.d/1095-uk-energy-price-basis.added.md). So the CPI point in item 12 is right.
    • Recommendation: move the engine's projection to the Ofgem cap path (published quarters, then the OBR's assumption, then CPI). Re-measure row 2 after that. Revisit the D1 level only if a gap is left.

    2. must: item 11, the engine bullet names the wrong index.

    • savings_interest_income declares ons.household_interest_income (savings_interest_income.py:19). But dataset projection follows uprating_indices.yaml, which lists it under obr.per_capita.gdp (L106, L137).
    • The code-health test records this mismatch as a known override, pending #1862 (test_uprating_declarations.py:44-47). So population runs grow interest by GDP per head, not by "OBR non-labour income growth".
    • That also makes "the engine's per-variable index" in Max's #2638 point ambiguous on main: the declared and applied indices differ.
    • Project savings interest by interest received per person policyengine-uk#2638 changes more than 2025. It moves dataset projection to a per-person HAXV index. The aggregate series behind it has 2026 at −9.4% and 2028–2030 at +8% to +11% (assets × deposit rate). Item 11's yields need re-measuring on whichever path lands.

    3. should: item 6 (Rural Fuel Duty Relief) doesn't move row 3.

    • fuel_duty is (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.
    • It's a fix to the level and to who pays, worth doing but not for this list.
    • The eligible areas are also narrower than item 6 says: the islands, Scilly, the post town of Hawes, and the postcode districts EX35, LA17, NE48 and 13 IV/KW/PA/PH districts. Setting the flag from the local authority would cover all of Highland, Cumbria or Devon, far more than those districts.

    4. should: item 1, the band where the allowance works widens every year.

    • The explainer confirms £1 withdrawn per £3, the £12,570 to £13,319 band (£749) in 2027-28, and 500,000 and 290,000 in 2027-28.
    • But the band only holds for 2027-28. On #2719's recomputed values (£159 and £226), the band runs to about £13,842 in 2028-29 and £14,378 in 2029-30, a width of about £1,270 and £1,810.
    • So the count roughly doubling by 2029-30 is expected. Run the diagnostic year by year, and compare 2029-30 with the explainer's "around 1 million by the end of this Parliament", not with the 2027-28 counts.
    • The SPI £12,570 to £15,000 band contains the whole window in every year, so binding it can't place people within it.

    5. should: item 2, the cared-for test is missing in the engine too, and the fix needs an out-of-household rule.

    • Confirmed: microcosm's stage tests hours, receipt and earnings only (carers_allowance_take_up.py:174-185).
    • The engine's entitlement does the same (carers_allowance_pre_couple_limit.py:35-41). is_severely_disabled_for_carers_allowance exists but only feeds the premiums.
    • The FRS identifies the cared-for person's benefits only inside the household. Restrict in-household carers, but don't drop out-of-household carers by default, or the pool will be biased down.
    • Scope is right: the dashboard measure at b87156bb and #2719's countries parameter 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.

    • The costing (p. 23) includes "people with miscellaneous income" and a behavioural switch from actual expenses to the allowance. Its first receipts year is 2028-29 (−225), not 2027-28.
    • Microcosm already writes SPI OTHERINC to miscellaneous_income (source_stages.json:1895, 2042-2043). So the engine fix (trading_allowance_deduction reads self_employment_income only, 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, and lifetime_isa_payments already 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 12's index option (Table 1.20 is wholesale);
    • item 11's engine bullet (main projects interest by GDP per head).

    Item 6 should drop down the list, since it can't change row 3.

    Decisions owed

    Not checked

    🤖 Generated with Claude Code

  3. MaxGhenis commented on Oct 29, 2026

    @MaxGhenis
    Contributor

    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:

    Group Weighted Survey households
    Employees on £129 a week or more (paternity pay unless their tenure is short) 432,000 221
    Self-employed only (new eligibility) 64,000 38
    Not working 39,000 23
    Employees under £129 a week (new eligibility) 14,000 11

    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_income reads CURRJOBM, but releases it only through employment_income_annual_share. That share stops at 12 months and folds in job changes and the employment calendar.
    • Statutory Paternity Pay needs 26 weeks' continuous employment by the 15th week before the due date.
    • So for a father the FRS interviews after the birth, the test needs at least 41 weeks in the job plus the child's age. That runs up to about 21 months, past the cap.
    • An uncapped months-in-current-job column would do it.

    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.

  4. added 3 commits that reference this issue on Oct 29, 2026
  5. anth-volk commented on Oct 29, 2026

    @anth-volk
    Contributor

    @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:

    1. It depends on the sequence of months, not their spread. An award ends in the month whose earnings take Universal Credit to nil. Earnings that month above the nil point plus the threshold then count in each of the next five monthly claims, falling month by month (Universal Credit Regulations 2013 reg. 54A; DWP's ADM chapter H3, H3300 to H3314). So the effect turns on which month is high, how high, and what the following months pay. Two households with the same yearly earnings and the same month-to-month variance can have very different results.
    2. The survey data have no monthly sequence. As far as I know, the FRS records pay per pay period (the last payment and usual pay) and bonuses over the past year, but not the month in which each was paid. A sequence of twelve months per earner would have to be imputed. The only source of monthly pay at that level is HMRC's PAYE Real Time Information, which isn't available as microdata, and I know of no published table of the timing of bonuses and irregular pay among Universal Credit claimants to calibrate against.
    3. It also depends on how claims behave, which the annual model doesn't hold. Awards that end because of earnings, claims made again within six months, and assessment periods that start on the claim's own date would all need modelling. The targets that would check them, such as how many awards end because of earnings each month and how many claimants come back within six months, aren't published at that detail.
    4. The measure is small and short. Table 6.1 scores −£140m in 2027-28 and £0 in every other year, and the dashboard already cites that official figure on the Policies tab. A modelled national figure would rest on assumptions far larger than the effect it estimates.

    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:

    • runs policyengine-uk once for the twelve months, one household per month, for each month's Universal Credit amounts;
    • applies reg. 54A month by month at £300 and at £2,500.

    The national figures stay as they are. No change to Microcosm or policyengine-uk is needed for it.

  6. anth-volk commented on Oct 29, 2026

    @anth-volk
    Contributor

    @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

    1. Business miles a year in their own car or van (not commuting, not a company car).
    2. Whether driven as an employee or self-employed.
    3. For employees, what the employer pays per mile, and whether the employee claims Mileage Allowance Relief on any shortfall.
    4. For the self-employed, whether they use the simplified mileage rate rather than actual costs.

    Sources

    • National Travel Survey (DfT), England only. Microcosm already uses its microdata for bus trips (UK bus fares: impute journeys from NTS microdata so the DfT receipts targets are not level-set by the stage (#890 follow-up) #930).
      • The vehicle questionnaire (2023 technical report, appendix A3) asks, per household vehicle:
        • AnMiles, the annual mileage;
        • its split, including CoursWk: "how many of the total annual miles, if any, are driven by anyone in the household in the course of work";
        • UsualWk (commuting) and GoodsWk (carrying goods);
        • PrivVcl, privately owned or a company vehicle;
        • HmnDriv, who "drives the most mileage".
      • The individual questionnaire asks Stat, employee or self-employed.
      • So the miles are per vehicle, and giving them to a person means giving them to the main driver.
      • I have not checked that the End User Licence vehicle file carries CoursWk unbanded.
    • Published NTS totals for calibration. NTS0409b, miles per person per year by purpose, England, updated 10 September 2026. Business trips as car or van driver: 302 in 2024 and 248 in 2025. Business trips by all modes: 438 and 376.
    • HMRC's research on the self-employed. HMRC Mileage Rates Research, Ipsos, published 28 May 2025: 1,000 self-employed people and partners, sampled from Self Assessment.
      • 28% of vehicle users use the simplified rates.
      • Average business mileage in 2021-22 was 8,500 miles for cars and 13,630 for vans.
      • The full report's Table 5.1 gives Self Assessment counts of sole traders and partnerships with travel or motoring expenses. I have not checked those figures myself.
    • HMRC statistics on employees.
      • I found no published count or cost of Mileage Allowance Relief claims.
      • The benefits in kind statistics have covered only company cars and car fuel since September 2020, so there is no figure for the taxable excess of mileage payments either.
      • The Budget's reach estimate, around 2 million employees and 1 million self-employed, is the only national count I found.
    • FRS job table.
      • It records whether an employee received "business mileage payments" from their employer (EXPBEN), and the mileage allowance amount in pay (MILEAMT, UMILEAMT). Microcosm's spec already names those fields, in the record of why HMRC employment expenses are not built from FRS fields.
      • It records no miles. I found nothing on self-employed vehicle costs in the FRS or the LCFS.
    • HMRC's own method. The policy costing (page 14) built the tax base from "survey evidence on the self-employed population", HMRC administrative data and National Travel Survey data, for the population, average mileage and reimbursement rate.

    What Microcosm and Chronicle hold now

    What it would take

    A rough estimate, for one person: about four to five weeks, including the engine work.

    1. policyengine-uk. Person inputs for own-vehicle business miles and the employer's mileage payments. Approved-rate parameters. Mileage Allowance Relief as an income tax deduction, which is not 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 onto employment_deductions and capital_allowances for now, which is fine for one household but not a model.
    2. Chronicle. Register the NTS0409 business cells (with NTS0611 by age and sex, NTS0413 by region), NTS0901, the HMRC research figures and the Budget's reach counts, extending Document the work-program participation inputs as unsourced assumptions #362.
    3. Microcosm, NTS vehicle file. Bring it into the same PR UK: every open data item: uk-data parity, engine locks, the local surface, consumption and high-value homes #1095 plans. Keep private vehicles, take CoursWk (and possibly GoodsWk), give it to HmnDriv, and link Stat.
    4. Imputation. A two-part model: whether a person has business miles, then how many. Predictors already used for the NTS bus match (age, sex, region, cars, household size, income band), plus employment status and hours. Exclude FRS company-car drivers, and use FRS business mileage payments to constrain which employees draw miles.
    5. Reimbursement and claims. From the FRS payment flag and amounts; the claim rate is an assumption with no published target.
    6. Calibration and a check against Table 6.1 row 5. The costing includes behaviour (more claims, some employers raising their rates), so a static figure should come out below it.

    Main risks

    • The NTS covers England only, so the other nations need a proxy, as the bus step uses.
    • The vehicle's work miles are for anyone in the household. Giving them all to the main driver overstates one person and misses a second driver.
    • Annual mileage is recalled, and the result is sensitive to the tail above 10,000 miles.
    • The employer's rate per mile and the claim rate are unknown. If both are tuned until the cost matches Table 6.1, that comparison stops being a check.
    • Only the 28% of self-employed vehicle users on the simplified rate gain directly. Switching from actual costs is a behavioural response.
  7. anth-volk commented on Oct 29, 2026

    @anth-volk
    Contributor

    @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

    • The measure. Budget 2026 asks Ofgem to abolish gas standing charges on domestic bills in Great Britain, aiming for the end of 2027. Suppliers recover the cost through the unit rate instead.
      • There is no Table 6.1 row.
      • The Treasury's estimate: about 60% of account-holding households save around £45 a year. It used the Living Costs and Food Survey, with gas costs adjusted to Ofgem's average unit rates and standing charges for October to December 2026.
    • The rule. The unit rate rises by S / Ū, where S is a year's standing charge and Ū the mean use per domestic meter. So a home using U kWh pays S × (U / Ū − 1) more a year, and the changes add up to nothing across homes.
    • The household calculator's inputs:
      • one answer, gas use in kWh, with 0 meaning no mains gas;
      • Ofgem's Great Britain average Direct Debit standing charge for October to December 2026, 29.68p a day (£108.33 a year);
      • DESNZ's 2024 mean use per domestic meter, 11,359 kWh (median 9,859);
      • an assumed start of 1 January 2028.
    • How it counts. The bill change is counted in net income as an equal and opposite amount, outside the engine's taxes, benefits and government totals.

    policyengine-uk

    1. Parameters: Ofgem's cap rates for gas.
      • The standing charge (pence a day) and unit rate (pence a kWh), quarterly from Ofgem's tables, including VAT.
      • Broken down by payment method: Direct Debit, standard credit and prepayment.
      • Optionally by Ofgem's 14 charging regions. Direct Debit standing charges vary by only about £2 a year around the average, but unit rates vary more: 7.82p to 8.17p a kWh in October to December 2026.
      • Today gov.ofgem.energy_price_cap holds 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.
      • Electricity needs the same shape for the later standing charge reform.
    2. Inputs:
      • has_mains_gas (household, bool). Default: gas_consumption > 0, as now.
      • gas_kwh (household, kWh a year).
      • gas_payment_method (household, enum). The existing uses_energy_prepayment_meter, which no data populate, would become one value of it.
    3. Splitting a bill.
    4. The rebalancing rule, a reform parameter with a start date:
      • the standing charge goes to 0;
      • the unit rate rises by the standing charge revenue over total kWh, both among mains-gas households.
      • In a microsimulation, take both totals from the weighted data (or by payment method, if Ofgem rebalances within each), so the bill changes sum to zero in the data, as there is no Exchequer cost.
      • A household calculation has no data to sum, so it takes Ū from a parameter (DESNZ's mean).
      • Ofgem's cap annualises costs into one unit rate, so in a part year the winter quarter carries more of the rise. The household version uses Ofgem's profile: 75% of gas used from October to March.
    5. How a bill change enters income measures. Through neither household_benefits/gov_spending (which is where epg_subsidy sits, and is right for the Energy Price Guarantee, a subsidy) nor a tax variable. My suggestion:
      • a gas_bill_change variable;
      • an income-equivalent measure for distributional tables, household_net_income − gas_bill_change, counted as the dashboard's household calculator counts it;
      • HBAI incomes and poverty unchanged, as DWP measures them.
      • VAT is inside the bill at 5% and is unchanged in total.

    Microcosm

    1. Mains-gas connection. Spending above zero is a fair proxy, but its share should match DESNZ's: 16% of domestic properties in Great Britain are not on the gas grid, with large differences by area (24% in the South West). DESNZ's subnational meter counts give it by local authority, and the local-area build already binds domestic gas at that level (item 14).
    2. Gas use in kWh.
    3. Payment method.
      • Not in the data today, as far as I can see: policyengine-uk's uses_energy_prepayment_meter says no dataset populates it. It sets the standing charge removed: standard credit's is 37.49p a day against 29.68p, 26% more.
      • An imputation needs payment-method shares as its target. Ofgem's retail market indicators are the likely source; I haven't checked which table, or whether it splits them by region or tenure.
      • It would also populate 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).

  8. vahid-ahmadi commented on Oct 29, 2026

    @vahid-ahmadi
    Contributor

    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 of 7757add7a, which #1419's certified national cut 4374e0bf was 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 wrap income_tax on 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:

    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

  9. added 2 commits that reference this issue on Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions