Skip to content

Autumn Budget 2026 measures in current law - #2719

Draft
MaxGhenis wants to merge 22 commits into
mainfrom
ab26-autumn-budget-2026
Draft

MaxGhenis wants to merge 22 commits into
mainfrom
ab26-autumn-budget-2026

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Draft: Budget week. Not for merge until the Budget-week merge rules lift.

This moves the Autumn Budget 2026 household measures from the dashboard repo's reforms (PolicyEngine/uk-autumn-budget-dashboard-2026#290) into current law. It is one PR so the merge queue runs once. It replaces #2713, #2714, #2715 and #2718, which are closed.

Sources:

None of the measures is law yet; each parameter says so.

Measure Table 6.1 Commit Status
Trading allowance £3,000 from 6 April 2027 15 2d31a50 done
Savings and property rates +2pp from 6 April 2027 61, 62 e95275e done
Fuel duty: 5p cut to 1 July 2027 (60.59p), then RPI; LPG and natural gas too 3 8ee81b3, 064826e, 9521429 done
Electricity VAT 0% to 30 June 2027, NI from April 2027 2 66d0281 done
Household Energy Payment, £100, bands A–D, England 1 d4f803b, d43e015 done
Pension Tax Allowance 52 d6b3611, 7de3747, d436a27 done
Carer's Allowance 100% taper above the limit, within 2030-31 7 b5d2d77, 948d15d, 5bd68fd, 835a765, b1c4f95, d436a27, bffa9e8 done
Older tests moved to the Budget rates n/a e5e8942 done
Review round 1 fixes n/a 805bf0e, 1386278 (and the commits above) done
Review round 2 fixes n/a 835a765 done
Review round 3 fixes n/a b1c4f95 done
Review round 4 fixes n/a d436a27 done
Main merged in; main's 2028 Pension Credit boundary test pinned with and without the allowance n/a 16497d7, f51c6dc done
Review round 5 fix n/a bffa9e8 done
OBR October 2026 EFO economic assumptions n/a #2717 (María) separate PR

Trading allowance (item 15)

Paragraph 6.254 and costings p. 23 set the allowance at £3,000 from 6 April 2027. The parameter gets a new 2027-04-06: 3_000 value. trading_allowance_deduction already reads it, so Income Tax and Class 4 NI follow.

Known gap: the allowance also covers miscellaneous income (ITTOIA s. 783B), but the model applies it only to trading income. #290's review (issuecomment-6472453512) bounds the missing cost at about £71m in 2027-28.

Tests:

  • the £1,000 cases move to 2026;
  • new 2027-28 cases: full relief, the £3,001 cliff when receipts are unknown, partial relief and expenses above £3,000;
  • the property tests now use £3,000.

Savings and property income rates (items 61, 62)

Paragraphs 6.246 and 6.247 set 24%, 44% and 49% from 6 April 2027. The property rates apply in England, Wales and Northern Ireland; the savings rates UK-wide. The existing formulas already do the rest:

  • Scottish taxpayers' property income stays on the Scottish rates (property_income_tax.formula_2027).
  • Finance cost relief reads rates.property.basic, so it becomes 24%, in line with costings p. 74.
  • The ISA cash-interest charge reads the savings basic rate (SI 2026/1018 reg. 22A(3)).

One consequence: under the model's reading of ITTOIA s. 274AA(5), Scottish landlords' relief also rises to 24%, while their property tax doesn't change.

Tests:

  • hard-coded 22/42/47% expectations, recomputed by hand at 24/44/49%;
  • new tests/policy/reforms/oct_2026_budget/savings_property_income_rates.yaml;
  • property tests in test_budget_2026_savings_property_rates_properties.py. Mutation check: with the higher property rate at 43%, invariant 1 fails.

The higher relief can also change the property allowance election. A Scottish landlord with £500 of rent and £435 of finance costs uses the £1,000 allowance at 22%, since the relief (£95.70) is worth less than the £100 of tax the allowance saves. At 24% the relief is £104.40, so the model drops the allowance: property income tax rises from £0 to £100 and income tax falls by £4.40. The model makes that choice only where it lowers the person's income tax (uses_property_allowance). The rate identities hold for people whose election doesn't change, and a worked test covers this case.

Fuel duty (item 3)

Paragraph 6.211 extends the 5p cut to 1 July 2027. Costings p. 13: "On 1 July 2027, fuel duty rates will increase by 5ppl and will be uprated in line with the Retail Prices Index (RPI). From 1 April 2028, fuel duty rates will be uprated annually in line with RPI." Other fuels get "a proportionate percentage cut (equivalent to 5ppl from the main fuel duty rate of 57.95 ppl)".

Changes:

  • petrol and diesel stay at 52.95p to 30 June 2027; SI 2026/164's January and March 2027 steps are gone;
  • on 1 July 2027, calculate_fuel_duty_rates.py uprates each full rate by RPI growth in the year to 2027 Q1 (4.5565%, economy Table 1.7). For petrol and diesel that is the OBR's 60.59p (October 2026 EFO ¶3.19: "from 52.95 pence per litre to 60.59 pence per litre"); the script refuses to write a different figure;
  • LPG and natural gas get the same uprating: 33.05p and 25.83p a kilogram from 1 July 2027;
  • all three then rise by the previous calendar year's RPI each 1 April from 2028, with RPI uprating metadata after 2031.

This branch's RPI series is still the March 2026 EFO, so the April steps are 62.41p, 64.16p, 66.02p and 67.54p. #2717's October RPI moves them.

Day-weighted model-year rates (p/litre):

Model year Before After
2026-27 53.95 52.95
2027-28 59.77 58.82

Electricity VAT (item 2)

Paragraph 6.210 extends the zero rate "to 1 July 2027. This is expected to apply UK-wide from April 2027". The parameter changes:

  • Great Britain stays at 0% to 30 June 2027;
  • Northern Ireland is at 0% from 1 April to 30 June 2027.

Day-weighted model years:

  • 2026-27: Great Britain 178 of 365 days at 5%, Northern Ireland 360 of 365;
  • 2027-28: 280 of 366 days at 5% in every nation.

