Skip to content

Stop trusting the compromised eMudhra CA certificates - #632

Draft
anth-volk wants to merge 2 commits into
mainfrom
emudhra-ca-trust-update
Draft

anth-volk wants to merge 2 commits into
mainfrom
emudhra-ca-trust-update

Conversation

@anth-volk

@anth-volk anth-volk commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #634

Why

On 2026-10-20 it was disclosed that eight intermediate certificate authority certificates operated by eMudhra (emSign) have private keys that anyone can recover from the public certificates (incident site). Anyone can therefore issue a certificate for any domain that is accepted by clients trusting the root "emSign ECC Root CA - G3", which allows interception of HTTPS traffic on the network path. Browsers and current operating systems already block these certificates; software that ships its own CA list does not until it is updated.

What in this repository trusted the affected roots

uv.lock pinned two packages that carry their own CA list. CI installs exactly these versions (uv sync --frozen --all-extras in the Pull request and Push workflows) and then downloads inputs from Hugging Face, uploads releases to Hugging Face and Google Cloud Storage, and runs the tests with HUGGING_FACE_TOKEN and Google Cloud credentials loaded:

  • certifi 2025.11.12, the CA list used by requests, httpx (through huggingface_hub) and the Google Cloud client libraries. It includes "emSign ECC Root CA - G3". With certifi 2025.11.12, requests returned HTTP 200 from the test endpoint https://dv-g3b-emudhra.we-have-a-problem.com/.
  • hf-xet 1.2.0, the Rust extension huggingface_hub uses for Xet-backed file transfers. It compiles in its own CA list; the string emSign ECC Root CA - G3 is present in the Linux x86_64 wheel's hf_xet.abi3.so. It ignores certifi and the operating-system store.

No other locked package carries a CA list (no grpcio, httplib2 or similar), and the code sets no custom CA bundle and does not turn off certificate verification. No Vercel project or container image deploys from this repository.

Changes

  • uv.lock: certifi 2025.11.12 → 2026.10.19, which removes "emSign ECC Root CA - G3".
  • uv.lock: hf-xet 1.2.0 → 1.7.0, which verifies certificates against the operating-system CA store (through rustls-platform-verifier) and no longer contains the emSign root.
  • uv.lock: the project's own version entry moves from 1.58.2 to 1.59.1 to match pyproject.toml; this is what uv lock writes for the current pyproject.toml and changes no installed package.
  • changelog.d/emudhra-ca-trust-update.fixed.md: the changelog fragment required for a change to uv.lock.

Generated with uvx uv@0.13.4 lock --upgrade-package certifi --upgrade-package hf-xet. No other package changed.

Checks

  • uvx uv@0.13.4 lock --locked: passes on this branch (it failed on main only because of the stale project version entry).
  • python .github/check_changelog_fragment.py HEAD^1 HEAD: passed.
  • requests 2.32.5 against https://dv-g3b-emudhra.we-have-a-problem.com/: HTTP 200 with certifi 2025.11.12, certificate verification error with certifi 2026.10.19. https://pypi.org/ and https://huggingface.co/ returned HTTP 200 with both. The Sectigo cross-signed test endpoint (https://dv-g3b-aaa-emudhra.we-have-a-problem.com/) was rejected by both certifi versions.
  • hf-xet Linux x86_64 wheels: 1.2.0 contains emSign ECC Root CA - G3; 1.7.0 does not and links rustls-platform-verifier.
  • huggingface_hub 1.1.5 (the locked version) with hf-xet 1.7.0 downloaded a Xet-backed public file (hf-internal-testing/tiny-random-bert, pytorch_model.bin, 540,217 bytes) correctly.

The full dataset build and test suite are left to CI.

After merge

Merging adds a fixed fragment, so, as for any fragment, the Versioning workflow bumps the patch version and the Push workflow rebuilds, tests and uploads a data release using the updated lockfile. No manual step is needed. The PyPI package's dependency ranges are unchanged; users resolve their own certifi and hf-xet versions.

Apart from the comment step below, this PR changes no workflow, container definition or other deployment configuration. That step still reads only GH_TOKEN (the job's GITHUB_TOKEN, with issues: write and pull-requests: write) and PR (the pull request number from the event); it adds no environment variables.

CI fix: the fit comparison's comment step

The first run's comparison passed, but its "Post or update the pull request comment" step failed with unexpected end of JSON input: GitHub's API answered the comment POST with an error status and an empty body, which the GitHub CLI reports only as that JSON parse error. The step passed in other pull requests' runs before and after, and this run's comment (56,987 characters) was under GitHub's 65,536-character limit, so the failure came from the API, not from this PR's changes.

  • .github/workflows/pull_request.yaml: the step makes up to three attempts, 20 and 40 seconds apart. Each attempt searches for the existing comment again, so a retry after a write that GitHub applied but reported as failed updates that comment instead of posting a second one. set -o pipefail makes a failed search fail the attempt instead of posting a new comment.
  • policyengine_uk_data/tests/test_workflow_artifacts.py: the search command's reviewed text changes by its new indentation and || return 1. The PATCH and POST commands are unchanged.

The step's script, taken from the workflow file, was run with gh 2.102.0 (the runner's version) against a local server that imitates the comment endpoints. The old script reproduces the CI error. The new one recovers from a failed POST, a failed search and a POST that was applied but reported as failed (it then updates the comment rather than posting another), and exits 1 after three failures. The workflow tests pass and actionlint reports nothing.

🤖 Generated with Claude Code

