Counterfactual growth engine

explore how countries might have evolved under another country's economic path
scenario
Romania under POL 100%
path transfer · 19902024 · phase-in 2y · intensity 85% · drag 0.4pp
actual 2024
$144.1B
Romania baseline
counterfactual 2024
$1.07T
± $126.7B
2024 lift
+643.0%
per capita +643.0%
cumulative 1990–2024
$10.49T
sum of annual gaps
ClaudeApril 2026·Initial implementation
GDP trajectory (billions USD, constant 2010). Shaded band = confidence interval. Dashed lines = historical events.
actual Romania
counterfactual
confidence band
historical event
GDP per capita (USD, constant 2010)

The counterfactual question

“What would Romania's GDP be today if it had done everything Poland did?” The honest answer is: no one knows. But a framework can make the question sharp enough to examine. The engine separates two distinct things: Romania keeps its own 1990 starting conditions and population path, while inheriting a fraction of Poland's annual growth trajectory. That framing prevents the shortcut of simply copying Poland's aggregate GDP onto Romania — which conflates population size with per-person growth.

The formula

GDPtcf=PopttargetGDPpc1990targets=1991t(1+gscf)\text{GDP}^{\text{cf}}_t = \text{Pop}^{\text{target}}_t \cdot \text{GDPpc}^{\text{target}}_{1990} \cdot \prod_{s=1991}^{t} \bigl(1 + g^{\text{cf}}_s\bigr)

where the counterfactual growth rate gscfg^{\text{cf}}_s interpolates between the target's actual growth rate and the model country's growth rate at intensity α\alpha, minus a convergence-drag term δ\delta reflecting local friction:

gscf=(1α)gstarget+αgsmodelδg^{\text{cf}}_s = (1-\alpha)\,g^{\text{target}}_s + \alpha\,g^{\text{model}}_s - \delta

Synthetic control

Instead of arbitrarily picking one comparator, you can blend several with normalized weights. This is the logic of Abadie, Diamond & Hainmueller's synthetic control method: a weighted combination of donor countries often produces a better counterfactual than any single country because it averages out each donor's idiosyncratic features. Try the “Romania: synthetic control” preset to see Romania's path under a 40/35/25 blend of Poland, Czechia, and Slovakia.

Confidence bands

Counterfactuals should not be reported as single-point estimates. Uncertainty compounds over time — a projection for 2024 based on 1990 assumptions has far more degrees of freedom than a projection for 1992. The engine models this with square-root uncertainty growth: σt=σ0t/T\sigma_t = \sigma_0 \sqrt{t/T}. The shaded band on the GDP chart shows the range.

Policy gap decomposition

The policy basket captures seven dimensions (institutions, investment, education, export complexity, macro stability, state capacity, EU absorption). The gap decomposition shows which dimensions contribute most to the overall difference. This is a cleaner answer than “Poland grew more” — it lets you say “the biggest gap was in export complexity and institutions.”

Reverse framing

The framework is symmetric. The same machinery that asks “what if Romania had been like Poland?” can ask “what if Poland had been like Romania?”. Toggle reverse framing to test whether the model country's outperformance is treated as normative because of evidence or because of ex post availability bias.

What this is not

This is not a causal claim. Poland's outperformance reflects a bundle of decisions, institutional trajectories, EU integration, demographic and geographic factors, and luck. The counterfactual gap is an outcome-proxy, not a courtroom damages figure. The value of the framework is that it makes the comparison precise enough to examine, debate, and improve — not that it delivers a single true number.

Model changelog

v1April 2026
  • 13 country presets spanning post-socialist transition (ROU, POL, CZE, EST, HUN, BGR, SVK, SVN, UKR) and comparative cases (DEU, ESP, PRT, IRL, KOR)
  • Two transfer modes: path transfer (import growth trajectory) and decision basket (import policy score)
  • Synthetic control — blend multiple model countries with normalized weights
  • Confidence bands with square-root compounded uncertainty
  • Historical event markers overlaid on the GDP timeline (EU accessions, 2008 crisis, COVID, war)
  • Policy gap decomposition attributing the overall gap to specific dimensions
  • Reverse framing toggle for symmetric counterfactuals
  • 5 presets: Romania–Poland, Bulgaria–Czechia, Hungary–Poland, Ukraine–Poland, Romania synthetic
  • Cumulative 1990–2024 gap, annual gap area chart, per-capita comparison