This page describes what Shockwave is and what it uses. The equations, every parameter with its tier, and the model’s stated limits are on the methodology page.
About the project

About

Why this exists, how it is built, and what is deliberately left out.

Protectionism is argued about everywhere and modelled publicly almost nowhere. The debate runs on assertion; the literature runs on paywalled papers with no interface. Existing trade explainers fail in one of two ways: static articles with no mechanism, or interactive toys with invented numbers. Shockwave is an interactive tool whose numbers are propagated from published parameter estimates and validated against a real historical episode.

The framing decision

The project was first conceived around a caricature of a named politician. That was rejected deliberately. The moment a real political figure appears, the tool stops being about economics and becomes about him: half the audience cheers, half gets defensive, and nobody engages with the mechanism. A medieval fortress-mode is nobody's team.

It also makes the tool evergreen — protectionism did not begin or end with any one administration — and it makes the control and the metaphor the same object. Raising the bridge is the severity dial.

Architecture

OFFLINE (Python, run once) BROWSER (no server) raw data country JSON + dial | | regressions --> parameter distributions --> arithmetic engine | dashboard

All heavy work is precomputed. The delivered site is static files with no backend, no API calls, and no hosting cost. That is not a shortcut — it is what lets the whole model be audited, because the same arithmetic runs in Python where it can be tested.

Sources

SourceProvides
World Bank WDITrade shares, investment, FDI flows, growth, inflation, population, applied tariffs, migration, labour force, unemployment, government revenue, remittances, saving. Licensed CC BY 4.0.
IMF IMTSBilateral goods trade by partner — the matrix THE WORLD mode runs on. Successor to DOTS.
IMF CDISInward direct-investment positions — the stock the capital lever acts on.
BISCentral bank policy rates, for the 58 countries that publish one. The other 150 carry a stated proxy, marked on the country card.
Natural EarthMap geometry (110m), public domain.

Not used, despite what an earlier version of this page said: OECD TiVA, UN Comtrade, WITS and UN DESA. TiVA and Comtrade have no open bulk endpoint, so the input–output structure and retaliation coverage they would supply are imputed for every country from trade openness — which is why no country reaches a “direct” data tier. Tariffs come from WDI rather than WITS, and migration from WDI rather than UN DESA.

Status

The engine, the uncertainty propagation, the validation gate and this interface are complete, and the country data is a scripted pull — 208 countries, with each field carrying a route saying whether it was reported by the source or filled by the pipeline, and the filled ones marked “est.” on the page. (An earlier version of this page said the figures were hand-entered. That has not been true since the pipeline was built.)

What is genuinely outstanding: the estimation pipeline has only ever been run on synthetic panels, so no parameter carries the “estimated” tier — every coefficient in the model is taken from published literature or is a stated assumption. Trade diversion is not modelled, so no country can gain from another's closure. And the input–output structure is imputed for all 208 countries, because the OECD TiVA file has no open bulk endpoint.