Upgrade certifi from 2025.11.12 to 2026.10.19 and hf-xet from 1.2.0 to
1.7.0 in uv.lock. certifi 2026.10.19 removes "emSign ECC Root CA - G3";
hf-xet 1.2.0 compiles in a CA list that includes it, while 1.7.0 reads the
operating-system CA store. The lockfile's own package version also moves
from 1.58.2 to 1.59.1 to match pyproject.toml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GitHub's API answered the comment POST in run 39685708223 with an error
status and an empty body, which the GitHub CLI reports only as
"unexpected end of JSON input", so the job failed although the comparison
passed. The step now makes up to three attempts, 20 and 40 seconds apart.
Each attempt searches for the existing comment again, so a retry after a
write that GitHub applied but reported as failed updates that comment
instead of posting a second one. pipefail makes a failed search fail the
attempt; before, a failed search left the comment ID empty and the step
posted a new comment.

The PATCH and POST commands are unchanged. The search command's reviewed
text in test_workflow_artifacts.py changes only by the indentation inside
the new function and the added "|| return 1".

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

Copy link
Copy Markdown

Calibration fit against the base build: FAIL

One of the builds produced no fit summary, so the fit could not be compared. See the workflow run.

Income distribution and single ages: FAIL

The report is missing for one build, so the distributions could not be compared.

Aggregate impact of the data change: FAIL

Base dataset ? ( , sha256 ?) against head dataset enhanced_frs_2024_25.h5 (this pull request's build, sha256 d38cee5a1e92), measured with policyengine-uk ? (base) and 2.122.2 (head), fiscal years 2025-26 to 2031-32. Each year is a full microsimulation run on each side.

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

Workflow run and full report

Failures

  • The base measurement crashed: FileNotFoundError: [Errno 2] No such file or directory: 'base/policyengine_uk_data/storage/enhanced_frs_2024_25.h5'; the change cannot be compared without it.
  • Each model total's components are exactly the partition's heads and declared double counts (closure): gov_spending: the partition puts 'healthy_start_vouchers' in this total, but the model does not add it; gov_spending: the partition puts 'scottish_child_payment' in this total, but the model does not add it; gov_spending: the partition puts 'statutory_paternity_pay' in this total, but the model does not add it
  • VAT is never negative (sign:vat): 2025-26: 65 units below zero, a weighted £-81,942,478 in total; 2026-27: 65 units below zero, a weighted £-84,145,704 in total; 2027-28: 65 units below zero, a weighted £-86,146,182 in total
  • The partition's heads and declared double counts add up to gov_spending (identity:gov_spending): 2025-26: 350 households differ, by a weighted £534,272,816 in total (households holding a figure from fewer than 10 records aren't checked this year); 2026-27: 352 households differ, by a weighted £555,342,526 in total (households holding a figure from fewer than 10 records aren't checked this year); 2027-28: 352 households differ, by a weighted £568,830,831 in total (households holding a figure from fewer than 10 records aren't checked this year)
  • The partition's heads and declared double counts add up to household_benefits (identity:household_benefits): 2025-26: 1,835 households differ, by a weighted £92,787,804 in total (households holding a figure from fewer than 10 records aren't checked this year); 2026-27: 1,802 households differ, by a weighted £94,634,291 in total (households holding a figure from fewer than 10 records aren't checked this year); 2027-28: 1,757 households differ, by a weighted £95,131,368 in total (households holding a figure from fewer than 10 records aren't checked this year)

New warnings

  • Alcohol duties is not zero for every unit (inert:alcohol_duty): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Tobacco duties is not zero for every unit (inert:tobacco_duty): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Vehicle excise duties is not zero for every unit (inert:vehicle_excise_duty): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • High value council tax surcharge is not zero for every unit (inert:high_value_council_tax_surcharge): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Jobseeker's Allowance (income-based) is not zero for every unit (inert:jsa_income): 2026-27: zero for every unit; 2027-28: zero for every unit; 2028-29: zero for every unit
  • Income Support is not zero for every unit (inert:income_support): 2026-27: zero for every unit; 2027-28: zero for every unit; 2028-29: zero for every unit
  • Working Tax Credit is not zero for every unit (inert:working_tax_credit): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Child Tax Credit is not zero for every unit (inert:child_tax_credit): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Incapacity Benefit is not zero for every unit (inert:incapacity_benefit): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Carer's Allowance Supplement (Scotland) is not zero for every unit (inert:scottish_carer_supplement): 2025-26: zero for every unit
  • Maternity Allowance is not zero for every unit (inert:maternity_allowance): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Statutory Paternity Pay is not zero for every unit (inert:statutory_paternity_pay): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Care to Learn is not zero for every unit (inert:care_to_learn): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Childcare Grant is not zero for every unit (inert:childcare_grant): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • Travel Grant is not zero for every unit (inert:travel_grant): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit
  • 16 to 19 Bursary Fund is not zero for every unit (inert:bursary_fund_16_to_19): 2025-26: zero for every unit; 2026-27: zero for every unit; 2027-28: zero for every unit

Notes

  • In the years a figure from fewer than 10 records is suppressed (spending.dfe_education_spending, spending.disabled_students_allowance, spending.sda), 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

None.