The dashboard (#290, 5d18a5e2) weights 2027-28 differently. It uses April to June's share of a year's domestic electricity use (22.30%), where this PR uses the day share (86 of 366, 23.50%). For the dashboard's £1,040 electricity bill, the 2027-28 saving is £11.04 there and £11.64 here.

This PR doesn't change how electricity spending is projected. uprate_energy moves it by headline CPI from the dataset's declared price basis (calendar 2024 for the managed Microcosm bundle) and holds it flat where a dataset declares none (Enhanced FRS, priced at April 2026 Ofgem rates). The Treasury costing (p. 12) grows "nominal consumer expenditure on electricity" instead, price and volume together. The OBR's Table 1.20 electricity series is a wholesale price in £/MWh, not a bill. Its nearest retail series, Table 1.19 "Utilities", covers more than electricity and is post-measures, so it already contains this VAT cut. On it, spending would be about 1.1% lower in 2026-27 and 1.4% lower in 2027-28 than on CPI: roughly £8m and £4m off the costing's £755m and £305m. A pre-measures retail electricity index would be a separate change.

Household Energy Payment (item 1)

Paragraph 6.24 and section 4.3: £100 for households in council tax bands A to D in England, delivered by local authorities from January 2027.

Changes:

  • new parameters gov.treasury.household_energy_payment.{amount, bands, countries} and variable household_energy_payment;
  • the payment counts in household_benefits, gov_spending and pre_budget_change_household_benefits, as the Energy Bills Rebate does;
  • it counts in HBAI income: DWP counted the 2022 £150 Council Tax Rebate and the Energy Bills Support Scheme as miscellaneous income (HBAI QMI FYE 2023). Round 1 of the review caught the earlier exclusion, which cited that rebate the wrong way round;
  • it has its own fiscal partition head and programme entry.

Not modelled:

  • the devolved governments' Barnett share;
  • the £100m local-authority fund;
  • liability: DESNZ pays the householder liable for council tax on their main home, most exempt households included. Survey data hold only main homes, but households whose landlord is liable can't be identified, so they are paid. The variable and docs say so.

Fixture fallout: council_tax_band defaults to D, so 2026 England fixtures with no band now carry the £100. Seven tests' totals are updated, each with a comment.

Pension Tax Allowance (item 52)

Sources:

The allowance is a non-refundable Step 6 reduction from 6 April 2027 to 5 April 2030:

  • Who: people over State Pension age, or reaching it within the tax year (by 5 April).
  • Full amount: 20% × (full new State Pension − Personal Allowance), rounded up to the pound. That is £94 in 2027-28.
  • Taper: £1 for every £3 of total income above the full new State Pension, so nothing is left from £13,318.98 (the threshold plus three times £94 is £13,318.973; the explainer's £13,319).
  • Threshold: the full annual value of the new State Pension, "the total income you are entitled to receive within the tax year" (explainer): 52 weeks at the weekly rate, read from gov.dwp.state_pension.new_state_pension.amount, so it follows any change to that rate, dated or undated. The model projects the April 2027 rate unrounded (241.30 × 1.039 = £250.711, from published inputs), so the threshold is £13,036.97, where the explainer gives £13,036.40, which is 52 × £250.70. Neither the explainer nor the Budget states the weekly rate, so the model doesn't enter £250.70; the gap closes when the uprating order sets the rate.
  • Scottish taxpayers: it is worked out at 20%, then capped at their Step 5 tax (explainer FAQ).

Changes:

  • Parameters: gov.hmrc.income_tax.reliefs.pension_tax_allowance.{in_effect, rate, taper}. There is no threshold parameter: the formula reads the new State Pension rate (above). An earlier version kept the explainer's £13,036.40 uprated by the new State Pension amount, which divided by zero under a nil-rate reform (CI at 835a765); 7de3747 uprated it by the triple lock index instead, which round 4 showed cut it loose from rate reforms (a pensioner on £15,600 under a £300 rate paid £606).
  • Variable: a new pension_tax_allowance, last in income_tax_subtractions.
  • Step 6 cap: each reduction is capped at the tax the earlier ones leave. A new helper, utils/income_tax_reductions.earlier_tax_reductions, gives that order. property_finance_cost_relief now uses the helper too, which avoids a dependency cycle.
  • Universal Credit: UC's deduction for tax on earnings (utils/uc_income_tax.py) takes the income_tax_subtractions entries off the tax on earnings. It handles finance cost relief separately, against the tax on property income first. So it picks up the allowance with no change of its own. This settles @PavelMakarchuk's point on Budget day: announced measures uk-autumn-budget-dashboard-2026#290 (issuecomment-6472987762). His mixed-age couple comes out at an allowance of £93.28, UC −£51.30 and net income +£41.97.
  • Fiscal partition: pension_tax_allowance is recorded as a component of income_tax.

Later years: the allowance is recomputed each year as 20% × (threshold − Personal Allowance): £159 in 2028-29 and £226 in 2029-30 on the current forecast. Someone on exactly the full new State Pension and nothing else pays no Income Tax at any rate (a Hypothesis property over rates from £0 to £400 a week). Uprating the £94 instead would leave someone on exactly the full new State Pension owing about £62 in 2028-29, which breaks the guarantee in ¶3.19 and ¶6.182. The reading is logged in ~/reviews/uk-hub/RULINGS.md.

Conflict to watch: draft #2545 restructures Step 6. Whichever lands second moves pension_tax_allowance into the new structure.

Tests:

  • tests/policy/reforms/oct_2026_budget/pension_tax_allowance.yaml, 15 cases:
    • the explainer's five people on its inputs (Tom, Steph, Anne, Jonathan, Nadia; Nadia's income is all private pension, because the £166 the explainer quotes assumes no savings allowance). Jonathan gets £44.19, not the explainer's £44, because the threshold is 57p higher;
    • the end of the taper and one pound before it, on the model's threshold;
    • two Scottish cases;
    • under State Pension age;
    • reaching State Pension age on 5 April 2028 (qualifies) and on 6 April 2028 (doesn't);
    • 2026-27 and 2030-31, when there is no allowance;
    • 2028-29, which checks the recomputed threshold.
  • tests/test_pension_tax_allowance_properties.py. Mutation check: with a 20% taper in place of 1 in 3, the first property fails. The full new State Pension pays no Income Tax without a reform, with the rate at £300 for 2028-29 only (allowance £606), and at any undated rate from £0 to £400 a week; the dated and undated reform tests fail on both earlier threshold versions.
  • tests/test_pension_tax_allowance_universal_credit.py: Pavel's couple, and the same income as a private pension (UC unchanged).

Carer's Allowance taper (item 7)

Sources: paragraph 6.13 and costings p. 16. In England and Wales, the withdrawal of the allowance in full above the weekly earnings limit becomes a 100% taper on the earnings above it.

Start date: the costings say only "within the 2030-31 financial year, with a precise start date confirmed in due course". Until DWP confirms it, the model starts on 6 October 2030. applies is day-weighted (fiscal_year_blend), so 2030-31 carries 182 of 365 days. That is in line with Table 6.1's −£40m, then −£80m.

Changes:

  • Parameters: gov.dwp.carers_allowance.earnings_taper.{applies, rate, countries}.
  • Variable: a new carers_allowance_weekly_earnings_above_limit, using the existing pence rule. is_gainfully_employed_for_carers_allowance now reads it.
  • Entitlement: carers_allowance_pre_couple_limit pays rate − taper × excess, floored at zero, where the taper applies.
  • Downstream: carers_allowance_pre_overlap, and through it carers_allowance and UC unearned income (income_definitions/unearned.yaml), read the new amount.
  • 2030-31, the year the taper starts: the weeks before the taper (183 of 365) and the weeks under it (182) each get the couple restriction and the overlapping-benefit rule on their own weekly award, then are weighted by their share of the year (utils/carers_allowance_taper.py, read by carers_allowance_pre_couple_limit, carers_allowance_pre_overlap and carers_allowance). Both rules work week by week:
    • a carer earning £250 a week with £40 a week of State Pension got £0 before round 1's fix; now £234.54 (182/365 × (rate − £46 − £40) × 52);
    • a couple caring for the same person, the head on £250 and the partner on £200, both with £40 of State Pension: the partner's award for the weeks before the head becomes eligible was suppressed for the whole year (round 2); now the head gets £234.54 and the partner £1,435.10 (183/365 × (rate − £40) × 52);
    • a supplied carers_allowance_pre_overlap carries no dates, so it still meets the whole year's overlapping benefits (round 2 caught the earlier fix dropping the deduction there);
    • the parts of the year reach the payment as shares of the year: within the parts where a person's weekly award is positive it is the same amount, so carers_allowance_pre_overlap is carers_allowance_pre_couple_limit times the share of those parts the couple restriction keeps, and carers_allowance takes the overlapping benefits off for the share kept. A value supplied for either intermediate, or a reform that neutralizes one, therefore reaches the payment (round 3 caught the round 2 fix recomputing the award and bypassing both);
    • the shares describe an amount only where the model's own formulas calculate it from the parts of the year. An amount that an input supplies, or that a reform neutralizes or calculates with a formula of its own, carries no dates, even where it equals the model's, since a value can't show where it came from: such a carers_allowance_pre_couple_limit gets the whole-year couple restriction and the whole year's overlap, and such a carers_allowance_pre_overlap the whole year's overlap. Each stage asks the simulation whether it calculates the earlier stage with the model's formula (calculated_from_parts_of_year in utils/carers_allowance_taper.py: no supplied input, not neutralized, and the formula's code is the model's, by calculated_by, now in utils/formula_origin.py), and the payment asks it of both stages. Rounds 4 and 5 caught the earlier value tests: a reform giving the partner £1,000 paid £0, and a reform changing only the partner's award, or setting the model's own amount, took off half the head's State Pension (£200.55 too much paid). A reform that updates a stage but keeps the model's formula keeps the parts of the year;
    • less than half a penny for the year is nil. Where an overlapping benefit equals the weekly award, the float32 annual amounts left about a thousandth of a pound, which made receives_carers_allowance true (round 3). A penny left over is paid: float32 stores £5,000.01 as £5,000.0098 (round 4 caught a £0.01 cutoff dropping it).
  • Limitation: annual flags such as is_entitled_to_carer_benefit can't split the year, so in 2030-31 both partners of a couple who straddle the limit count as entitled, and both as receiving, for the year. The legacy carer premium and the UC carer element still give one amount. The Pension Credit carer addition counts entitled members, so it gives two: £5,505.49 for the couple above, against £2,752.75 when both partners are under the limit. This affects only couples over State Pension age who care for the same person and straddle the limit, in 2030-31.
  • Not modelled: take-up among carers newly entitled above the limit. That comes from the data's would_claim_carers_allowance; there is no new draw.

Dependencies:

Tests: tests/test_carers_allowance_earnings_taper.py.

  • Examples: at the limit; £10 over the limit, in England and in Wales; a full weekly rate over the limit; Scotland and Northern Ireland; 2029-30; the 2030-31 share.
  • Properties: the allowance equals the rate less earnings above the limit; the taper never pays less than the cliff edge; weekly earnings plus the allowance never fall as earnings rise; Scotland and Northern Ireland are unchanged; in 2030-31 the final allowance is the weekly overlap rule over the paid weeks.
  • Overlap examples: the £250 / £40 case above, the same in 2031-32, and a carer below the limit in 2030-31.
  • Couples and supplied awards: the couple above, a couple both under the limit (one award all year), and supplied pre-overlap awards in England and Northern Ireland (also in tests/policy/reforms/oct_2026_budget/carers_allowance_earnings_taper.yaml).
  • Intermediates and residue: a supplied carers_allowance_pre_couple_limit (£0 and £1,000) is what is paid, and neutralizing either intermediate pays nothing, in 2030-31 and 2031-32; a Hypothesis property that an overlapping benefit equal to the award leaves nothing paid or received; and the two 2030-31 properties also check anything paid is at least half a penny. The 10 new tests fail on 835a765. Round 4's: reforms replacing carers_allowance_pre_couple_limit (£1,000 to the partner) and carers_allowance_pre_overlap (£1,000 less £400 of State Pension for a head over the limit), and a penny left after overlap on £1,000.01 and £5,000.01; the 2030-31 replacement cases and the £5,000.01 cases fail on 7de3747. Round 5's: reforms that set the partner's award before the couple limit to nil, scale it by 1.0001 or add a penny, leaving the head's as the model's (the head gets the whole-year restriction and £400 off: the model's award less £400); a reform setting carers_allowance_pre_overlap to the model's own amounts (the whole year's £400 off each); a reform that relabels both stages, which keeps the model's parts-of-year payment; and a Hypothesis property that 2030-31 pays any award a reform sets before the couple limit as 2031-32 does, and as the whole-year rule gives (head if they have an award, otherwise the partner, less the whole year's State Pension). The four 2030-31 partner and model's-own cases fail on f51c6dc; with the payment's check of carers_allowance_pre_couple_limit removed, the three partner cases and the property fail.

OBR October 2026 EFO

María's #2717 moves the economic assumptions to the October EFO, so this PR doesn't. An independent import of the same tables agreed with #2717 on 122 changed values to 0.005pp; the rest differ only where #2717 makes a deliberate choice (2025 revised, smoothed 2032+ joins, OBR private rents, road fuel re-derived). A trial merge of #2717 into this branch conflicts only in the three fuel duty files. Whichever lands second takes this PR's calculate_fuel_duty_rates.py, reruns it with --update, and updates the hand-computed rates in test_fuel_duty_schedule.py and the two fuel duty YAML tests. #2717 derives road fuel volumes at the same 60.59p path.

Invariants

  • Trading allowance: relief is between 0 and min(allowance, profit); the allowance never stacks on actual deductions; Income Tax doesn't fall as profit rises.
  • Savings and property: the four identities in the section above.
  • Fuel duty:
    • each model-year rate equals the day-by-day average of the dated schedule (a differential test, 2015 to 2040);
    • it lies between the rates in force that year;
    • rates never fall after 2022;
    • the written steps match the RPI series they cite.
  • Electricity VAT: model-year rates equal the hand-counted day shares; with no reform, vat_change is zero.
  • Household Energy Payment: 0 or £100; zero outside England, outside bands A to D and outside 2026-27; it adds one for one to household benefits, government spending and hbai_household_net_income (tests/test_household_energy_payment_income_measures.py).
  • Pension Tax Allowance:
    • the threshold is 52 × the new State Pension weekly rate, so someone on the full new State Pension and nothing else pays no Income Tax at any rate;
    • 0 ≤ allowance ≤ max(0, full − excess / 3), so it is zero from three full allowances above the threshold;
    • nothing for anyone reaching State Pension age after the year;
    • Income Tax falls by exactly the allowance against the same law with it switched off, and never goes below zero;
    • each extra pound of income takes at most a third of a pound off the allowance, so there is no cliff edge.
  • Carer's Allowance taper:
    • the weekly award is max(0, rate − (earnings − limit)) above the limit, in England and Wales from 2031-32;
    • it is never below the cliff-edge award;
    • earnings plus the allowance never fall;
    • Scotland and Northern Ireland are unchanged;
    • in 2030-31, the final allowance is the sum over the two parts of the year of share × 52 × max(0, weekly award − weekly overlapping benefits), where the couple restriction picks the head if eligible in that part, otherwise the partner (Hypothesis tests for single carers and couples);
    • a supplied or neutralized intermediate award is what reaches the payment;
    • the payment is 0 or at least half a penny, an overlapping benefit equal to the award leaves 0, not received, and a penny left over is paid;
    • an amount that an input supplies, or that a reform neutralizes or calculates with a formula of its own, at either intermediate reaches the payment with the whole year's restriction and overlap, even where it equals the model's; 2030-31 pays such an award as 2031-32 does (differential property); a reform that keeps the model's formulas keeps the parts of the year.
  • Finance cost relief: never falls; rises by at most 2% of the costs relieved wherever the Budget 2025 relief was uncapped and the property allowance election is unchanged. Where the tax left capped it, the rise can be larger (worked test: £86 to £240); where the election changes, see the savings and property section (worked test: £4.40 less income tax). Review round 2's counterexample is pinned as a Hypothesis example on all four rate properties.
  • LPG and natural gas: the 1 July 2027 rate is the full rate × 1.045565, rounded to 0.01p, and each April step applies the previous calendar year's RPI (test_road_fuel_gases_get_the_same_rpi_uprating).

Review

Round 1 (GPT-6.1 Sol, at e5e8942) requested changes on nine findings. Here is where each stands:

# Finding Status
1 Carer's Allowance: full-year overlap taken off the part-year taper amount fixed (5bd68fd)
2 Household Energy Payment ignores council-tax liability documented as a data limitation (d43e015)
3 LPG and natural gas miss the RPI uprating fixed (9521429)
4 Household Energy Payment left out of HBAI on a misread precedent fixed (d43e015)
5 Trading allowance doesn't reach miscellaneous income pre-existing; separate PR
6 Finance cost relief bound claimed for every input fixed (805bf0e)
7 float32 rounding can drop a penny of weekly earnings pre-existing on main (is_gainfully_employed_for_carers_allowance); #2543 (draft) fixes it, storing the limit in pence
8 2030 YAML case still expected the cliff edge fixed (948d15d)
9 Pending-law wording missing fixed (1386278)

