Skip to content

Run CI on 18 approved PRs merged together (not for merging) - #2886

Closed
MaxGhenis wants to merge 366 commits into
mainfrom
hub-integration-1106-b
Closed

MaxGhenis wants to merge 366 commits into
mainfrom
hub-integration-1106-b

Conversation

@MaxGhenis

Copy link
Copy Markdown
Collaborator

I merged four more approved pull requests onto the branch of #2885 and resolved their conflicts, so CI can test all 18 as one tree. Please don't merge it: I'll close it and delete the branch when the run finishes, and post the result here first.

On top of a2e5eb14f I merged, in this order:

I also added the test update from #2830's new head, aed86e9a3, so this tree matches what landing that head produces.

The resolutions change code in one place. #2834 moved the Council Tax Reduction deduction into council_tax_reduction_tax_deduction, so #2002's rule on the tax that uncounted rent would bear without earnings moves there too. Elsewhere they change tests, comments and documentation, including the figures in one case of council_tax_reduction_tax_deduction.yaml, where #2828 takes the Marriage Allowance at Step 6.

The four pull requests' own branches stay as they are until the batch lands on main.

Reproducer: policyengine_uk/tests/test_price_base_year.py::test_reform_changes_the_base_year

🤖 Generated with Claude Code

MaxGhenis and others added 30 commits November 1, 2026 02:59
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Docstrings only: uc_award_upper_bound names who deducts, awards and sets the
minimum, and has_uc_award_with_carer_element states the nil-bound rule plainly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Docstrings and one label only. uc_award_upper_bound's label names it an upper
bound on the award; the attribution, addition, CTR carer premium and CTR
premiums docstrings name who reads or pays.

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

Case 12 sets £270 of the allowance against dividends above the basic rate
limit, with £300 of savings between the pay and the dividends inside the
savings allowance. The search finds that share only through the line where
the pay reaches the basic rate limit. The changelog fragment now names the
model as the actor.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The model's Scottish scale carries its 2017-18 values back to 2015-16 and
2016-17, so the rate test's empty-scale branch never ran and it read the
31,500 Scottish higher-rate start for those years. In 2016-17 s. 11A(1)
charged the Scottish basic rate on income that would otherwise bear the
basic rate, and 2015-16 had no Scottish rate, so the test now uses the basic
rate limit before 2017-18. The property test leaves Scottish taxpayers out
before 2017-18, where the model's liability uses the carried-back scale, and
Ruff formats its limits table.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comments only: DWP deducts and the council counts, and the disabled person
keeps the premium in law.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
property_income is profit, and with no receipts given the model applies no
property allowance to a profit above 1,000, so the two cases now give
31,092 and 31,093 of profit directly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Scenario's parameter_changes takes numbers only, so a list of bands failed
validation before the removal check. The test now passes the saved list
through Reform.from_dict and Scenario.from_reform, which check the path
first, and checks the alias stays in the parameter tree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FA 2014 Sch. 38 para. 12 gives s. 11A effect from the year the Treasury
appointed under s. 25(5) of the Scotland Act 2012, and SI 2015/2000 art. 3
appoints 2016-17.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Property income of £40,000 and savings of £20,000 in 2026-27: under ITA 2007
s. 25(2) the model sets £10,270 of the Personal Allowance against savings,
which keeps the property income at the basic rate limit and puts the £500
savings allowance against savings taxed at 40%. Savings tax falls from
£5,846 to £3,692 and income tax from £11,332 to £11,232.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Under a starting rate limit raised to 40,000, the model charges 37,700 of
38,000 of interest at the starting rate for savings and the rest at the
savings nil rate, both of which s. 55B(2)(b) allows. Baseline limits never
separate the starting rate from the savings nil rate in this test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pension_credit_follows_model_formulas now asks replaces_definition about all
five Pension Credit variables. It compares every attribute Core calculates a
variable from (formula for the period, default, defined_for, adds and
subtracts, period, neutralization, end) with the model's own class, and
counts an input for the period. A reform that keeps the formula but gives a
family outside defined_for a default of £2,000 now drops the age and take-up
conditions, so the man aged 40 who would get that £2,000 gets no ESA.

Tests: the four reforms (entitlement default, entitlement default with
another payment formula, payment default, eligibility default), a reform that
changes only the guarantee credit's coverage, the model's own definitions
registered again (shortcut kept), and an exhaustive change of each attribute
of each variable. The parameter reform test now also asserts the shortcut on
the lifted couple.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The screen read would_claim_pc in the simulation itself to skip couples that
would not claim. A reform that gives take-up a formula reading the family's
ESA then closed esa_income -> esa_income_eligible -> would_claim_pc ->
esa_income. pension_credit_follows_model_formulas now returns false when
would_claim_pc has a formula for the period, so the screen reads Pension
Credit without the award for every couple whose claim passes the other
tests. Supplied take-up and parameter reforms keep the shortcut.

Tests: the take-up formula and its control with Pension Credit by another
formula (ESA [0, 5000, 0], Pension Credit [8091.20, 0, 8091.20]), and the
exhaustive guard test's take-up rows (formula drops the shortcut; default
and input keep it).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
DWP applies the higher earnings disregard while the claimant or partner
receives ESA (SPC Regs 2002 Sch VI para 4(1)(a)(vii)); a member outside the
couple keeps their own claim; the 40-year-old claims in their own right;
nobody owes income tax or primary Class 1 contributions in cases 13 and 20.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A mutant that keeps the shortcut then fails on the award it pays, or on the
cycle it closes, rather than on the flag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comments only: the Treasury adds the Scottish basic rate, a reform raises
the starting rate limit, and the model reads its 2017-18 Scottish scale in
earlier years.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The test looped over the model's own list, so a variable dropped from that
list dropped out of the test too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Under ITA 2007 s. 25(2) the model can set allowances against savings or
dividends while property income is left, so:

- the accounting invariant subtracts the savings and dividends left after
  the allowances set against them;
- the monotonic invariant tests income tax, since more property income can
  lower savings tax: property income of £30,000 to £40,000 with savings of
  £20,000 takes savings tax from £3,800 to £3,692 while income tax rises
  from £7,286 to £11,232, which a new test pins;