Receipts by tax head

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Income tax (new: head levels) £297.07bn £316.49bn £332.42bn £346.77bn £362.70bn £380.05bn £399.88bn
National Insurance (employee and self-employed) (new: head levels) £51.08bn £53.28bn £55.03bn £56.61bn £58.52bn £60.32bn £62.65bn
National Insurance (employer) (new: head levels) £150.82bn £157.25bn £162.13bn £166.64bn £173.35bn £178.77bn £185.81bn
Employer NI change borne by capital (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Employer NI change borne by consumers (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Capital gains tax (new: head levels) £25.09bn £25.94bn £26.90bn £27.86bn £28.83bn £29.89bn £30.97bn
Student loan repayments (new: head levels) £7.69bn £7.99bn £8.21bn £8.41bn £8.64bn £8.88bn £8.26bn
VAT (new: head levels) £324.03bn £332.74bn £340.65bn £348.86bn £357.40bn £366.19bn £375.12bn
Change in VAT from its baseline (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
VAT on private school fees (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Fuel duties (new: head levels) £24.04bn £24.14bn £26.10bn £26.16bn £25.89bn £25.24bn £25.82bn
Alcohol duties (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Tobacco duties (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Vehicle excise duties (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
TV licence fee (new: head levels) £4.51bn £4.67bn £4.68bn £4.70bn £4.73bn £4.75bn £4.77bn
Council tax (new: head levels) £48.70bn £51.53bn £54.80bn £58.33bn £61.85bn £65.53bn £65.81bn
High value council tax surcharge (new: head levels) £0.00bn £0.00bn £0.00bn £0.69bn £0.71bn £0.73bn £0.75bn
Northern Ireland domestic rates (new: head levels) £1.12bn £1.18bn £1.23bn £1.29bn £1.35bn £1.42bn £1.42bn
Business rates (new: head levels) £31.73bn £31.73bn £31.73bn £31.73bn £31.73bn £31.73bn £31.73bn
Stamp duty land tax (own purchases, and corporate until the (new: head levels) £19.67bn £20.55bn £21.52bn £22.50bn £23.51bn £24.62bn £25.82bn
Land transaction tax (Wales) (new: head levels) £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn
Land and buildings transaction tax (Scotland) (new: head levels) £0.06bn £0.06bn £0.06bn £0.06bn £0.07bn £0.07bn £0.07bn
Unspecified tax change borne by capital (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Unspecified tax change borne by consumers (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Wealth tax (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Wealth tax excluding the main residence (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Land value tax (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Carbon tax (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn

Spending by benefit and service

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
State Pension (new: head levels) £133.17bn £138.24bn £140.49bn £142.86bn £147.08bn £151.43bn £155.89bn
Pension Credit (new: head levels) £6.53bn £7.14bn £7.03bn £7.08bn £7.18bn £7.29bn £7.31bn
Winter Fuel Payment (new: head levels) £1.68bn £1.66bn £1.61bn £1.59bn £1.58bn £1.57bn £1.57bn
Pension Age Winter Heating Payment (Scotland) (new: head levels) £0.09bn £0.09bn £0.10bn £0.10bn £0.10bn £0.10bn £0.10bn
Universal Credit (new: head levels) £78.89bn £83.08bn £84.89bn £86.39bn £87.30bn £84.57bn £85.07bn
Housing Benefit (new: head levels) £8.33bn £8.66bn £8.86bn £9.06bn £9.34bn £9.58bn £9.54bn
Council Tax Reduction (new: head levels) £2.19bn £2.24bn £2.32bn £2.38bn £2.44bn £2.51bn £2.48bn
Employment and Support Allowance (income-related) (new: head levels) £3.20bn £3.29bn £3.36bn £3.44bn £3.52bn £3.61bn £3.69bn
Employment and Support Allowance (contribution-based) (new: head levels) £4.74bn £4.87bn £4.98bn £5.10bn £5.23bn £5.36bn £5.49bn
Jobseeker's Allowance (income-based) (new: head levels) £0.04bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Jobseeker's Allowance (contribution-based) (new: head levels) £0.29bn £0.30bn £0.30bn £0.31bn £0.32bn £0.33bn £0.33bn
Income Support (new: head levels) £0.16bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Working Tax Credit (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Child Tax Credit (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Incapacity Benefit (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Personal Independence Payment (new: head levels) £30.05bn £31.32bn £32.15bn £32.93bn £33.73bn £34.56bn £35.41bn
Disability Living Allowance (new: head levels) £8.32bn £8.67bn £8.90bn £9.12bn £9.34bn £9.57bn £9.80bn
Attendance Allowance (new: head levels) £7.71bn £8.03bn £8.25bn £8.45bn £8.65bn £8.87bn £9.08bn
Carer's Allowance (new: head levels) £3.90bn £4.07bn £4.18bn £4.28bn £4.38bn £4.49bn £4.60bn
Carer Support Payment (Scotland) (new: head levels) £0.32bn £0.33bn £0.34bn £0.35bn £0.35bn £0.36bn £0.37bn
Carer's Allowance Supplement (Scotland) (new: head levels) £0.00bn £0.04bn £0.04bn £0.04bn £0.05bn £0.05bn £0.05bn
Severe Disablement Allowance (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Industrial Injuries Disablement Benefit (new: head levels) £0.63bn £0.64bn £0.66bn £0.67bn £0.69bn £0.71bn £0.72bn
Armed Forces Compensation Scheme (new: head levels) £0.55bn £0.56bn £0.57bn £0.59bn £0.60bn £0.62bn £0.63bn
Child Benefit (new: head levels) £16.38bn £17.02bn £17.45bn £17.85bn £18.27bn £18.70bn £19.11bn
Scottish Child Payment (new: head levels) £0.47bn £0.49bn £0.51bn £0.52bn £0.53bn £0.54bn £0.55bn
Two Child Limit Payment (Scotland, counterfactual) (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Healthy Start vouchers (new: head levels) £0.06bn £0.06bn £0.06bn £0.06bn £0.06bn £0.06bn £0.06bn
Maternity Allowance (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Maternity Pay (new: head levels) £3.83bn £3.94bn £4.03bn £4.13bn £4.23bn £4.33bn £4.44bn
Statutory Paternity Pay (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Sick Pay (new: head levels) £1.00bn £1.02bn £1.05bn £1.07bn £1.10bn £1.13bn £1.15bn
Sure Start Maternity Grant (new: head levels) £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn
Bereavement Support Payment (new: head levels) £1.16bn £1.19bn £1.22bn £1.25bn £1.28bn £1.31bn £1.34bn
Tax-Free Childcare (new: head levels) £0.44bn £0.44bn £0.45bn £0.46bn £0.46bn £0.48bn £0.48bn
Extended childcare entitlement (new: head levels) £3.81bn £4.23bn £4.34bn £4.46bn £4.58bn £4.80bn £4.89bn
Universal childcare entitlement (new: head levels) £1.52bn £1.60bn £1.65bn £1.69bn £1.73bn £1.76bn £1.80bn
Targeted childcare entitlement (new: head levels) £0.38bn £0.39bn £0.40bn £0.41bn £0.42bn £0.42bn £0.41bn
Care to Learn (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Childcare Grant (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Parents' Learning Allowance (new: head levels) £0.19bn £0.19bn £0.19bn £0.19bn £0.19bn £0.20bn £0.20bn
Adult Dependants' Grant (new: head levels) £0.06bn £0.06bn £0.05bn £0.05bn £0.05bn £0.05bn £0.05bn
Travel Grant (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Disabled Students' Allowance (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
16 to 19 Bursary Fund (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
NHS spending (new: head levels) £208.39bn £209.19bn £209.96bn £210.80bn £211.73bn £212.68bn £213.59bn
State education spending (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Transport subsidy spending (new: head levels) £25.15bn £25.25bn £25.34bn £25.44bn £25.55bn £25.67bn £30.94bn
Cost-of-living support payment (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Energy Bills Rebate (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Energy Price Guarantee subsidy (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Basic income (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Disability basic income (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Other public spending budget change (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn

Caseloads

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
State Pension (new: head levels) 11,738k 11,633k 11,384k 11,297k 11,346k 11,397k 11,446k
Pension Credit (new: head levels) 1,365k 1,381k 1,341k 1,325k 1,324k 1,321k 1,303k
Winter Fuel Payment (new: head levels) 7,132k 7,003k 6,790k 6,659k 6,636k 6,601k 6,589k
Pension Age Winter Heating Payment (Scotland) (new: head levels) 710k 703k 691k 685k 688k 691k 694k
Universal Credit (new: head levels) 6,384k 6,412k 6,435k 6,439k 6,414k 6,401k 6,380k
Housing Benefit (new: head levels) 1,210k 1,207k 1,201k 1,198k 1,203k 1,203k 1,200k
Council Tax Reduction (new: head levels) 3,614k 3,640k 3,686k 3,712k 3,730k 3,749k 3,715k
Employment and Support Allowance (income-related) (new: head levels) 309k 310k 312k 313k 314k 315k 317k
Employment and Support Allowance (contribution-based) (new: head levels) 667k 670k 672k 675k 678k 681k 684k
Jobseeker's Allowance (income-based) (new: head levels) 9k 0k 0k 0k 0k 0k 0k
Jobseeker's Allowance (contribution-based) (new: head levels) 60k 60k 61k 61k 61k 61k 62k
Income Support (new: head levels) 26k 0k 0k 0k 0k 0k 0k
Working Tax Credit (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Child Tax Credit (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Incapacity Benefit (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Personal Independence Payment (new: head levels) 4,082k 4,098k 4,113k 4,129k 4,147k 4,166k 4,184k
Disability Living Allowance (new: head levels) 1,368k 1,373k 1,378k 1,384k 1,390k 1,396k 1,402k
Attendance Allowance (new: head levels) 1,526k 1,532k 1,538k 1,544k 1,551k 1,558k 1,564k
Carer's Allowance (new: head levels) 901k 905k 908k 912k 916k 920k 924k
Carer Support Payment (Scotland) (new: head levels) 73k 73k 74k 74k 74k 75k 75k
Carer's Allowance Supplement (Scotland) (new: head levels) 0k 73k 74k 74k 74k 75k 75k
Severe Disablement Allowance (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Industrial Injuries Disablement Benefit (new: head levels) 158k 158k 159k 160k 160k 161k 162k
Armed Forces Compensation Scheme (new: head levels) 61k 61k 61k 62k 62k 62k 62k
Child Benefit (new: head levels) 7,979k 7,992k 8,006k 8,033k 8,060k 8,091k 8,104k
Scottish Child Payment (new: head levels) 335k 337k 338k 340k 338k 339k 338k
Two Child Limit Payment (Scotland, counterfactual) (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Healthy Start vouchers (new: head levels) 238k 239k 240k 241k 242k 243k 244k
Maternity Allowance (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Statutory Maternity Pay (new: head levels) 305k 306k 307k 309k 310k 311k 313k
Statutory Paternity Pay (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Statutory Sick Pay (new: head levels) 157k 158k 158k 159k 159k 160k 161k
Sure Start Maternity Grant (new: head levels) 22k 22k 22k 22k 23k 23k 23k
Bereavement Support Payment (new: head levels) 186k 187k 187k 188k 189k 190k 191k
Tax-Free Childcare (new: head levels) 965k 955k 957k 962k 940k 956k 945k
Extended childcare entitlement (new: head levels) 803k 795k 800k 805k 806k 837k 835k
Universal childcare entitlement (new: head levels) 443k 452k 454k 455k 457k 455k 458k
Targeted childcare entitlement (new: head levels) 78k 78k 78k 79k 79k 77k 74k
Care to Learn (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Childcare Grant (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Parents' Learning Allowance (new: head levels) 94k 95k 95k 96k 96k 96k 97k
Adult Dependants' Grant (new: head levels) 17k 17k 14k 15k 15k 15k 14k
Travel Grant (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Disabled Students' Allowance (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
16 to 19 Bursary Fund (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Cost-of-living support payment (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Energy Bills Rebate (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Energy Price Guarantee subsidy (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Basic income (new: head levels) 0k 0k 0k 0k 0k 0k 0k
Disability basic income (new: head levels) 0k 0k 0k 0k 0k 0k 0k

Government balance, each component counted once

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Government receipts, each component once (new: head levels) £985.62bn £1,027.57bn £1,065.47bn £1,100.63bn £1,139.27bn £1,178.21bn £1,218.91bn
Government spending (new: head levels) £553.68bn † £568.33bn † £575.75bn † £583.13bn † £592.08bn † £597.71bn † £611.18bn †
Government balance, each receipt once (new: head levels) £431.94bn † £459.24bn † £489.73bn † £517.51bn † £547.19bn † £580.50bn † £607.73bn †
Benefits in household_benefits but not in gov_spending (new: head levels) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn

Model totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
gov_tax (new: head levels) £988.75bn £1,030.70bn £1,068.60bn £1,103.76bn £1,142.40bn £1,181.34bn £1,222.04bn
household_tax (new: head levels) £513.90bn £540.70bn £565.82bn £588.26bn £611.65bn £636.39bn £661.12bn
pre_budget_change_household_tax (new: head levels) £506.20bn £532.72bn £557.61bn £579.16bn £602.31bn £626.77bn £652.10bn
gov_spending (new: head levels) £553.68bn † £568.33bn † £575.75bn † £583.13bn † £592.08bn † £597.71bn † £611.18bn †
household_benefits (new: head levels) £553.68bn † £568.33bn † £575.75bn † £583.13bn † £592.08bn † £597.71bn † £611.18bn †
gov_balance (new: head levels) £435.07bn † £462.37bn † £492.86bn † £520.64bn † £550.32bn † £583.63bn † £610.86bn †

Components the model counts twice

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
corporate_sdlt, counted again inside expected_sdlt (new: head levels) £3.13bn £3.13bn £3.13bn £3.13bn £3.13bn £3.13bn £3.13bn

Household income totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Household market income (new: head levels) £1,658.75bn £1,720.88bn £1,773.58bn £1,824.19bn £1,889.58bn £1,948.04bn £2,019.91bn
Household net income (new: head levels) £1,657.25bn † £1,705.67bn † £1,739.47bn † £1,773.91bn † £1,809.47bn † £1,847.45bn † £1,905.51bn †
Household net income (HBAI definition) (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed

Population

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
People (new: head levels) 70,747k 71,016k 71,278k 71,564k 71,878k 72,202k 72,512k
Benefit units (new: head levels) 38,944k 39,092k 39,237k 39,394k 39,567k 39,745k 39,916k
Households (new: head levels) 32,067k 32,189k 32,308k 32,438k 32,580k 32,727k 32,868k

Poverty rates

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Absolute poverty, before housing costs: everyone (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: children (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: working-age adults (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: pensioners (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: everyone (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: children (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: working-age adults (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: pensioners (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: everyone (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: children (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: working-age adults (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: pensioners (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: everyone (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: children (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: working-age adults (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: pensioners (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed

People in poverty

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Absolute poverty, before housing costs: everyone (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: children (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: working-age adults (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: pensioners (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: everyone (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: children (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: working-age adults (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: pensioners (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: everyone (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: children (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: working-age adults (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: pensioners (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: everyone (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: children (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: working-age adults (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: pensioners (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed

Inequality

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Gini coefficient, equivalised HBAI income before housing costs (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed

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 (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 2: mean household_net_income per household (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 3: mean household_net_income per household (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 4: mean household_net_income per household (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 5: mean household_net_income per household (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 6: mean household_net_income per household (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 7: mean household_net_income per household (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 8: mean household_net_income per household (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 9: mean household_net_income per household (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 10: mean household_net_income per household (new: head levels) suppressed suppressed suppressed suppressed suppressed suppressed suppressed

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 (new: head levels) £6.03bn £6.30bn £6.51bn £6.70bn £6.90bn £7.12bn £7.38bn
Raise higher rate by 1pp (new: head levels) £3.74bn £4.03bn £4.27bn £4.49bn £4.75bn £5.03bn £5.25bn
Raise personal allowance by ~800GBP/year (new: head levels) £-3.58bn £-3.69bn £-3.79bn £-3.85bn £-3.91bn £-3.98bn £-1.67bn
Raise child benefit by 25GBP/week per additional child (new: head levels) £-2.04bn £-1.80bn £-1.68bn £-1.57bn £-1.47bn £-1.36bn £-1.25bn
Reduce Universal Credit taper rate to 20% (new: head levels) £-16.77bn £-17.41bn £-17.65bn £-17.84bn £-17.88bn £-18.09bn £-18.10bn
Raise Class 1 main employee NICs rate to 10% (new: head levels) £10.61bn £11.02bn £11.33bn £11.58bn £11.87bn £12.18bn £12.62bn
Raise VAT standard rate by 2pp (new: head levels) £31.95bn £32.81bn £33.59bn £34.40bn £35.24bn £36.11bn £36.99bn
Raise additional rate by 3pp (new: head levels) £3.25bn £3.50bn £3.71bn £3.92bn £4.16bn £4.41bn £4.77bn
Raise the Universal Credit standard allowance by 10% (new: head levels) £-2.96bn £-3.11bn £-3.16bn £-3.20bn £-3.23bn £-3.27bn £-3.31bn
Raise the State Pension by 10% (new: head levels) £-9.74bn £-9.99bn £-10.06bn £-10.16bn £-10.39bn £-10.65bn £-10.93bn

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 (new: head levels) £6.14bn £6.42bn £6.63bn £6.83bn £7.04bn £7.26bn £7.52bn
Raise higher rate by 1pp: change in income_tax (new: head levels) £3.74bn £4.04bn £4.28bn £4.50bn £4.76bn £5.04bn £5.26bn
Raise personal allowance by ~800GBP/year: change in income_tax (new: head levels) £-3.68bn £-3.81bn £-3.91bn £-3.97bn £-4.03bn £-4.11bn £-1.73bn
Raise child benefit by 25GBP/week per additional child: change in child_benefit (new: head levels) £2.50bn £2.29bn £2.16bn £2.05bn £1.94bn £1.82bn £1.69bn
Reduce Universal Credit taper rate to 20%: change in universal_credit (new: head levels) £16.81bn £17.45bn £17.69bn £17.88bn £17.92bn £18.13bn £18.14bn
Raise Class 1 main employee NICs rate to 10%: change in national_insurance (new: head levels) £10.80bn £11.22bn £11.53bn £11.81bn £12.10bn £12.41bn £12.86bn
Raise VAT standard rate by 2pp: change in vat (new: head levels) £31.95bn £32.81bn £33.59bn £34.40bn £35.24bn £36.11bn £36.99bn
Raise additional rate by 3pp: change in income_tax (new: head levels) £3.25bn £3.50bn £3.71bn £3.92bn £4.16bn £4.41bn £4.77bn
Raise the Universal Credit standard allowance by 10%: change in universal_credit (new: head levels) £2.97bn £3.11bn £3.17bn £3.21bn £3.23bn £3.27bn £3.31bn
Raise the State Pension by 10%: change in state_pension (new: head levels) £13.32bn £13.82bn £14.05bn £14.29bn £14.71bn £15.14bn £15.59bn

Household net income by decile

The datasets hold different households, so households are not matched; compare the mean income in each side's own deciles.

Counted-once check

Counted-once check not run: not requested.

Provenance
Side Commit Runtime Environment hash Partition hash Time
base policyengi uk None (files ?), core None, py None `` None s
head policyengi uk 2.122.2 (files 0cb87d75a516), core 3.32.13, py 3.13.16 x86_64 776bffbcdc16 e8ea8a019873 201.68s

Head dataset: enhanced_frs_2024_25.h5, sha256 d38cee5a1e92450a12c60278b6dff4818e2e8c011876ed8b94a079490c3922a1, this pull request's build.

Receipts by tax head: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Income tax £297.07bn £316.49bn £332.42bn £346.77bn £362.70bn £380.05bn £399.88bn
National Insurance (employee and self-employed) £51.08bn £53.28bn £55.03bn £56.61bn £58.52bn £60.32bn £62.65bn
National Insurance (employer) £150.82bn £157.25bn £162.13bn £166.64bn £173.35bn £178.77bn £185.81bn
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 £25.09bn £25.94bn £26.90bn £27.86bn £28.83bn £29.89bn £30.97bn
Student loan repayments £7.69bn £7.99bn £8.21bn £8.41bn £8.64bn £8.88bn £8.26bn
VAT £324.03bn £332.74bn £340.65bn £348.86bn £357.40bn £366.19bn £375.12bn
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 £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Fuel duties £24.04bn £24.14bn £26.10bn £26.16bn £25.89bn £25.24bn £25.82bn
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
TV licence fee £4.51bn £4.67bn £4.68bn £4.70bn £4.73bn £4.75bn £4.77bn
Council tax £48.70bn £51.53bn £54.80bn £58.33bn £61.85bn £65.53bn £65.81bn
High value council tax surcharge £0.00bn £0.00bn £0.00bn £0.69bn £0.71bn £0.73bn £0.75bn
Northern Ireland domestic rates £1.12bn £1.18bn £1.23bn £1.29bn £1.35bn £1.42bn £1.42bn
Business rates £31.73bn £31.73bn £31.73bn £31.73bn £31.73bn £31.73bn £31.73bn
Stamp duty land tax (own purchases, and corporate until the £19.67bn £20.55bn £21.52bn £22.50bn £23.51bn £24.62bn £25.82bn
Land transaction tax (Wales) £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn
Land and buildings transaction tax (Scotland) £0.06bn £0.06bn £0.06bn £0.06bn £0.07bn £0.07bn £0.07bn
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
State Pension £133.17bn £138.24bn £140.49bn £142.86bn £147.08bn £151.43bn £155.89bn
Pension Credit £6.53bn £7.14bn £7.03bn £7.08bn £7.18bn £7.29bn £7.31bn
Winter Fuel Payment £1.68bn £1.66bn £1.61bn £1.59bn £1.58bn £1.57bn £1.57bn
Pension Age Winter Heating Payment (Scotland) £0.09bn £0.09bn £0.10bn £0.10bn £0.10bn £0.10bn £0.10bn
Universal Credit £78.89bn £83.08bn £84.89bn £86.39bn £87.30bn £84.57bn £85.07bn
Housing Benefit £8.33bn £8.66bn £8.86bn £9.06bn £9.34bn £9.58bn £9.54bn
Council Tax Reduction £2.19bn £2.24bn £2.32bn £2.38bn £2.44bn £2.51bn £2.48bn
Employment and Support Allowance (income-related) £3.20bn £3.29bn £3.36bn £3.44bn £3.52bn £3.61bn £3.69bn
Employment and Support Allowance (contribution-based) £4.74bn £4.87bn £4.98bn £5.10bn £5.23bn £5.36bn £5.49bn
Jobseeker's Allowance (income-based) £0.04bn £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.33bn £0.33bn
Income Support £0.16bn £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 £30.05bn £31.32bn £32.15bn £32.93bn £33.73bn £34.56bn £35.41bn
Disability Living Allowance £8.32bn £8.67bn £8.90bn £9.12bn £9.34bn £9.57bn £9.80bn
Attendance Allowance £7.71bn £8.03bn £8.25bn £8.45bn £8.65bn £8.87bn £9.08bn
Carer's Allowance £3.90bn £4.07bn £4.18bn £4.28bn £4.38bn £4.49bn £4.60bn
Carer Support Payment (Scotland) £0.32bn £0.33bn £0.34bn £0.35bn £0.35bn £0.36bn £0.37bn
Carer's Allowance Supplement (Scotland) £0.00bn £0.04bn £0.04bn £0.04bn £0.05bn £0.05bn £0.05bn
Severe Disablement Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Industrial Injuries Disablement Benefit £0.63bn £0.64bn £0.66bn £0.67bn £0.69bn £0.71bn £0.72bn
Armed Forces Compensation Scheme £0.55bn £0.56bn £0.57bn £0.59bn £0.60bn £0.62bn £0.63bn
Child Benefit £16.38bn £17.02bn £17.45bn £17.85bn £18.27bn £18.70bn £19.11bn
Scottish Child Payment £0.47bn £0.49bn £0.51bn £0.52bn £0.53bn £0.54bn £0.55bn
Two Child Limit Payment (Scotland, counterfactual) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Healthy Start vouchers £0.06bn £0.06bn £0.06bn £0.06bn £0.06bn £0.06bn £0.06bn
Maternity Allowance £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Maternity Pay £3.83bn £3.94bn £4.03bn £4.13bn £4.23bn £4.33bn £4.44bn
Statutory Paternity Pay £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Sick Pay £1.00bn £1.02bn £1.05bn £1.07bn £1.10bn £1.13bn £1.15bn
Sure Start Maternity Grant £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn
Bereavement Support Payment £1.16bn £1.19bn £1.22bn £1.25bn £1.28bn £1.31bn £1.34bn
Tax-Free Childcare £0.44bn £0.44bn £0.45bn £0.46bn £0.46bn £0.48bn £0.48bn
Extended childcare entitlement £3.81bn £4.23bn £4.34bn £4.46bn £4.58bn £4.80bn £4.89bn
Universal childcare entitlement £1.52bn £1.60bn £1.65bn £1.69bn £1.73bn £1.76bn £1.80bn
Targeted childcare entitlement £0.38bn £0.39bn £0.40bn £0.41bn £0.42bn £0.42bn £0.41bn
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.19bn £0.19bn £0.19bn £0.19bn £0.19bn £0.20bn £0.20bn
Adult Dependants' Grant £0.06bn £0.06bn £0.05bn £0.05bn £0.05bn £0.05bn £0.05bn
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 £208.39bn £209.19bn £209.96bn £210.80bn £211.73bn £212.68bn £213.59bn
State education spending suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Transport subsidy spending £25.15bn £25.25bn £25.34bn £25.44bn £25.55bn £25.67bn £30.94bn
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
State Pension 11,738k 11,633k 11,384k 11,297k 11,346k 11,397k 11,446k
Pension Credit 1,365k 1,381k 1,341k 1,325k 1,324k 1,321k 1,303k
Winter Fuel Payment 7,132k 7,003k 6,790k 6,659k 6,636k 6,601k 6,589k
Pension Age Winter Heating Payment (Scotland) 710k 703k 691k 685k 688k 691k 694k
Universal Credit 6,384k 6,412k 6,435k 6,439k 6,414k 6,401k 6,380k
Housing Benefit 1,210k 1,207k 1,201k 1,198k 1,203k 1,203k 1,200k
Council Tax Reduction 3,614k 3,640k 3,686k 3,712k 3,730k 3,749k 3,715k
Employment and Support Allowance (income-related) 309k 310k 312k 313k 314k 315k 317k
Employment and Support Allowance (contribution-based) 667k 670k 672k 675k 678k 681k 684k
Jobseeker's Allowance (income-based) 9k 0k 0k 0k 0k 0k 0k
Jobseeker's Allowance (contribution-based) 60k 60k 61k 61k 61k 61k 62k
Income Support 26k 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 4,082k 4,098k 4,113k 4,129k 4,147k 4,166k 4,184k
Disability Living Allowance 1,368k 1,373k 1,378k 1,384k 1,390k 1,396k 1,402k
Attendance Allowance 1,526k 1,532k 1,538k 1,544k 1,551k 1,558k 1,564k
Carer's Allowance 901k 905k 908k 912k 916k 920k 924k
Carer Support Payment (Scotland) 73k 73k 74k 74k 74k 75k 75k
Carer's Allowance Supplement (Scotland) 0k 73k 74k 74k 74k 75k 75k
Severe Disablement Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Industrial Injuries Disablement Benefit 158k 158k 159k 160k 160k 161k 162k
Armed Forces Compensation Scheme 61k 61k 61k 62k 62k 62k 62k
Child Benefit 7,979k 7,992k 8,006k 8,033k 8,060k 8,091k 8,104k
Scottish Child Payment 335k 337k 338k 340k 338k 339k 338k
Two Child Limit Payment (Scotland, counterfactual) 0k 0k 0k 0k 0k 0k 0k
Healthy Start vouchers 238k 239k 240k 241k 242k 243k 244k
Maternity Allowance 0k 0k 0k 0k 0k 0k 0k
Statutory Maternity Pay 305k 306k 307k 309k 310k 311k 313k
Statutory Paternity Pay 0k 0k 0k 0k 0k 0k 0k
Statutory Sick Pay 157k 158k 158k 159k 159k 160k 161k
Sure Start Maternity Grant 22k 22k 22k 22k 23k 23k 23k
Bereavement Support Payment 186k 187k 187k 188k 189k 190k 191k
Tax-Free Childcare 965k 955k 957k 962k 940k 956k 945k
Extended childcare entitlement 803k 795k 800k 805k 806k 837k 835k
Universal childcare entitlement 443k 452k 454k 455k 457k 455k 458k
Targeted childcare entitlement 78k 78k 78k 79k 79k 77k 74k
Care to Learn 0k 0k 0k 0k 0k 0k 0k
Childcare Grant 0k 0k 0k 0k 0k 0k 0k
Parents' Learning Allowance 94k 95k 95k 96k 96k 96k 97k
Adult Dependants' Grant 17k 17k 14k 15k 15k 15k 14k
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 £985.62bn £1,027.57bn £1,065.47bn £1,100.63bn £1,139.27bn £1,178.21bn £1,218.91bn
Government spending £553.68bn † £568.33bn † £575.75bn † £583.13bn † £592.08bn † £597.71bn † £611.18bn †
Government balance, each receipt once £431.94bn † £459.24bn † £489.73bn † £517.51bn † £547.19bn † £580.50bn † £607.73bn †
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 £988.75bn £1,030.70bn £1,068.60bn £1,103.76bn £1,142.40bn £1,181.34bn £1,222.04bn
household_tax £513.90bn £540.70bn £565.82bn £588.26bn £611.65bn £636.39bn £661.12bn
pre_budget_change_household_tax £506.20bn £532.72bn £557.61bn £579.16bn £602.31bn £626.77bn £652.10bn
gov_spending £553.68bn † £568.33bn † £575.75bn † £583.13bn † £592.08bn † £597.71bn † £611.18bn †
household_benefits £553.68bn † £568.33bn † £575.75bn † £583.13bn † £592.08bn † £597.71bn † £611.18bn †
gov_balance £435.07bn † £462.37bn † £492.86bn † £520.64bn † £550.32bn † £583.63bn † £610.86bn †
Components the model counts twice: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
corporate_sdlt, counted again inside expected_sdlt £3.13bn £3.13bn £3.13bn £3.13bn £3.13bn £3.13bn £3.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,658.75bn £1,720.88bn £1,773.58bn £1,824.19bn £1,889.58bn £1,948.04bn £2,019.91bn
Household net income £1,657.25bn † £1,705.67bn † £1,739.47bn † £1,773.91bn † £1,809.47bn † £1,847.45bn † £1,905.51bn †
Household net income (HBAI definition) suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Population: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
People 70,747k 71,016k 71,278k 71,564k 71,878k 72,202k 72,512k
Benefit units 38,944k 39,092k 39,237k 39,394k 39,567k 39,745k 39,916k
Households 32,067k 32,189k 32,308k 32,438k 32,580k 32,727k 32,868k
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 suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: children suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: working-age adults suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: pensioners suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: everyone suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: children suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: working-age adults suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: pensioners suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: everyone suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: children suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: working-age adults suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: pensioners suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: everyone suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: children suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: working-age adults suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: pensioners suppressed suppressed suppressed suppressed suppressed suppressed suppressed
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 suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: children suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: working-age adults suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, before housing costs: pensioners suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: everyone suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: children suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: working-age adults suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Absolute poverty, after housing costs: pensioners suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: everyone suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: children suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: working-age adults suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, before housing costs: pensioners suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: everyone suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: children suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: working-age adults suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Relative poverty, after housing costs: pensioners suppressed suppressed suppressed suppressed suppressed suppressed suppressed
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 suppressed suppressed suppressed suppressed suppressed suppressed suppressed
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 suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 2: mean household_net_income per household suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 3: mean household_net_income per household suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 4: mean household_net_income per household suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 5: mean household_net_income per household suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 6: mean household_net_income per household suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 7: mean household_net_income per household suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 8: mean household_net_income per household suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 9: mean household_net_income per household suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Decile 10: mean household_net_income per household suppressed suppressed suppressed suppressed suppressed suppressed suppressed

Some detail was left out to fit a GitHub comment; the workflow artifact has all of it.

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.

Stop trusting the compromised eMudhra CA certificates

1 participant