Skip to content
Futurisca A computational laboratory for the future

Method and limits

A simulator that will not tell you where it is weak is a toy. This is the part of the product most tools leave out.

What every run reports about itself

01

A confidence score

Built from the width of the ensemble, the length of the horizon, how much of the spread comes from parameters, and whether any historical episode sits close to the scenario.

02

Two kinds of not knowing

Shock uncertainty is the world being unlucky. Parameter uncertainty is the model not knowing a coefficient. They are reported separately, because only the second one can be narrowed by better research.

03

A sensitivity pass

Every parameter is moved twenty percent either side of its central value on an otherwise identical run, and the result is ranked by how far it moved the answer.

04

Historical analogues

The scenario is scored on nine axes and compared with eighteen real episodes scored the same way, from the 1930 tariffs to the 2021 chip shortage. When nothing is close the page says the model is extrapolating.

05

Every assumption

Each lever with its window, plus the structural assumptions: build lags, expectations anchoring, retaliation probability, annual steps and the absence of a real financial sector.

06

Against the record

The model started from a past year with that year's output, population, inflation and unemployment from the World Bank, run forward with no lever played, and scored against what the World Bank recorded next: how often the record fell inside the 80% band, whether the middle beat carrying the start year forward, which way it leaned, and the same again without the pandemic years. The structure of each economy stays as today's record, which flatters the model, and the tab says so beside every score.

The decomposition

A number that adds up

Growth, inflation and unemployment are built inside the engine as a sum of named terms. What the interface shows is that sum, exactly, and any term can be opened to see what drove it. A model that cannot do this can only be believed; this one can be checked.

causesOne headline number opened into the terms that made it, and closed again. The total never changes.

What it cannot do

It cannot model a person

A leader taking an unexpected call at three in the afternoon is outside anything a state variable can carry.

It steps a year at a time

A bank run or a two week panic is invisible unless it leaves a mark on the year.

It has no real financial sector

Credit enters through a risk premium and a crisis hazard, not through balance sheets.

Trade is a network, not a ledger

It gets the direction and rough size of a trade shock, not a specific firm's supply chain.

Its starting state is part estimate

Errors in the base year propagate through every year after. The monitor marks which rows are which and the refresh replaces what it can.

Its priors are judgements

The ensemble shows the consequences of that uncertainty. It does not remove it.

How to use it honestly

Use it to find the shape of a problem, the direction and rough size of an effect, the second and third order consequences you had not thought of, and the assumptions your view depends on. Do not use it to produce a number for a slide with no range attached to it. The range is the answer.

What happens when you press run

  1. The world is compiled

    Two hundred and thirty eight country records, the bilateral trade network that joins them, the alliance and bloc memberships, and the goods each one produces and needs are flattened into typed arrays. This happens once. Every run after it reuses the same compiled world, which is why the second run is faster than the first.

  2. The parameters are drawn

    Every coefficient the literature argues about is drawn once per future from its own range: how much a tariff passes into prices, how fast expectations re-anchor, how strongly output responds to a rate. A future is not the same model run with different luck, it is a slightly different model meeting different luck.

  3. Each future is stepped

    A year at a time, for every country at once. Growth, inflation and unemployment are each assembled from named terms rather than solved as a black box, and the terms are kept, which is the only reason the causes page can exist at all.

  4. Shocks are drawn, not scheduled

    Recessions, energy spikes, conflicts and financial stress arrive on their own hazards. Two futures with identical levers diverge because one drew a bad decade and the other did not, and the seed is what makes that comparable between runs.

  5. The ensemble is read back

    Two hundred and fifty futures are reduced to quantiles at every year, clustered into families, decomposed into what the parameters explain and what the shocks explain, and checked against eighteen historical episodes. Only then does anything appear on screen.

  6. The run scores itself

    The confidence figure is computed last, from the band width, the horizon, the parameter share and the nearest analogue. It is a deduction from a hundred with every deduction named, so a low score always says which part of the run was weak.

The questions we get asked, answered plainly

Why annual steps

Because the data underneath is annual. A quarterly model built on annual national accounts would be inventing three quarters out of four, and it would look more precise while being less true. The timeline reads a year down to a day, but a sub-annual reading is an interpolation of an annual step and the interface says so.

Why two hundred and fifty futures

It is where the quantiles stop moving materially between runs on the same seed. More futures cost time on your laptop and buy a third decimal place that the underlying coefficients do not support. The expert panel lets you raise it if you disagree.

Why the seed matters

Two runs on the same seed meet the same shocks in the same years, so the difference between them is the levers. Two runs on different seeds differ by luck as well, and no amount of arithmetic can separate the two afterwards. The comparison page warns you when the columns were not run on one seed.

Why there is no single accuracy figure

Because a distribution of futures conditional on a policy that was not enacted cannot be scored against anything. The model with nothing changed can be, and is: the Reliability tab starts it from a past year and scores it against the World Bank record, and prints the result whichever way it comes out. That is a test of the bands and the middle, not an accuracy figure for a scenario, and the confidence score is still the claim about the run in front of you.

Why nothing is fitted to recent data

The coefficients come from published elasticities with their published ranges, not from a regression on the last ten years. A model fitted to the recent past performs beautifully on the recent past and badly on anything that has not happened yet, which is the only case this is for.

Why it runs in your browser

Partly speed, mostly honesty. Nothing you build is uploaded anywhere, so a scenario about a company, a border or a policy that is not public stays on your machine. It also means the arithmetic is inspectable: the whole engine is one file you can read.

A model that reports one number is claiming a precision it does not have. A model that reports a range and names what the range is made of is telling you what it actually knows.
Every figure in the instrument is either measured, curated, derived or modelled, and it is marked as one of those four everywhere it appears.

Where a number comes from, in order

A base year figure, such as a country's GDP

Measured. It comes from World Bank open data where a value exists for that country and that indicator, or from a curated record written down here by hand with the year it was checked. The monitor marks which is which on every row, and the download carries the marking with it.

A figure after the base year, such as growth in 2034

Modelled. It is the median of two hundred and fifty futures, not a forecast, and the band around it is the part worth reading. Nothing after the base year is an observation of anything.

A composite index, such as instability or resilience

Derived. Seven weighted terms, with the weights published on the page and summing to one, over measured and modelled inputs. Clicking the index anywhere in the instrument opens its own arithmetic.

A live reading, such as a satellite position

Derived from measured. The elements are published by CelesTrak and the position is propagated in your browser by the standard near-earth model. Nothing about a live feed enters the simulation: the map and the model are two different things on one screen, and the interface never mixes them.

A sentence of explanation, such as the briefing

Written by the instrument from the run in front of it, deterministically, with no model provider involved unless you have configured one. The same run always produces the same words, which is a property a language model cannot offer.

Learn 01 / 06
Before this The start of Learn Read next What it is not