- the higher-rate check pins savings tax of £3,692, income tax of £11,232
  and non-savings taxable income of £37,700 for property income of £40,000
  and savings of £20,000.

The file now loads the model once through cloned_uk_tax_benefit_system,
as other test files do.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The generators draw tax-credit reports; Core reads a branch's inputs from its
parent branches; the model pays the reported award and applies no Universal
Credit cap in case 20.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The notes now say the model sets the allowances under ITA 2007 s. 25(2),
rather than the section or the allowance doing it. Comments and
docstrings only; the code and the YAML data don't change.

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

Allowlist the strict expected failures under #2795 so CI's outcome check
accepts them, and add the third route: a carer with limited capability for
work and a £600 council rent, whose award comes to nil under the lower work
allowance while the bound's calculation without housing costs leaves
£461.10. The test asserts the law's £4,474.60 premium and raises
RuntimeError when a premise fails.

test_upper_bound_matches_real_award_endpoints compares the bound exactly
with the larger of two real awards, one with non-dependant deductions
supplied as nil and one with the housing costs element supplied as nil,
before the cap and finally, over every element, both work allowances and
rows within a few float32 steps of a nil award.
test_the_bound_reads_every_component_of_the_maximum_amount checks that the
bound reads each element of uc_maximum_amount in order and every input of
the award's steps apart from the deduction, the Tax-Free Childcare choice
and the claim.

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

