Skip to content

Project the minimum wage rates by the OBR's national living wage forecast - #2700

Open
MaxGhenis wants to merge 9 commits into
mainfrom
nlw-projection-earnings
Open

MaxGhenis wants to merge 9 commits into
mainfrom
nlw-projection-earnings

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #2537. Builds on #2699, which merged on 28 October, so the diff against main is this PR's own six commits: 96525e9 (the projection), 15052a7, 6cea6ac and 58da01c (review fixes), 1c17f28 (the April 2027 rates Budget 2026 announced) and 8742d96 (the OBR's forecast of the national living wage as the projection's index).

What and why

gov.hmrc.minimum_wage.non_apprentice and gov.hmrc.minimum_wage.apprentice end at the April 2026 rates (S.I. 2026/357) and had no projection. Every later year read £12.71 for the national living wage, while the model's earnings grow with the OBR forecast. So every rule that reads these rates froze from 2026-27:

Rule Reads Frozen at
UC benefit cap earnings exception (UC Regs 2013 regs. 82(1)(a), 6(1A)(za)) 16 h × NLW £10,572 a year
UC minimum income floor (reg. 90) expected hours × age rate April 2026 rates
ESA permitted work limit (ESA Regs 2008 reg. 45(4), (9A)) 16 h × NLW, up to 50p £203.50 a week
Tax-Free Childcare, working-parent entitlement and Wales Childcare Offer earnings tests 16 h × minimum wage April 2026 rates
Carer's Allowance earnings limit (#2699) 16 h × NLW, up to £1 £204 a week

The change

The age thresholds don't move. Each bracket amount and the apprentice rate now carry:

uprating:
  parameter: gov.economic_assumptions.indices.obr.national_living_wage
  rounding: {type: nearest, interval: 0.01}
  • Projection: each projected rate is the last rate set times the index's growth since then, rounded to the nearest penny. The rounding happens once, not each April in turn.
  • Precedence: a rate added to the YAML takes precedence, and the projection continues from it.
  • Diff: the amounts move under values: so they can carry the metadata. Most of the non_apprentice.yaml diff is indentation; review with git diff -w. The files' comments say the later years are a projection, not law.

The index: the OBR's own forecast of the national living wage

The OBR forecasts the national living wage itself, in Table 1.13 of the October 2026 EFO's detailed economy tables. Its note says the rate "has been set by the Government up until 2027" and that later figures "are OBR estimates consistent with the rest of our economy forecast". HM Treasury's Budget 2026 policy costings say the Carer's Allowance taper's cost uses "OBR projections for increases in the National Living Wage".

The new series gov.economic_assumptions.yoy_growth.obr.national_living_wage has three parts:

  • 2021 to 2027: growth in the rates set, from £8.72 in 2020 to £13.21 in 2027.
  • 2028 to 2031: the OBR's estimates. Each value is one year's rate over the year before's, to six decimals, so compounding them from £13.21 reproduces the table to the penny: £13.51, £13.85, £14.23 and £14.62.
  • 2032 onwards: average_earnings growth, year for year. The Low Pay Commission remit 2026 says two-thirds of median hourly earnings "should continue to be the key reference point for future rates".

On the vintage and upkeep:

  • Vintage: the OBR's estimates are the October 2026 EFO's, while the other series are still March 2026's. Treasury costed the taper on the October figures.
  • Upkeep: utils/import_obr_forecasts.py doesn't read Table 1.13, whose years run across a row rather than down a column. So the series is updated by hand with each EFO, and the README and the YAML say so. Read the OBR's national living wage forecast (EFO Table 1.13) in import_obr_forecasts #2721 is to teach the importer to read it.
  • Guard: test_minimum_wage_projection.py holds the table. It fails if the series stops reproducing it, or if the years after 2031 stop matching average_earnings.

What this changes for reforms. A rate a reform sets is not projected forward, as with every other uprated parameter (utils/dated_reforms.py). test_a_reform_rate_is_not_projected checks both cases:

  • A reform for one fiscal year ({"2027": 13.50}) leaves later years on the baseline's path.
  • A reform from a year onwards ("2027-04-06.2100-12-31", or Reform.from_dict with a bare year) holds its rate flat.

Before this PR the baseline was flat, so an open-ended reform was a uniform rise. Now it is a rise until the baseline passes it and a cut after: £13.50 from April 2027 is below the baseline's £13.51 from April 2028. The changelog says so.

The younger bands are an assumption. The OBR forecasts only the national living wage, and the remit's reference point is for that rate. The other rates have no such anchor, so the projection grows each by the same index, which keeps its April 2027 ratio to the national living wage to the penny. The remit also says the Government "remains committed to" aligning the 18 to 20 rate with the national living wage, at a pace the LPC sets. This PR doesn't model that, and the YAML says so.

The April 2027 rates (Budget 2026)

Budget 2026 (28 October, paragraph 6.128) raised every rate by 3.9% from 1 April 2027:

Band April 2026 (S.I. 2026/357) April 2027 (announced)
National living wage (21 and over) £12.71 £13.21
18 to 20 £10.85 £11.27
16 to 17 and apprentices £8.00 £8.31
  • In the files: they're added as dated values, citing the Budget, since the amending S.I. isn't made yet. The projection starts from them.
  • test_minimum_wage_rates.py gets an ANNOUNCED_RATES table. It checks the files and the model against the Budget's rates, and the date check now covers every dated value. Move the row to RATES_FROM_COMMENCEMENT once the S.I. is made.

For maintainer sign-off: which index

