Methodology

This page documents the data sources, how they fit together, and the known limitations of the model. It exists because the credibility of a spending-review tool depends on the reader being able to check every number.

Two layers

The fact table holds two parallel slices of the UK fiscal universe. They are modelled separately and never cross-reconciled.

Managed expenditure
PESA Chapter 1. Departmental totals by DEL/AME × Resource/Capital. Reconciles to Total Managed Expenditure (~£1.2tn/year). Covers 2020-21 outturn through 2028/29-plan (2029-30 for CDEL).
Identifiable expenditure
PESA Chapter 5.2 (UK sub-function totals) and Chapter 10.1–10.4 (country × sub-function). 125-odd sub-functions across four countries. Covers identifiable spending only — non-identifiable items (most defence, most debt interest, EU transactions) are excluded, so this layer does not reconcile to TME. Covers 2019-20 to 2024-25, outturn only.

Real terms

Every fact carries nominal and real values. The GDP deflator comes from HMT’s GDP deflators at market prices, and money GDPseries — ONS L8GG for outturn (1955-56 → 2024-25), OBR March 2026 EFO for forecast (2025-26 → 2030-31). The forecast’s deflator level is chain-computed from the published percentage change column; HMT publishes only the pct-change for forecast years.

Base year: 2024-25 = 100.

Reconciliation checks

Ten automated checks verify data integrity on every ingest. The strongest are the workbook-totals family, which re-parse published “Total …” rows directly from the source workbook and compare to the model’s aggregated sums — a self-check against data the loader deliberately skipped.

  • loader-integrity — CSV → DB round-trip
  • workbook-totals — PESA Ch 1 total rows vs DB sums
  • ch10-country-totals — PESA Ch 10 country grand totals
  • ch5-function-totals — PESA Ch 5.2 function subtotals
  • identifiable-residual — Σ country ≤ UK total per sub-function
  • real-terms-consistency — valueReal = valueNominal × deflator ratio
  • outturn-plan-labelling, vintage-integrity, del-sign-sanity, year-coverage — housekeeping invariants
  • scenario-rollup — per-scenario arithmetic consistency

Most recent reconciliation run

CheckScopeStatusWhen
scenario-rolluppost-ingest:2025FAIL2026-04-22 11:12
real-terms-consistencypost-ingest:2025PASS2026-04-22 11:12
identifiable-residualpost-ingest:2025FAIL2026-04-22 11:12
ch5-1-vs-ch5-2post-ingest:2025PASS2026-04-22 11:12
ch5-function-totalspost-ingest:2025PASS2026-04-22 11:12
ch10-country-totalspost-ingest:2025PASS2026-04-22 11:12
workbook-totalspost-ingest:2025PASS2026-04-22 11:12
year-coveragepost-ingest:2025PASS2026-04-22 11:12
del-sign-sanitypost-ingest:2025PASS2026-04-22 11:12
vintage-integritypost-ingest:2025PASS2026-04-22 11:12
outturn-plan-labellingpost-ingest:2025PASS2026-04-22 11:12
loader-integritypost-ingest:2025PASS2026-04-22 11:12

Sources

All sources listed here are under the Open Government Licence v3.0 unless noted otherwise. Each source row is tracked with its sha256 so a workbook replacement is caught by the reconciliation layer.

PublicationVintageChapterLayerLink
PESA20251managed-expendituregov.uk ↗
PESA202510identifiable-expendituregov.uk ↗
PESA20255identifiable-expendituregov.uk ↗

Known limitations

  • ‘Programme’ is not a canonical UK concept. PESA Ch 10 sub-functions are the closest available grain at country level. Some departments (notably MoD) don’t expose sub-function detail, and Health is reported under HMT’s own classification rather than COFOG.
  • AME is largely non-discretionary at line grain. The state pension, debt interest, and BoE APF losses are demand- or rate-driven. Modelling them as edit targets can invite nonsense; treat as policy parameters instead.
  • Machinery-of-government changes. PESA 2025 restates historical data under current department codes. Earlier vintages used different groupings. Until a second vintage is ingested, the model has nothing to bridge.
  • Identifiable residual. For ~10% of (sub-function × year) pairs, identifiable country totals marginally exceed the UK total — a consequence of how HMT classifies certain cross-cutting lines. Flagged as WARN in reconciliation, not corrected.
  • Plans not forecasts. PESA plan-year figures are departmental expenditure limits, not the OBR’s central forecasts. For forecast deflators we use the OBR EFO; for spending levels we use HMT plans.