A quarterly fiscal simulation set in 2026. You are the UK Chancellor of the Exchequer. You have twenty quarters (five years) until the next general election. You must hold your coalition together, balance the books (or get the deficit below 2% of GDP), and survive the markets, the press, and your own backbenchers.
Built with React + Vite + Tailwind. Deploys as a static site to GitHub Pages.
See ROADMAP.md for ideas that have been raised but not yet started.
You inherit the UK in Q1 2026 with a deficit of roughly £133bn (4.3% of GDP) and debt at 95% of GDP. Each quarter:
- Adjust budget levers — income tax bands, corporation tax, VAT, and departmental spending.
- Propose reforms — multi-quarter projects with upfront costs, prerequisites, and per-field forecast bands (cited; ±25% fallback where not yet authored). Pass OBR Independence to narrow every band by 60%.
- Watch the risk register — events roll quarterly with probabilities modified by your policy choices.
- Advance the quarter — see what changed, allocate any surplus, handle whatever the country throws at you.
Three ways to win, three ways to lose. Coalition cohesion below 22% — government falls. Bond yields above 8% — markets revolt. Lose the election at Q20 — opposition takes power.
The block above is regenerated by
npm run sync-docsfrom live PARAMS insrc/model/params.js. Don't hand-edit values between the markers — change the PARAMS instead and re-run the script. CI fails if it drifts.
npm install
npm run devThen open http://localhost:5173
- Create a new GitHub repo (any name works).
- Push this project to the
mainbranch. - In repo settings: Settings → Pages → Source → GitHub Actions.
- The workflow at
.github/workflows/deploy.ymlbuilds and publishes on every push. - After ~60 seconds, your site is live at
https://YOUR_USERNAME.github.io/YOUR_REPO/.
Vite's base: './' config means the build works at any subpath without further configuration.
The simulation is split into a pure-function model layer and a thin React orchestrator. Every numeric assumption traces back to an entry in a citation registry that records the source, the value used, and the confidence level.
docs/
model/ macro engine reference (start with README.md)
superpowers/ design specs and implementation plans
src/
model/
citations.js single source of truth for every numeric assumption
params.js every tunable constant, wrapped via cited(value, citationId)
blocs.js voter bloc definitions
reforms.js REFORMS map; every numeric field carries a citationId
events.js EVENT_DEFINITIONS + cross-event REFORM_RISK_MODS
sources.js bibliography for the About tab
engine.js pure calculation functions; reads only from PARAMS
index.js convenience re-exports
components/
primitives/ Slider, BlocBar, ReformCard, CitationLink + ConfidenceBadge
modals/ Intro, EventModal, QuarterSummary, SurplusAllocModal,
InspectReform, Reelect, FinalModal
OverviewTab.jsx, BudgetTab.jsx, ReformsTab.jsx,
RisksTab.jsx, LedgerTab.jsx, AboutTab.jsx
ChancellorSim.jsx state, useEffects, advanceQuarter, header + tab switching
main.jsx
Every entry in citations.js carries a confidence tag:
- sourced — directly verified against the cited publication
- extrapolated — sourced reasoning applied / consistent-but-not-verbatim, or a derived calculation from a sourced parameter
- judgement — designer judgement with documented reasoning
The About tab's Confidence summary shows the live percentage breakdown
across all parameter-level citations (currently 382 entries: ~31% sourced,
~25% extrapolated, ~45% judgement). Borderline classification decisions and
their reasoning are recorded in CLASSIFICATION_LOG.md at repo root.
Append one entry to REFORMS in src/model/reforms.js. Every numeric
field is wrapped via cited(value, citationId). If the citation doesn't
exist yet, add a corresponding entry to src/model/citations.js. No other
code changes needed — the UI iterates the map automatically, and the
inspect-reform modal walks the reform tree to surface every citation.
myReform: {
name: 'My Reform', branch: 'revenue',
cost: cited(2, 'my_citation'), quarters: 4, prereq: [],
passReq: { coalition: cited(30, 'bloc_methodology') },
blurb: 'Short description.',
citationId: 'my_citation', // primary evidence base
onComplete: {
revBonus: cited(5, 'my_citation'),
log: 'My reform delivered.',
},
blocEffects: {
workingClass: cited(3, 'bloc_methodology'),
},
},Edit src/model/params.js. Every leaf is { value, citationId }. Change
the first argument to cited(); the engine reads the new value
automatically. Behaviour-affecting threshold constants (corp 22%/28%, NHS
boost above £210bn, etc.) live in PARAMS.thresholds.
Add an entry to src/model/citations.js. Required fields: parameter,
confidence, title, note. Optional: value, unit, publisher,
authors, year, url, quote. The validator in params.js throws on
load if any citationId referenced by a cited() call doesn't resolve to
a real entry.
The pre-refactor monolith documented its reform schema inline in
src/ChancellorSim.jsx. That file is now ~500 lines of thin orchestration;
the schema lives in src/model/reforms.js. Same idea, just a better home.
This simulation tries to ground its numbers in real, citable research. The figures aren't exact — fiscal modelling is genuinely uncertain — but the rough magnitudes and behavioural assumptions come from the sources below. Where the literature is contested (rent controls, top-rate effects, immigration), the simulation reflects the contestation rather than picking a side.
- HMRC, Direct effects of illustrative tax changes ("Ready Reckoner"), updated annually. The standard reference for "1 penny on basic rate raises £Xbn." Used for all per-percentage-point tax revenue estimates. https://www.gov.uk/government/statistics/direct-effects-of-illustrative-tax-changes
- Office for Budget Responsibility (OBR), Economic and Fiscal Outlook. Twice-yearly forecasts; the source for fiscal sustainability framing (debt-to-GDP, growth–rate–vs–interest–rate dynamics). https://obr.uk/efo/economic-and-fiscal-outlook/
- OBR, Economic and Fiscal Outlook — March 2024. Migration box: 200k higher/lower annual net migration shifts GDP by ≈ 1.5% in 2028-29 → 0.0075pp per 1k migrants (medium-term level effect). Anchors the simulation's migration → GDP elasticity. https://obr.uk/efo/economic-and-fiscal-outlook-march-2024/
- OBR, Dynamic Scoring of Policy Measures in OBR Forecasts (November 2023). First-year real-GDP multipliers: CDEL 1.0, RDEL 0.6, AME 0.6, VAT 0.35, income tax/NICs 0.3. Tapers to zero over five years. Anchors the simulation's
applyFiscalMultipliers. https://obr.uk/box/dynamic-scoring-policy-measures-in-obr-forecasts/ - Institute for Fiscal Studies (IFS), Green Budget (annual). The most-cited UK fiscal policy analysis. https://ifs.org.uk/green-budget
- HM Treasury, Public Spending Statistics. Departmental spending baselines. https://www.gov.uk/government/collections/public-spending-statistics
- Bunn, Anayi, Barnes, Bloom, Mizen, Thwaites & Yotzov, How Curvy is the Phillips Curve?, Bank of England Staff Working Paper 1107 / NBER WP 33234 (October 2025). Cross-country macro Phillips slope = 0.19 (positive output gap) vs 0.06 (negative) — 3.2× asymmetry. Covid natural experiment: inflation 5× more sensitive to demand on the way up than on the way down. Convexity strongest under high trend inflation (menu-cost mechanism). Anchors the simulation's asymmetric Phillips slope and trend-inflation modifier. https://www.bankofengland.co.uk/working-paper/2025/how-curvy-is-the-phillips-curve
- Coibion & Gorodnichenko, Why Are Target Interest Rate Changes So Persistent?, AEJ: Macroeconomics 4(4) (2012). Empirical quarterly Taylor-rule smoothing coefficient 0.7–0.8 across advanced economies. Anchors
monetary.bankRateInertia = 0.75. https://www.aeaweb.org/articles?id=10.1257/mac.4.4.126 - Auerbach & Gorodnichenko, Measuring the Output Responses to Fiscal Policy, AEJ: Economic Policy 4(2) (2012). GDP multipliers of government purchases ~1.7× larger in recession than expansion. Anchors
fiscalMultipliers.recessionModifier. https://www.aeaweb.org/articles?id=10.1257/pol.4.2.1 - Federal Reserve, Fiscal Positions and Government Bond Yields in OECD Countries, International Finance Discussion Paper 1011 (2010). G-7 panel: 1pp rise in the structural deficit/GDP ratio boosts long bond yields by ~15bp. Anchors
monetary.deficitYieldCoef = 0.006. https://www.federalreserve.gov/pubs/ifdp/2010/1011/ - Holston, Laubach & Williams, Measuring the Natural Rate of Interest after COVID-19, FRB NY Staff Report 1063 (2023). NY Fed has explicitly discontinued HLW UK estimates: "model does not provide a good fit for the data". Sim now uses survey-based UK r* instead. https://www.newyorkfed.org/research/staff_reports/sr1063
- Mercatus Center, Survey Measures of the Natural Rate of Interest (2025). Survey-based UK r* clusters at 1.5–2.0% real; with the 2% inflation target this implies a nominal neutral rate of 3.5–4.0%. Anchors
monetary.neutralRate = 4.0%. https://www.mercatus.org/ - Joyce, Tong & Woods, The UK's Quantitative Easing Policy: Design, Operation and Impact, Bank of England Quarterly Bulletin 2011 Q3. First £200bn UK QE programme lowered medium- to long-term gilt yields by ~100bp ≈ 0.5bp per £bn. Anchors
monetary.qeYieldEffectPerBnand the LDI doom-loop QE response. https://www.bankofengland.co.uk/quarterly-bulletin/2011/q3/the-uks-quantitative-easing-policy-design-operation-and-impact - Taylor, Discretion versus Policy Rules in Practice, Carnegie-Rochester Conference Series on Public Policy 39 (1993). The canonical inflation-and-output-gap reaction function. Anchors the Taylor-rule coefficients. https://web.stanford.edu/~johntayl/Papers/Discretion.PDF
- CGT alignment: Adam, Advani, Miller & Summers, Capital Gains Tax Reform (IFS / CenTax, 2024). Estimates ~£13bn pa from full alignment with income tax. https://ifs.org.uk/publications/capital-gains-tax-reform
- Non-dom abolition: Advani, Burgherr & Summers, The UK Non-Dom Regime: Implications of Reform (CenTax / LSE / Warwick, 2025). Found 2017 reform caused only ~4.9% departures while tax paid rose >150%. https://centax.org.uk/research/
- Top-rate elasticities: Diamond & Saez (2011), The Case for a Progressive Tax: From Basic Research to Policy Recommendations. Revenue-maximising top combined rate ≈ 73% under standard assumptions. Journal of Economic Perspectives. https://www.aeaweb.org/articles?id=10.1257/jep.25.4.165
- Top-rate behavioural response (UK): HMRC, Estimating the elasticity of taxable income. ETI estimates ~0.25 for additional rate taxpayers.
- Updated top-rate ETI: Browne & Phillips, Updating and Critiquing HMRC's Analysis of the UK's 50% Top Marginal Rate of Tax (IFS WP 17/12, 2017). Refines the additional-rate ETI to ~0.31 after fuller post-reform data and forestalling allocation. https://ifs.org.uk/
- VAT pass-through: Crossley, Low & Sleeman, Using a Temporary Indirect Tax Cut as a Fiscal Stimulus: Evidence from the UK (IFS WP W14/16, 2014). UK 2008-09 VAT cut: central pass-through ≈ 75%; volume of retail sales rose ~1% → +0.4% total expenditure. https://ifs.org.uk/publications/using-temporary-indirect-tax-cut-fiscal-stimulus-evidence-uk
- Corporate tax elasticity: Devereux, Maffini & Liu, The Elasticity of Corporate Taxable Income: New Evidence from UK Tax Records (Oxford CBT WP 12/23, 2012). UK elasticity of corporate taxable income with respect to (1 − statutory rate) ≈ 0.13–0.17 from bunching at kinks 2001–08. https://oxfordtax.sbs.ox.ac.uk/
- Wealth tax: Advani, Chamberlain & Summers, A Wealth Tax for the UK (Wealth Tax Commission, 2020). https://www.wealthandpolicy.com/
- Inheritance tax reliefs: IFS, Death and Taxes (2024). APR/BPR cost ~£3bn pa, predominantly benefit estates >£2.5m. https://ifs.org.uk/
- Charity tax expenditure: HMRC, UK Charity Tax Relief Statistics 2024–25. Total reliefs £6.7bn; higher-rate Gift Aid relief £820m. https://www.gov.uk/government/statistics/cost-of-tax-relief
- Trickle-down: Hope & Limberg, The Economic Consequences of Major Tax Cuts for the Rich (LSE/KCL, Socio-Economic Review, 2022). 50 years of OECD data — no significant growth effects. https://academic.oup.com/ser/article/20/2/539/6500315
- Millionaire migration (US): Young, Varner, Lurie & Prisinzano, Millionaire Migration and Taxation of the Elite, American Sociological Review 81(3), 2016. 45m IRS records; migration semi-elasticities <0.1. https://journals.sagepub.com/doi/10.1177/0003122416639625
- UK non-dom departure data: HMRC published statistics following 2017 and 2024 reforms; Tax Justice Network analysis. https://taxjustice.net/
- Fiscal effects of immigration: Dustmann & Frattini, The Fiscal Effects of Immigration to the UK, Economic Journal (2014). EEA migrants 1995–2011 made a positive net fiscal contribution; non-EEA broadly negative. Skilled migration ~£40k/yr net positive; low-skill ~–£10k/yr. https://onlinelibrary.wiley.com/doi/10.1111/ecoj.12181
- Marmot Review at 10 / Marmot 2024: Institute of Health Equity, UCL. Estimates ~148,000 excess deaths attributable to austerity 2010–2019; over 1 million premature deaths in the poorest 90% of England. https://www.instituteofhealthequity.org/
- Walsh, McCartney et al. (2022). Excess mortality in England & Scotland 2012–2019. https://pubmed.ncbi.nlm.nih.gov/
- Loopstra, Reeves et al. (Journal of the Royal Society of Medicine, 2016). Each 1% cut in Pension Credit → 0.68% rise in mortality among those 85+.
- NHS productivity / agency spending: NHS England Annual Report. https://www.england.nhs.uk/
- ONS, Public Service Productivity Review (revised March 2025). Total public-service productivity rose ≈ 0.5% pa on average 2010–2019 (≈5% cumulative). Education productivity has been volatile but not declining — contrary to popular narrative. https://www.ons.gov.uk/economy/economicoutputandproductivity/publicservicesproductivity
- Social housing economics: Shelter, Building the Homes We Need (2024). https://england.shelter.org.uk/professional_resources/policy_and_research
- Rent controls: Diamond, McQuade & Qian, The Effects of Rent Control Expansion on Tenants, Landlords, and Inequality: Evidence from San Francisco, American Economic Review 109(9), 2019. https://www.aeaweb.org/articles?id=10.1257/aer.20181289
- Planning friction: Competition and Markets Authority, Housebuilding Market Study (2024). https://www.gov.uk/cma-cases/housebuilding-market-study
- House prices and real rates: Miles & Monro, UK House Prices and Three Decades of Decline in the Risk-Free Real Interest Rate, BoE Staff WP 837 (2019). ~80% of the 170% real UK HPI rise since 1985 attributed to a ~5pp fall in safe real rates → equilibrium semi-elasticity ~−16pp per 1pp; 3-year adjustment ~−6pp. Anchors
housing.priceRateElasticity. https://www.bankofengland.co.uk/working-paper/2019/uk-house-prices-and-three-decades-of-decline-in-the-risk-free-real-interest-rate - Housing supply elasticity: Hilber & Vermeulen, The Impact of Supply Constraints on House Prices in England, Economic Journal 126(591), 2016. UK long-run supply price elasticity ≈ 0.4 nationally; near zero in the most-constrained Local Planning Authorities. https://onlinelibrary.wiley.com/doi/10.1111/ecoj.12213
- Living Wage / NLW effects: Low Pay Commission Annual Report. https://www.gov.uk/government/organisations/low-pay-commission
- Minimum wage employment effects: Manning, The Elusive Employment Effect of the Minimum Wage, Journal of Economic Perspectives (2021). UK NLW employment elasticity near zero (-0.05 to +0.05) across recent meta-analyses. https://www.aeaweb.org/articles?id=10.1257/jep.35.1.3
- Immigration → wage distribution: Dustmann, Frattini & Preston, The Effect of Immigration along the Distribution of Wages, Review of Economic Studies (2013). Immigration depresses wages below the 20th percentile (~−0.7p/hr at 10th percentile per pp migrant labour share) but raises wages at median and above (+1.5p/hr median, +2p at 90th). https://academic.oup.com/restud/article-abstract/80/1/145/1525810
- UK NAIRU: Carney letter to TSC chair Tyrie (2017). Long-run UK equilibrium unemployment ≈ 4.5%; Resolution Foundation 2024 and BoE MPR November 2025 cluster at 4.0–4.5%. Anchors
initial.naturalUnemployment = 4.25%. https://www.parliament.uk/business/committees/committees-a-z/commons-select/treasury-committee/ - Okun's law for the UK: Ball, Leigh & Loungani, Okun's Law: Fit at 50?, IMF WP 13/10 (2013). Cross-country OECD Okun coefficients span 0.27–0.55; UK fits centrally at ~0.4. Anchors
okun.coefficient. https://www.imf.org/external/pubs/ft/wp/2013/wp1310.pdf - Co-determination: Jäger, Schoefer & Heining, Labor in the Boardroom, Quarterly Journal of Economics 136(2), 2021. Modest productivity effect from German codetermination. https://academic.oup.com/qje/article/136/2/669/6041122
- OBR Migration analysis: Economic and Fiscal Outlook, November 2023, box on net migration assumptions. Each ~100k of net migration adds ~0.5% to real GDP over 5 years. https://obr.uk/efo/economic-and-fiscal-outlook-november-2023/
- Climate Change Committee, Net Zero and Carbon Budgets. Insulation programme costs (~£15bn/5y, ~£300 household savings). https://www.theccc.org.uk/
- CCC, The Seventh Carbon Budget — Advice for the UK Government (26 February 2025). Budget 2038–2042: 535 MtCO2e (87% below 1990 incl. international aviation/shipping). Net cost ≈ 0.2% of UK GDP/yr on average; required investment ~£26bn/yr to 2050. https://www.theccc.org.uk/publication/the-seventh-carbon-budget/
- CEBR, Full Fibre: Economic Impact (2022). Full fibre could add £59bn to GDP by 2025. https://cebr.com/
- Basel Committee on Banking Supervision: 1pp higher capital requirement reduces crisis probability by ~0.5pp. https://www.bis.org/bcbs/
- Laeven & Valencia, Systemic Banking Crises Database II, IMF Economic Review 68(2): 307–361 (2020). 151 systemic crises 1970–2017; UK sub-systemic stress every 5–7 years. Anchors
risks.financialCrisis.base = 8%/yr. https://link.springer.com/article/10.1057/s41308-020-00107-3 - BoE Staff WP 1019, An Anatomy of the 2022 Gilt Market Crisis (2023). 30-year gilt yield rose 120bp over 3 days post-mini-budget; LDI / pension-investor sector forced selling drove an additional 50–80bp. Anchors the LDI doom-loop event trigger. https://www.bankofengland.co.uk/working-paper/2023/an-anatomy-of-the-2022-gilt-market-crisis
- Chicago Fed Letter 480, UK Pension Market Stress in 2022 (2023). UK DB pension schemes hold ~28% of long-end gilts. Used to size the simulation's LDI passive-demand discount on the term premium. https://www.chicagofed.org/publications/chicago-fed-letter/2023/480
- Brooke et al., Measuring the Macroeconomic Costs and Benefits of Higher UK Bank Capital Requirements, BoE Financial Stability Paper 35 (2015). Each 1pp higher CET1 reduces UK crisis probability by ~5% at current capital levels. https://www.bankofengland.co.uk/financial-stability-paper/2015/measuring-the-macroeconomic-costs-and-benefits
- Madhav et al., Pandemics: Risks, Impacts, and Mitigation, in Disease Control Priorities (3rd ed., 2017). 3 influenza pandemics in the 20th century plus 2009 H1N1 and 2019 SARS-CoV-2 imply a long-run hazard ~5%/yr. Anchors
risks.pandemic.base. https://www.ncbi.nlm.nih.gov/books/NBK525302/ - House of Commons Library, NHS Industrial Action in England (2022–2024), briefing CBP-9775 (2024). ONS reports 1.16m working days lost to NHS strikes June–October 2022 alone. https://commonslibrary.parliament.uk/research-briefings/cbp-9775/
- Broadberry, Chadha, Lennard & Thomas, Postwar UK Business Cycle Duration, Economic History Review (2023). Average postwar UK business cycle length ≈ 16 years from peak to peak → recession onset hazard ≈ 6.25%/yr ≈ 1.6%/quarter. Anchors
risks.recession.base. https://onlinelibrary.wiley.com/journal/14680289 - UKHSA Excess Mortality Reports. 2022 had ~2,985 excess heat deaths; heatwave base rate trending up with climate. https://www.gov.uk/government/organisations/uk-health-security-agency
- Reich, Rob, Just Giving: Why Philanthropy is Failing Democracy and How It Can Do Better (Princeton, 2018). Foundational case against treating charitable giving as a substitute for taxation. https://press.princeton.edu/books/hardcover/9780691183497/just-giving
- Hacker & Pierson, Winner-Take-All Politics (2010). On the political economy of why tax cuts persist despite weak growth evidence.
Reform and event effects carry per-field forecast bands declared on each cited() call. Each leaf can specify its own asymmetric band, sampled triangular with the mode at the cited central value; leaves without an explicit band fall back to ±25%. Passing "Strengthen OBR Independence" scales every band's width by 0.4 (the single global narrowing knob). This isn't fudge — it's an attempt to capture that fiscal scoring is meaningfully uncertain, that some lines (avoidance yield) are much more uncertain on the downside than the upside, and that institutional credibility (the OBR's whole reason for existing) matters.
Bloc reactions to policy are illustrative rather than measured. They draw on YouGov, Ipsos, and British Election Study survey patterns but the per-policy numbers are designer judgments calibrated to feel right, not estimated from data.
Event probabilities are likewise designer-set, modified by reasonable mechanisms (NHS pay deal cuts strike risk; deregulation raises financial-crisis risk).
This is a game that tries to be informative, not a forecasting tool. If you want forecasts, the OBR is real and free.
- React 18
- Vite 5
- Tailwind CSS 3
- lucide-react (icons)
- localStorage save games (per-browser, one slot, auto-saves)
MIT. Do whatever you want with this. Attribution appreciated but not required.