No index is a rule. Each April's rate is set by an S.I. after a Low Pay Commission recommendation. Three candidates are in the repo, and switching is a one-line change per bracket:

  • obr.national_living_wage (this PR): the OBR's estimates to 2031, then average earnings. These are the figures the Budget costed the taper on.
  • earnings_uprating (this PR's earlier commits): May to July growth in average weekly earnings in the year before, as projected for the Pension Credit guarantee (SSAA 1992 s. 150A). In effect it is average_earnings lagged a year.
  • obr.average_earnings (The national living wage parameter ends at April 2026, so every rule that reads it freezes #2537's proposal): calendar-year growth of the same year.

All three give the same rates to 2027, since those are set. From the announced £13.21:

April This PR earnings_uprating average_earnings CA limit (this PR / earnings_uprating / average_earnings)
2028 £13.51 £13.53 £13.49 £217 / £217 / £216
2029 £13.85 £13.81 £13.78 £222 / £221 / £221
2030 £14.23 £14.11 £14.11 £228 / £226 / £226
2031 £14.62 £14.45 £14.58 £234 / £232 / £234
2035 £16.94 £16.67 £16.90 £272 / £267 / £271
2039 £19.69 £19.35 £19.64 £316 / £310 / £315
  • 2028 to 2031: the OBR's estimates rise by 2.30%, 2.53%, 2.73% and 2.70%. The model's average earnings growth (March 2026 EFO) for the same years is 2.1%, 2.2%, 2.4% and 3.32%.
  • After 2031: this PR and average_earnings grow alike, so the 2031 gap of 0.3% stays. earnings_uprating runs a year behind and ends about 1.7% lower.
  • Where all three stop: every economic-assumption index in the model ends in 2039, so the rates hold flat from 2040.
  • Source: each index's growth since 2027 in the built tree on this branch, applied to £13.21 and rounded to the penny.

The Budget-day dashboard and the Carer's Allowance taper. The taper takes effect in 2030-31.

@vahid-ahmadi: #2537 came from your review of #2536, so the index choice is yours to sign off.

Projected national living wage and the rules that read it

Read from the built parameter tree on this branch. The dependent columns follow each rule's arithmetic, and the "Rise" column is the series' growth that April. The index ends in 2039, so the national living wage holds at £19.69 from 2040.

April Rise NLW 18 to 20 16 to 17 and apprentices CA limit (#2699) ESA permitted work UC benefit cap exception (a year)
2026 (S.I.) 4.09% £12.71 £10.85 £8.00 £204 £203.50 £10,572
2027 (Budget 2026) 3.93% £13.21 £11.27 £8.31 £212 £211.50 £10,980
2028 2.30% £13.51 £11.53 £8.50 £217 £216.50 £11,232
2029 2.53% £13.85 £11.82 £8.72 £222 £222.00 £11,520
2030 2.73% £14.23 £12.14 £8.95 £228 £228.00 £11,832
2031 2.70% £14.62 £12.47 £9.20 £234 £234.00 £12,156

Invariants

Stated in test_minimum_wage_projection.py and executed:

  1. Projection: each rate, in the years after its own last rate set, is that rate times the index's growth since, rounded once to the nearest penny.
  2. Floor: no projected rate is below its last rate set. Year-on-year monotonicity and age ordering from 2015 to 2040 were already properties 2 and 3 of test_minimum_wage_rates.py, and now hold over projected years too.
  3. Thresholds don't move: 0, 18, 21, 23 and 25 in every year.
  4. A rate set later takes precedence and the projection continues from it. The test adds £14.00 from 1 April 2028. It checks that 2029 onwards is £14.00 × growth, the younger bands are unchanged, and the CA limit is £224, above the projection's own.
  5. Differential: every rule that reads the minimum wage follows it, in 2027 and every projected year to 2040. The test checks each against its regulation's arithmetic in exact fractions:
    • minimum_wage, for one person in each age band;
    • esa_exempt_work_higher_earnings_limit;
    • uc_benefit_cap_earnings_exception_threshold;
    • the CA earnings limit.
  6. A reform's rate is not projected (intended): one fiscal year leaves later years on the baseline's path, and "from a year onwards" holds flat. The second case documents the disclosed behaviour; it can't test projection, since the reform sets every year.
  7. Differential against the OBR's table: each year's growth from 2021 to 2031 is the table's rate over the year before's, to six decimals, and the model's national living wage in each April from 2020 to 2031 is the table's, to the penny.
  8. After 2031 the series is average_earnings: the same years and the same values.

Tests that pinned April 2026 rates in later years

test_esa_permitted_work_nlw_reforms.py pinned the 2027-28 baseline permitted work limit at £203.50 (16 × £12.71). With this PR, 2027-28's baseline is £211.50, and at 2027 the test's £13.18 reform no longer moved anyone. It now uses 2026-27, a year whose rate is set. Every other quantity it reads is identical in the two years, and the test's numbers hold whatever the projection gives:

  • a £203.50 baseline limit;
  • £211.00 under a £13.18 reform;
  • earnings of £205.77 a week, between the two.

The reform-in-a-projected-year path is still covered by test_legacy_benefit_parameters.py. No other test pinned April 2026 rates.

carers_allowance_earnings_limit_projection.yaml keeps only 2027-28, which rests on the announced £13.21. Later years rest on OBR forecasts, so they are tested in Python against whatever the model's wage is. Only invariant 7 holds the OBR's estimates, so an EFO update changes that test's table, the series and this description's tables.

Aggregate impact

These figures are from the Aggregate impact job at 8742d96 against main (run), on certified data (enhanced FRS 2024-25, policyengine-uk-data 1.58.1). The job ran on 8742d96 merged into main at 6360988. Nothing changes before 2027-28.

Change 2027-28 2028-29 2029-30 2030-31 2031-32
Universal Credit spending −£92.1m −£142.0m −£198.2m −£258.5m −£304.5m
Universal Credit caseload −14.0k −19.2k −19.9k −20.0k −23.2k
Working-parent childcare entitlement −£28.4m −£35.2m −£43.5m −£56.0m −£72.4m
Universal childcare entitlement −£0.8m −£1.8m −£11.0m −£22.3m −£24.3m
Tax-Free Childcare −£1.7m −£3.0m −£4.9m −£4.4m −£4.8m
Scottish Child Payment 0 −£3.9m −£4.0m −£4.1m −£4.2m
Government balance +£121.3m +£185.9m +£259.5m +£338.1m +£408.7m

Against the earlier earnings_uprating projection (run at 58da01cc3, on an earlier main), the figures move the same way as the national living wage:

  • 2027-28: every figure is the same, since both use £13.21.
  • 2028-29: the OBR's £13.51 is 1p below that run's £13.52, and the effects are a little smaller. The balance is +£185.9m, not +£194.4m.
  • 2029-30 to 2031-32: the OBR's rates are 5p, 13p and 18p higher, and the effects are larger. The balance is +£259.5m, +£338.1m and +£408.7m, against +£253.5m, +£311.3m and +£366.6m.
  • Childcare in 2029-30: the three childcare lines are the same in both runs.

Each line traces to a rule that reads the minimum wage:

  • Universal Credit: the minimum income floor and the benefit cap earnings exception rise.
  • Childcare: the working-parent entitlement and Tax-Free Childcare earnings tests rise.
    • Universal hours fall too, though they have no earnings test. Where a family doesn't take up the universal hours on their own, universal_childcare_entitlement gives them only within the working-parent hours (existing modelling, not changed here).
  • Scottish Child Payment: a child is eligible only while the family gets a qualifying benefit in the same year (is_scp_eligible).
    • So it falls only where a Scottish family with a claiming child loses Universal Credit and every other qualifying benefit.
    • In this sample that first happens in 2028-29, which is why 2027-28 shows no change although the Universal Credit caseload falls.

Lines not in the table:

  • Not reported here: Carer's Allowance (from 2030-31) and the Wales Childcare Offer move by amounts that rest on very few survey records, so they're left out; the run link has them. Income tax rises by £0.6m in those two years; Carer's Allowance counts in social_security_income.
  • Not traced: VAT on private school fees moves by between −£4.1m and +£1.6m a year, and I haven't traced why.

Distributional results and checks:

  • Poverty: at most +0.19pp (relative before housing costs, children, 2028-29).
  • Income deciles: means move by under £110, in each side's own deciles, so partly by re-ranking.
  • Checks: 0 broken; 1 fails on both sides.

The job flags 30 moves for review; a flag does not fail the job.

Reproducer: policyengine_uk/tests/test_minimum_wage_projection.py::test_the_series_reproduces_the_obr_table

axiom: n/a: projects minimum wage rates after the last rate set, from the April 2027 rates Budget 2026 announced; no legislated amount changes

🤖 Generated with Claude Code

… wage

Reg. 8(1) of the ICA Regulations 1976 states the limit as a fixed sum. From
April 2025 the Government sets it at 16 times the hourly national living
wage, rounded up to the nearest pound, "from April 2025 and in future years"
(Explanatory Memorandum to SI 2025/352, para. 5.6; SI 2026/218 EM para. 5.3).
The parameter had no projection, so every year after April 2026 held £204.

Keep each legislated amount and derive later years with the repo's
extend_after_last_stated projection step, from the national living wage in
force on 30 April and a new hours parameter (16). A projected year never
lowers the limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each projected year is now ceil(hours x NLW) alone. The floor had no
source, never bound under current law, and under a reform made an hours
cut inert and a one-year change permanent. Tests cover reforms that lower
the limit, the band the rule reads and the baseline copy. The rounding
example is corrected: 1,325 x 0.01 is exactly 13.25; 20 x (1,020 x 0.01)
is 204.00000000000003.

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

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Aggregate impact on certified data: pass

Base 63609883cd against head 78f42df69a, 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: 30 (thresholds in report_spec.yaml; a flag does not fail the job).

Workflow run and full report

Notes

  • 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.

Moves flagged for review

Measure Year Base Head Change
Extended childcare entitlement 2031-32 820k 801k -19.1k
Tax-Free Childcare 2031-32 1,013k 994k -18.4k
Tax-Free Childcare 2030-31 1,031k 1,014k -16.8k
Extended childcare entitlement 2030-31 819k 803k -15.9k
Tax-Free Childcare 2029-30 1,027k 1,011k -15.9k
Universal Credit 2031-32 £87.97bn £87.66bn -£304.5m
Decile 2: mean household_net_income per household 2030-31 £29,646 £29,560 -£86
Universal Credit 2030-31 £86.87bn £86.61bn -£258.5m
Decile 1: mean household_net_income per household 2028-29 £17,905 £17,862 -£43
Extended childcare entitlement 2029-30 815k 804k -11.0k
Universal childcare entitlement 2031-32 1,097k 1,086k -11.0k
Universal Credit 2029-30 £85.58bn £85.38bn -£198.2m
Universal childcare entitlement 2030-31 1,096k 1,086k -10.6k
Relative poverty, before housing costs: children 2028-29 23.1% 23.3% +0.19pp
Decile 6: mean household_net_income per household 2028-29 £51,914 £52,005 +£92
Decile 7: mean household_net_income per household 2028-29 £58,010 £57,908 -£102
Decile 3: mean household_net_income per household 2031-32 £38,043 £37,980 -£64
Relative poverty, before housing costs: children 2028-29 3,491k 3,519k +28.3k
Tax-Free Childcare 2028-29 1,027k 1,019k -8.0k
Extended childcare entitlement 2028-29 809k 801k -7.5k
Absolute poverty, after housing costs: children 2028-29 31.1% 31.2% +0.15pp
Relative poverty, after housing costs: children 2027-28 30.8% 30.9% +0.15pp
Universal Credit 2028-29 £84.23bn £84.09bn -£142.0m
Extended childcare entitlement 2027-28 806k 800k -6.5k
Decile 4: mean household_net_income per household 2030-31 £43,906 £43,852 -£54
Decile 4: mean household_net_income per household 2029-30 £43,145 £43,092 -£53
Decile 2: mean household_net_income per household 2031-32 £30,235 £30,201 -£33
Tax-Free Childcare 2027-28 1,024k 1,018k -5.5k
Decile 5: mean household_net_income per household 2031-32 £49,711 £49,658 -£53
Decile 3: mean household_net_income per household 2027-28 £36,065 £36,028 -£37

Receipts by tax head

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Income tax 0 0 0 0 0 +£0.6m +£0.6m
VAT on private school fees 0 0 -£1.7m 0 -£2.1m -£4.1m +£1.6m

Spending by benefit and service

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Universal Credit 0 0 -£92.1m -£142.0m -£198.2m -£258.5m -£304.5m
Carer's Allowance 0 0 0 0 0 +£3.6m +£3.7m
Scottish Child Payment 0 0 0 -£3.9m -£4.0m -£4.1m -£4.2m
Tax-Free Childcare 0 0 -£1.7m -£3.0m -£4.9m -£4.4m -£4.8m
Extended childcare entitlement 0 0 -£28.4m -£35.2m -£43.5m -£56.0m -£72.4m
Universal childcare entitlement 0 0 -£0.8m -£1.8m -£11.0m -£22.3m -£24.3m
Childcare Offer for Wales 0 0 0 0 0 -£26,285 -£26,875
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed

Caseloads

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Universal Credit 0 0 -14.0k -19.2k -19.9k -20.0k -23.2k
Carer's Allowance 0 0 0 0 0 +735 +737
Scottish Child Payment 0 0 0 -2.5k -2.5k -2.6k -2.6k
Tax-Free Childcare 0 0 -5.5k -8.0k -15.9k -16.8k -18.4k
Extended childcare entitlement 0 0 -6.5k -7.5k -11.0k -15.9k -19.1k
Universal childcare entitlement 0 0 -704 -1.5k -3.9k -10.6k -11.0k
Childcare Offer for Wales 0 0 0 0 0 -3 -3
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed

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 0 -£1.7m 0 -£2.1m -£3.5m +£2.2m
Government spending 0 † 0 † -£123.0m † -£185.9m † -£261.6m † -£341.7m † -£406.5m †
Government balance, each receipt once 0 † 0 † +£121.3m † +£185.9m † +£259.5m † +£338.1m † +£408.7m †

Model totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
gov_tax 0 0 -£1.7m 0 -£2.1m -£3.5m +£2.2m
household_tax 0 0 0 0 0 +£0.6m +£0.6m
pre_budget_change_household_tax 0 0 0 0 0 +£0.6m +£0.6m
gov_spending 0 † 0 † -£123.0m † -£185.9m † -£261.6m † -£341.7m † -£406.5m †
household_benefits 0 † 0 † -£123.0m † -£185.9m † -£261.6m † -£341.7m † -£406.5m †
gov_balance 0 † 0 † +£121.3m † +£185.9m † +£259.5m † +£338.1m † +£408.7m †

Household income totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Household net income 0 † 0 † -£123.0m † -£185.9m † -£261.6m † -£342.3m † -£407.1m †
Household net income (HBAI definition) 0 0 -£95.8m -£151.1m -£209.3m -£266.3m -£310.4m

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 0 +0.00pp +0.00pp +0.00pp +0.00pp
Absolute poverty, before housing costs: children 0 0 0 +0.00pp +0.00pp +0.00pp +0.01pp
Absolute poverty, before housing costs: working-age adults 0 0 0 +0.00pp +0.00pp +0.00pp +0.00pp
Absolute poverty, after housing costs: everyone 0 0 +0.00pp +0.05pp +0.00pp +0.01pp +0.02pp
Absolute poverty, after housing costs: children 0 0 +0.00pp +0.15pp +0.00pp +0.04pp +0.04pp
Absolute poverty, after housing costs: working-age adults 0 0 +0.00pp +0.02pp +0.00pp +0.01pp +0.01pp
Absolute poverty, after housing costs: pensioners 0 0 0 +0.04pp 0 0 0
Relative poverty, before housing costs: everyone 0 0 0 +0.07pp -0.00pp +0.00pp +0.01pp
Relative poverty, before housing costs: children 0 0 0 +0.19pp +0.01pp +0.01pp +0.03pp
Relative poverty, before housing costs: working-age adults 0 0 0 +0.03pp -0.00pp +0.00pp +0.01pp
Relative poverty, before housing costs: pensioners 0 0 0 +0.04pp -0.02pp 0 0
Relative poverty, after housing costs: everyone 0 0 +0.05pp 0 +0.00pp +0.02pp +0.02pp
Relative poverty, after housing costs: children 0 0 +0.15pp 0 +0.00pp +0.04pp +0.04pp
Relative poverty, after housing costs: working-age adults 0 0 +0.02pp 0 +0.00pp +0.01pp +0.01pp
Relative poverty, after housing costs: pensioners 0 0 +0.04pp 0 0 0 0

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 0 0 +847 +850 +853 +1.6k
Absolute poverty, before housing costs: children 0 0 0 +545 +547 +549 +818
Absolute poverty, before housing costs: working-age adults 0 0 0 +302 +303 +304 +818
Absolute poverty, after housing costs: everyone 0 0 +79 +35.2k +184 +9.6k +11.2k
Absolute poverty, after housing costs: children 0 0 +47 +22.0k +82 +5.4k +6.5k
Absolute poverty, after housing costs: working-age adults 0 0 +32 +8.9k +101 +4.2k +4.7k
Absolute poverty, after housing costs: pensioners 0 0 0 +4.4k 0 0 0
Relative poverty, before housing costs: everyone 0 0 0 +47.9k -2.0k +3.5k +8.4k
Relative poverty, before housing costs: children 0 0 0 +28.3k +1.2k +1.9k +4.5k
Relative poverty, before housing costs: working-age adults 0 0 0 +15.2k -1.5k +1.6k +3.9k
Relative poverty, before housing costs: pensioners 0 0 0 +4.4k -1.7k 0 0
Relative poverty, after housing costs: everyone 0 0 +35.0k 0 +71 +11.1k +11.2k
Relative poverty, after housing costs: children 0 0 +21.9k 0 +43 +6.5k +6.5k
Relative poverty, after housing costs: working-age adults 0 0 +8.8k 0 +28 +4.7k +4.7k
Relative poverty, after housing costs: pensioners 0 0 +4.4k 0 0 0 0

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 +0.0001 +0.0001 +0.0001 +0.0002 +0.0002

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 † 0 † -£4.43 † -£43 † -£9.88 † +£7.44 † -£14 †
Decile 2: mean household_net_income per household 0 † 0 † -£0.71 † +£13 † +£15 † -£86 † -£33 †
Decile 3: mean household_net_income per household 0 † 0 † -£37 † -£29 † -£5.24 † -£6.48 † -£64 †
Decile 4: mean household_net_income per household 0 † 0 † -£2.65 † -£4.37 † -£53 † -£54 † -£0.29 †
Decile 5: mean household_net_income per household 0 † 0 † -£4.16 † -£35 † -£29 † -£18 † -£53 †
Decile 6: mean household_net_income per household 0 † 0 † -£1.75 † +£92 † +£7.99 † -£6.50 † +£31 †
Decile 7: mean household_net_income per household 0 † 0 † 0 † -£102 † -£2.22 † -£3.05 † -£4.65 †
Decile 8: mean household_net_income per household 0 † 0 † -£0.76 † -£0.78 † -£1.48 † -£3.50 † -£3.64 †
Decile 9: mean household_net_income per household 0 † 0 † 0 † 0 † -£0.04 † +£1.00 † +£1.01 †
Decile 10: mean household_net_income per household 0 † 0 † 0 † 0 † -£1.47 † 0 † 0 †

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 0 +£0.3m +£0.4m +£0.1m -£1.1m -£2.2m
Raise higher rate by 1pp 0 0 -£0 +£0.6m -£0.2m +£0.6m -£96,184
Raise personal allowance by ~800GBP/year 0 0 -£1.1m -£1.4m -£1.6m -£1.6m -£0.6m
Raise child benefit by 25GBP/week per additional child 0 0 -£0.1m +£0.3m -£1.8m -£12.1m -£15.2m
Reduce Universal Credit taper rate to 20% 0 0 -£21.1m -£36.9m -£52.1m -£62.5m -£62.3m
Raise Class 1 main employee NICs rate to 10% 0 0 +£0.2m +£0.5m +£1.0m +£3.9m +£5.2m
Raise VAT standard rate by 2pp 0 0 -£0.2m -£16 -£0.2m -£0.4m +£0.2m
Raise additional rate by 3pp 0 0 0 0 -£62,780 suppressed suppressed
Raise the Universal Credit standard allowance by 10% 0 0 +£12.0m +£9.2m +£10.3m +£10.7m +£8.6m
Raise the State Pension by 10% 0 0 -£11 +£67,039 -£0.3m +£1.7m -£1.8m

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 0 0 0 +£30,500 +£32,179
Raise higher rate by 1pp: change in income_tax 0 0 0 0 0 0 +£0
Raise personal allowance by ~800GBP/year: change in income_tax 0 0 0 0 0 -£57,311 -£23,569
Reduce Universal Credit taper rate to 20%: change in universal_credit 0 0 +£21.1m +£32.7m +£49.9m +£62.0m +£56.1m
Raise additional rate by 3pp: change in income_tax 0 0 0 0 0 suppressed suppressed
Raise the Universal Credit standard allowance by 10%: change in universal_credit 0 0 -£8.1m -£9.2m -£10.4m -£11.5m -£23.3m

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 0 -£4 (-0.0%) -£6 (-0.0%) -£10 (-0.1%) -£11 (-0.1%) -£12 (-0.1%)
Decile 2 0 0 -£15 (-0.1%) -£18 (-0.1%) -£17 (-0.1%) -£26 (-0.1%) -£32 (-0.1%)
Decile 3 0 0 -£10 (-0.0%) -£18 (-0.0%) -£21 (-0.1%) -£29 (-0.1%) -£43 (-0.1%)
Decile 4 0 0 -£3 (-0.0%) -£4 (-0.0%) -£14 (-0.0%) -£17 (-0.0%) -£15 (-0.0%)
Decile 5 0 0 -£4 (-0.0%) -£7 (-0.0%) -£10 (-0.0%) -£13 (-0.0%) -£12 (-0.0%)
Decile 6 0 0 fewer than 10 households change fewer than 10 households change -£5 (-0.0%) -£6 (-0.0%) -£6 (-0.0%)
Decile 7 0 0 0 fewer than 10 households change fewer than 10 households change fewer than 10 households change -£5 (-0.0%)
Decile 8 0 0 fewer than 10 households change fewer than 10 households change fewer than 10 households change fewer than 10 households change fewer than 10 households change
Decile 9 0 0 0 0 fewer than 10 households change fewer than 10 households change fewer than 10 households change
Decile 10 0 0 0 0 fewer than 10 households change 0 0
all 0 0 -£4 (-0.0%) -£6 (-0.0%) -£8 (-0.0%) -£11 (-0.0%) -£13 (-0.0%)
Year People gaining over £1 People losing over £1
2025-26 0.0% 0.0%
2026-27 0.0% 0.0%
2027-28 0.0% 1.3%
2028-29 0.0% 1.3%
2029-30 0.0% 1.3%
2030-31 0.0% 1.4%
2031-32 0.0% 1.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,420,387 in total; 2027-28: 76 units below zero, a weighted £-56,618,038 in total
Counted-once check

Each of 91 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 63609883cd uk 2.162.21 (files 097bc87ac2a7), core 3.33.12, py 3.13.18 aarch64 7807fde1129c 1eac2ca06b91 1929.18s
head #2700 merged into main 78f42df69a uk 2.162.21 (files 17dd3ec2bf65), core 3.33.12, py 3.13.18 aarch64 7807fde1129c 1eac2ca06b91 1995.83s

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 £335.60bn £350.52bn £365.79bn £383.53bn £401.03bn
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.28bn £261.81bn £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.20bn £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.64bn £26.64bn £26.69bn £26.42bn £25.76bn £26.35bn
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.32bn £7.46bn £7.60bn £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.84bn £84.09bn £85.38bn £86.61bn £87.66bn
Housing Benefit £8.55bn £8.89bn £9.17bn £9.31bn £9.58bn £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.20bn £5.31bn
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.60bn £0.58bn
Extended childcare entitlement £2.99bn £3.50bn £3.57bn £3.63bn £3.72bn £3.80bn £3.87bn
Universal childcare entitlement £2.05bn £2.23bn £2.28bn £2.33bn £2.39bn £2.44bn £2.49bn
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
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,461k 1,462k 1,464k 1,460k
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,352k 6,328k 6,325k 6,313k 6,275k
Housing Benefit 1,249k 1,247k 1,250k 1,234k 1,238k 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,051k 1,054k
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 354k 352k 353k 339k
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,018k 1,019k 1,011k 1,014k 994k
Extended childcare entitlement 796k 801k 800k 801k 804k 803k 801k
Universal childcare entitlement 1,071k 1,074k 1,076k 1,079k 1,082k 1,086k 1,086k
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
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.86bn £980.11bn £1,013.84bn £1,052.89bn £1,089.01bn £1,129.10bn
Government spending £528.95bn † £543.83bn † £551.56bn † £557.88bn † £566.31bn † £574.97bn † £582.97bn †
Government balance, each receipt once £369.87bn † £398.03bn † £428.55bn † £455.96bn † £486.58bn † £514.03bn † £546.13bn †
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.86bn £980.11bn £1,013.84bn £1,052.89bn £1,089.01bn £1,129.10bn
household_tax £496.91bn £527.60bn £554.51bn £577.74bn £603.32bn £627.65bn £654.69bn
pre_budget_change_household_tax £489.00bn £519.39bn £546.08bn £568.63bn £593.98bn £618.05bn £644.75bn
gov_spending £528.95bn † £543.83bn † £551.56bn † £557.88bn † £566.31bn † £574.97bn † £582.97bn †
household_benefits £528.95bn † £543.83bn † £551.56bn † £557.88bn † £566.31bn † £574.97bn † £582.97bn †
gov_balance £369.87bn † £398.03bn † £428.55bn † £455.96bn † £486.58bn † £514.03bn † £546.13bn †
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,688.69bn † £1,719.42bn † £1,750.43bn † £1,781.42bn † £1,820.73bn † £1,866.98bn †
Household net income (HBAI definition) £1,457.29bn £1,504.48bn £1,537.49bn £1,569.21bn £1,602.46bn £1,640.22bn £1,686.73bn
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% 15.1% 15.4% 15.5% 15.6% 15.7% 15.7%
Absolute poverty, before housing costs: children 24.0% 21.1% 21.3% 21.4% 21.6% 21.8% 21.8%
Absolute poverty, before housing costs: working-age adults 13.8% 13.5% 13.9% 14.1% 14.1% 14.2% 14.2%
Absolute poverty, before housing costs: pensioners 13.7% 13.2% 13.1% 13.4% 13.5% 13.5% 13.5%
Absolute poverty, after housing costs: everyone 21.4% 20.8% 21.3% 21.5% 21.7% 21.9% 22.2%
Absolute poverty, after housing costs: children 33.0% 30.7% 31.1% 31.2% 31.4% 31.7% 32.3%
Absolute poverty, after housing costs: working-age adults 19.8% 19.6% 20.2% 20.5% 20.7% 20.8% 21.1%
Absolute poverty, after housing costs: pensioners 12.7% 12.4% 12.3% 12.5% 12.8% 12.9% 13.0%
Relative poverty, before housing costs: everyone 17.2% 16.4% 16.5% 16.5% 16.2% 16.3% 16.5%
Relative poverty, before housing costs: children 26.2% 23.5% 23.4% 23.3% 22.6% 22.8% 23.1%
Relative poverty, before housing costs: working-age adults 14.6% 14.4% 14.7% 14.8% 14.6% 14.7% 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.1% 21.2% 21.3% 21.4% 21.8%
Relative poverty, after housing costs: children 33.3% 31.2% 30.9% 30.7% 31.0% 31.1% 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.5% 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,466k 10,734k 10,861k 10,961k 11,055k 11,083k
Absolute poverty, before housing costs: children 3,580k 3,171k 3,210k 3,221k 3,262k 3,306k 3,318k
Absolute poverty, before housing costs: working-age adults 5,853k 5,746k 6,021k 6,123k 6,170k 6,210k 6,220k
Absolute poverty, before housing costs: pensioners 1,625k 1,550k 1,504k 1,517k 1,530k 1,539k 1,545k
Absolute poverty, after housing costs: everyone 14,847k 14,422k 14,808k 15,029k 15,242k 15,412k 15,649k
Absolute poverty, after housing costs: children 4,937k 4,609k 4,671k 4,707k 4,757k 4,819k 4,918k
Absolute poverty, after housing costs: working-age adults 8,406k 8,359k 8,732k 8,907k 9,024k 9,118k 9,245k
Absolute poverty, after housing costs: pensioners 1,504k 1,454k 1,404k 1,415k 1,460k 1,475k 1,486k
Relative poverty, before housing costs: everyone 11,896k 11,403k 11,468k 11,535k 11,371k 11,472k 11,660k
Relative poverty, before housing costs: children 3,918k 3,523k 3,519k 3,519k 3,420k 3,460k 3,521k
Relative poverty, before housing costs: working-age adults 6,202k 6,136k 6,338k 6,415k 6,364k 6,417k 6,519k
Relative poverty, before housing costs: pensioners 1,776k 1,744k 1,611k 1,601k 1,586k 1,595k 1,621k
Relative poverty, after housing costs: everyone 14,957k 14,597k 14,733k 14,825k 14,951k 15,053k 15,362k
Relative poverty, after housing costs: children 4,976k 4,677k 4,652k 4,634k 4,690k 4,718k 4,801k
Relative poverty, after housing costs: working-age adults 8,443k 8,455k 8,689k 8,847k 8,916k 8,981k 9,097k
Relative poverty, after housing costs: pensioners 1,537k 1,465k 1,392k 1,344k 1,346k 1,354k 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.3059 0.3065 0.3072 0.3076 0.3083 0.3096
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,906 † £17,828 † £17,862 † £18,132 † £18,346 † £18,469 †
Decile 2: mean household_net_income per household £27,962 † £28,917 † £28,654 † £28,919 † £29,111 † £29,560 † £30,201 †
Decile 3: mean household_net_income per household £34,380 † £35,463 † £36,028 † £36,480 † £36,844 † £37,331 † £37,980 †
Decile 4: mean household_net_income per household £38,785 † £40,713 † £41,870 † £42,409 † £43,092 † £43,852 † £44,167 †
Decile 5: mean household_net_income per household £43,788 † £44,626 † £45,602 † £46,254 † £47,298 † £48,268 † £49,658 †
Decile 6: mean household_net_income per household £48,210 † £49,525 † £50,734 † £52,005 † £52,211 † £53,167 † £54,234 †
Decile 7: mean household_net_income per household £56,218 † £57,224 † £57,764 † £57,908 † £59,038 † £60,058 † £61,761 †
Decile 8: mean household_net_income per household £69,150 † £70,533 † £71,799 † £73,074 † £74,091 † £75,537 † £77,424 †
Decile 9: mean household_net_income per household £79,490 † £81,421 † £82,828 † £84,135 † £85,538 † £87,054 † £89,945 †
Decile 10: mean household_net_income per household £117,581 † £120,296 † £121,933 † £124,163 † £126,044 † £128,342 † £131,110 †
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.67bn £6.86bn £7.06bn £7.35bn £7.55bn
Raise higher rate by 1pp £3.69bn £3.98bn £4.03bn £4.29bn £4.46bn £4.78bn £4.91bn
Raise personal allowance by ~800GBP/year £-3.82bn £-3.94bn £-4.01bn £-4.09bn £-4.18bn £-4.18bn £-2.00bn
Raise child benefit by 25GBP/week per additional child £-1.99bn £-1.75bn £-1.56bn £-1.46bn £-1.35bn £-1.24bn £-1.14bn
Reduce Universal Credit taper rate to 20% £-20.39bn £-20.96bn £-21.40bn £-21.65bn £-21.92bn £-22.23bn £-22.66bn
Raise Class 1 main employee NICs rate to 10% £11.02bn £11.42bn £11.77bn £12.07bn £12.37bn £12.75bn £13.07bn
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.46bn £3.65bn suppressed suppressed
Raise the Universal Credit standard allowance by 10% £-3.05bn £-3.18bn £-3.28bn £-3.33bn £-3.37bn £-3.41bn £-3.47bn
Raise the State Pension by 10% £-7.79bn £-8.02bn £-8.01bn £-8.12bn £-8.43bn £-8.54bn £-8.87bn
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.03bn £7.24bn £7.47bn £7.73bn
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.17bn £-4.24bn £-4.34bn £-4.41bn £-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.39bn £21.66bn £21.92bn £22.28bn £22.66bn
Raise Class 1 main employee NICs rate to 10%: change in national_insurance £11.28bn £11.74bn £12.06bn £12.37bn £12.69bn £13.03bn £13.49bn
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.35bn £3.42bn £3.46bn £3.49bn
Raise the State Pension by 10%: change in state_pension £10.68bn £11.18bn £11.31bn £11.55bn £12.00bn £12.44bn £12.94bn

@juaristi22 juaristi22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review status: PARTIAL
Review severity: COMMENT
Confirmed critical findings: 0

Reviewed head: c3aab5bc822876909fa13611b3f2abac7b9567e3, against merge base 8ba8bd694c0ec6c3b4f45a4d5a1a8936c7e44e4b. This covers all 14 changed paths, including the current stacked Carer’s Allowance changes from #2699.

The independent code and policy/source reviews found no confirmed defect in the changed behavior. The remaining material gap is execution: I did not collect or run the UK tests locally. At 20:25 UTC, this exact head has YAML, all six Python shards and Aggregate in progress, with Test / Result not yet observed. Completed matching-head hosted tests can resolve that gap; this review does not require a duplicate local run.

The source and static checks support these conclusions:

  • The stated wage rates and age thresholds are preserved. All 94 dated non-apprentice records, 18 apprentice records and 10 CA limit records match the base. Uprating metadata applies to wage amounts, and the test source checks that a later explicitly stated rate takes precedence before projection continues.
  • The LPC remit uses two-thirds of median hourly earnings as a key reference point, alongside other considerations. Using previous May–July mean earnings growth for adult, youth and apprentice rates is a disclosed projection assumption. The ONS May–July 2026 observation is 3.9%; independent decimal arithmetic gives £12.71 × 1.039 = £13.20569, rounded to £13.21. This does not establish a legislated April 2027 rate.
  • At an assumed £13.21 hourly rate, the inspected rules give ESA’s £211.50 weekly permitted-work limit, UC’s £915 monthly / £10,980 annual benefit-cap earnings threshold, and CA’s £212 weekly limit. The ESA and UC executable formulas are unchanged; their newly reached values were checked by source interpretation and independent arithmetic.
  • The current CA helper uses the year’s hours × NLW rule alone. The new tests cover lower-hours/wage reforms, bounded-year recovery and baseline isolation. The positive final-CA boundary test and the affected UC, ESA, MIF and childcare paths were read and traced statically; their model execution remains unverified here.

Fourteen official source originals and their text derivatives were checked: six reused after checksum validation and eight acquired for this review. Key sources are LPC remit 2026, NMW regulation 4, regulation 4A, ONS KAC3, October 2026 earnings bulletin, ESA regulation 45, UC regulation 6, UC regulation 82, and the CA uprating memoranda (2025, physical page 2, §5.6; 2026, physical page 2, §5.3).

No critical, should-address or optional findings were confirmed. Overall PARTIAL because the matching-head execution gap remains open. This is a review of changed behavior and affected dependencies; it does not certify every historical rule or private population impact.

MaxGhenis and others added 2 commits October 28, 2026 00:15
Uprating holds £14.45 as 14.450000000000001; exact arithmetic on that
float makes 20 hours £290 rather than the model's (correct) £289. Also
qualify the £204 floor on the hours, as the test's invariant 4 does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gov.hmrc.minimum_wage.non_apprentice and .apprentice ended at April 2026
with no projection, so every rule that reads them froze: the UC benefit cap
earnings exception, the minimum income floor, ESA permitted work, the
childcare earnings tests and, from #2699, the Carer's Allowance earnings
limit.

Uprate each bracket amount (not the age thresholds) and the apprentice rate
by gov.economic_assumptions.indices.earnings_uprating, the May-July AWE
growth of the year before, never negative, rounded to the nearest penny.
May-July 2026 growth was 3.9%, so April 2027 is £12.71 x 1.039 = £13.21.
Rates set later take precedence and the projection continues from them.

The bracket amounts move under `values:` to carry the uprating metadata, so
most of the non_apprentice.yaml diff is indentation (git diff -w).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis force-pushed the nlw-projection-earnings branch from c3aab5b to 96525e9 Compare October 28, 2026 04:20
- YAML: rounding is applied once from the last rate set; the younger bands'
  fixed ratio to the national living wage is an assumption (the Government
  is committed to aligning the 18 to 20 rate); a reform's rate is not
  projected, so an open-ended reform now holds flat against a rising
  baseline (also in the changelog).
- Docs that listed the index's users or said minimum wage rates only enter
  through reforms.
- Tests: each band from its own last rate set; minimum_wage for every age
  band; a later rate of £13.50 (distinguishable from the projection); the
  reform behaviour; the CA YAML cases keep only 2027-28, which rests on
  published earnings, not OBR forecasts.

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

Copy link
Copy Markdown
Collaborator Author

@vahid-ahmadi I'd like your sign-off on the earnings index this projects the minimum wage by, since #2537 came from your review of #2536. The description has a section, "The index, for maintainer sign-off".

The LPC's central estimate for April 2027 was £13.18. Once today's Budget sets April 2027 and it's added, the two indices stay within 4p of each other through April 2030.

Either is a one-line change per bracket, so tell me which you'd prefer.

The Low Pay Commission remit quote no longer adds "for workers aged 21 and
over", which the remit doesn't say. The YAML now says the index is dated
1 January, that annual figures read 30 April, and that the indices end in
2039. The younger bands keep their ratio to the national living wage only
to the penny. The nowcasting doc's age-band row now names the rules that
read a person's band rate, and the README's minimum wage sentence moves out
of the Pension Credit paragraph. The reform test's docstring says its
open-ended case documents behaviour rather than testing projection.

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

Copy link
Copy Markdown
Collaborator Author

An independent review approved 15052a7 with one should-fix and six nits. 6cea6ac answers them, and a re-review of that commit is queued.

  • Long-run effect of the index (should-fix). The body said the index choice "barely matters" once the April 2027 rate is in. That holds only to 2030. This index runs a year behind calendar-year earnings, so it ends about 1.5% below The national living wage parameter ends at April 2026, so every rule that reads it freezes #2537's index by 2039: −13p in 2031, −24p in 2035 and −30p in 2039. All the model's indices end in 2039, so both paths hold flat from 2040. The body's table and the sign-off question now say this.
  • Remit quote. The YAML no longer says "for workers aged 21 and over", which the remit doesn't say.
  • Index dating. The YAML now says projected rates are dated 1 January before annualisation, that annual figures read 30 April, and that the projection holds flat from 2040.
  • Younger bands. They keep their ratio to the national living wage only to the penny, and the YAML now says so.
  • Docs.
    • The nowcasting doc's age-band row now names the rules that read a person's band rate (the UC minimum income floor and the childcare earnings tests).
    • The README's minimum wage sentence no longer sits inside the s. 150A paragraph.
  • Reform test. The docstring says the open-ended case documents behaviour rather than testing projection. The one-year case is the real test.
  • Scottish Child Payment. The body now explains its 2027-28 zero. Eligibility needs a qualifying benefit in the same year, and in this sample no Scottish family with a claiming child loses every qualifying benefit until 2028-29.

@vahid-ahmadi, the 1.5% long-run gap is the new information for the index choice.

The module docstring said "the series" runs to one year past the statutory
inputs, which reads as the index; the yearly series does, but the index
stops in 2039 like the others. The nowcasting doc no longer calls the
long-run wage floor the same as one growing with average earnings: the
projection runs about a year behind them and holds flat from 2040.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis marked this pull request as ready for review October 28, 2026 08:07

@juaristi22 juaristi22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review status: COMPLETE
Review severity: APPROVE
Confirmed critical findings: 0

Reviewed 58da01cc384de7547d06033301bcd751805f72a9 against merge base 3c1962100ee9dd7521715af7da553f42695ea227. Since the previous reviewed commit is no longer an ancestor, this is a fresh review of the 12 remaining changed paths after #2699 merged.

The independent code and policy/source reviews found no confirmed defect. The previous execution gap is resolved for this head: the hosted source test suite has successful YAML, all six Python shards and Test / Result checks. The workflow collects all tests, partitions Python node IDs and audits their outcomes. Local UK tests were not run. This is head-associated PR workflow evidence, not a standalone-head or later-main execution certificate.

All 89 dated non-apprentice amounts, five threshold records and 18 apprentice amounts, including their dated references, match the base. Uprating applies to amounts. The tests cover later stated-rate precedence, rounding once from the last stated rate, bounded-year recovery, the disclosed flat open-ended reform behavior, and the affected ESA/UC/CA thresholds and relevant final-benefit paths.

The previous May–July mean-earnings index and common growth for younger/apprentice bands are disclosed projection assumptions. The LPC remit uses median hourly earnings as a key reference point; it does not mandate this forecast formula. The ONS KAC3 observation supports the 3.9% input and £12.71 × 1.039 → £13.21 projection, not a legislated April 2027 rate. Jan 1 projection dates, Apr 30 fiscal-year sampling, the 2039 index horizon, flat path from 2040 and roughly 1.5% long-run difference from same-year OBR earnings growth are disclosed.

Vahid's sign-off on the index choice remains pending. This approval assesses the implementation and disclosure of the chosen assumption; it does not settle that maintainer decision. The consultation-letter £13.18 comparison, private aggregate figures and reports of other independent reviews were not independently verified here. Fourteen cached official originals and their text derivatives passed integrity checks; no new source requests were made.

CI precision: the raw packet is 22 successful checks and two cancelled Fix evidence checks, with a raw FAILURE rollup. A later Fix evidence check completed successfully at 08:08:31 UTC, after the last cancellation at 08:08:03. I am not calling every raw check green or attributing the cancellations to a cause.

Budget 2026 paragraph 6.128: from 1 April 2027 the national living wage
is £13.21, the 18 to 20 rate £11.27, and the 16 to 17 and apprentice
rates £8.31, each up 3.9%. They are dated values citing the Budget until
the amending S.I. is made, and the projection now starts from them.

The index's April 2027 rise is also 3.9% (May-July 2026 earnings), so
projecting the April 2026 rates gave these to the penny; a test keeps
that as a one-year backtest. test_minimum_wage_rates checks the files
and the model against an ANNOUNCED_RATES table, and every dated value
must be a commencement or announced date. The precedence test moves to
a rate set for April 2028, and no test hard-codes a projected value.

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

@juaristi22 juaristi22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incremental review of 58da01cc3..1c17f28b3: PARTIAL, with no confirmed critical or should-address findings.

The official Budget document confirms the announced 1 April 2027 rates: £13.21 for ages 21+, £11.27 for ages 18–20, and £8.31 for ages 16–17 and eligible apprentices. The new explicit anchor, subsequent projection and rounding are coherent on static inspection. The separate announced-rate tests preserve the distinction from historical rates backed by regulations. Later projections remain assumptions, and the maintainer's index choice remains open.

Remaining validation: this exact commit's YAML tests passed, but all six Python shards are still running and Test / Result has not appeared in the fresh metadata. Local country/Core tests were NOT RUN. The previous approval and passing tests apply to 58da01cc3; they do not qualify this new commit. The raw cancelled Fix record is retained alongside later successful Fix checks, without attributing a cause.

Optional wording clarification: the axiom: n/a explanation could mention the new Budget-announced anchor as well as projection. This review does not certify parity, private aggregate impacts or adoption.

The OBR forecasts the national living wage itself (EFO October 2026,
detailed economy tables, Table 1.13), and HM Treasury costed the Budget
2026 Carer's Allowance taper on those projections. Add
gov.economic_assumptions.yoy_growth.obr.national_living_wage: growth in
the rates set to 2027, the OBR's estimates for 2028 to 2031 (£13.51,
£13.85, £14.23, £14.62), then average_earnings growth. Project the
minimum wage rates by its index instead of earnings_uprating.

Tests check the series against the published table to the penny and
its long-run years against average_earnings.

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

@juaristi22 juaristi22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incremental review of 1c17f28b3..8742d96ac: PARTIAL, with no confirmed critical or should-address findings.

I checked the new series against the official October 2026 OBR economy workbook, Table 1.13. The years, hourly units, raw rates and all eleven six-decimal growth ratios match the new test table and series. The projection reproduces £13.51, £13.85, £14.23 and £14.62 for 2028–2031 on static inspection. Treasury's policy costings, physical page 16 also support using OBR wage projections as the taper's costing premise. These are forecasts, rather than enacted future wage rates.

The transition after 2031 to average earnings, common growth for younger/apprentice bands, mixed forecast vintages and the 2039 index horizon remain disclosed assumptions. Maintainer sign-off on index choice remains open. Static tracing found no defect in the index composition, later stated-rate precedence or the linked CA/ESA/UC rounding rules.

Remaining validation: this exact commit's YAML tests passed at 16:09:12 UTC. All six Python shards are still running, and Test / Result has not appeared. Local country/Core imports and tests were NOT RUN. The earlier reviews and CI remain tied to their original commits. The cancelled Fix record is retained alongside a later successful Fix check, without attributing a cause. Private aggregate impacts and adoption are not certified here.

Optional wording: the PR title still names May–July earnings growth, while the selected forecast index has changed.

@MaxGhenis MaxGhenis changed the title Project the minimum wage rates by May-July earnings growth Project the minimum wage rates by the OBR's national living wage forecast Oct 28, 2026
@MaxGhenis

MaxGhenis commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator Author

Hand-off to the UK hub at 8742d96. HOLD: do not land until @vahid-ahmadi signs off on the index, or Max rules "go" on d2129.

  • Hold: the Budget coordinator asked to leave this for Vahid's index sign-off after the Budget (29 Oct). The index choice and its alternatives are under "For maintainer sign-off: which index" in the description.
  • Head: 8742d96. The commit adds yoy_growth.obr.national_living_wage: the rates set to 2027, the OBR's EFO October 2026 Table 1.13 estimates for 2028–2031, then average earnings. The minimum wage rates are projected by it.
  • Checks: 20/20 pass, including all six Python shards and Aggregate impact (run). The PR is MERGEABLE and CLEAN.
  • Reviews: @juaristi22 approved at 58da01c. Their incremental reviews at 1c17f28 and 8742d96 found nothing to fix. An independent GPT-6.1 Sol review of 1c17f28b3..8742d96ac approves with no findings (local record ~/reviews/uk-ca-earnings-limit-nlw/review-2700-r6.md).
  • Local tests: the projection, rates, CA, ESA, Pension Credit, importer, uprating-declaration, dated-reform and lagged-series tests pass at this head (365 passed), as do the CA YAML tests.
  • @juaristi22's title nit: done. The title now names the OBR forecast.
  • Linked work:
  • Follow-up owed: utils/import_obr_forecasts.py doesn't read Table 1.13, so the series is refreshed by hand with each EFO. Teaching the importer to read it is Read the OBR's national living wage forecast (EFO Table 1.13) in import_obr_forecasts #2721.
  • Notes: ~/reviews/uk-ca-earnings-limit-nlw/STATE.md.

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.

The national living wage parameter ends at April 2026, so every rule that reads it freezes

2 participants