Round 2 (GPT-6.1 Sol, at 1386278) confirmed findings 1, 3, 4, 8 and 9 resolved and 2, 5 and 7 deliberately deferred, and requested changes on four more:

# Finding Status
1 Couple restriction applied to the whole of 2030-31, suppressing a partner below the limit before the taper starts fixed (835a765)
2 The overlap fix dropped the deduction for a supplied pre-overlap award fixed (835a765)
3 Round 1 finding 6's bound still fails when the property allowance election changes fixed (835a765)
4 Excise docs still described flat gas rates and the old July uprating fixed (835a765)

Round 3 (GPT-6.1 Sol, at 835a765) confirmed all four round 2 findings resolved and requested changes on three more:

# Finding Status
1 The 2030-31 calculation recomputed the award, so a supplied or neutralized carers_allowance_pre_couple_limit or carers_allowance_pre_overlap no longer reached the payment fixed (b1c4f95)
2 Float32 residue where an overlapping benefit equals the award left a fraction of a penny and made receives_carers_allowance true fixed (b1c4f95)
3 A fixture comment gave household income without pay as £5,098.80, not £5,198.80 with the Household Energy Payment fixed (b1c4f95)

It also measured the annual-flag limitation; the Carer's Allowance section now gives its effects as measured.

CI at 835a765 also failed two of main's State Pension tests on the merge ref: the Pension Tax Allowance threshold was uprated by the new State Pension amount, so a reform setting that amount to nil divided by zero. 7de3747 uprated it by the triple lock index instead.

CI at 7de3747 failed one of main's tests on the merge ref: test_guarantee_credit_boundary_matches_main froze a £1.01 step in household net income where guarantee credit ends in 2028, for an 85-year-old on private pension. The Pension Tax Allowance takes them out of Income Tax at that point, and Pension Credit counts income net of tax (pension_credit_income.py), so guarantee credit ends at £13,165 of private pension rather than £13,315 and the step is £1.61. With the allowance off it is main's £1.01. f51c6dc merges main and pins both cases.

Round 4 (GPT-6.1 Sol, at 7de3747) confirmed round 3's findings 2 and 3 resolved and finding 1 partly, and requested changes on three:

# Finding Status
1 A reform replacing carers_allowance_pre_couple_limit with positive amounts still lost the award in 2030-31: the shares rebuilt eligibility from the original rules fixed (d436a27)
2 7de3747's threshold no longer followed dated new State Pension rate reforms: £606 of tax on the full new State Pension at £300 a week fixed (d436a27): the threshold is 52 × the weekly rate
3 The £0.01 cutoff dropped a real penny (£5,000.01 stored as £5,000.0098) fixed (d436a27): the cutoff is half a penny

It also flagged two wording points: the assumptions page implied the couple restriction applies to a supplied carers_allowance_pre_overlap, and this body still named the old uprater. Both are fixed.

Round 5 (GPT-6.1 Sol, at f51c6dc) confirmed round 4's findings 2 and 3 resolved, checked the £1.61 Pension Credit step (£5 less £2 of Pension Credit, £1.06 of Housing Benefit and £0.33 of Council Tax Reduction; £1.01 with the allowance off), found no deleted-parameter readers, and requested changes on one:

# Finding Status
1 Telling the model's amounts from a reform's by value fails: a reform changing only the partner's award before the couple limit, or setting carers_allowance_pre_overlap to the model's own amounts, took off only the taper share of the head's State Pension (£200.55 too much paid) fixed (bffa9e8): each stage checks the earlier stage's formula, not its value, and the payment checks both

It also noted that #2726 leaves round 1's finding 7 to #2543; the round 1 table now says so. And £13,318.97 leaves a fraction of a penny (the end is £13,318.973), so the taper line now says £13,318.98.

Round 6 is running at bffa9e8.

Differences from the dashboard

The dashboard (#290) carries its own copies of these measures. They differ from this PR in:

  • the 2030-31 Carer's Allowance overlap (finding 1 applies there too);
  • the Household Energy Payment in HBAI;
  • the PTA's State Pension age test (the dashboard's is_SP_age is reached by 6 October; this PR and the explainer use the tax year);
  • LPG and natural gas, which the dashboard doesn't change;
  • the electricity VAT April to June weighting (above).

A list with effects goes to #290 separately.

Impact

Not run yet. To follow on this PR.

Checks

  • Trading allowance, savings and property, fuel duty, electricity VAT, Household Energy Payment: run locally per measure (YAML and Python tests listed in the closed PRs)
  • Pension Tax Allowance, Carer's Allowance taper: YAML suites for income tax, UC, benefit cap, Pension Credit, Treasury and the Budget reforms (1,547 passed), plus the Python files listed
  • CI at d4f803b failed in six older test files that pinned pre-Budget values: the 22% property and savings rates (property rate reforms, finance cost relief accounting, the savings starting rate path, the ISA cash interest charge), the £1,000 trading allowance in pension relief, and household_benefits without the Household Energy Payment. e5e8942 moves them to the Budget values; the six files pass locally (137 tests)
  • Review round 1 fixes: Carer's Allowance taper (16 passed), savings and property properties (5), fuel duty and excise (84 Python, 18 YAML), HBAI and Household Energy Payment lists (39 Python), DWP and Treasury YAML (813)
  • EFO update: Update the economic assumptions to the October 2026 EFO #2717
  • CI green
  • CI at 1386278: the YAML job failed 8 cases in 4 files (uc_statutory_pay, warm_home_discount, hbai_property_income, trading_loss_household_income). Each pinned 2026 HBAI income for a band D household in England without the £100 Household Energy Payment, which round 1 moved into HBAI; 835a765 adds it and fixes the comments that said HBAI leaves it out
  • Review round 2 fixes: carer, savings and property, and fuel duty Python tests (439 passed); full YAML suite (5,177 passed); carer YAML (778 passed)
  • Review round 3 fixes: carer taper Python tests (31 passed; the 10 new ones fail on 835a765); full YAML suite (5,177 passed)
  • CI at 835a765: Python shards 2 and 4 failed test_state_pension_components.py (a nil new State Pension rate divided by zero in the Pension Tax Allowance threshold's uprating); 7de3747 fixes it, and on a local merge with main that file and the PTA properties pass (38 tests)
  • Review round 4 fixes: carer taper Python tests (39 passed; the 2030-31 replacement cases and the £5,000.01 cases fail on 7de3747), PTA Python tests (11 passed; the dated-reform and any-rate cases fail on 7de3747), PTA YAML (15 passed), full YAML suite (5,177 passed); on a local merge with main, the carer, PTA, State Pension and triple lock Python tests (272 passed)
  • CI at 7de3747: Python shard 6 failed main's test_guarantee_credit_boundary_matches_main (the 2028 step where guarantee credit ends moves from £1.01 to £1.61 under the allowance); f51c6dc merges main and pins both cases, which pass locally (3 tests)
  • Independent review (round 5 running)
  • rulespec-uk parity issues

Reproducer: policyengine_uk/tests/policy/reforms/oct_2026_budget/savings_property_income_rates.yaml; policyengine_uk/tests/policy/reforms/oct_2026_budget/pension_tax_allowance.yaml; policyengine_uk/tests/test_carers_allowance_earnings_taper.py::test_ten_pounds_over_the_limit_takes_ten_pounds_off; policyengine_uk/tests/test_fuel_duty_schedule.py::test_scheduled_rate_on_each_date; policyengine_uk/tests/test_domestic_electricity_vat.py::test_rates_change_on_each_scheduled_date; policyengine_uk/tests/policy/baseline/gov/treasury/household_energy_payment/household_energy_payment.yaml; policyengine_uk/tests/policy/baseline/gov/hmrc/income_tax/allowances/trading_allowance_deduction.yaml

axiom: queued (rulespec-uk issues to follow; Budget 2026 measures are not yet legislated)

🤖 Generated with Claude Code

MaxGhenis and others added 5 commits October 28, 2026 11:18
Budget 2026 paragraph 6.254 and the policy costings (page 23) raise the
Income Tax trading allowance from £1,000 to £3,000 from 6 April 2027,
to be legislated in Finance Bill 2026-27 (Table 6.1, item 15).

The £1,000 YAML cases move to 2026-27; new 2027-28 cases cover full
relief at £3,000, the cliff just above it, partial relief and expenses
above the allowance. The property test's allowance and boundary draws
move to £3,000.

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

Budget 2026 paragraphs 6.246 and 6.247 add 2 percentage points to the
savings and property rates from 6 April 2027, on top of Budget 2025's
22%, 42% and 47%: 24%, 44% and 49% (Table 6.1, items 61 and 62).
Property rates apply in England, Wales and Northern Ireland, which the
model already does (Scottish taxpayers' property income stays on the
Scottish rates); savings rates apply UK-wide.

Finance cost relief reads the property basic rate, so it rises to 24%,
as the costing note says. The ISA cash-interest charge reads the
savings basic rate (SI 2026/1018 reg. 22A(3)), so it rises too.

Tests: hard-coded 22/42/47% expectations recomputed at 24/44/49%; new
Budget 2026 YAML cases for each band and country; property tests for
the exact 2-point rise, Scotland's exclusion from property rates,
UK-wide savings rates and the finance cost relief bound.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Budget 2026 (paragraph 6.211; policy costings page 13) extends the 5p cut
from 1 January 2027 to 1 July 2027. On that date rates rise by 5p and are
uprated by RPI, then by RPI each 1 April from 2028. Other road fuels keep a
proportionate cut to the same date.

- petrol_and_diesel.yaml: 52.95p to 30 June 2027; the January and March
  2027 steps are gone. The generator now uprates the 57.95p pre-cut rate by
  2026 RPI on 1 July 2027, then each 1 April from 2028.
- lpg.yaml, natural_gas.yaml: full rates from 1 July 2027.
- Tests and the excise duty engineering note follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Budget 2026)

