Skip to content

Calibrate households' SDLT to the OBR total less corporate SDLT - #569

Draft
MaxGhenis wants to merge 4 commits into
mainfrom
sdlt-target-excludes-corporate
Draft

MaxGhenis wants to merge 4 commits into
mainfrom
sdlt-target-excludes-corporate

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Data release. Hold as a draft for the next batch (d833). It lands only inside the next batch release, on Max's go. The batch must also relock policyengine-uk to 2.152.0 or later, the first release with PolicyEngine/policyengine-uk#2322: full builds refuse an earlier one (see "Guard and dependency"). That relock also brings pe-uk#2241, which leaves household additional-dwelling and non-residential SDLT at zero until #573's imputation lands (d1354; see "Measured").

Fixes #564.

What

  • Target. obr/sdlt now targets stamp_duty_land_tax at the OBR's SDLT line less policyengine-uk's corporate SDLT statistic for the same year: gov.hmrc.stamp_duty.statistics.{residential,non_residential}.corporate.revenue, read from the installed policyengine-uk (targets/sources/obr.py: corporate_sdlt_receipts, household_sdlt), for every year of the active OBR manifest (active_manifest().years, 2024-25 to 2030-31). The target keeps its name, reference and vintage.
  • Guard. A full build (no TESTING=1) stops at its preflight (utils/build_environment.py) if the resolved policyengine-uk does not project the corporate statistic: if either statistics.*.corporate.revenue parameter has no uprating index (obr.unprojected_corporate_sdlt). #2322 gave both the OBR's SDLT receipts for their property type; earlier versions have none and carry the 2020-21 figures forward, £3.13bn in all. The check reads the index, not the values, so a one-year manifest or a projection that happens to be flat is not refused. Target building, and so PR CI's TESTING=1 build, logs a warning in that case instead, so this PR's CI runs on the currently locked policyengine-uk 2.122.2.
  • Build error handler. create_datasets.main now imports its progress panels before the preflight runs. Before, a preflight failure reached the except handler before display_error_panel was imported, so the build stopped with an UnboundLocalError and the reason only in the traceback's context (found by the review; the defect predates this PR, but this PR's guard is a new way to reach it).
  • Tests. tests/test_property_purchased.py compares households' stamp_duty_land_tax with the household-only target, not expected_sdlt against total receipts, and checks that weighted corporate_sdlt equals the statistic subtracted. The new tests/test_obr_sdlt_target.py checks the target identity each year and the invariants below. tests/test_obr_sources.py's fixed-column differential test subtracts the statistic for obr/sdlt. tests/test_obr_receipts_sheet.py's synthetic workbook now carries £100bn a year so its SDLT row stays above the statistic. tests/test_build_environment.py checks the preflight's issue and that a refused build stops with the preflight's own error.

Rebased on main e1acdf96 (2026-10-24): main's hash-bound manifest (#592) replaced _FY_COL_TO_YEAR, so years now come from the manifest and values from read_row, and the tests load the verified workbook with load_workbook("receipts").

Why

The OBR's SDLT line (EFO March 2026, Table 3.8; it equals Table 3.7's "Total SDLT" every year) covers all buyers in England and Northern Ireland. policyengine-uk adds SDLT paid by companies and other non-natural persons separately as corporate_sdlt: the statistic times each household's shareholding, which divides its corporate-sector wealth by the weighted total, so while that total is not zero, weighted corporate_sdlt is the statistic whatever the weights. corporate_sdlt is in gov_tax and household_tax. Calibrating stamp_duty_land_tax to the whole line therefore counted the corporate share twice.

Measured

£bn, PolicyEngine years (2025 = 2025-26). Targets come from the committed EFO workbook and the installed policyengine-uk (check569.py). policyengine-uk 2.157.0 (released 2026-10-25, measured that day) carries #2322 and #2342; its statistic is identical, to the pound, to that of #2322's head cafd3f1d, measured before the rebase. 2.157.3 (released 2026-10-25 05:21Z) gives the same statistic and targets in every year (check569_2157_3.json).

2024-25 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31
OBR SDLT (Table 3.8) 13.89 15.41 18.15 20.31 22.58 24.50 26.16
corporate statistic, 2.122.2 (locked) 3.13 3.13 3.13 3.13 3.13 3.13 3.13
corporate statistic, 2.157.0 4.49 4.81 5.98 6.73 7.46 8.21 8.87
new target, with 2.122.2 10.76 12.28 15.02 17.18 19.45 21.37 23.03
new target, with 2.157.0 9.40 10.60 12.17 13.58 15.11 16.29 17.30

Microsimulation runs on the released 1.58.0 enhanced_frs_2024_25.h5 (sha256 5ba399ea…d960b6), which was calibrated to the old target, 2025-26 (measure_2157.json, components_*.json):

2.122.2 2.157.0
households' stamp_duty_land_tax 16.32 7.38
of which residential transactions (before the sdlt_liable filter) 17.21 7.65
of which non-residential transactions 0.36 0.00
additional_residential_property_purchased (weighted value) 124.21 0.00
non_residential_property_purchased (weighted value) 19.05 0.00
weighted corporate_sdlt 3.13 4.81
households' SDLT / new target 1.33 0.70

Household SDLT more than halves between the two versions, largely because of pe-uk#2241 (in 2.134.1 and later), not this PR: #2241's own run on the same data moved it from £16.32bn to £7.62bn, and other model changes between the two versions account for the rest. #2241 made additional-dwelling and non-residential purchases inputs that are nil unless a dataset imputes them, where before they were the household's property stocks priced as purchases whenever property_purchased. The batch relock this PR needs brings #2241 as well. Without #573's imputation (d1354, parked), only main-home purchases carry household SDLT, so the calibration can reach the new target only by upweighting main-home buyers: £7.38bn to £10.60bn, 1.44 times, against 2.09 times for the old whole-line target. Weighted corporate_sdlt matches the statistic to within £600 under both versions (float32). The household SDLT a rebuilt dataset reaches is pending: this PR's CI runs a reduced TESTING=1 build on 2.122.2, and the full build comes with the batch.

Is the new target attainable? This is a feasibility check, not the build pipeline (reweight_experiment.py). Starting from 1.58.0's weights, I reweighted against the national targets only, using the pipeline's symmetric relative-error loss for 512 Adam steps at lr 0.1. Each run went once with the old SDLT target (the OBR total, £15.41bn) and once with the new one, all else equal. The pipeline also calibrates the constituencies and local authorities jointly, so this shows what meeting the target costs nationally, not what the full build will reach.