The bound's documentation and the readers that cite it now name all three
ways it can exceed a nil award (#2795): a non-dependant deduction,
Tax-Free Childcare, and a small housing costs element with a work
allowance. They limit the upper-bound claim to awards the model's formulas
calculate; a stored award can exceed it, and the carer test then reads it.

The Scottish premium's documentation, parameters, YAML comments and
changelog state the 2022-23 to 2024-25 nil-award rule as the model's
reading of reg 4, which UC Claims and Payments Regs reg 32A(1)(a), the
SSI 2025/24 policy note and Ipswich BC v TD [2024] UKUT 117 (AAC) leave
open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The attribution's documentation, the two YAML files' comments and case
names, the property test's docstring and comments, and the allowlist
reasons now name who acts and use verbs in place of be-verb complements.
No formula or expected value changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Section 13(2) charges the dividend upper rate on dividends that would
otherwise bear the higher rate, which s. 10(3) starts at the basic rate
limit. The model's dividend scale holds 37,500 in 2015-16, against a
32,000 basic rate limit, so the test read it there and admitted dividends
the statute charges at the upper rate. The property ties the dividend
scale to a reformed basic rate limit instead of drawing it on its own.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FA 2016 s. 4 inserted the savings nil rate (ss. 12A and 12B) and added it
to s. 55B(2)(b), with effect for 2016-17 and later years (s. 4(17)). The
model's Personal Savings Allowance amounts start in 2005, so the test
counted a nil rate in 2015-16 that the law didn't have.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 24 commits November 5, 2026 09:49
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…test

The test's table holds main's awards, and this branch pays those six families
through the working-age route. Hand arithmetic reproduces each award CI printed
and gives the Welsh single person's in each year.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
housing_benefit_reported doesn't show whether a Northern Ireland award takes
the form of a rate rebate or of a rent rebate or allowance, and tenure doesn't
settle it: SR 2006/405 reg. 13(1)(f) and (g) pays a rent rebate or allowance on
mooring charges and site payments, so an owner can get one, and SR 2016/226 reg.
6(2A) runs it on. The first-day test now reads
housing_benefit_report_is_rate_rebate_only, false by default, so a report takes
the run-on unless the input marks it as a rate rebate alone. Case 47 covers an
owner with a rent allowance, who keeps Universal Credit of £4,062.96.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The same test update as the allowance order branch's latest commit.

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

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Aggregate impact on certified data: pass

Base 5c0850da5f against head 11f08ad57b, 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: 79 (thresholds in report_spec.yaml; a flag does not fail the job).

Workflow run and full report

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.

Moves flagged for review

Measure Year Base Head Change
VAT excluding private school fees 2026-27 £256.87bn £249.47bn -£7.39bn
VAT excluding private school fees 2027-28 £266.33bn £258.67bn -£7.66bn
VAT excluding private school fees 2031-32 £291.59bn £283.21bn -£8.38bn
VAT excluding private school fees 2030-31 £285.24bn £277.04bn -£8.20bn
VAT excluding private school fees 2029-30 £278.97bn £270.95bn -£8.02bn
VAT excluding private school fees 2028-29 £272.70bn £264.86bn -£7.83bn
VAT excluding private school fees 2025-26 £249.37bn £242.22bn -£7.16bn
Government balance, each receipt once 2025-26 £363.07bn £355.78bn -£7.29bn
gov_balance 2025-26 £363.07bn £355.78bn -£7.29bn
Government balance, each receipt once 2026-27 £389.72bn £382.19bn -£7.53bn
gov_balance 2026-27 £389.72bn £382.19bn -£7.53bn
Government balance, each receipt once 2027-28 £430.51bn £422.70bn -£7.81bn
gov_balance 2027-28 £430.51bn £422.70bn -£7.81bn
Government balance, each receipt once 2028-29 £457.24bn £449.25bn -£7.99bn
gov_balance 2028-29 £457.24bn £449.25bn -£7.99bn
Government balance, each receipt once 2029-30 £487.94bn £479.75bn -£8.19bn
gov_balance 2029-30 £487.94bn £479.75bn -£8.19bn
Government balance, each receipt once 2030-31 £516.56bn £508.19bn -£8.37bn
gov_balance 2030-31 £516.56bn £508.19bn -£8.37bn
Government balance, each receipt once 2031-32 £542.31bn £533.75bn -£8.55bn
gov_balance 2031-32 £542.31bn £533.75bn -£8.55bn
Council Tax Reduction 2025-26 3,180k 3,319k +139.1k
Council Tax Reduction 2027-28 3,205k 3,344k +139.0k
Council Tax Reduction 2028-29 3,218k 3,357k +139.2k
Council Tax Reduction 2026-27 3,199k 3,336k +137.1k
Council Tax Reduction 2030-31 3,244k 3,381k +136.3k
Council Tax Reduction 2031-32 3,251k 3,387k +136.5k
Council Tax Reduction 2029-30 3,233k 3,368k +135.0k
Government receipts, each component once 2025-26 £892.00bn £884.82bn -£7.18bn
gov_tax 2025-26 £892.00bn £884.82bn -£7.18bn
gov_tax 2026-27 £934.66bn £927.25bn -£7.42bn
Government receipts, each component once 2026-27 £934.66bn £927.25bn -£7.42bn
Government receipts, each component once 2027-28 £980.50bn £972.82bn -£7.69bn
gov_tax 2027-28 £980.50bn £972.82bn -£7.69bn
gov_tax 2028-29 £1,015.93bn £1,008.07bn -£7.86bn
Government receipts, each component once 2028-29 £1,015.93bn £1,008.07bn -£7.86bn
Government receipts, each component once 2029-30 £1,054.24bn £1,046.18bn -£8.05bn
gov_tax 2029-30 £1,054.24bn £1,046.18bn -£8.05bn
Government receipts, each component once 2030-31 £1,091.56bn £1,083.32bn -£8.24bn
gov_tax 2030-31 £1,091.56bn £1,083.32bn -£8.24bn

39 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 -£20.9m -£20.8m -£27.6m -£28.8m -£38.6m -£38.7m -£30.0m
VAT excluding private school fees -£7.16bn -£7.39bn -£7.66bn -£7.83bn -£8.02bn -£8.20bn -£8.38bn
VAT on private school fees 0 0 0 0 -£0.6m 0 0

Spending by benefit and service

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Pension Credit +£7,480 +£12,708 +£16,736 +£16,076 +£15,706 +£20,382 +£22,569
Universal Credit +£15,766 +£15,796 +£15,820 +£15,843 +£15,876 +£15,914 +£16,337
Housing Benefit +£568 -£144 +£220 +£2,064 +£6,673 -£1,435 -£312
Council Tax Reduction +£104.3m +£109.9m +£114.6m +£120.2m +£125.0m +£131.7m +£136.4m
Child Benefit +£5.2m +£5.4m +£5.6m +£5.8m +£5.9m +£6.1m +£6.2m
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
Council Tax Reduction +139.1k +137.1k +139.0k +139.2k +135.0k +136.3k +136.5k
Child Benefit +1.0k +1.0k +1.0k +1.0k +1.0k +1.0k +1.0k
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 -£7.18bn -£7.42bn -£7.69bn -£7.86bn -£8.05bn -£8.24bn -£8.41bn
Government spending +£109.5m † +£115.4m † +£120.2m † +£126.0m † +£131.0m † +£137.8m † +£142.7m †
Government balance, each receipt once -£7.29bn † -£7.53bn † -£7.81bn † -£7.99bn † -£8.19bn † -£8.37bn † -£8.55bn †

Model totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
gov_tax -£7.18bn -£7.42bn -£7.69bn -£7.86bn -£8.05bn -£8.24bn -£8.41bn
household_tax -£20.9m -£20.8m -£27.6m -£28.8m -£38.6m -£38.7m -£30.0m
pre_budget_change_household_tax -£20.9m -£20.8m -£27.6m -£28.8m -£38.6m -£38.7m -£30.0m
gov_spending +£109.5m † +£115.4m † +£120.2m † +£126.0m † +£131.0m † +£137.8m † +£142.7m †
household_benefits +£109.5m † +£115.4m † +£120.2m † +£126.0m † +£131.0m † +£137.8m † +£142.7m †
gov_balance -£7.29bn † -£7.53bn † -£7.81bn † -£7.99bn † -£8.19bn † -£8.37bn † -£8.55bn †

Household income totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Household net income +£130.4m † +£136.1m † +£147.9m † +£154.9m † +£169.6m † +£176.5m † +£172.6m †
Household net income (HBAI definition) +£129.9m +£135.6m +£147.3m +£154.4m +£169.1m +£176.1m +£172.3m

Poverty rates

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Absolute poverty, before housing costs: everyone -0.02pp -0.03pp -0.03pp -0.03pp -0.03pp -0.03pp -0.03pp
Absolute poverty, before housing costs: children -0.03pp -0.05pp -0.05pp -0.04pp -0.04pp -0.04pp -0.04pp
Absolute poverty, before housing costs: working-age adults -0.01pp -0.03pp -0.03pp -0.03pp -0.03pp -0.03pp -0.03pp
Absolute poverty, after housing costs: everyone -0.06pp -0.03pp -0.05pp -0.03pp -0.03pp -0.03pp -0.03pp
Absolute poverty, after housing costs: children -0.13pp -0.04pp -0.11pp -0.07pp -0.07pp -0.07pp -0.07pp
Absolute poverty, after housing costs: working-age adults -0.05pp -0.03pp -0.05pp -0.03pp -0.03pp -0.03pp -0.03pp
Relative poverty, before housing costs: everyone -0.01pp -0.02pp -0.03pp -0.02pp -0.03pp -0.03pp -0.03pp
Relative poverty, before housing costs: children -0.02pp -0.03pp -0.05pp -0.04pp -0.04pp -0.04pp -0.04pp
Relative poverty, before housing costs: working-age adults -0.02pp -0.01pp -0.03pp -0.02pp -0.03pp -0.03pp -0.03pp
Relative poverty, after housing costs: everyone -0.04pp -0.03pp -0.03pp -0.03pp -0.01pp -0.01pp -0.01pp
Relative poverty, after housing costs: children -0.09pp -0.04pp -0.07pp -0.07pp -0.03pp -0.03pp -0.03pp
Relative poverty, after housing costs: working-age adults -0.04pp -0.03pp -0.02pp -0.02pp -0.01pp -0.01pp -0.01pp
Relative poverty, after housing costs: pensioners +0.01pp 0 0 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 -11.3k -19.6k -19.6k -17.7k -18.0k -18.0k -18.1k
Absolute poverty, before housing costs: children -5.0k -7.8k -7.7k -6.3k -6.3k -6.3k -6.3k
Absolute poverty, before housing costs: working-age adults -6.3k -11.9k -11.9k -11.4k -11.7k -11.7k -11.7k
Absolute poverty, after housing costs: everyone -40.0k -21.0k -37.7k -21.8k -21.7k -21.7k -21.8k
Absolute poverty, after housing costs: children -19.9k -6.3k -17.2k -10.1k -10.0k -10.0k -10.0k
Absolute poverty, after housing costs: working-age adults -20.1k -14.8k -20.5k -11.8k -11.7k -11.7k -11.8k
Relative poverty, before housing costs: everyone -10.0k -10.9k -19.6k -14.8k -18.0k -18.0k -18.1k
Relative poverty, before housing costs: children -3.5k -5.0k -7.7k -6.2k -6.3k -6.3k -6.3k
Relative poverty, before housing costs: working-age adults -6.4k -5.9k -11.9k -8.6k -11.7k -11.7k -11.7k
Relative poverty, after housing costs: everyone -28.9k -21.0k -17.7k -17.8k -8.6k -8.6k -8.6k
Relative poverty, after housing costs: children -13.0k -6.3k -10.0k -10.0k -3.9k -3.8k -3.8k
Relative poverty, after housing costs: working-age adults -16.6k -14.8k -7.8k -7.8k -4.7k -4.7k -4.7k
Relative poverty, after housing costs: pensioners +689 0 0 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.0001 -0.0001 -0.0001 -0.0001 -0.0001 -0.0001 -0.0001

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 +£65 † -£20 † +£8.57 † +£18 † +£16 † -£7.69 † +£12 †
Decile 2: mean household_net_income per household +£41 † +£16 † +£134 † +£13 † +£38 † +£44 † +£99 †
Decile 3: mean household_net_income per household -£44 † -£18 † -£37 † -£22 † -£26 † -£16 † -£77 †
Decile 4: mean household_net_income per household -£58 † +£42 † -£0.43 † +£8.08 † +£32 † +£30 † +£42 †
Decile 5: mean household_net_income per household +£67 † +£3.50 † -£15 † -£14 † -£31 † -£19 † -£30 †
Decile 6: mean household_net_income per household -£1.65 † -£2.94 † -£2.39 † -£2.49 † +£7.02 † -£2.83 † -£2.71 †
Decile 7: mean household_net_income per household +£3.77 † +£4.36 † +£4.12 † +£28 † -£4.04 † +£4.22 † +£4.37 †
Decile 8: mean household_net_income per household +£2.87 † +£5.42 † +£3.03 † -£34 † +£3.53 † +£3.58 † +£3.69 †
Decile 9: mean household_net_income per household +£1.55 † -£1.01 † +£0.83 † +£0.99 † +£1.07 † -£4.83 † +£0.23 †
Decile 10: mean household_net_income per household +£2.60 † +£1.88 † +£0.34 † +£0.57 † +£3.42 † -£98 † +£1.30 †

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 +£3.4m +£2.6m -£2.2m -£1.0m -£0.4m -£1.0m -£1.0m
Raise higher rate by 1pp -£732 -£1,158 +£1,827 +£3,750 +£0.6m -£1,268 +£818
Raise personal allowance by ~800GBP/year -£4.1m -£1.3m -£14.6m -£0.8m +£1.2m -£1.5m -£1.9m
Raise child benefit by 25GBP/week per additional child -£1.5m -£1.4m -£1.3m -£1.2m -£0.5m -£1.0m -£0.9m
Reduce Universal Credit taper rate to 20% -£93,282 -£76,259 -£0.2m -£0.2m +£0.5m -£0.2m -£0.2m
Raise Class 1 main employee NICs rate to 10% -£27,254 -£30,564 -£31,775 -£37,105 +£0.6m -£41,658 -£39,330
Raise VAT standard rate by 2pp -£715.8m -£739.5m -£765.8m -£783.3m -£801.6m -£819.7m -£838.1m
Raise additional rate by 3pp -£473 +£1,145 -£636 +£1,078 +£1,482 -£1,457 +£721
Raise the Universal Credit standard allowance by 10% -£1.9m -£3.0m -£3.1m -£3.2m -£3.6m -£3.9m -£4.4m
Raise the State Pension by 10% -£0.9m +£84,750 -£0.5m -£0.3m +£1.2m +£0.8m +£0.6m

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 +£3.4m +£2.6m -£1.0m -£1.0m -£1.0m -£1.0m -£1.1m
Raise higher rate by 1pp: change in income_tax -£149 +£517 -£3 -£21 -£253 -£243 -£286
Raise personal allowance by ~800GBP/year: change in income_tax -£4.1m -£1.3m -£14.6m -£0.8m +£0.6m -£1.5m -£1.8m
Raise child benefit by 25GBP/week per additional child: change in child_benefit +£1.7m +£1.6m +£1.4m +£1.3m +£1.2m +£1.1m +£1.0m
Reduce Universal Credit taper rate to 20%: change in universal_credit -£9,023 -£9,317 -£9,330 -£10,663 -£10,687 -£10,642 -£10,397
Raise VAT standard rate by 2pp: change in vat -£715.8m -£739.5m -£765.8m -£783.3m -£801.5m -£819.7m -£838.1m
Raise additional rate by 3pp: change in income_tax -£155 +£469 +£1 -£1 +£0 -£293 -£55
Raise the Universal Credit standard allowance by 10%: change in universal_credit +£0 -£0 0 0 -£0 0 +£0

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 +£13 (+0.1%) +£14 (+0.1%) +£18 (+0.1%) +£17 (+0.1%) +£19 (+0.1%) +£20 (+0.1%) +£20 (+0.1%)
Decile 2 +£6 (+0.0%) +£5 (+0.0%) +£8 (+0.0%) +£9 (+0.0%) +£9 (+0.0%) +£10 (+0.0%) +£10 (+0.0%)
Decile 3 +£5 (+0.0%) +£6 (+0.0%) +£4 (+0.0%) +£5 (+0.0%) +£5 (+0.0%) +£4 (+0.0%) +£4 (+0.0%)
Decile 4 +£5 (+0.0%) +£6 (+0.0%) +£7 (+0.0%) +£7 (+0.0%) +£7 (+0.0%) +£8 (+0.0%) +£8 (+0.0%)
Decile 5 +£1 (+0.0%) +£1 (+0.0%) +£2 (+0.0%) +£2 (+0.0%) +£2 (+0.0%) +£2 (+0.0%) +£2 (+0.0%)
Decile 6 +£2 (+0.0%) +£2 (+0.0%) +£2 (+0.0%) +£2 (+0.0%) +£2 (+0.0%) +£2 (+0.0%) +£2 (+0.0%)
Decile 7 +£1 (+0.0%) +£1 (+0.0%) +£1 (+0.0%) +£1 (+0.0%) 0 0 +£1 (+0.0%)
Decile 8 +£3 (+0.0%) +£3 (+0.0%) +£3 (+0.0%) +£3 (+0.0%) +£4 (+0.0%) +£4 (+0.0%) +£4 (+0.0%)
Decile 9 +£2 (+0.0%) +£2 (+0.0%) +£1 (+0.0%) +£1 (+0.0%) +£1 (+0.0%) +£1 (+0.0%) 0
Decile 10 +£3 (+0.0%) +£2 (+0.0%) 0 +£1 (+0.0%) +£3 (+0.0%) +£3 (+0.0%) +£1 (+0.0%)
all +£4 (+0.0%) +£4 (+0.0%) +£5 (+0.0%) +£5 (+0.0%) +£5 (+0.0%) +£6 (+0.0%) +£5 (+0.0%)
Year People gaining over £1 People losing over £1
2025-26 1.5% 0.4%
2026-27 1.3% 0.4%
2027-28 1.2% 0.3%
2028-29 1.2% 0.3%
2029-30 1.3% 0.3%
2030-31 1.3% 0.2%
2031-32 1.2% 0.2%

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 £-52,314,332 in total; 2026-27: 76 units below zero, a weighted £-54,150,722 in total; 2027-28: 76 units below zero, a weighted £-56,043,426 in total
Counted-once check

The check raised each of 92 components by £1 per unit in 2026-27 and read every head of its totals 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 response that is not finite breaks every rule. The check measures a head that breaks a rule twice more: once holding every other head at its baseline value, and once holding every other head at its value after the first £1 while the component rises again. The head fails where either measurement still shows the response. The check cannot hold a head at a value that is not finite. In each unit where another head is not finite after the first £1, it holds that head at its baseline value, and the second measurement judges no household the unit belongs to. There a head fails wherever it first broke a rule, or wherever the check could not confirm whether its response contains the component. 0 failed and the check skipped 0.

  • 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 5c0850da5f uk 2.175.7 (files caf48f036f2e), core 3.34.1, py 3.13.18 aarch64 be7a15d6f63f 3bcfb3473960 2462.97s
head #2886 merged into main 11f08ad57b uk 2.175.7 (files d0bae40782b4), core 3.34.1, py 3.13.18 aarch64 be7a15d6f63f 93bd0b3e0f8d 2748.7s

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 £294.44bn £315.21bn £335.80bn £351.25bn £366.92bn £385.32bn £399.96bn
National Insurance (employee and self-employed) £51.70bn £54.14bn £56.13bn £57.73bn £59.76bn £61.64bn £63.51bn
National Insurance (employer) £148.71bn £155.37bn £160.88bn £165.09bn £172.06bn £177.36bn £182.57bn
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.60bn £13.15bn £13.60bn £14.11bn £14.67bn £15.24bn £15.80bn
Student loan repayments £7.82bn £8.13bn £8.39bn £8.58bn £8.79bn £9.04bn £9.29bn
VAT excluding private school fees £242.22bn £249.47bn £258.67bn £264.86bn £270.95bn £277.04bn £283.21bn
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.01bn £2.09bn £2.14bn £2.20bn £2.26bn £2.31bn
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.71bn £24.13bn £26.00bn £26.83bn £26.51bn £25.78bn £24.63bn
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.40bn £4.41bn £4.42bn £4.43bn £4.44bn £4.45bn
Council tax £49.21bn £52.16bn £54.89bn £57.95bn £61.16bn £64.47bn £67.91bn
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 £36.20bn £38.00bn £39.46bn £42.27bn £43.25bn £44.29bn
Stamp duty land tax on the household's own purchases £6.88bn £7.32bn £7.66bn £8.06bn £8.47bn £8.91bn £9.35bn
Stamp duty land tax paid by companies £4.72bn £4.57bn £5.29bn £6.03bn £6.37bn £6.92bn £7.45bn
Land transaction tax (Wales) £0.07bn £0.08bn £0.08bn £0.09bn £0.10bn £0.10bn £0.11bn
Land and buildings transaction tax (Scotland) £0.31bn £0.32bn £0.33bn £0.35bn £0.36bn £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.68bn £125.92bn £126.72bn £129.48bn £132.98bn £136.65bn £140.41bn
Pension Credit £6.21bn £6.46bn £6.68bn £6.82bn £6.89bn £7.07bn £7.22bn
Winter Fuel Payment £1.86bn £1.85bn £1.79bn £1.77bn £1.78bn £1.78bn £1.78bn
Pension Age Winter Heating Payment (Scotland) £0.19bn £0.20bn £0.20bn £0.21bn £0.21bn £0.22bn £0.22bn
Universal Credit £75.48bn £81.56bn £84.02bn £86.07bn £87.22bn £88.76bn £89.38bn
Housing Benefit £8.56bn £8.51bn £8.83bn £9.05bn £9.28bn £9.56bn £9.83bn
Council Tax Reduction £2.18bn £2.31bn £2.43bn £2.57bn £2.71bn £2.86bn £3.01bn
Employment and Support Allowance (income-related) £0.79bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Employment and Support Allowance (contribution-based) £5.20bn £5.37bn £5.56bn £5.69bn £5.82bn £5.95bn £6.09bn
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.31bn £0.31bn £0.32bn £0.33bn £0.34bn
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.95bn £28.03bn £29.05bn £30.09bn £30.75bn £31.51bn £32.21bn
Disability Living Allowance £7.49bn £7.79bn £8.07bn £8.36bn £8.55bn £8.76bn £8.95bn
Attendance Allowance £8.68bn £9.03bn £9.36bn £9.69bn £9.90bn £10.15bn £10.38bn
Carer's Allowance £4.48bn £4.66bn £4.83bn £5.00bn £5.11bn £5.27bn £5.42bn
Carer Support Payment (Scotland) £0.31bn £0.32bn £0.33bn £0.34bn £0.35bn £0.36bn £0.37bn
Scottish Carer Supplement £0.00bn £0.04bn £0.04bn £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.54bn £0.55bn £0.56bn £0.58bn £0.59bn
Armed Forces Compensation Scheme £0.61bn £0.63bn £0.65bn £0.66bn £0.68bn £0.69bn £0.71bn
War Widow's or Widower's Pension £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Child Benefit £16.20bn £16.82bn £17.39bn £18.01bn £18.40bn £18.84bn £19.26bn
Scottish Child Payment £0.49bn £0.52bn £0.53bn £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.41bn £3.54bn £3.62bn £3.70bn £3.78bn £3.87bn
Statutory Paternity Pay £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Sick Pay £1.12bn £1.16bn £1.20bn £1.23bn £1.26bn £1.29bn £1.32bn
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.71bn £0.73bn £0.75bn £0.76bn £0.78bn
Widowed Parent's Allowance £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Tax-Free Childcare £0.56bn £0.57bn £0.57bn £0.58bn £0.60bn £0.61bn £0.59bn
Extended childcare entitlement £2.99bn £3.50bn £3.59bn £3.71bn £3.78bn £3.86bn £3.93bn
Universal childcare entitlement £2.06bn £2.22bn £2.29bn £2.37bn £2.43bn £2.48bn £2.53bn
Targeted childcare entitlement £0.50bn £0.51bn £0.52bn £0.54bn £0.55bn £0.57bn £0.56bn
Childcare Offer for Wales £0.26bn £0.28bn £0.28bn £0.29bn £0.30bn £0.31bn £0.32bn
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.89bn £204.30bn £204.56bn £204.91bn £205.34bn £205.85bn £206.35bn
State education spending £0.02bn £0.02bn £0.02bn £0.02bn £0.02bn £0.02bn £0.02bn
Transport subsidy spending £25.05bn £25.10bn £25.14bn £25.18bn £25.23bn £25.30bn £25.36bn
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,264k 11,145k 10,819k 10,700k 10,723k 10,750k 10,776k
Pension Credit 1,489k 1,484k 1,476k 1,454k 1,452k 1,457k 1,466k
Winter Fuel Payment 7,844k 7,783k 7,473k 7,375k 7,391k 7,409k 7,427k
Pension Age Winter Heating Payment (Scotland) 803k 802k 800k 797k 799k 801k 802k
Universal Credit 6,342k 6,418k 6,408k 6,369k 6,363k 6,343k 6,295k
Housing Benefit 1,249k 1,182k 1,181k 1,164k 1,164k 1,166k 1,168k
Council Tax Reduction 3,319k 3,336k 3,344k 3,357k 3,368k 3,381k 3,387k
Employment and Support Allowance (income-related) 71k 0k 0k 0k 0k 0k 0k
Employment and Support Allowance (contribution-based) 719k 720k 721k 722k 724k 726k 728k
Jobseeker's Allowance (income-based) 0k 0k 0k 0k 0k 0k 0k
Jobseeker's Allowance (contribution-based) 67k 67k 67k 67k 67k 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,567k 3,575k 3,579k 3,585k 3,593k 3,602k 3,611k
Disability Living Allowance 1,291k 1,294k 1,296k 1,298k 1,300k 1,304k 1,307k
Attendance Allowance 1,695k 1,698k 1,700k 1,703k 1,707k 1,711k 1,715k
Carer's Allowance 1,034k 1,037k 1,038k 1,040k 1,042k 1,060k 1,062k
Carer Support Payment (Scotland) 71k 71k 71k 72k 72k 72k 72k
Scottish Carer Supplement 0k 71k 71k 72k 72k 72k 72k
Severe Disablement Allowance 4k 4k 4k 4k 4k 4k 4k
Industrial Injuries Disablement Benefit 137k 137k 137k 138k 138k 138k 139k
Armed Forces Compensation Scheme 93k 93k 94k 94k 94k 94k 94k
War Widow's or Widower's Pension 0k 0k 0k 0k 0k 0k 0k
Child Benefit 8,124k 8,121k 8,121k 8,131k 8,146k 8,162k 8,179k
Scottish Child Payment 351k 352k 352k 353k 350k 348k 337k
Two Child Limit Payment (Scotland, counterfactual) 0k 0k 0k 0k 0k 0k 0k
Healthy Start vouchers 200k 200k 200k 201k 201k 201k 202k
Maternity Allowance 0k 0k 0k 0k 0k 0k 0k
Statutory Maternity Pay 333k 333k 334k 334k 335k 336k 337k
Statutory Paternity Pay 0k 0k 0k 0k 0k 0k 0k
Statutory Sick Pay 181k 182k 182k 182k 182k 183k 183k
Sure Start Maternity Grant 26k 26k 26k 26k 26k 26k 26k
Bereavement Support Payment 98k 98k 98k 98k 98k 99k 99k
Widowed Parent's Allowance 0k 0k 0k 0k 0k 0k 0k
Tax-Free Childcare 1,043k 1,027k 1,014k 1,009k 1,011k 1,009k 993k
Extended childcare entitlement 795k 800k 796k 797k 798k 798k 792k
Universal childcare entitlement 1,071k 1,072k 1,072k 1,073k 1,076k 1,079k 1,074k
Targeted childcare entitlement 165k 156k 154k 154k 155k 155k 150k
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 98k 99k 99k 99k 99k
Adult Dependants' Grant 18k 18k 12k 12k 12k 12k 12k
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,065k 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 £884.82bn £927.25bn £972.82bn £1,008.07bn £1,046.18bn £1,083.32bn £1,116.48bn
Government spending £529.04bn † £545.06bn † £550.11bn † £558.81bn † £566.43bn † £575.13bn † £582.73bn †
Government balance, each receipt once £355.78bn † £382.19bn † £422.70bn † £449.25bn † £479.75bn † £508.19bn † £533.75bn †
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 £884.82bn £927.25bn £972.82bn £1,008.07bn £1,046.18bn £1,083.32bn £1,116.48bn
household_tax £491.95bn £520.39bn £551.18bn £575.98bn £600.96bn £626.66bn £648.39bn
pre_budget_change_household_tax £484.13bn £512.26bn £542.79bn £566.92bn £591.68bn £617.12bn £638.58bn
gov_spending £529.04bn † £545.06bn † £550.11bn † £558.81bn † £566.43bn † £575.13bn † £582.73bn †
household_benefits £529.04bn † £545.06bn † £550.11bn † £558.81bn † £566.43bn † £575.13bn † £582.73bn †
gov_balance £355.78bn † £382.19bn † £422.70bn † £449.25bn † £479.75bn † £508.19bn † £533.75bn †
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,637.96bn £1,702.77bn £1,757.35bn £1,806.41bn £1,855.97bn £1,912.43bn £1,970.44bn
Household net income £1,636.37bn † £1,687.24bn † £1,714.83bn † £1,746.82bn † £1,777.96bn † £1,816.24bn † £1,858.85bn †
Household net income (HBAI definition) £1,449.26bn £1,499.25bn £1,530.24bn £1,564.50bn £1,597.16bn £1,634.82bn £1,675.78bn
Population: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
People 69,245k 69,383k 69,473k 69,592k 69,738k 69,912k 70,080k
Benefit units 35,110k 35,181k 35,226k 35,286k 35,360k 35,449k 35,534k
Households 31,046k 31,108k 31,149k 31,201k 31,267k 31,345k 31,420k
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.3% 15.5% 16.4% 16.3% 16.4% 16.5% 16.6%
Absolute poverty, before housing costs: children 24.6% 22.1% 23.3% 22.9% 23.1% 23.2% 23.4%
Absolute poverty, before housing costs: working-age adults 14.0% 13.8% 14.6% 14.7% 14.8% 14.8% 14.9%
Absolute poverty, before housing costs: pensioners 13.7% 13.4% 14.0% 13.8% 14.0% 14.0% 13.9%
Absolute poverty, after housing costs: everyone 21.5% 21.0% 22.0% 22.6% 22.8% 23.1% 23.4%
Absolute poverty, after housing costs: children 33.2% 31.2% 32.1% 32.5% 32.8% 33.3% 34.2%
Absolute poverty, after housing costs: working-age adults 19.9% 19.8% 20.8% 21.6% 21.9% 22.0% 22.3%
Absolute poverty, after housing costs: pensioners 12.7% 12.4% 13.2% 13.2% 13.3% 13.4% 13.6%
Relative poverty, before housing costs: everyone 17.0% 16.0% 16.4% 16.3% 16.4% 16.3% 16.6%
Relative poverty, before housing costs: children 25.9% 22.8% 23.3% 22.9% 23.0% 22.8% 23.4%
Relative poverty, before housing costs: working-age adults 14.5% 14.1% 14.6% 14.7% 14.7% 14.7% 14.9%
Relative poverty, before housing costs: pensioners 14.5% 14.1% 14.0% 13.8% 13.8% 13.9% 13.9%
Relative poverty, after housing costs: everyone 21.4% 21.0% 21.2% 21.3% 21.3% 21.5% 21.7%
Relative poverty, after housing costs: children 33.0% 31.1% 31.0% 31.0% 31.1% 31.2% 31.7%
Relative poverty, after housing costs: working-age adults 19.8% 19.8% 20.2% 20.4% 20.5% 20.6% 20.8%
Relative poverty, after housing costs: pensioners 12.5% 12.4% 12.2% 11.8% 11.7% 11.8% 12.1%
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,266k 10,764k 11,389k 11,355k 11,464k 11,503k 11,639k
Absolute poverty, before housing costs: children 3,683k 3,306k 3,488k 3,439k 3,474k 3,496k 3,543k
Absolute poverty, before housing costs: working-age adults 5,959k 5,883k 6,299k 6,354k 6,411k 6,422k 6,512k
Absolute poverty, before housing costs: pensioners 1,624k 1,575k 1,601k 1,562k 1,579k 1,585k 1,584k
Absolute poverty, after housing costs: everyone 14,904k 14,586k 15,281k 15,707k 15,924k 16,128k 16,418k
Absolute poverty, after housing costs: children 4,955k 4,675k 4,820k 4,878k 4,935k 5,030k 5,169k
Absolute poverty, after housing costs: working-age adults 8,443k 8,450k 8,955k 9,336k 9,484k 9,577k 9,703k
Absolute poverty, after housing costs: pensioners 1,506k 1,461k 1,506k 1,494k 1,506k 1,522k 1,546k
Relative poverty, before housing costs: everyone 11,740k 11,077k 11,374k 11,348k 11,404k 11,405k 11,639k
Relative poverty, before housing costs: children 3,869k 3,418k 3,488k 3,436k 3,459k 3,447k 3,543k
Relative poverty, before housing costs: working-age adults 6,152k 6,008k 6,293k 6,352k 6,380k 6,381k 6,512k
Relative poverty, before housing costs: pensioners 1,719k 1,651k 1,594k 1,560k 1,564k 1,576k 1,584k
Relative poverty, after housing costs: everyone 14,835k 14,539k 14,722k 14,793k 14,875k 15,015k 15,232k
Relative poverty, after housing costs: children 4,931k 4,654k 4,650k 4,652k 4,675k 4,703k 4,801k
Relative poverty, after housing costs: working-age adults 8,414k 8,429k 8,679k 8,815k 8,875k 8,969k 9,062k
Relative poverty, after housing costs: pensioners 1,490k 1,456k 1,393k 1,327k 1,325k 1,342k 1,369k
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.3078 0.3050 0.3056 0.3055 0.3060 0.3066 0.3082
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,746 † £17,990 † £17,926 † £18,178 † £18,317 † £18,539 † £18,744 †
Decile 2: mean household_net_income per household £27,983 † £29,039 † £28,756 † £29,017 † £29,324 † £29,743 † £30,188 †
Decile 3: mean household_net_income per household £34,272 † £35,408 † £36,038 † £36,500 † £36,970 † £37,666 † £38,077 †
Decile 4: mean household_net_income per household £38,876 † £40,729 † £41,715 † £42,778 † £43,455 † £44,141 † £44,488 †
Decile 5: mean household_net_income per household £43,302 † £45,559 † £46,019 † £46,916 † £47,683 † £48,559 † £50,244 †
Decile 6: mean household_net_income per household £47,930 † £49,237 † £50,930 † £51,981 † £52,970 † £53,973 † £54,711 †
Decile 7: mean household_net_income per household £55,663 † £56,581 † £57,449 † £57,677 † £58,746 † £59,673 † £61,101 †
Decile 8: mean household_net_income per household £68,787 † £70,810 † £71,869 † £73,480 † £73,892 † £75,328 † £77,183 †
Decile 9: mean household_net_income per household £78,891 † £81,011 † £80,860 † £82,646 † £85,464 † £86,940 † £89,508 †
Decile 10: mean household_net_income per household £116,864 † £120,162 † £124,545 † £126,420 † £125,756 † £128,269 † £130,694 †
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.41bn £6.66bn £6.63bn £6.85bn £7.03bn £7.25bn £7.48bn
Raise higher rate by 1pp £3.61bn £3.87bn £4.00bn £4.22bn £4.44bn £4.71bn £4.83bn
Raise personal allowance by ~800GBP/year £-3.82bn £-3.93bn £-4.01bn £-4.05bn £-4.11bn £-4.24bn £-1.95bn
Raise child benefit by 25GBP/week per additional child £-2.00bn £-1.75bn £-1.55bn £-1.38bn £-1.30bn £-1.18bn £-1.07bn
Reduce Universal Credit taper rate to 20% £-20.77bn £-21.32bn £-21.75bn £-22.00bn £-22.35bn £-22.76bn £-22.94bn
Raise Class 1 main employee NICs rate to 10% £10.89bn £11.30bn £11.71bn £12.01bn £12.31bn £12.62bn £13.00bn
Raise VAT standard rate by 2pp £24.17bn £24.97bn £25.86bn £26.46bn £27.07bn £27.68bn £28.31bn
Raise additional rate by 3pp £2.90bn £3.15bn £3.22bn £3.41bn £3.61bn £3.85bn £4.14bn
Raise the Universal Credit standard allowance by 10% £-3.06bn £-3.23bn £-3.30bn £-3.39bn £-3.48bn £-3.53bn £-3.55bn
Raise the State Pension by 10% £-7.76bn £-7.99bn £-8.22bn £-8.44bn £-8.79bn £-8.52bn £-8.86bn
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.55bn £6.86bn £6.79bn £7.00bn £7.20bn £7.44bn £7.66bn
Raise higher rate by 1pp: change in income_tax £3.61bn £3.92bn £4.01bn £4.23bn £4.45bn £4.72bn £4.84bn
Raise personal allowance by ~800GBP/year: change in income_tax £-3.94bn £-4.07bn £-4.14bn £-4.18bn £-4.22bn £-4.40bn £-1.76bn
Raise child benefit by 25GBP/week per additional child: change in child_benefit £2.33bn £2.14bn £1.95bn £1.76bn £1.65bn £1.52bn £1.40bn
Reduce Universal Credit taper rate to 20%: change in universal_credit £20.74bn £21.31bn £21.79bn £22.05bn £22.37bn £22.78bn £22.99bn
Raise Class 1 main employee NICs rate to 10%: change in national_insurance £11.15bn £11.63bn £12.00bn £12.29bn £12.61bn £12.94bn £13.31bn
Raise VAT standard rate by 2pp: change in vat £23.98bn £24.77bn £25.66bn £26.24bn £26.85bn £27.46bn £28.07bn
Raise additional rate by 3pp: change in income_tax £2.90bn £3.15bn £3.22bn £3.42bn £3.62bn £3.86bn £4.12bn
Raise the Universal Credit standard allowance by 10%: change in universal_credit £3.06bn £3.22bn £3.32bn £3.41bn £3.47bn £3.53bn £3.55bn
Raise the State Pension by 10%: change in state_pension £10.68bn £11.17bn £11.28bn £11.60bn £12.03bn £12.46bn £12.96bn

@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

This run finished at e71dc2ec7 with 9 YAML failures and 6,423 passes, and Python shards 1, 2, 3, 4, 5 and 7 failed while 6 passed. #1966 has since landed, so each fix goes to the pull request that now lands second:

Failure Cause Fix
test_step_6_puts_the_pension_tax_allowance_after_every_other_reduction, five shards #2828 lists the Marriage Allowance after the Pension Tax Allowance, and main added this test after #2828's base #2828's merge of main, pushed as ffa8651ff
test_matches_origin_main_on_unchanged_households[2019] #2828's Step 6 reduction takes £3.50 more tax from a Scottish couple on £25,000, and main pinned the old figure Same push
Wales carer disregard in council_tax_reduction_devolved_working_age.yaml #1966's route disregarded £252 of tax that #2828's reduction cancels Same push, with a new case and a property test
Young person statuses: qualifying_young_person_income_support.yaml Cases 2 and 5, qualifying_young_person_terminal_date.yaml Case 15 and four properties #2845's rule against #2302's #2845's merge of main, after #2302 lands
council_tax_reduction_young_person.yaml Case 13 #2845 adds the case, #2301 sets the 5,000 and #1966's route sets the award Same merge
Four awards in council_tax_reduction_tax_deduction.yaml #1966's route now sets those Scottish working-age awards, and #2834 pinned the shared formula's #2834's merge of main
test_means_tests_see_the_loss_only_through_tax #1966's route takes Universal Credit's earnings Same merge

Main passes that last test only on the examples it happens to draw. derandomize=True seeds Hypothesis from the test's source, and #2834 adds a line to it, so #2834 draws different families. One is a Scottish couple, 62 and 70, on Universal Credit with £24,241 of profit and a £27,551 loss. #1966's route takes their earnings from uc_individual_earned_income_before_mif, which sets the loss against the profit, so the award is £711.32 with the loss and nil without it. That follows SSI 2021/249 reg 51(2), whose step 2 adds together the profit or loss of each trade, so I'll change the test: its no-loss run will hold that figure as it already holds the award.

Where the rest stand with #1966 on main:

Each merge with a changelog fragment makes Versioning push a version commit to main, and the queue then rebuilds the groups behind it. #1966 merged alone at 11:44Z, and #2002's and #2300's groups restarted at 11:45Z. On 5 November #2850, #2843 and #2849 merged in one go, so I'd enqueue the ready batch together.

I'm closing this draft and deleting its branch. #2887 tests the larger set and moves to the new main next.

@MaxGhenis MaxGhenis closed this Nov 6, 2026
@MaxGhenis
MaxGhenis deleted the hub-integration-1106-b branch November 6, 2026 12:15
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