Budget 2026 (paragraph 6.210; policy costings page 12) extends the
temporary 0% rate from 31 March 2027 to 1 July 2027, and expects it to
apply UK-wide from April 2027 (section 4.3: "Extended VAT relief is
expected to apply in Northern Ireland from April 2027").

- great_britain.yaml: 5% returns on 1 July 2027, not 1 April.
- northern_ireland.yaml: 0% from 1 April to 30 June 2027.
- Tests follow the new day weights: FY 2026-27 GB 178/365 at 5%, NI
  360/365; FY 2027-28 280/366 at 5% in every nation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Budget 2026 (paragraph 6.24; section 4.3; Table 6.1 item 1) gives £100 to
households in council tax bands A to D in England, delivered by local
authorities from January 2027. The devolved governments get a Barnett
share instead, which the model does not allocate.

- Parameters gov.treasury.household_energy_payment.{amount, bands,
  countries}: £100 in model year 2026 only, bands A to D, England.
- Variable household_energy_payment, counted in household_benefits,
  gov_spending and pre_budget_change_household_benefits as the Energy
  Bills Rebate is, with its own fiscal partition head and programme entry.
- council_tax_band defaults to D, so 2026 England fixtures with no band
  now carry the £100; their expected totals are updated and say so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits October 28, 2026 12:13
From 6 April 2027 to 5 April 2030, people over State Pension age, or
reaching it within the tax year, get a non-refundable Step 6 Income Tax
reduction of 20% of the full new State Pension above the Personal
Allowance, rounded up to the pound (£94 in 2027-28), tapered by £1 for
every £3 of total income above the full new State Pension (Budget 2026
paragraph 6.182, policy costings p. 63, HM Treasury explainer).

Each Step 6 reduction is capped at the tax the earlier ones leave
(utils/income_tax_reductions.py); finance cost relief now uses the same
helper. Universal Credit's deduction for tax on earnings reads
income_tax_subtractions, so it sees the allowance.

Also pins the Household Energy Payment outside HBAI income, as the 2022
council tax rebate is.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Budget 2026 (paragraph 6.13, costings p. 16) replaces the withdrawal of
Carer's Allowance in full above the weekly earnings limit with a 100%
taper on the earnings above it, in England and Wales, from a date within
2030-31. Until DWP confirms the date the taper starts on 6 October 2030;
the day-weighted share gives 2030-31 182 of its 365 days.

The weekly excess over the limit is a variable of its own, which the
gainful-employment test now reads.

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

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Aggregate impact on certified data: pass

Base 2475bf58a8 against head 2eeaa95cef, both on enhanced_frs_2024_25.h5 (policyengine-uk-data 1.58.1, sha256 056e80fd8e91), fiscal years 2025-26 to 2031-32. Each year is a full microsimulation run on each side.

Checks: 0 broken by this change, 1 failing on both sides, 0 fixed. Moves flagged for review: 115 (thresholds in report_spec.yaml; a flag does not fail the job).

Workflow run and full report

New warnings

  • Household Energy Payment is not zero for every unit (inert:household_energy_payment): 2025-26: zero for every unit; 2027-28: zero for every unit; 2028-29: zero for every unit

Notes

  • This change edits the fiscal partition; review the partition diff alongside the moves it explains.
  • In the years a figure from fewer than 10 records is suppressed (spending.disabled_students_allowance), every total containing it, and the decile incomes, are rebuilt from their other components, so no published total includes it. Those totals are marked †. A change is withheld where the two sides leave out different figures and can't be lined up.
  • Household Energy Payment (spending.household_energy_payment) is measured on the head only.
  • Household Energy Payment (caseloads.household_energy_payment) is measured on the head only.

Moves flagged for review

Measure Year Base Head Change
Decile 9: mean household_net_income per household 2027-28 £82,828 £80,877 -£1,951
Decile 9: mean household_net_income per household 2028-29 £84,135 £82,192 -£1,943
Decile 10: mean household_net_income per household 2027-28 £121,933 £124,664 +£2,730
Decile 10: mean household_net_income per household 2028-29 £124,163 £126,783 +£2,619
Decile 9: mean household_net_income per household 2029-30 £85,539 £83,778 -£1,761
Decile 10: mean household_net_income per household 2029-30 £126,045 £128,320 +£2,275
Government balance, each receipt once 2026-27 £398.03bn £395.44bn -£2.59bn
gov_balance 2026-27 £398.03bn £395.44bn -£2.59bn
Income tax 2030-31 £383.53bn £385.68bn +£2.15bn
Income tax 2031-32 £401.03bn £403.27bn +£2.24bn
Decile 9: mean household_net_income per household 2030-31 £87,053 £86,582 -£471
Income tax 2027-28 £335.60bn £337.41bn +£1.81bn
Income tax 2028-29 £350.52bn £352.35bn +£1.84bn
Decile 1: mean household_net_income per household 2026-27 £17,906 £17,997 +£91
Income tax 2029-30 £365.79bn £367.65bn +£1.86bn
Government balance, each receipt once 2028-29 £455.77bn £458.03bn +£2.26bn
gov_balance 2028-29 £455.77bn £458.03bn +£2.26bn
Government balance, each receipt once 2030-31 £513.70bn £516.21bn +£2.52bn
gov_balance 2030-31 £513.70bn £516.21bn +£2.52bn
Government balance, each receipt once 2031-32 £545.72bn £548.34bn +£2.62bn
gov_balance 2031-32 £545.72bn £548.34bn +£2.62bn
Government balance, each receipt once 2029-30 £486.32bn £488.62bn +£2.30bn
gov_balance 2029-30 £486.32bn £488.62bn +£2.30bn
Fuel duties 2026-27 £24.64bn £24.18bn -£457.9m
Fuel duties 2027-28 £26.64bn £26.21bn -£425.5m
Decile 6: mean household_net_income per household 2028-29 £51,914 £51,698 -£216
pre_budget_change_household_tax 2030-31 £618.05bn £620.57bn +£2.52bn
pre_budget_change_household_tax 2031-32 £644.75bn £647.37bn +£2.62bn
household_tax 2030-31 £627.65bn £630.17bn +£2.52bn
household_tax 2031-32 £654.69bn £657.30bn +£2.62bn
pre_budget_change_household_tax 2028-29 £568.63bn £570.84bn +£2.21bn
gov_spending 2026-27 £543.83bn £545.94bn +£2.11bn
household_benefits 2026-27 £543.83bn £545.94bn +£2.11bn
Government spending 2026-27 £543.83bn £545.94bn +£2.11bn
household_tax 2028-29 £577.74bn £579.96bn +£2.21bn
Raise the State Pension by 10% 2029-30 £-8.43bn £-8.81bn -£378.2m
Fuel duties 2028-29 £26.69bn £27.07bn +£377.4m
pre_budget_change_household_tax 2029-30 £593.98bn £596.22bn +£2.24bn
Fuel duties 2031-32 £26.35bn £26.73bn +£376.0m
Fuel duties 2029-30 £26.42bn £26.79bn +£375.9m

75 more flags are in the report artifact.

Receipts by tax head

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Income tax 0 0 +£1.81bn +£1.84bn +£1.86bn +£2.15bn +£2.24bn
Capital gains tax 0 0 -£19,052 -£17,068 -£16,859 -£15,182 -£13,357
VAT excluding private school fees 0 -£19.1m -£327.8m 0 0 0 0
VAT on private school fees 0 0 +£3.5m +£0.4m +£0.3m +£0.8m +£2.8m
Fuel duties 0 -£457.9m -£425.5m +£377.4m +£375.9m +£368.1m +£376.0m
TV licence fee 0 0 0 0 +£0.1m -£28,038 -£28,105

Spending by benefit and service

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Pension Credit 0 0 -£10.9m -£23.2m -£38.7m +£30,813 +£53,088
Universal Credit 0 0 -£0.8m -£0.8m -£0.4m -£19.4m -£34.6m
Housing Benefit 0 0 -£1.1m -£17.3m -£19.4m +£556 +£581
Council Tax Reduction 0 0 -£77,142 -£0.2m -£0.4m +£25,772 +£29,346
Carer's Allowance 0 0 0 0 0 +£19.5m +£34.8m
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Household Energy Payment (new: head levels) £0.00bn £2.11bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn

Caseloads

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Pension Credit 0 0 0 -2.3k -3.1k +156 +156
Housing Benefit 0 0 -267 -1.6k -1.6k 0 0
Council Tax Reduction 0 0 0 -330 -332 0 0
Carer's Allowance 0 0 0 0 0 +15.2k +15.2k
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Household Energy Payment (new: head levels) 0k 21,091k 0k 0k 0k 0k 0k

Government balance, each component counted once

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Government receipts, each component once 0 -£477.0m +£1.06bn +£2.22bn +£2.24bn +£2.52bn +£2.62bn
Government spending 0 † +£2.11bn † -£12.9m † -£41.6m † -£58.9m † +£0.2m † +£0.3m †
Government balance, each receipt once 0 † -£2.59bn † +£1.07bn † +£2.26bn † +£2.30bn † +£2.52bn † +£2.62bn †

Model totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
gov_tax 0 -£477.0m +£1.06bn +£2.22bn +£2.24bn +£2.52bn +£2.62bn
household_tax 0 -£457.9m +£1.38bn +£2.21bn +£2.24bn +£2.52bn +£2.62bn
pre_budget_change_household_tax 0 -£457.9m +£1.38bn +£2.21bn +£2.24bn +£2.52bn +£2.62bn
gov_spending 0 † +£2.11bn † -£12.9m † -£41.6m † -£58.9m † +£0.2m † +£0.3m †
household_benefits 0 † +£2.11bn † -£12.9m † -£41.6m † -£58.9m † +£0.2m † +£0.3m †
gov_balance 0 † -£2.59bn † +£1.07bn † +£2.26bn † +£2.30bn † +£2.52bn † +£2.62bn †

Household income totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Household net income 0 † +£2.57bn † -£1.39bn † -£2.26bn † -£2.30bn † -£2.52bn † -£2.62bn †
Household net income (HBAI definition) 0 +£2.10bn -£1.82bn -£1.88bn -£1.92bn -£2.15bn -£2.24bn

Poverty rates

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Absolute poverty, before housing costs: everyone 0 -0.13pp +0.00pp +0.00pp -0.00pp +0.00pp +0.00pp
Absolute poverty, before housing costs: children 0 -0.06pp 0 0 0 +0.00pp +0.01pp
Absolute poverty, before housing costs: working-age adults 0 -0.16pp +0.00pp 0 -0.00pp +0.00pp +0.00pp
Absolute poverty, before housing costs: pensioners 0 -0.13pp +0.01pp +0.00pp -0.02pp 0 0
Absolute poverty, after housing costs: everyone 0 -0.10pp -0.00pp -0.00pp -0.02pp -0.01pp -0.01pp
Absolute poverty, after housing costs: children 0 -0.09pp 0 +0.00pp -0.03pp -0.02pp -0.02pp
Absolute poverty, after housing costs: working-age adults 0 -0.10pp -0.00pp -0.00pp -0.01pp -0.00pp -0.00pp
Absolute poverty, after housing costs: pensioners 0 -0.09pp -0.01pp -0.01pp -0.07pp -0.00pp 0
Relative poverty, before housing costs: everyone 0 -0.06pp -0.00pp -0.00pp +0.03pp -0.01pp +0.08pp
Relative poverty, before housing costs: children 0 -0.06pp 0 0 +0.07pp -0.01pp +0.21pp
Relative poverty, before housing costs: working-age adults 0 -0.07pp 0 -0.00pp +0.03pp -0.00pp +0.05pp
Relative poverty, before housing costs: pensioners 0 -0.06pp -0.00pp -0.02pp +0.00pp -0.01pp +0.00pp
Relative poverty, after housing costs: everyone 0 -0.04pp +0.08pp -0.00pp +0.00pp +0.00pp +0.00pp
Relative poverty, after housing costs: children 0 -0.03pp +0.21pp -0.00pp -0.00pp +0.00pp 0
Relative poverty, after housing costs: working-age adults 0 -0.04pp +0.05pp -0.00pp +0.01pp +0.01pp +0.01pp
Relative poverty, after housing costs: pensioners 0 -0.05pp +0.05pp -0.01pp -0.00pp -0.01pp -0.01pp

People in poverty

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Absolute poverty, before housing costs: everyone 0 -91.4k +1.6k +87 -2.1k +1.6k +2.3k
Absolute poverty, before housing costs: children 0 -9.0k 0 0 0 +452 +1.2k
Absolute poverty, before housing costs: working-age adults 0 -66.8k +8 0 -180 +1.2k +1.2k
Absolute poverty, before housing costs: pensioners 0 -15.6k +1.6k +87 -1.9k 0 0
Absolute poverty, after housing costs: everyone 0 -66.8k -1.6k -107 -15.0k -4.0k -3.7k
Absolute poverty, after housing costs: children 0 -13.1k 0 +625 -4.0k -2.9k -2.9k
Absolute poverty, after housing costs: working-age adults 0 -42.6k -859 -74 -2.7k -878 -880
Absolute poverty, after housing costs: pensioners 0 -11.1k -770 -658 -8.3k -298 0
Relative poverty, before housing costs: everyone 0 -44.5k -19 -2.8k +22.4k -5.2k +53.7k
Relative poverty, before housing costs: children 0 -8.6k 0 0 +10.0k -2.3k +31.9k
Relative poverty, before housing costs: working-age adults 0 -28.9k 0 -21 +12.2k -1.5k +21.4k
Relative poverty, before housing costs: pensioners 0 -7.0k -19 -2.8k +230 -1.4k +450
Relative poverty, after housing costs: everyone 0 -26.8k +57.1k -1.6k +1.7k +2.1k +2.0k
Relative poverty, after housing costs: children 0 -4.1k +31.3k -407 -76 +45 0
Relative poverty, after housing costs: working-age adults 0 -16.3k +20.1k -548 +2.3k +2.7k +2.6k
Relative poverty, after housing costs: pensioners 0 -6.4k +5.6k -680 -456 -712 -671

Inequality

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Gini coefficient, equivalised HBAI income before housing costs 0 -0.0005 -0.0005 -0.0006 -0.0006 -0.0006 -0.0006

Mean household net income in each side's own deciles

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Decile 1: mean household_net_income per household 0 † +£91 † +£6.71 † -£58 † +£16 † -£13 † -£16 †
Decile 2: mean household_net_income per household 0 † +£56 † +£21 † +£38 † -£18 † -£18 † -£24 †
Decile 3: mean household_net_income per household 0 † +£130 † -£34 † -£21 † -£8.34 † -£25 † -£15 †
Decile 4: mean household_net_income per household 0 † +£65 † -£71 † +£24 † -£13 † +£17 † -£56 †
Decile 5: mean household_net_income per household 0 † -£15 † +£145 † -£96 † -£13 † -£19 † -£44 †
Decile 6: mean household_net_income per household 0 † +£73 † -£5.86 † -£216 † +£0.77 † +£95 † -£13 †
Decile 7: mean household_net_income per household 0 † +£80 † +£4.43 † +£111 † -£49 † -£176 † +£61 †
Decile 8: mean household_net_income per household 0 † +£74 † -£53 † +£2.41 † -£42 † -£36 † +£24 †
Decile 9: mean household_net_income per household 0 † +£28 † -£1,951 † -£1,943 † -£1,761 † -£471 † -£100 †
Decile 10: mean household_net_income per household 0 † +£87 † +£2,730 † +£2,619 † +£2,275 † -£451 † -£472 †

Standard reform costings (change in gov_balance)

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Raise basic rate by 1pp 0 +£1,123 -£8.7m -£1.6m -£7.8m -£5.0m -£7.2m
Raise higher rate by 1pp 0 +£533 -£4.7m +£0.8m +£1.9m -£58.1m -£0.7m
Raise personal allowance by ~800GBP/year 0 +£23,615 +£17.3m +£44.5m +£60.7m -£13.6m -£6.6m
Raise child benefit by 25GBP/week per additional child 0 -£715 -£54,670 +£5.7m -£0.2m -£0.4m -£2.3m
Reduce Universal Credit taper rate to 20% 0 +£38 +£45.1m +£47.5m +£0.9m +£0.8m -£0.9m
Raise Class 1 main employee NICs rate to 10% 0 +£1.1m -£3.5m +£2.7m -£19.2m suppressed suppressed
Raise VAT standard rate by 2pp 0 +£406 +£0.4m +£44,498 +£32,809 +£81,227 +£0.3m
Raise additional rate by 3pp 0 -£872 -£3.3m +£24.4m +£22.8m suppressed suppressed
Raise the Universal Credit standard allowance by 10% 0 +£0.9m +£0.2m +£4.1m -£18.6m -£9.2m -£1.4m
Raise the State Pension by 10% 0 +£1.6m -£242.6m -£313.9m -£378.2m +£0.8m -£60.7m

Standard reforms: change in each reform's target

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Raise basic rate by 1pp: change in income_tax 0 0 -£5.1m -£6.3m -£7.8m -£4.3m -£4.3m
Raise higher rate by 1pp: change in income_tax 0 0 -£1.1m -£1.2m -£1.2m -£1.2m -£1.0m
Raise personal allowance by ~800GBP/year: change in income_tax 0 0 +£28.6m +£58.9m +£82.6m -£13.8m -£5.9m
Reduce Universal Credit taper rate to 20%: change in universal_credit 0 0 -£0.7m -£0.8m -£1.2m -£1.3m -£1.2m
Raise Class 1 main employee NICs rate to 10%: change in national_insurance 0 0 0 0 0 suppressed suppressed
Raise VAT standard rate by 2pp: change in vat 0 -£137 +£792 0 0 0 0
Raise additional rate by 3pp: change in income_tax 0 0 -£0.1m -£0.1m -£0.1m suppressed suppressed
Raise the Universal Credit standard allowance by 10%: change in universal_credit 0 0 -£0 0 -£0.9m -£1.4m +£53

Household net income by decile

Mean change in household net income per household, and as a share of the decile's base income; households stay in the base run's deciles.

Base decile 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Decile 1 0 +£76 (+0.4%) +£10 (+0.1%) -£7 (-0.0%) -£2 (-0.0%) -£13 (-0.1%) -£13 (-0.1%)
Decile 2 0 +£89 (+0.3%) +£17 (+0.1%) -£12 (-0.0%) -£10 (-0.0%) -£16 (-0.1%) -£16 (-0.1%)
Decile 3 0 +£84 (+0.2%) +£9 (+0.0%) -£7 (-0.0%) -£2 (-0.0%) -£10 (-0.0%) -£10 (-0.0%)
Decile 4 0 +£89 (+0.2%) +£13 (+0.0%) -£14 (-0.0%) -£16 (-0.0%) -£14 (-0.0%) -£8 (-0.0%)
Decile 5 0 +£93 (+0.2%) +£15 (+0.0%) -£19 (-0.0%) -£14 (-0.0%) -£18 (-0.0%) -£25 (-0.1%)
Decile 6 0 +£88 (+0.2%) 0 -£12 (-0.0%) -£10 (-0.0%) -£19 (-0.0%) -£20 (-0.0%)
Decile 7 0 +£85 (+0.1%) +£1 (+0.0%) -£28 (-0.0%) -£30 (-0.1%) -£33 (-0.1%) -£33 (-0.1%)
Decile 8 0 +£80 (+0.1%) -£54 (-0.1%) -£63 (-0.1%) -£65 (-0.1%) -£67 (-0.1%) -£72 (-0.1%)
Decile 9 0 +£74 (+0.1%) -£66 (-0.1%) -£93 (-0.1%) -£97 (-0.1%) -£103 (-0.1%) -£111 (-0.1%)
Decile 10 0 +£66 (+0.1%) -£376 (-0.3%) -£448 (-0.4%) -£468 (-0.4%) -£484 (-0.4%) -£498 (-0.4%)
all 0 +£82 (+0.2%) -£45 (-0.1%) -£72 (-0.1%) -£73 (-0.1%) -£80 (-0.1%) -£83 (-0.1%)
Year People gaining over £1 People losing over £1
2025-26 0.0% 0.0%
2026-27 84.1% 0.0%
2027-28 45.1% 14.1%
2028-29 2.6% 57.1%
2029-30 3.0% 57.0%
2030-31 0.9% 58.2%
2031-32 0.9% 58.4%

No change in any year: population.

Checks failing on both base and head (1)
  • VAT excluding private school fees is never negative (sign:vat): 2025-26: 76 units below zero, a weighted £-53,889,156 in total; 2026-27: 76 units below zero, a weighted £-55,422,765 in total; 2027-28: 76 units below zero, a weighted £-56,658,977 in total
Counted-once check

Each of 92 components was raised by £1 per unit in 2026-27, and every head of its totals was read household by household: its own head must rise by exactly £1, no other tax head may move, no other benefit may rise, and the model's own total must move by what its heads moved. A head that breaks a rule is measured again twice: with every other head held at its baseline value, and with every other head held at its value after the first £1 while the component rises again. It fails where either still shows the response. 0 failed; 0 were skipped.

  • widowed_parents_allowance: pension_credit responds only through other heads in fewer than 10 households (other heads that moved there: carers_allowance; gov_spending; not a failure)
  • widowed_parents_allowance: pension_credit responds only through other heads in fewer than 10 households (other heads that moved there: carers_allowance; household_benefits; not a failure)
Provenance
Side Commit Runtime Environment hash Partition hash Time
base main 2475bf58a8 uk 2.164.0 (files 6e91d97dc6a2), core 3.33.12, py 3.13.18 aarch64 8eafc5aaa169 1eac2ca06b91 1942.37s
head #2719 merged into main 2eeaa95cef uk 2.164.0 (files aa88e115d979), core 3.33.12, py 3.13.18 aarch64 8eafc5aaa169 beb7035bea19 1965.56s

Dataset: hf://policyengine/policyengine-uk-data-private/enhanced_frs_2024_25.h5@2526edbbb687a3b54dbb11272e5389e4b62d2ac2, sha256 056e80fd8e9151d78f432a25cde863340baee81304c6216a37fb575ce8563784 (verified on both sides), policyengine-uk-data 1.58.1.

Receipts by tax head: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Final charge on cash interest in non-cash ISAs £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Lifetime ISA withdrawal charge £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Income tax £298.70bn £318.31bn £337.41bn £352.35bn £367.65bn £385.68bn £403.27bn
National Insurance (employee and self-employed) £52.37bn £54.71bn £56.48bn £58.15bn £60.22bn £62.11bn £64.44bn
National Insurance (employer) £150.59bn £156.99bn £161.74bn £166.13bn £173.24bn £178.59bn £185.29bn
Employer NI change borne by capital £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Employer NI change borne by consumers £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Capital gains tax £12.61bn £13.05bn £13.53bn £14.02bn £14.52bn £15.05bn £15.58bn
Student loan repayments £7.91bn £8.21bn £8.43bn £8.63bn £8.85bn £9.10bn £9.42bn
VAT excluding private school fees £249.37bn £255.26bn £261.48bn £267.87bn £274.12bn £280.56bn £286.81bn
Change in VAT from its baseline £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
VAT on private school fees £1.95bn £2.00bn £2.05bn £2.10bn £2.21bn £2.21bn £2.32bn
Change in private school VAT from its baseline £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Fuel duties £24.53bn £24.18bn £26.21bn £27.07bn £26.79bn £26.13bn £26.73bn
Alcohol duties £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Tobacco duties £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Vehicle excise duties £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Betting and gaming duties £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
TV licence fee £4.26bn £4.41bn £4.42bn £4.44bn £4.45bn £4.47bn £4.48bn
Council tax £49.21bn £51.88bn £54.97bn £58.29bn £61.55bn £64.92bn £68.49bn
High value council tax surcharge £0.00bn £0.00bn £0.00bn £0.48bn £0.49bn £0.50bn £0.51bn
Northern Ireland domestic rates £0.55bn £0.58bn £0.60bn £0.63bn £0.66bn £0.69bn £0.72bn
Business rates £34.68bn £38.04bn £38.88bn £39.76bn £43.07bn £43.13bn £44.57bn
Stamp duty land tax on the household's own purchases £6.90bn £7.39bn £7.81bn £8.21bn £8.62bn £9.02bn £9.42bn
Stamp duty land tax paid by companies £4.81bn £5.98bn £6.73bn £7.46bn £8.21bn £8.87bn £9.16bn
Land transaction tax (Wales) £0.07bn £0.08bn £0.09bn £0.09bn £0.10bn £0.10bn £0.11bn
Land and buildings transaction tax (Scotland) £0.31bn £0.32bn £0.34bn £0.35bn £0.37bn £0.38bn £0.40bn
Unspecified tax change borne by capital £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Unspecified tax change borne by consumers £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Wealth tax £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Wealth tax excluding the main residence £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Land value tax £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Carbon tax £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Spending by benefit and service: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Lifetime ISA bonus £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
State Pension £121.64bn £126.07bn £127.08bn £128.87bn £132.52bn £136.31bn £140.08bn
Pension Credit £6.66bn £7.04bn £7.31bn £7.44bn £7.56bn £7.77bn £7.94bn
Winter Fuel Payment £1.86bn £1.86bn £1.80bn £1.78bn £1.79bn £1.79bn £1.80bn
Pension Age Winter Heating Payment (Scotland) £0.19bn £0.20bn £0.20bn £0.21bn £0.21bn £0.22bn £0.22bn
Universal Credit £75.21bn £80.38bn £82.93bn £84.23bn £85.57bn £86.85bn £87.93bn
Housing Benefit £8.55bn £8.89bn £9.17bn £9.29bn £9.56bn £9.84bn £10.10bn
Council Tax Reduction £2.07bn £2.18bn £2.32bn £2.46bn £2.60bn £2.74bn £2.89bn
Employment and Support Allowance (income-related) £0.79bn £0.81bn £0.83bn £0.85bn £0.86bn £0.89bn £0.90bn
Employment and Support Allowance (contribution-based) £5.20bn £5.34bn £5.46bn £5.59bn £5.72bn £5.85bn £5.99bn
Jobseeker's Allowance (income-based) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Jobseeker's Allowance (contribution-based) £0.29bn £0.30bn £0.30bn £0.31bn £0.32bn £0.32bn £0.33bn
Income Support £0.11bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Working Tax Credit £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Child Tax Credit £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Incapacity Benefit £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Personal Independence Payment £26.94bn £28.06bn £29.13bn £29.83bn £30.54bn £31.26bn £31.96bn
Disability Living Allowance £7.49bn £7.80bn £8.10bn £8.29bn £8.49bn £8.69bn £8.88bn
Attendance Allowance £8.68bn £9.04bn £9.38bn £9.61bn £9.83bn £10.07bn £10.29bn
Carer's Allowance £4.48bn £4.67bn £4.84bn £4.96bn £5.08bn £5.21bn £5.34bn
Carer Support Payment (Scotland) £0.31bn £0.32bn £0.33bn £0.34bn £0.35bn £0.36bn £0.37bn
Carer's Allowance Supplement (Scotland) £0.00bn £0.04bn £0.05bn £0.05bn £0.05bn £0.05bn £0.05bn
Severe Disablement Allowance £0.03bn £0.03bn £0.03bn £0.03bn £0.03bn £0.03bn £0.03bn
Industrial Injuries Disablement Benefit £0.50bn £0.52bn £0.53bn £0.54bn £0.55bn £0.57bn £0.58bn
Armed Forces Compensation Scheme £0.61bn £0.62bn £0.64bn £0.65bn £0.67bn £0.68bn £0.70bn
War Widow's or Widower's Pension £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Child Benefit £16.16bn £16.83bn £17.43bn £17.85bn £18.26bn £18.69bn £19.10bn
Scottish Child Payment £0.49bn £0.52bn £0.54bn £0.55bn £0.56bn £0.57bn £0.56bn
Two Child Limit Payment (Scotland, counterfactual) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Healthy Start vouchers £0.05bn £0.05bn £0.05bn £0.05bn £0.05bn £0.05bn £0.05bn
Maternity Allowance £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Maternity Pay £3.30bn £3.39bn £3.47bn £3.55bn £3.63bn £3.72bn £3.80bn
Statutory Paternity Pay £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Sick Pay £1.12bn £1.15bn £1.18bn £1.21bn £1.24bn £1.27bn £1.29bn
Sure Start Maternity Grant £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn
Bereavement Support Payment £0.67bn £0.69bn £0.70bn £0.72bn £0.73bn £0.75bn £0.77bn
Widowed Parent's Allowance £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Tax-Free Childcare £0.55bn £0.56bn £0.57bn £0.58bn £0.59bn £0.61bn £0.59bn
Extended childcare entitlement £2.99bn £3.50bn £3.60bn £3.67bn £3.77bn £3.85bn £3.94bn
Universal childcare entitlement £2.05bn £2.23bn £2.28bn £2.34bn £2.40bn £2.47bn £2.52bn
Targeted childcare entitlement £0.50bn £0.51bn £0.52bn £0.53bn £0.54bn £0.56bn £0.52bn
Childcare Offer for Wales £0.26bn £0.28bn £0.28bn £0.29bn £0.30bn £0.30bn £0.31bn
Care to Learn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Childcare Grant £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Parents' Learning Allowance £0.20bn £0.20bn £0.20bn £0.20bn £0.20bn £0.20bn £0.20bn
Adult Dependants' Grant £0.06bn £0.06bn £0.04bn £0.04bn £0.04bn £0.04bn £0.04bn
Travel Grant £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
16 to 19 Bursary Fund £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
NHS spending £203.83bn £204.54bn £205.13bn £205.79bn £206.49bn £207.23bn £207.73bn
State education spending £0.02bn £0.02bn £0.02bn £0.02bn £0.02bn £0.02bn £0.02bn
Transport subsidy spending £25.05bn £25.13bn £25.21bn £25.29bn £25.37bn £25.46bn £25.53bn
Cost-of-living support payment £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Energy Bills Rebate £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Household Energy Payment £0.00bn £2.11bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Energy Price Guarantee subsidy £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Basic income £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Disability basic income £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Other public spending budget change £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Caseloads: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Lifetime ISA bonus 0k 0k 0k 0k 0k 0k 0k
State Pension 11,261k 11,158k 10,849k 10,746k 10,783k 10,822k 10,848k
Pension Credit 1,485k 1,483k 1,480k 1,458k 1,459k 1,464k 1,461k
Winter Fuel Payment 7,842k 7,793k 7,494k 7,407k 7,432k 7,459k 7,477k
Pension Age Winter Heating Payment (Scotland) 803k 803k 803k 800k 803k 806k 808k
Universal Credit 6,334k 6,341k 6,366k 6,347k 6,345k 6,333k 6,298k
Housing Benefit 1,249k 1,247k 1,249k 1,233k 1,236k 1,240k 1,239k
Council Tax Reduction 3,175k 3,198k 3,209k 3,229k 3,244k 3,257k 3,264k
Employment and Support Allowance (income-related) 71k 71k 71k 71k 71k 72k 72k
Employment and Support Allowance (contribution-based) 719k 721k 723k 726k 728k 731k 732k
Jobseeker's Allowance (income-based) 0k 0k 0k 0k 0k 0k 0k
Jobseeker's Allowance (contribution-based) 67k 67k 67k 68k 68k 68k 68k
Income Support 25k 0k 0k 0k 0k 0k 0k
Working Tax Credit 0k 0k 0k 0k 0k 0k 0k
Child Tax Credit 0k 0k 0k 0k 0k 0k 0k
Incapacity Benefit 0k 0k 0k 0k 0k 0k 0k
Personal Independence Payment 3,566k 3,579k 3,589k 3,601k 3,613k 3,626k 3,635k
Disability Living Allowance 1,291k 1,295k 1,299k 1,303k 1,308k 1,312k 1,316k
Attendance Allowance 1,694k 1,700k 1,705k 1,711k 1,716k 1,723k 1,727k
Carer's Allowance 1,034k 1,038k 1,041k 1,044k 1,048k 1,066k 1,068k
Carer Support Payment (Scotland) 71k 71k 72k 72k 72k 72k 73k
Carer's Allowance Supplement (Scotland) 0k 71k 72k 72k 72k 72k 73k
Severe Disablement Allowance 4k 4k 4k 4k 4k 4k 4k
Industrial Injuries Disablement Benefit 137k 137k 138k 138k 139k 139k 140k
Armed Forces Compensation Scheme 93k 93k 94k 94k 94k 95k 95k
War Widow's or Widower's Pension 0k 0k 0k 0k 0k 0k 0k
Child Benefit 8,102k 8,128k 8,142k 8,165k 8,191k 8,216k 8,232k
Scottish Child Payment 350k 352k 353k 357k 354k 355k 342k
Two Child Limit Payment (Scotland, counterfactual) 0k 0k 0k 0k 0k 0k 0k
Healthy Start vouchers 199k 200k 201k 201k 202k 203k 203k
Maternity Allowance 0k 0k 0k 0k 0k 0k 0k
Statutory Maternity Pay 332k 334k 335k 336k 337k 338k 339k
Statutory Paternity Pay 0k 0k 0k 0k 0k 0k 0k
Statutory Sick Pay 181k 182k 182k 183k 183k 184k 185k
Sure Start Maternity Grant 26k 26k 26k 26k 26k 27k 27k
Bereavement Support Payment 98k 98k 98k 99k 99k 99k 100k
Widowed Parent's Allowance 0k 0k 0k 0k 0k 0k 0k
Tax-Free Childcare 1,014k 1,024k 1,024k 1,027k 1,027k 1,031k 1,013k
Extended childcare entitlement 796k 801k 806k 809k 815k 819k 820k
Universal childcare entitlement 1,071k 1,074k 1,077k 1,080k 1,086k 1,096k 1,097k
Targeted childcare entitlement 165k 156k 154k 155k 155k 156k 144k
Childcare Offer for Wales 39k 39k 39k 39k 39k 39k 39k
Care to Learn 0k 0k 0k 0k 0k 0k 0k
Childcare Grant 0k 0k 0k 0k 0k 0k 0k
Parents' Learning Allowance 98k 98k 99k 99k 99k 100k 100k
Adult Dependants' Grant 18k 18k 12k 12k 12k 13k 13k
Travel Grant 0k 0k 0k 0k 0k 0k 0k
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
16 to 19 Bursary Fund 0k 0k 0k 0k 0k 0k 0k
Cost-of-living support payment 0k 0k 0k 0k 0k 0k 0k
Energy Bills Rebate 0k 0k 0k 0k 0k 0k 0k
Household Energy Payment 0k 21,091k 0k 0k 0k 0k 0k
Energy Price Guarantee subsidy 0k 0k 0k 0k 0k 0k 0k
Basic income 0k 0k 0k 0k 0k 0k 0k
Disability basic income 0k 0k 0k 0k 0k 0k 0k
Government balance, each component counted once: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Government receipts, each component once £898.82bn £941.38bn £981.17bn £1,016.05bn £1,055.13bn £1,091.53bn £1,131.72bn
Government spending £528.95bn † £545.94bn † £551.67bn † £558.02bn † £566.51bn † £575.31bn † £583.38bn †
Government balance, each receipt once £369.87bn † £395.44bn † £429.50bn † £458.03bn † £488.62bn † £516.21bn † £548.34bn †
Benefits in household_benefits but not in gov_spending £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Model totals: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
gov_tax £898.82bn £941.38bn £981.17bn £1,016.05bn £1,055.13bn £1,091.53bn £1,131.72bn
household_tax £496.91bn £527.14bn £555.89bn £579.96bn £605.56bn £630.17bn £657.30bn
pre_budget_change_household_tax £489.00bn £518.93bn £547.46bn £570.84bn £596.22bn £620.57bn £647.37bn
gov_spending £528.95bn † £545.94bn † £551.67bn † £558.02bn † £566.51bn † £575.31bn † £583.38bn †
household_benefits £528.95bn † £545.94bn † £551.67bn † £558.02bn † £566.51bn † £575.31bn † £583.38bn †
gov_balance £369.87bn † £395.44bn † £429.50bn † £458.03bn † £488.62bn † £516.21bn † £548.34bn †
Household income totals: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Household market income £1,651.49bn £1,713.03bn £1,764.05bn £1,812.97bn £1,862.19bn £1,918.39bn £1,985.28bn
Household net income £1,644.42bn † £1,691.26bn † £1,718.15bn † £1,748.36bn † £1,779.38bn † £1,818.56bn † £1,864.78bn †
Household net income (HBAI definition) £1,457.29bn £1,506.59bn £1,535.76bn £1,567.48bn £1,600.75bn £1,638.34bn £1,684.80bn
Population: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
People 69,224k 69,466k 69,668k 69,891k 70,128k 70,381k 70,550k
Benefit units 35,100k 35,223k 35,325k 35,438k 35,558k 35,686k 35,772k
Households 31,037k 31,145k 31,236k 31,336k 31,442k 31,555k 31,631k
Poverty rates: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Absolute poverty, before housing costs: everyone 16.0% 14.9% 15.4% 15.5% 15.6% 15.7% 15.7%
Absolute poverty, before housing costs: children 24.0% 21.1% 21.3% 21.3% 21.5% 21.8% 21.8%
Absolute poverty, before housing costs: working-age adults 13.8% 13.3% 13.9% 14.1% 14.1% 14.2% 14.2%
Absolute poverty, before housing costs: pensioners 13.7% 13.0% 13.1% 13.4% 13.4% 13.5% 13.5%
Absolute poverty, after housing costs: everyone 21.4% 20.7% 21.3% 21.5% 21.7% 21.9% 22.2%
Absolute poverty, after housing costs: children 33.0% 30.7% 31.1% 31.1% 31.4% 31.7% 32.2%
Absolute poverty, after housing costs: working-age adults 19.8% 19.5% 20.2% 20.5% 20.7% 20.8% 21.1%
Absolute poverty, after housing costs: pensioners 12.7% 12.3% 12.3% 12.5% 12.8% 12.9% 13.0%
Relative poverty, before housing costs: everyone 17.2% 16.4% 16.5% 16.4% 16.2% 16.3% 16.6%
Relative poverty, before housing costs: children 26.2% 23.4% 23.4% 23.1% 22.7% 22.7% 23.3%
Relative poverty, before housing costs: working-age adults 14.6% 14.3% 14.7% 14.7% 14.6% 14.6% 14.9%
Relative poverty, before housing costs: pensioners 15.0% 14.8% 14.1% 14.1% 14.0% 14.0% 14.2%
Relative poverty, after housing costs: everyone 21.6% 21.0% 21.2% 21.2% 21.3% 21.4% 21.8%
Relative poverty, after housing costs: children 33.3% 31.2% 31.0% 30.7% 31.0% 31.0% 31.5%
Relative poverty, after housing costs: working-age adults 19.9% 19.8% 20.1% 20.3% 20.4% 20.5% 20.7%
Relative poverty, after housing costs: pensioners 12.9% 12.4% 12.2% 11.9% 11.8% 11.9% 12.8%
People in poverty: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Absolute poverty, before housing costs: everyone 11,057k 10,374k 10,736k 10,860k 10,958k 11,055k 11,084k
Absolute poverty, before housing costs: children 3,580k 3,162k 3,210k 3,220k 3,261k 3,306k 3,318k
Absolute poverty, before housing costs: working-age adults 5,853k 5,679k 6,021k 6,123k 6,169k 6,211k 6,220k
Absolute poverty, before housing costs: pensioners 1,625k 1,534k 1,505k 1,517k 1,528k 1,539k 1,545k
Absolute poverty, after housing costs: everyone 14,847k 14,355k 14,806k 14,994k 15,227k 15,398k 15,634k
Absolute poverty, after housing costs: children 4,937k 4,596k 4,671k 4,686k 4,753k 4,811k 4,909k
Absolute poverty, after housing costs: working-age adults 8,406k 8,317k 8,731k 8,898k 9,022k 9,113k 9,239k
Absolute poverty, after housing costs: pensioners 1,504k 1,443k 1,403k 1,410k 1,452k 1,474k 1,486k
Relative poverty, before housing costs: everyone 11,896k 11,358k 11,468k 11,484k 11,395k 11,463k 11,706k
Relative poverty, before housing costs: children 3,918k 3,515k 3,519k 3,491k 3,429k 3,456k 3,548k
Relative poverty, before housing costs: working-age adults 6,202k 6,107k 6,338k 6,399k 6,378k 6,414k 6,536k
Relative poverty, before housing costs: pensioners 1,776k 1,737k 1,611k 1,594k 1,588k 1,594k 1,621k
Relative poverty, after housing costs: everyone 14,957k 14,570k 14,755k 14,824k 14,953k 15,044k 15,353k
Relative poverty, after housing costs: children 4,976k 4,673k 4,661k 4,634k 4,690k 4,712k 4,794k
Relative poverty, after housing costs: working-age adults 8,443k 8,439k 8,700k 8,846k 8,918k 8,979k 9,095k
Relative poverty, after housing costs: pensioners 1,537k 1,459k 1,393k 1,344k 1,345k 1,353k 1,464k
Inequality: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Gini coefficient, equivalised HBAI income before housing costs 0.3085 0.3054 0.3059 0.3065 0.3069 0.3075 0.3089
Mean household net income in each side's own deciles: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Decile 1: mean household_net_income per household £17,781 † £17,997 † £17,839 † £17,847 † £18,159 † £18,326 † £18,467 †
Decile 2: mean household_net_income per household £27,962 † £28,973 † £28,676 † £28,944 † £29,078 † £29,628 † £30,211 †
Decile 3: mean household_net_income per household £34,380 † £35,593 † £36,031 † £36,488 † £36,841 † £37,313 † £38,028 †
Decile 4: mean household_net_income per household £38,785 † £40,778 † £41,802 † £42,437 † £43,133 † £43,923 † £44,111 †
Decile 5: mean household_net_income per household £43,788 † £44,611 † £45,751 † £46,192 † £47,314 † £48,266 † £49,667 †
Decile 6: mean household_net_income per household £48,210 † £49,598 † £50,730 † £51,698 † £52,204 † £53,269 † £54,190 †
Decile 7: mean household_net_income per household £56,218 † £57,305 † £57,769 † £58,121 † £58,991 † £59,885 † £61,826 †
Decile 8: mean household_net_income per household £69,150 † £70,607 † £71,746 † £73,077 † £74,050 † £75,505 † £77,451 †
Decile 9: mean household_net_income per household £79,490 † £81,449 † £80,877 † £82,192 † £83,778 † £86,582 † £89,844 †
Decile 10: mean household_net_income per household £117,581 † £120,383 † £124,664 † £126,783 † £128,320 † £127,891 † £130,638 †
Standard reform costings (change in gov_balance): head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Raise basic rate by 1pp £6.47bn £6.76bn £6.66bn £6.86bn £7.05bn £7.34bn £7.54bn
Raise higher rate by 1pp £3.69bn £3.98bn £4.03bn £4.29bn £4.46bn £4.73bn £4.91bn
Raise personal allowance by ~800GBP/year £-3.82bn £-3.94bn £-3.99bn £-4.04bn £-4.12bn £-4.19bn £-2.01bn
Raise child benefit by 25GBP/week per additional child £-1.99bn £-1.75bn £-1.56bn £-1.45bn £-1.35bn £-1.23bn £-1.13bn
Reduce Universal Credit taper rate to 20% £-20.39bn £-20.96bn £-21.34bn £-21.57bn £-21.87bn £-22.17bn £-22.60bn
Raise Class 1 main employee NICs rate to 10% £11.02bn £11.42bn £11.77bn £12.07bn £12.35bn suppressed suppressed
Raise VAT standard rate by 2pp £24.89bn £25.55bn £26.14bn £26.75bn £27.39bn £28.03bn £28.66bn
Raise additional rate by 3pp £2.96bn £3.21bn £3.26bn £3.48bn £3.67bn suppressed suppressed
Raise the Universal Credit standard allowance by 10% £-3.05bn £-3.18bn £-3.29bn £-3.33bn £-3.40bn £-3.43bn £-3.48bn
Raise the State Pension by 10% £-7.79bn £-8.02bn £-8.25bn £-8.44bn £-8.81bn £-8.54bn £-8.93bn
Standard reforms: change in each reform's target: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Raise basic rate by 1pp: change in income_tax £6.61bn £6.91bn £6.83bn £7.02bn £7.23bn £7.46bn £7.72bn
Raise higher rate by 1pp: change in income_tax £3.69bn £3.99bn £4.04bn £4.25bn £4.47bn £4.74bn £4.93bn
Raise personal allowance by ~800GBP/year: change in income_tax £-3.95bn £-4.08bn £-4.14bn £-4.18bn £-4.26bn £-4.42bn £-1.76bn
Raise child benefit by 25GBP/week per additional child: change in child_benefit £2.33bn £2.14bn £1.95bn £1.84bn £1.73bn £1.62bn £1.50bn
Reduce Universal Credit taper rate to 20%: change in universal_credit £20.39bn £20.95bn £21.37bn £21.62bn £21.87bn £22.22bn £22.61bn
Raise Class 1 main employee NICs rate to 10%: change in national_insurance £11.28bn £11.74bn £12.06bn £12.37bn £12.69bn suppressed suppressed
Raise VAT standard rate by 2pp: change in vat £24.69bn £25.35bn £25.94bn £26.54bn £27.17bn £27.81bn £28.43bn
Raise additional rate by 3pp: change in income_tax £2.96bn £3.21bn £3.26bn £3.46bn £3.66bn suppressed suppressed
Raise the Universal Credit standard allowance by 10%: change in universal_credit £3.05bn £3.18bn £3.29bn £3.36bn £3.42bn £3.47bn £3.52bn
Raise the State Pension by 10%: change in state_pension £10.68bn £11.18bn £11.31bn £11.55bn £12.00bn £12.44bn £12.94bn

Five existing test files pinned values that Budget 2026 changes in
current law:

- the property basic rate and the savings rates from 2027-28 are 24%,
  not 22% (property income rate reforms, finance cost relief accounting,
  the savings starting rate path, and the ISA cash interest charge,
  which is at the savings basic rate in force for the year under
  SI 2026/1018 reg. 15);
- the trading allowance is £3,000 from 2027-28, which sets relevant UK
  earnings for pension relief;
- the Household Energy Payment is in household_benefits in 2026-27 but
  not in HBAI income.

The finance cost relief bound now reads the property basic rate from the
parameters and pins the uncapped case Hypothesis found.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From 6 October 2030 the Budget 2026 taper pays the rate less the earnings
above the limit in England and Wales, so a carer £1 over it keeps most of
the allowance. The case now checks only that the earnings count as gainful
employment; test_carers_allowance_earnings_taper.py checks the amounts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 6 commits October 28, 2026 14:28
The October 2026 EFO (paragraph 3.19) forecasts the 1 July 2027 rate at
60.59p: the 57.95p pre-cut rate uprated by RPI growth in the year to 2027
Q1. calculate_fuel_duty_rates.py now starts the schedule there
(CUT_END_RATE) instead of uprating 57.95p by calendar 2026 RPI, which gave
59.75p on the March EFO and would give 60.03p on the October one. Each
1 April step from 2028 still applies the previous calendar year's RPI.
This matches the duty path #2717 uses to derive road fuel volumes.

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

In 2030-31 the taper covers 182 of the year's 365 days, so a carer over
the earnings limit is paid in those weeks only. carers_allowance took a
full year of overlapping benefits off that part-year amount: a carer
earning £250 a week with £40 a week of State Pension got £0 instead of
182/365 x (rate - £46 - £40) x 52 = £234.54. The new
carers_allowance_share_of_year_payable gives the share of the year the
earnings condition lets the allowance be paid; the taper and the overlap
deduction both use it. Adds the worked case, full-year and below-limit
checks, and a property test of the weekly overlap rule over the paid
weeks.

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

The relief is limited to the tax left after earlier reductions. Where that
capped the Budget 2025 relief, the 2-point rise in the rates raises the
cap too, so the relief can rise by more than 2% of the costs: with £7,800
of other tax credits it goes from £86 to £240. The property test now
applies the 2-point bound only where the old relief was its full 22%, and
a worked test pins the capped case.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
HBAI counted the 2022 £150 Council Tax Rebate and the Energy Bills Support
Scheme as miscellaneous income (HBAI quality and methodology report FYE
2023), so the tests' premise that the rebate stayed out of HBAI was
wrong. The payment is the same kind of support to the same bands, so it
now raises hbai_household_net_income by £100. The variable and docs also
say who it goes to (the householder liable for council tax on their main
home, most exempt households included) and what the model cannot see:
households whose landlord is liable are paid.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Budget 2026 restores fuel duty on 1 July 2027 "uprated in line with
RPI", then each 1 April from 2028 (costings page 13), and LPG and natural
gas take the proportionate cut to the same date. Their full rates came
back unuprated. calculate_fuel_duty_rates.py now writes all three
schedules: the full rate times RPI growth to 2027 Q1 (4.5565%, which gives
the OBR's 60.59p for petrol and diesel) on 1 July 2027, then the previous
calendar year's RPI each April, with RPI uprating metadata after 2031. LPG
is 33.05p and natural gas 25.83p from 1 July 2027. Also corrects the
petrol schedule's comment, which still described the calendar-2026 step.

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

Copy link
Copy Markdown
Collaborator

Checked against what Microcosm needs to score the Budget measures (PolicyEngine/microcosm#1418). This PR covers most of the engine side. Three things look missing:

  1. Machine Games Duty (Table 6.1 line 56).
    • OOTLAR para 1.50: from 1 April 2027, machines with a maximum charge to play above £1, or a maximum prize above £100, move to the higher rate of 25%.
    • machine_games_duty has only the lower, standard and higher net-takings inputs, so the change can't be expressed.
    • It needs an input for the standard-class takings of those machines (Category B), taxed at the standard rate to 31 March 2027 and at the higher rate after. Microcosm will write it from the Gambling Commission's machine yield by category.
  2. Savings income growth (line 62).
    • The costing grows its base "using the OBR's forecast for growth in savings income" (costings p. 75).
    • Project savings interest by interest received per person #2638 moves savings_interest_income to interest received per person, but leaves other_investment_income on per_capita.gdp. That input is taxed as savings income too, through taxable_savings_interest_income, so it should follow the same series.
    • Microcosm will also fill it from the FRS's NS&I bond and gilt accounts, beside the SPI's (microcosm#1418).
  3. Trading allowance on miscellaneous income (line 15). Round 1's finding 5 leaves it to a separate PR. Update and add PolicyEngine metadata to UC work allowances #290's review puts it at about £71m in 2027-28, beside a costing of −£165m to −£180m in its mature years. Microcosm already writes miscellaneous_income, so that PR would score as soon as it lands. It's worth having in the same release.

For the Carer's Allowance taper, the newly entitled carers come from the data's would_claim_carers_allowance, as the PR says. Microcosm is restricting that pool to carers of someone receiving a qualifying benefit (microcosm#1418).

The next Microcosm national and local-area pair waits for this PR's release, with #2712.

…2030-31

Review round 2 of #2719 found four problems in the round 1 fixes.

- The couple restriction picked one partner for the whole of 2030-31, so a
  partner below the earnings limit lost the award for the weeks before the
  other partner's taper starts. carers_allowance_taper.py now gives the
  weekly award for the weeks before the taper and the weeks under it; the
  restriction and the overlapping-benefit rule apply to each part, weighted
  by its share of the year. carers_allowance_share_of_year_payable is gone.
- A supplied carers_allowance_pre_overlap lost its overlap deduction when
  the earnings condition gave a zero share. It now meets the whole year's
  overlapping benefits, as before the taper.
- The savings and property rate properties failed where the 24% finance
  cost relief changes the property allowance election. They now hold the
  election fixed, pin the counterexample, and a worked test covers the flip.
- The excise duty docs still described flat gas rates and the old July
  uprating.

CI at 1386278 also failed 8 YAML cases that pinned 2026 HBAI income for
band D households in England without the £100 Household Energy Payment,
which round 1 moved into HBAI income. They now include it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
juaristi22 added a commit that referenced this pull request Oct 28, 2026
…ation gap

From 1 April 2028 the volumes now use the duty rates #2719
puts into current law, each April raised by the previous calendar year's RPI
(63.21p to 68.61p for 2028 to 2031) rather than by Q1 RPI. Once #2719 is
law, the model's duty on these volumes reproduces the OBR's road fuel
receipts. 2025 to 2027 and the July 2027 step (60.59p) are unchanged; the
litre proxies are re-derived.

The population comment and changelog give how far the March 2026 path sits
above the population the October 2026 economy tables imply: about 0.7% by
2030-31.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits October 28, 2026 17:04
Review round 3 on #2719 found the 2030-31 calculation recomputed the
award from its parts, so a value supplied for, or a reform that
neutralizes, carers_allowance_pre_couple_limit or
carers_allowance_pre_overlap no longer reached the payment.

Each stage now reads the one before it. Within the parts of the year
where a person's weekly award is positive it is the same amount, so
carers_allowance_pre_overlap is the candidate award times the share of
those parts the couple restriction keeps, and carers_allowance takes the
overlapping benefits off for the share kept. A supplied
carers_allowance_pre_couple_limit carries no dates, so the restriction
and the whole year's overlap apply to it.

Less than a penny for the year is nil: where an overlapping benefit
equals the award, float32 left a fraction of a penny that made
receives_carers_allowance true, in 2031-32 as well as 2030-31.

Tests: supplied and neutralized intermediates in 2030-31 and 2031-32, a
Hypothesis property for an overlapping benefit equal to the award, and a
penny floor on the two 2030-31 properties. The 10 new tests fail on
835a765. Also fixes the uc_statutory_pay comment (5,198.80 with the
Household Energy Payment).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The threshold was uprated by the new State Pension amount itself, so a
reform that sets that amount to nil divided by zero in parameter
uprating (main's test_state_pension_components reforms it to 0, and CI
failed on the merge ref at 835a765).

The new State Pension is projected with the triple lock index, so
uprating the threshold by the same index gives the same baseline values
(to 1e-11 in 2028-29 to 2031-32). A reform to the new State Pension
rate now leaves the threshold alone unless the threshold is reformed
with it.

Tests: the threshold rises in line with the new State Pension without a
reform, and a rate reform of nil or £300 leaves it and gives a finite
allowance (both fail on the old uprating).

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

Copy link
Copy Markdown
Collaborator Author

@juaristi22 On item 1 of your comment: Machine Games Duty (Table 6.1 line 56) now has its own draft, #2731.

  • It adds machine_games_standard_rate_higher_stake_net_takings: the part of machine_games_standard_rate_net_takings from machines with a maximum charge to play above £1 or a maximum prize above £100. Under the Gambling Commission's limits those are the Category B machines.
  • The new input is a subset of the standard-rate input, not a separate amount. Microcosm's standard-rate column, built from HMRC's MGD liabilities, stays as it is, and the new column takes Category B's share of it.
  • The duty charges that part at 20% to 31 March 2027 and at 25% from 1 April 2027. Model year 2026 (6 April 2026 to 5 April 2027) takes 5 of its 365 days at 25%.
  • A dated switch, gov.hmrc.gambling_duty.machine_games.higher_stake_machines_at_higher_rate, turns the change off for a counterfactual.

It stays a draft until review agrees, and won't merge in Budget week.

@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

Thanks. Where each one is:

  1. Machine Games Duty (line 56). Agreed: machine_games_duty takes only the lower, standard and higher net-takings inputs, so there's no way to move the Category B machines from 1 April 2027. It isn't one of the eight Table 6.1 items this PR covers, so it'll be its own PR. That PR adds an input for the standard-class takings of machines with a maximum charge above £1 or a maximum prize above £100, taxed at the standard rate to 31 March 2027 and at the higher rate after, so Microcosm can write it from the Gambling Commission's yield by category.
  2. Savings income growth (line 62). Grow savings income by the OBR's savings income forecast to 2025-26 #2723 (draft) grows other_investment_income in the dataset projection by the OBR's savings income forecast, with savings_interest_income and the ISA cash interest. Values given directly to a calculation still use the index each variable declares, which for other_investment_income is per capita GDP.
  3. Trading allowance on miscellaneous income (line 15). That's Count the 2022 Energy Bills Rebate in HBAI income, and apply the trading allowance to Chapter 8 miscellaneous income #2726 (draft), with the 2022 Energy Bills Rebate in HBAI. It can go in the same release as this PR if both are ready.

On the Carer's Allowance pool: noted. This PR doesn't add a draw, so restricting would_claim_carers_allowance in Microcosm is what sets who takes up the taper.

MaxGhenis and others added 4 commits October 28, 2026 19:04
Carer's Allowance in 2030-31 uses the shares of the year only where an
amount is the award the parts of the year add up to, to the penny; an
amount supplied or set by a reform gets the whole year's couple
restriction and overlap, so a replacement reaches the payment. A payment
under half a penny for the year is nil, so a penny left after overlap is
paid.

The Pension Tax Allowance threshold is 52 weeks at the new State Pension
weekly rate, computed in the formula, so it follows dated and undated
reforms to the rate; the threshold parameter is removed.

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

Main's cliff probe froze a £1.01 step for current law in 2028. The Budget
2026 Pension Tax Allowance takes the claimant out of Income Tax at the
boundary, and Pension Credit counts income net of tax, so guarantee
credit now ends at £13,165 of private pension rather than £13,315 and the
step is £1.61. Main's value is kept as the case with the allowance off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
In 2030-31 an amount before the couple restriction or the overlap rule
carries the parts of the year only where the simulation calculates it with
the model's own formula: no input supplies it, and no reform neutralizes it
or puts a formula of its own in its place. The payment takes the same
decision from both stages, so a reform that changes only the partner's
award before the couple limit gets the whole year's restriction and the
whole year's overlap for both partners, and a reform amount equal to the
model's no longer passes as the model's. A reform that updates a stage but
keeps its formula keeps the parts of the year.

calculated_by moves from the benefit cap variable to utils/formula_origin.py
so both can use it. The Pension Tax Allowance YAML header gives the
taper's end unrounded (13,318.973), so 13,318.98 in whole pence.

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.

2 participants