Under 2.157.0 there are 648 national targets. 19 of their columns have no signal on 1.58.0. known_gaps.yaml lists 18 of those, but not dwp/uc_payment_dist/COUPLE_NO_CHILDREN_annual_payment_22_800_to_24_000, so main's coverage check refuses the matrix (coverage_2157.json). It is therefore built with require_coverage=False; a zero column adds the same constant to both losses (reweight_experiment_v2.py, reweight_experiment_2157.json). Households' SDLT starts at £7.36bn on the matrix. Both runs reach their SDLT target: the old one at £15.39bn (0.999 times) and the new one at £10.60bn (1.000 times). Their final losses agree to five decimal places (0.036688 and 0.036686). Both get there by upweighting main-home buyers (property_purchased), from 1.03m weighted households to 1.46m for the old target and 1.30m for the new one. No other target's absolute relative error differs between the runs by more than 0.4 percentage points (the largest is obr/state_pension, −7.8% against −7.4%), and 94.0% of the other targets are within 10% in both. Before the rebase, the same check on #2322's head (which predates #2241, so it still priced additional-dwelling purchases) hit both targets within 0.02%, with final losses equal to six decimal places (reweight_experiment.json). #573's imputation would let the calibration meet the target with fewer extra buyers; this check does not measure that.

Invariants

For every year of the OBR manifest (2024-25 to 2030-31), with baseline policyengine-uk parameters and a non-zero weighted total of corporate-sector wealth (production calibration passes no reform; under a parameter reform, SDLT abolition or an applied_before_data_load scenario the model's corporate SDLT can differ from the statistic subtracted here):

  1. Accounting identity. target + corporate statistic = OBR SDLT. Checked on the committed EFO workbook against the installed policyengine-uk, and as a Hypothesis property over arbitrary totals and statistics.
  2. Bounds. 0 ≤ target ≤ OBR SDLT whenever 0 ≤ statistic ≤ OBR SDLT (Hypothesis). A statistic above the OBR figure raises SourceError naming the year instead of producing a negative target (Hypothesis). SourceError is not a ValueError, so the receipts parser's per-row handler does not swallow it and the build stops (test_statistic_above_obr_sdlt_stops_the_receipts_parse); the manifest also requires obr/sdlt, so the target cannot be dropped silently.
  3. Differential: subtracted = added. The statistic the target subtracts equals what policyengine-uk's own corporate_sdlt formula adds: a one-household simulation with shareholding = 1 in every year (rel. 1e-6), and weighted corporate_sdlt over the built dataset in 2025.
  4. Same base. The current-receipts SDLT line equals the property-type total (Table 3.7) that #2322 projects the statistic with, year by year from each table's own header.
  5. The guard reads the mechanism. unprojected_corporate_sdlt lists exactly the statistics without an uprating index, for each of the four combinations set on the loaded parameters; and on the installed policyengine-uk, the statistics are uprated exactly when their values vary over the manifest years (both under 2.157.0; neither under 2.122.2).

With households on target and that weighted total non-zero, model SDLT (stamp_duty_land_tax + corporate_sdlt) is therefore the OBR's figure. Mutation checks (mut569.sh; mutations_2122.log, mutations_2157.log): each of eight mutants fails test_obr_sdlt_target.py, test_obr_sources.py or test_build_environment.py under both 2.122.2 and 2.157.0. The mutants drop the subtraction, drop the non-residential statistic, raise ValueError for SourceError, remove the negative check, treat every statistic as projected, treat none as projected, drop the warning, and move the error panel's import back inside the try, after the preflight (the original bug, which raises UnboundLocalError).

Guard and dependency

  • Without #2322 the subtraction is still self-consistent: the target is the OBR line less the stale £3.13bn, so the model total still matches the OBR. It overstates households' share, though (£15.02bn in 2026-27 against £12.17bn), and a dataset built that way and run with a current policyengine-uk would overshoot the OBR by the difference. Full builds therefore require #2322.
  • Merge order: #2322 merged 2026-10-24 (3e79ee2ff) and first shipped in policyengine-uk 2.152.0. uk-data main still locks 2.122.2 (policyengine-uk>=2.122.0), and no open PR relocks to a version with #2322 (the highest, Fill benunit_reported_capital from FRS benefit-unit capital, so UC uses it too #552, locks 2.126.8). The batch that carries this PR must relock to 2.152.0 or later before its full build. Until then, make data without TESTING=1 stops with: "The resolved policyengine-uk does not project gov.hmrc.stamp_duty.statistics.residential.corporate.revenue or gov.hmrc.stamp_duty.statistics.non_residential.corporate.revenue: it carries the last outturn forward. Full builds need policyengine-uk 2.152.0 or later (Update corporate SDLT and business rates statistics and project them with OBR receipts policyengine-uk#2322)…" Verified: the preflight lists that one issue under 2.122.2 and none under 2.157.0 or 2.157.3.
  • For the relock, beyond this PR: on 1.58.0 under 2.157.0, main's coverage check also reports 20 known_gaps.yaml entries (UC payment-distribution bands) that now have signal, as well as the one unlisted zero-signal band above (coverage_2157.json). A rebuilt dataset may differ.
  • Impute additional-dwelling and non-residential purchases, calibrated to HMRC's HRAD statistics #573 (impute additional-dwelling and non-residential purchases, d1354) is independent code but the same target: with it, household SDLT has the purchases #2241 removed, and the calibration needs less upweighting to meet this target.

Tests

  • test_build_environment.py, every test_obr_*.py, test_target_registry.py and test_property_purchased.py: 178 passed, 10 skipped (the dataset tests, with no built dataset in the checkout), under both the locked policyengine-uk 2.122.2 and 2.157.0. ruff format --check and ruff check pass.
  • test_property_purchased.py on 1.58.0: the household ratio is 1.33 with 2.122.2 and 0.70 with 2.157.0, both inside the full bound (0.5, 1.5) and the TESTING one (0.25, 4).

axiom: n/a: calibration target in the data build, no policy rule changed.

Evidence: ~/reviews/uk-data-sdlt-corporate-564/ (check569.py, check569_2122.json, check569_latest.json, check569_2157_3.json, coverage.py, coverage_2157.json, mutations_2122.log, mutations_2157.log, mutant_panel_from.txt, mutant_panel_to.txt, measure_manifest.py, measure_2157.json, components.py, components_2122.json, components_2157.json, reweight_experiment_v2.py, reweight_experiment_2157.json, reweight_experiment_2157_full.json, mut569.sh, tests569_2122.log, tests569_latest.log, review-r2/review.md, review-r3/review.md, and the pre-rebase measure.py, measure_2122.json, measure_2322.json, reweight_experiment.py, reweight_experiment.json).

🤖 Generated with Claude Code

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Batch dependency with pe-uk #2241 (fixes policyengine-uk#2238) and uk-data #556.

#2241 stops charging a household's other-property stock as an additional-dwelling purchase. additional_residential_property_purchased becomes an input. On 1.58.0 that removes the higher-rates part of household stamp_duty_land_tax: £7.76bn in FY2024-25 on main, £8.7bn of household SDLT in 2025. HMRC's 2024-25 tables (6b, 8a) imply individuals paid at least £4.2bn of HRAD receipts.

If this PR's target (OBR SDLT less corporate SDLT) is built on a policyengine-uk carrying #2241, but without an imputation of additional-dwelling purchases, calibration will push main-home SDLT to absorb the missing higher-rates share. #556 adds that imputation, calibrated to HMRC's HRAD statistics; a draft PR is being built now. So #556 should land in the same d833 batch as this PR, or the target should be held until it does. Max's decision on adopting #556 is d1354.

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Heads-up for the batch: #592 (hash-verified OBR workbooks, header-read years) removes _FY_COL_TO_YEAR from targets/sources/obr.py. This PR's corporate_sdlt_receipts() uses it as the default year range. After #592, use active_manifest().years from policyengine_uk_data.targets.obr_sources, which holds the financial years the EFO tables head (2024 to 2030 for March 2026). The parser signatures gain an optional manifest argument and read values with read_row(ws, row, manifest).

The OBR's SDLT line covers every buyer, but policyengine-uk adds SDLT
from non-natural persons separately as corporate_sdlt, so targeting
stamp_duty_land_tax at the whole line counted the corporate share twice.
Subtract the installed policyengine-uk's corporate statistic for each of
the active OBR manifest's years, warn when that statistic is held flat
(policyengine-uk before #2322, first released in 2.152.0), and refuse
full builds against such a version. A statistic above the OBR line
raises SourceError, which the receipts parser does not swallow.

Fixes #564

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis force-pushed the sdlt-target-excludes-corporate branch from 0544d69 to 092982e Compare October 25, 2026 03:06
The £23.29bn 2026-27 example came from policyengine-uk#2322's head
before #2241, which no release matches. Use 1.58.0 under the locked
2.122.2 (households £16.32bn against the OBR's £15.41bn in 2025-26,
corporate £3.13bn on top) and the 2025-26 target with 2.152.0 or later.

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

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Calibration fit against the base build: pass

Targets within 10% (those both builds have) Base Head Change
National (647) 64.9% 64.6% -0.3pp
Local (11,228) 75.1% 75.1% +0.0pp

A drop of more than 2.0% fails.

Notes

  • 8 national targets are in a better band on the head.

National targets in a worse error band on the head (9)

Target Base Head
dwp/uc/claimants_with_5+_children within 10% 25-50%
dwp/uc_payment_dist/COUPLE_NO_CHILDREN_annual_payment_4_800_to_6_000 within 10% 10-25%
dwp/uc_payment_dist/SINGLE_annual_payment_2_400_to_3_600 10-25% 25-50%
hmrc/dividend_income_count_income_band_50_000_to_70_000 10-25% 25-50%
hmrc/property_income_count_income_band_500_000_to_1_000_000 within 10% 10-25%
hmrc/property_income_income_band_15_000_to_20_000 within 10% 10-25%
obr/sdlt within 10% 10-25%
ons/north_east_age_10_19 within 10% 10-25%
ons/scotland_age_70_79 within 10% 10-25%

Flags are for review: builds of the same code move 2 to 12 national targets to a worse band (#598). Bands are of |estimate / target - 1|; no target's estimate or error is published.

Workflow run

Income distribution and single ages against the base build: pass

HBAI FYE 2025 (DWP), period 2024: equivalised income in £ a week, rates and Gini in per cent. A value outside HBAI's 95% interval is marked (outside).

Measure Base Head HBAI 95% interval
median_bhc 678.42 (outside) 678.78 (outside) 719.48 703.57 to 735.58
median_ahc 584.36 (outside) 584.61 (outside) 623.14 605.21 to 637.07
mean_bhc 800.20 (outside) 802.26 (outside) 854.98 836.37 to 870.35
mean_ahc 691.61 (outside) 693.52 (outside) 749.82 732.33 to 764.50
gini_bhc 33.14 33.20 32.74 31.89 to 33.98
gini_ahc 38.45 (outside) 38.46 (outside) 36.78 35.90 to 38.29
relative_low_income_bhc_all 18.20 (outside) 17.94 (outside) 15.91 14.45 to 17.64
relative_low_income_bhc_children 23.87 23.20 20.52 17.36 to 23.96
relative_low_income_bhc_working_age 17.47 (outside) 17.22 (outside) 14.28 12.91 to 16.02
relative_low_income_bhc_pensioners 13.77 14.02 15.90 13.69 to 17.99
relative_low_income_ahc_all 23.47 (outside) 23.15 (outside) 19.64 17.99 to 21.27
relative_low_income_ahc_children 33.52 (outside) 32.60 (outside) 27.41 23.49 to 30.64
relative_low_income_ahc_working_age 23.16 (outside) 22.88 (outside) 18.58 17.01 to 20.34
relative_low_income_ahc_pensioners 12.07 12.38 13.87 11.62 to 15.90
Single ages against the ONS projection Base Head
Mean error, ages 0 to 79 11.0% 11.0%
Largest error, ages 0 to 79 43.7% 43.7%
Largest error, ages 15 to 19 36.8% 37.7%

Flags

None.

These measures report and flag but do not fail yet: their same-code spread is unmeasured (#598).

Aggregate impact of the data change: pass

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

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

Workflow run and full report

Notes

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

Measure Year Base Head Change
Stamp duty land tax (own purchases, and corporate until the 2031-32 £25.97bn £21.78bn -£4.18bn
Stamp duty land tax (own purchases, and corporate until the 2030-31 £24.77bn £20.77bn -£3.99bn
Stamp duty land tax (own purchases, and corporate until the 2029-30 £23.64bn £19.84bn -£3.80bn
Stamp duty land tax (own purchases, and corporate until the 2028-29 £22.63bn £18.99bn -£3.63bn
Stamp duty land tax (own purchases, and corporate until the 2027-28 £21.65bn £18.18bn -£3.47bn
Stamp duty land tax (own purchases, and corporate until the 2026-27 £20.67bn £17.37bn -£3.30bn
Stamp duty land tax (own purchases, and corporate until the 2025-26 £19.78bn £16.64bn -£3.14bn
Extended childcare entitlement 2030-31 836k 805k -31.7k
Disability Living Allowance 2025-26 1,370k 1,329k -41.5k
Disability Living Allowance 2026-27 1,376k 1,334k -41.7k
Disability Living Allowance 2029-30 1,392k 1,350k -42.2k
Disability Living Allowance 2027-28 1,381k 1,339k -41.8k
Disability Living Allowance 2028-29 1,386k 1,344k -42.0k
Disability Living Allowance 2030-31 1,399k 1,356k -42.4k
Disability Living Allowance 2031-32 1,405k 1,362k -42.5k
Government balance, each receipt once 2025-26 £432.41bn £430.13bn -£2.28bn
gov_balance 2025-26 £435.54bn £433.26bn -£2.28bn
Government balance, each receipt once 2029-30 £547.72bn £544.87bn -£2.85bn
Government balance, each receipt once 2026-27 £459.72bn £457.32bn -£2.39bn
Government balance, each receipt once 2028-29 £518.02bn £515.33bn -£2.69bn
gov_balance 2029-30 £550.85bn £548.00bn -£2.85bn
Government balance, each receipt once 2027-28 £490.22bn £487.68bn -£2.54bn
gov_balance 2028-29 £521.15bn £518.46bn -£2.69bn
gov_balance 2026-27 £462.85bn £460.45bn -£2.39bn
gov_balance 2027-28 £493.35bn £490.81bn -£2.54bn
Government balance, each receipt once 2031-32 £608.30bn £605.22bn -£3.09bn
gov_balance 2031-32 £611.43bn £608.35bn -£3.09bn
Government balance, each receipt once 2030-31 £581.05bn £578.16bn -£2.89bn
gov_balance 2030-31 £584.18bn £581.29bn -£2.89bn
Household net income 2031-32 £1,905.84bn £1,914.68bn +£8.84bn
Household net income 2030-31 £1,847.77bn £1,856.21bn +£8.44bn
Household net income 2029-30 £1,809.78bn £1,818.02bn +£8.24bn
Household net income 2028-29 £1,774.21bn £1,782.14bn +£7.94bn
Personal Independence Payment 2031-32 £35.43bn £35.87bn +£447.1m
Household net income 2027-28 £1,739.76bn £1,747.40bn +£7.64bn
Personal Independence Payment 2030-31 £34.58bn £35.02bn +£436.4m
Household net income 2026-27 £1,705.95bn £1,713.30bn +£7.35bn
Personal Independence Payment 2029-30 £33.75bn £34.18bn +£425.9m
Household net income 2025-26 £1,657.52bn £1,664.57bn +£7.05bn
Personal Independence Payment 2028-29 £32.95bn £33.36bn +£415.8m

148 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 +£1.08bn +£1.12bn +£1.15bn +£1.19bn +£1.21bn +£1.23bn +£1.28bn
National Insurance (employee and self-employed) +£121.9m +£124.3m +£128.4m +£130.2m +£136.4m +£138.2m +£142.4m
National Insurance (employer) +£455.7m +£473.6m +£487.3m +£499.9m +£519.2m +£534.4m +£555.2m
Capital gains tax +£131.9m +£136.4m +£141.6m +£146.5m +£151.6m +£157.1m +£162.7m
Student loan repayments +£18.7m +£19.5m +£20.0m +£20.5m +£21.0m +£21.6m +£19.6m
VAT -£402.7m -£413.5m -£423.4m -£433.6m -£444.2m -£455.1m -£466.2m
Fuel duties +£432 -£246 +£797 -£201 +£211 -£914 -£122
TV licence fee -£2.6m -£3.8m -£3.1m -£3.0m -£3.1m -£3.2m -£2.9m
Council tax +£30.7m +£32.7m +£35.1m +£37.7m +£40.2m +£42.9m +£43.1m
High value council tax surcharge 0 0 0 -£0.5m -£0.5m -£0.5m -£0.5m
Northern Ireland domestic rates -£2.1m -£2.2m -£2.3m -£2.5m -£2.6m -£2.7m -£2.7m
Business rates +£1,509 -£2,420 -£1,775 -£3,861 -£883 +£945 +£2,589
Stamp duty land tax (own purchases, and corporate until the -£3.14bn -£3.30bn -£3.47bn -£3.63bn -£3.80bn -£3.99bn -£4.18bn
Land transaction tax (Wales) -£0.3m -£0.3m -£0.4m -£0.4m -£0.4m -£0.5m -£0.5m
Land and buildings transaction tax (Scotland) +£88,877 +£91,116 +£98,712 +£0.1m +£0.1m +£0.1m +£0.1m

Spending by benefit and service

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
State Pension +£288.3m +£290.5m +£289.8m +£288.1m +£296.6m +£305.4m +£314.4m
Pension Credit +£2.6m +£4.8m +£0.4m +£1.5m +£38,280 -£1.2m -£7.8m
Winter Fuel Payment +£3.9m +£5.6m +£3.3m +£2.7m +£2.8m +£3.5m +£3.6m
Pension Age Winter Heating Payment (Scotland) -£95,730 -£4,451 -£0.1m -£0.2m -£0.2m -£0.2m -£0.1m
Universal Credit -£2.5m +£22.9m +£37.7m +£81.3m +£100.3m +£32.6m +£26.3m
Housing Benefit +£6.5m +£7.2m +£6.0m +£6.5m +£6.7m +£6.8m +£8.3m
Council Tax Reduction -£16.4m -£15.8m -£17.5m -£18.8m -£19.2m -£15.9m -£15.5m
Employment and Support Allowance (income-related) -£6.9m -£7.1m -£7.3m -£7.5m -£7.6m -£7.9m -£8.1m
Employment and Support Allowance (contribution-based) -£3.9m -£4.0m -£4.1m -£4.2m -£4.3m -£4.4m -£4.5m
Jobseeker's Allowance (income-based) +£2.3m 0 0 0 0 0 0
Jobseeker's Allowance (contribution-based) -£1.7m -£1.7m -£1.8m -£1.8m -£1.8m -£1.9m -£1.9m
Income Support +£7.7m 0 0 0 0 0 0
Personal Independence Payment +£379.4m +£395.4m +£406.0m +£415.8m +£425.9m +£436.4m +£447.1m
Disability Living Allowance -£245.1m -£255.4m -£262.3m -£268.6m -£275.2m -£281.9m -£288.8m
Attendance Allowance +£74.6m +£77.8m +£79.9m +£81.8m +£83.8m +£85.8m +£87.9m
Carer's Allowance +£73.3m +£76.4m +£78.4m +£80.3m +£82.3m +£84.3m +£86.4m
Carer Support Payment (Scotland) -£9.9m -£10.3m -£10.6m -£10.8m -£11.1m -£11.4m -£11.6m
Carer's Allowance Supplement (Scotland) 0 -£1.4m -£1.4m -£1.4m -£1.4m -£1.4m -£1.4m
Severe Disablement Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Industrial Injuries Disablement Benefit -£4.6m -£4.7m -£4.8m -£4.9m -£5.0m -£5.2m -£5.3m
Armed Forces Compensation Scheme +£45.1m +£46.4m +£47.5m +£48.6m +£49.8m +£51.0m +£52.3m
Child Benefit -£27.0m -£27.3m -£29.4m -£30.1m -£31.0m -£31.7m -£32.0m
Scottish Child Payment +£6.9m +£7.0m +£7.2m +£7.4m +£7.4m +£7.6m +£8.2m
Healthy Start vouchers -£1.3m -£1.3m -£1.3m -£1.3m -£1.3m -£1.3m -£1.3m
Statutory Maternity Pay +£14.2m +£14.6m +£14.9m +£15.3m +£15.6m +£16.0m +£16.4m
Statutory Sick Pay -£18.7m -£19.2m -£19.7m -£20.1m -£20.6m -£21.1m -£21.7m
Sure Start Maternity Grant +£42,159 +£42,319 +£42,476 +£42,646 +£42,833 +£43,026 +£43,211
Bereavement Support Payment -£25.3m -£26.0m -£26.6m -£27.3m -£27.9m -£28.6m -£29.3m
Tax-Free Childcare +£1.6m -£4.1m -£3.9m -£4.1m -£4.3m -£11.3m -£11.3m
Extended childcare entitlement -£44.7m -£56.3m -£48.1m -£55.6m -£56.6m -£109.9m -£64.7m
Universal childcare entitlement -£16.3m -£12.1m -£12.4m -£11.2m -£11.5m -£12.0m -£12.4m
Targeted childcare entitlement -£6.7m -£6.9m -£7.1m -£7.3m -£7.5m -£7.2m +£4.6m
Parents' Learning Allowance +£0.5m +£0.5m +£0.5m +£0.5m +£0.5m +£0.5m +£0.5m
Adult Dependants' Grant +£39,284 +£39,430 -£0.3m -£0.3m -£0.3m -£0.4m -£0.4m
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
NHS spending +£89.1m +£89.4m +£89.8m +£90.1m +£90.5m +£90.9m +£91.3m
State education spending suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Transport subsidy spending -£166 -£180 -£107 -£112 -£147 -£152 +£86

Caseloads

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
State Pension +9.6k +8.5k +8.5k +8.3k +8.3k +8.3k +8.4k
Pension Credit +4.3k +11.1k +4.9k +4.2k +4.8k +5.7k +4.5k
Winter Fuel Payment +18.2k +24.7k +15.9k +12.0k +12.1k +16.2k +17.6k
Pension Age Winter Heating Payment (Scotland) +514 +614 -13 -120 -121 -121 -122
Universal Credit -8.1k -6.7k -4.5k -6.6k -6.7k -3.8k -6.4k
Housing Benefit +1.1k +1.1k +984 +1.0k +1.0k +1.0k +1.3k
Council Tax Reduction -1.5k +549 -3.5k -6.0k -2.1k +113 +7.9k
Employment and Support Allowance (income-related) +519 +521 +523 +527 +529 +532 +534
Employment and Support Allowance (contribution-based) -474 -476 -478 -480 -482 -484 -486
Jobseeker's Allowance (income-based) +550 0 0 0 0 0 0
Jobseeker's Allowance (contribution-based) -332 -333 -334 -336 -337 -339 -340
Income Support +430 0 0 0 0 0 0
Personal Independence Payment +51.9k +52.1k +52.3k +52.5k +52.8k +53.0k +53.2k
Disability Living Allowance -41.5k -41.7k -41.8k -42.0k -42.2k -42.4k -42.5k
Attendance Allowance +12.1k +12.2k +12.2k +12.3k +12.3k +12.4k +12.4k
Carer's Allowance +16.9k +17.0k +17.1k +17.1k +17.2k +17.3k +17.4k
Carer Support Payment (Scotland) -2.3k -2.3k -2.3k -2.3k -2.3k -2.3k -2.3k
Carer's Allowance Supplement (Scotland) 0 -2.3k -2.3k -2.3k -2.3k -2.3k -2.3k
Severe Disablement Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Industrial Injuries Disablement Benefit +345 +346 +348 +349 +351 +352 +354
Armed Forces Compensation Scheme +4.2k +4.2k +4.2k +4.2k +4.2k +4.3k +4.3k
Child Benefit -21.1k -21.0k -21.3k -21.4k -21.6k -21.6k -21.3k
Scottish Child Payment +4.9k +4.8k +4.8k +4.8k +4.8k +4.8k +5.0k
Healthy Start vouchers -6.7k -6.7k -6.7k -6.8k -6.8k -6.8k -6.9k
Statutory Maternity Pay -672 -675 -677 -680 -683 -686 -689
Statutory Sick Pay -3.9k -3.9k -3.9k -3.9k -3.9k -4.0k -4.0k
Sure Start Maternity Grant +84 +85 +85 +85 +86 +86 +86
Bereavement Support Payment -3.2k -3.2k -3.2k -3.2k -3.2k -3.3k -3.3k
Tax-Free Childcare +766 -4.1k -5.1k -5.3k -5.9k -11.7k -10.9k
Extended childcare entitlement -10.3k -11.7k -9.9k -10.9k -10.9k -31.7k -11.7k
Universal childcare entitlement -4.7k -3.4k -3.4k -3.0k -3.0k -3.1k -3.1k
Targeted childcare entitlement -1.4k -1.4k -1.4k -1.4k -1.4k -1.3k +837
Parents' Learning Allowance +226 +227 +228 +229 +230 +231 +232
Adult Dependants' Grant +11 +11 -97 -98 -98 -99 -110
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 -£1.71bn -£1.81bn -£1.93bn -£2.05bn -£2.18bn -£2.33bn -£2.46bn
Government spending +£565.1m † +£584.9m † +£602.8m † +£644.5m † +£675.5m † +£566.3m † +£629.3m †
Government balance, each receipt once -£2.28bn † -£2.39bn † -£2.54bn † -£2.69bn † -£2.85bn † -£2.89bn † -£3.09bn †

Model totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
gov_tax -£1.71bn -£1.81bn -£1.93bn -£2.05bn -£2.18bn -£2.33bn -£2.46bn
household_tax -£1.77bn -£1.87bn -£2.00bn -£2.12bn -£2.25bn -£2.41bn -£2.55bn
pre_budget_change_household_tax -£1.79bn -£1.89bn -£2.02bn -£2.14bn -£2.27bn -£2.43bn -£2.57bn
gov_spending +£565.1m † +£584.9m † +£602.8m † +£644.5m † +£675.5m † +£566.3m † +£629.3m †
household_benefits +£565.1m † +£584.9m † +£602.8m † +£644.5m † +£675.5m † +£566.3m † +£629.3m †
gov_balance -£2.28bn † -£2.39bn † -£2.54bn † -£2.69bn † -£2.85bn † -£2.89bn † -£3.09bn †

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 +£138 -£259 -£167 -£363 -£76 +£103 +£240

Household income totals

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Household market income +£3.95bn +£4.10bn +£4.22bn +£4.33bn +£4.49bn +£4.62bn +£4.79bn
Household net income +£7.05bn † +£7.35bn † +£7.64bn † +£7.94bn † +£8.24bn † +£8.44bn † +£8.84bn †
Household net income (HBAI definition) suppressed suppressed suppressed suppressed suppressed suppressed suppressed

Population

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
People +12.5k +12.5k +12.5k +12.6k +12.7k +12.7k +12.8k
Benefit units -8.3k -8.3k -8.3k -8.4k -8.4k -8.4k -8.5k
Households +5.9k +5.9k +6.0k +6.0k +6.0k +6.0k +6.1k

Poverty rates

Measure 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

Measure 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

Measure 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

Measure 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

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 +£15.8m +£15.7m +£15.7m +£15.9m +£15.6m +£15.7m +£17.2m
Raise higher rate by 1pp +£26.7m +£28.8m +£30.4m +£31.7m +£33.4m +£35.1m +£36.6m
Raise personal allowance by ~800GBP/year -£10.7m -£3.9m -£3.1m -£5.5m -£2.0m -£3.0m -£1.4m
Raise child benefit by 25GBP/week per additional child -£18.5m -£16.2m -£16.3m -£18.1m -£17.2m -£17.0m -£16.5m
Reduce Universal Credit taper rate to 20% -£28.4m -£25.7m -£31.6m -£30.0m -£45.1m -£48.5m -£67.8m
Raise Class 1 main employee NICs rate to 10% +£23.9m +£24.2m +£25.0m +£23.6m +£24.2m +£23.8m +£26.7m
Raise VAT standard rate by 2pp -£40.1m -£41.1m -£42.1m -£43.1m -£44.2m -£45.3m -£46.4m
Raise additional rate by 3pp +£14.5m +£14.6m +£14.7m +£15.4m +£14.0m +£12.9m +£13.3m
Raise the Universal Credit standard allowance by 10% -£6.0m -£6.0m -£9.3m -£13.7m -£16.2m -£16.8m -£17.6m
Raise the State Pension by 10% -£32.4m -£26.4m -£32.6m -£36.1m -£36.6m -£37.4m -£40.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 +£14.4m +£14.7m +£14.4m +£14.1m +£14.5m +£14.7m +£15.0m
Raise higher rate by 1pp: change in income_tax +£26.8m +£29.0m +£30.7m +£31.9m +£33.5m +£35.2m +£36.5m
Raise personal allowance by ~800GBP/year: change in income_tax -£10.4m -£4.0m -£3.1m -£5.7m -£2.4m -£3.6m -£1.6m
Raise child benefit by 25GBP/week per additional child: change in child_benefit +£0.7m +£0.9m +£0.5m +£0.4m +£0.4m +£0.4m +£0.3m
Reduce Universal Credit taper rate to 20%: change in universal_credit +£28.6m +£25.8m +£31.7m +£30.2m +£45.4m +£48.9m +£68.0m
Raise Class 1 main employee NICs rate to 10%: change in national_insurance +£22.2m +£22.4m +£23.0m +£23.3m +£24.6m +£24.5m +£25.1m
Raise VAT standard rate by 2pp: change in vat -£40.1m -£41.1m -£42.1m -£43.1m -£44.2m -£45.3m -£46.4m
Raise additional rate by 3pp: change in income_tax +£14.5m +£14.6m +£14.7m +£15.4m +£14.0m +£12.9m +£13.3m
Raise the Universal Credit standard allowance by 10%: change in universal_credit +£6.4m +£6.4m +£9.7m +£14.1m +£16.7m +£17.3m +£18.2m
Raise the State Pension by 10%: change in state_pension +£28.8m +£29.1m +£29.0m +£28.8m +£29.7m +£30.5m +£31.4m

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.

Checks failing on both base and head (4)
  • 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: 67 units below zero, a weighted £-81,270,732 in total; 2026-27: 67 units below zero, a weighted £-83,455,897 in total; 2027-28: 67 units below zero, a weighted £-85,439,975 in total
  • The partition's heads and declared double counts add up to gov_spending (identity:gov_spending): 2025-26: 358 households differ, by a weighted £539,707,125 in total (households holding a figure from fewer than 10 records aren't checked this year); 2026-27: 360 households differ, by a weighted £560,858,029 in total (households holding a figure from fewer than 10 records aren't checked this year); 2027-28: 360 households differ, by a weighted £574,527,427 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,819 households differ, by a weighted £92,401,536 in total (households holding a figure from fewer than 10 records aren't checked this year); 2026-27: 1,791 households differ, by a weighted £94,334,940 in total (households holding a figure from fewer than 10 records aren't checked this year); 2027-28: 1,739 households differ, by a weighted £94,705,644 in total (households holding a figure from fewer than 10 records aren't checked this year)
Counted-once check

Counted-once check not run: not requested.

Provenance
Side Commit Runtime Environment hash Partition hash Time
base policyengi uk 2.122.2 (files 0cb87d75a516), core 3.32.13, py 3.13.16 x86_64 a9ab0df50691 e8ea8a019873 205.76s
head policyengi uk 2.122.2 (files 0cb87d75a516), core 3.32.13, py 3.13.16 x86_64 a9ab0df50691 e8ea8a019873 178.66s

Base dataset: enhanced_frs_2024_25.h5, sha256 d60e2aa01bd2e9474985894c6eda327bc13bb6cfb0bb5364124710233155d3eb, the base's build.

Head dataset: enhanced_frs_2024_25.h5, sha256 87c344e1480185d8007825d6addc23438ba8afdfcb227fe5e2ccad498ef0ec4b, 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 £298.47bn £317.95bn £333.92bn £348.32bn £364.28bn £381.67bn £401.55bn
National Insurance (employee and self-employed) £51.20bn £53.41bn £55.16bn £56.75bn £58.66bn £60.47bn £62.80bn
National Insurance (employer) £151.32bn £157.77bn £162.66bn £167.18bn £173.91bn £179.35bn £186.41bn
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.22bn £26.07bn £27.03bn £28.00bn £28.97bn £30.03bn £31.13bn
Student loan repayments £7.71bn £8.01bn £8.23bn £8.43bn £8.66bn £8.91bn £8.29bn
VAT £323.65bn £332.35bn £340.25bn £348.45bn £356.98bn £365.76bn £374.68bn
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.66bn £4.68bn £4.70bn £4.72bn £4.75bn £4.77bn
Council tax £48.73bn £51.56bn £54.83bn £58.36bn £61.89bn £65.57bn £65.85bn
High value council tax surcharge £0.00bn £0.00bn £0.00bn £0.69bn £0.71bn £0.73bn £0.75bn
Northern Ireland domestic rates £1.13bn £1.18bn £1.23bn £1.29bn £1.35bn £1.42bn £1.43bn
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 £16.64bn £17.37bn £18.18bn £18.99bn £19.84bn £20.77bn £21.78bn
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.45bn £138.52bn £140.77bn £143.14bn £147.36bn £151.72bn £156.19bn
Pension Credit £6.54bn £7.14bn £7.03bn £7.08bn £7.18bn £7.29bn £7.30bn
Winter Fuel Payment £1.69bn £1.66bn £1.62bn £1.59bn £1.58bn £1.58bn £1.57bn
Pension Age Winter Heating Payment (Scotland) £0.09bn £0.09bn £0.09bn £0.10bn £0.10bn £0.10bn £0.10bn
Universal Credit £78.91bn £83.13bn £84.95bn £86.50bn £87.43bn £84.63bn £85.13bn
Housing Benefit £8.34bn £8.67bn £8.86bn £9.07bn £9.34bn £9.59bn £9.55bn
Council Tax Reduction £2.17bn £2.23bn £2.30bn £2.36bn £2.42bn £2.50bn £2.46bn
Employment and Support Allowance (income-related) £3.19bn £3.28bn £3.35bn £3.43bn £3.51bn £3.60bn £3.68bn
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.05bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Jobseeker's Allowance (contribution-based) £0.29bn £0.29bn £0.30bn £0.31bn £0.32bn £0.32bn £0.33bn
Income Support £0.17bn £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.45bn £31.73bn £32.58bn £33.36bn £34.18bn £35.02bn £35.87bn
Disability Living Allowance £8.09bn £8.43bn £8.66bn £8.87bn £9.09bn £9.31bn £9.54bn
Attendance Allowance £7.79bn £8.11bn £8.33bn £8.53bn £8.74bn £8.95bn £9.17bn
Carer's Allowance £3.98bn £4.15bn £4.26bn £4.36bn £4.47bn £4.58bn £4.69bn
Carer Support Payment (Scotland) £0.31bn £0.32bn £0.33bn £0.34bn £0.34bn £0.35bn £0.36bn
Carer's Allowance Supplement (Scotland) £0.00bn £0.04bn £0.04bn £0.04bn £0.04bn £0.04bn £0.04bn
Severe Disablement Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Industrial Injuries Disablement Benefit £0.62bn £0.64bn £0.65bn £0.67bn £0.69bn £0.70bn £0.72bn
Armed Forces Compensation Scheme £0.59bn £0.61bn £0.62bn £0.64bn £0.65bn £0.67bn £0.68bn
Child Benefit £16.36bn £17.00bn £17.42bn £17.82bn £18.24bn £18.68bn £19.08bn
Scottish Child Payment £0.48bn £0.50bn £0.51bn £0.53bn £0.54bn £0.55bn £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.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.85bn £3.95bn £4.04bn £4.14bn £4.24bn £4.35bn £4.45bn
Statutory Paternity Pay £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Sick Pay £0.97bn £1.00bn £1.02bn £1.05bn £1.07bn £1.10bn £1.13bn
Sure Start Maternity Grant £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn
Bereavement Support Payment £1.13bn £1.16bn £1.18bn £1.21bn £1.24bn £1.27bn £1.30bn
Tax-Free Childcare £0.45bn £0.44bn £0.44bn £0.45bn £0.46bn £0.47bn £0.47bn
Extended childcare entitlement £3.76bn £4.17bn £4.29bn £4.41bn £4.52bn £4.69bn £4.82bn
Universal childcare entitlement £1.50bn £1.59bn £1.64bn £1.68bn £1.72bn £1.74bn £1.79bn
Targeted childcare entitlement £0.37bn £0.38bn £0.39bn £0.40bn £0.41bn £0.41bn £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.48bn £209.28bn £210.05bn £210.89bn £211.82bn £212.77bn £213.69bn
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,746k 11,640k 11,391k 11,303k 11,353k 11,404k 11,453k
Pension Credit 1,369k 1,392k 1,346k 1,329k 1,328k 1,326k 1,307k
Winter Fuel Payment 7,151k 7,028k 6,805k 6,671k 6,648k 6,617k 6,606k
Pension Age Winter Heating Payment (Scotland) 709k 702k 690k 683k 686k 689k 692k
Universal Credit 6,376k 6,406k 6,431k 6,433k 6,408k 6,398k 6,375k
Housing Benefit 1,211k 1,208k 1,202k 1,199k 1,204k 1,204k 1,201k
Council Tax Reduction 3,611k 3,639k 3,681k 3,705k 3,727k 3,748k 3,722k
Employment and Support Allowance (income-related) 310k 311k 312k 313k 314k 316k 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 60k 60k 61k 61k 61k
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,136k 4,152k 4,167k 4,184k 4,202k 4,221k 4,239k
Disability Living Allowance 1,329k 1,334k 1,339k 1,344k 1,350k 1,356k 1,362k
Attendance Allowance 1,538k 1,544k 1,550k 1,556k 1,563k 1,570k 1,577k
Carer's Allowance 919k 923k 926k 930k 934k 938k 942k
Carer Support Payment (Scotland) 71k 71k 71k 72k 72k 72k 73k
Carer's Allowance Supplement (Scotland) 0k 71k 71k 72k 72k 72k 73k
Severe Disablement Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
Industrial Injuries Disablement Benefit 158k 159k 159k 160k 161k 161k 162k
Armed Forces Compensation Scheme 65k 65k 66k 66k 66k 66k 67k
Child Benefit 7,959k 7,973k 7,987k 8,013k 8,040k 8,071k 8,084k
Scottish Child Payment 340k 342k 343k 344k 343k 344k 343k
Two Child Limit Payment (Scotland, counterfactual) 0k 0k 0k 0k 0k 0k 0k
Healthy Start vouchers 231k 232k 233k 234k 235k 236k 237k
Maternity Allowance 0k 0k 0k 0k 0k 0k 0k
Statutory Maternity Pay 305k 306k 307k 308k 309k 311k 312k
Statutory Paternity Pay 0k 0k 0k 0k 0k 0k 0k
Statutory Sick Pay 152k 153k 153k 154k 155k 155k 156k
Sure Start Maternity Grant 22k 22k 22k 23k 23k 23k 23k
Bereavement Support Payment 183k 183k 184k 185k 185k 186k 187k
Tax-Free Childcare 966k 951k 952k 957k 934k 945k 934k
Extended childcare entitlement 793k 783k 790k 794k 795k 805k 823k
Universal childcare entitlement 438k 448k 451k 452k 454k 452k 456k
Targeted childcare entitlement 76k 77k 77k 77k 78k 76k 75k
Care to Learn 0k 0k 0k 0k 0k 0k 0k
Childcare Grant 0k 0k 0k 0k 0k 0k 0k
Parents' Learning Allowance 95k 95k 95k 96k 96k 97k 97k
Adult Dependants' Grant 17k 18k 15k 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 £984.40bn £1,026.27bn £1,064.07bn £1,099.14bn £1,137.66bn £1,176.48bn £1,217.07bn
Government spending £554.27bn † £568.95bn † £576.39bn † £583.81bn † £592.79bn † £598.32bn † £611.85bn †
Government balance, each receipt once £430.13bn † £457.32bn † £487.68bn † £515.33bn † £544.87bn † £578.16bn † £605.22bn †
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 £987.53bn £1,029.40bn £1,067.20bn £1,102.27bn £1,140.79bn £1,179.61bn £1,220.20bn
household_tax £512.56bn £539.29bn £564.29bn £586.64bn £609.90bn £634.50bn £659.11bn
pre_budget_change_household_tax £504.85bn £531.28bn £556.06bn £577.51bn £600.54bn £624.87bn £650.08bn
gov_spending £554.27bn † £568.95bn † £576.39bn † £583.81bn † £592.79bn † £598.32bn † £611.85bn †
household_benefits £554.27bn † £568.95bn † £576.39bn † £583.81bn † £592.79bn † £598.32bn † £611.85bn †
gov_balance £433.26bn † £460.45bn † £490.81bn † £518.46bn † £548.00bn † £581.29bn † £608.35bn †
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,663.35bn £1,725.66bn £1,778.50bn £1,829.25bn £1,894.82bn £1,953.44bn £2,025.51bn
Household net income £1,664.57bn † £1,713.30bn † £1,747.40bn † £1,782.14bn † £1,818.02bn † £1,856.21bn † £1,914.68bn †
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,762k 71,031k 71,294k 71,579k 71,894k 72,217k 72,528k
Benefit units 38,935k 39,083k 39,228k 39,385k 39,558k 39,736k 39,907k
Households 32,072k 32,194k 32,313k 32,442k 32,585k 32,732k 32,873k
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
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.04bn £6.32bn £6.52bn £6.71bn £6.92bn £7.14bn £7.40bn
Raise higher rate by 1pp £3.77bn £4.06bn £4.30bn £4.53bn £4.79bn £5.07bn £5.29bn
Raise personal allowance by ~800GBP/year £-3.59bn £-3.70bn £-3.80bn £-3.86bn £-3.91bn £-3.99bn £-1.67bn
Raise child benefit by 25GBP/week per additional child £-2.06bn £-1.82bn £-1.70bn £-1.59bn £-1.48bn £-1.37bn £-1.27bn
Reduce Universal Credit taper rate to 20% £-16.79bn £-17.43bn £-17.67bn £-17.87bn £-17.92bn £-18.14bn £-18.17bn
Raise Class 1 main employee NICs rate to 10% £10.63bn £11.05bn £11.35bn £11.61bn £11.90bn £12.20bn £12.64bn
Raise VAT standard rate by 2pp £31.92bn £32.77bn £33.55bn £34.36bn £35.20bn £36.07bn £36.95bn
Raise additional rate by 3pp £3.29bn £3.54bn £3.75bn £3.95bn £4.19bn £4.44bn £4.80bn
Raise the Universal Credit standard allowance by 10% £-2.97bn £-3.12bn £-3.17bn £-3.22bn £-3.24bn £-3.28bn £-3.33bn
Raise the State Pension by 10% £-9.77bn £-10.02bn £-10.09bn £-10.19bn £-10.43bn £-10.68bn £-10.97bn
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.16bn £6.43bn £6.65bn £6.84bn £7.05bn £7.28bn £7.54bn
Raise higher rate by 1pp: change in income_tax £3.77bn £4.07bn £4.31bn £4.53bn £4.80bn £5.08bn £5.30bn
Raise personal allowance by ~800GBP/year: change in income_tax £-3.69bn £-3.81bn £-3.91bn £-3.98bn £-4.03bn £-4.12bn £-1.73bn
Raise child benefit by 25GBP/week per additional child: change in child_benefit £2.51bn £2.30bn £2.17bn £2.05bn £1.94bn £1.82bn £1.70bn
Reduce Universal Credit taper rate to 20%: change in universal_credit £16.84bn £17.47bn £17.72bn £17.91bn £17.97bn £18.18bn £18.21bn
Raise Class 1 main employee NICs rate to 10%: change in national_insurance £10.82bn £11.24bn £11.55bn £11.83bn £12.12bn £12.43bn £12.88bn
Raise VAT standard rate by 2pp: change in vat £31.92bn £32.77bn £33.55bn £34.36bn £35.20bn £36.07bn £36.95bn
Raise additional rate by 3pp: change in income_tax £3.29bn £3.54bn £3.75bn £3.95bn £4.19bn £4.44bn £4.80bn
Raise the Universal Credit standard allowance by 10%: change in universal_credit £2.97bn £3.12bn £3.18bn £3.22bn £3.25bn £3.29bn £3.33bn
Raise the State Pension by 10%: change in state_pension £13.34bn £13.85bn £14.08bn £14.31bn £14.74bn £15.17bn £15.62bn

MaxGhenis and others added 2 commits October 25, 2026 02:36
Review r2 of #569: the variation check refused a valid one-year manifest
and any projection that happened to be flat, and let a £1 variation pass.
#2322 gives both corporate SDLT revenue parameters an uprating index, so
check for that (obr.unprojected_corporate_sdlt) in the target warning and
the full-build preflight.

Also import create_datasets' progress panels before the preflight runs,
so its error handler can report a refused build instead of raising
UnboundLocalError, and relax Hypothesis's time limit on the two SDLT
properties, which failed the too_slow health check after policyengine-uk's
imports on a loaded host.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review r3 of #569: the test assumed projected statistics vary and that a
version uprates both or neither, which a flat projection or a partial one
would break. Expect both uprated from 2.152.0 (#2322) and, before it,
neither, with £3.13bn in every year. Also qualify "whatever the weights"
in corporate_sdlt_receipts: shareholding needs a non-zero weighted total.

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

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SDLT calibration target includes corporate SDLT, which policyengine-uk adds separately

1 participant