# Ranges and certainty letters

Every number on the map has a middle value and a likely range; each part also has a certainty letter from A (reported) to D (rough indication), and each headline number the chance of its direction. The likely range covers the uncertainty of the data and models given the method; it aims at about 90% and has been tested (below: "How often the ranges are right"). How much the method choices themselves move a number is the separate method band.

Details for developers: [how each range is computed, term by term](https://github.com/intelligent-cream/war-balance/blob/main/docs/reference/method/ranges.md).

## Certainty letters

| letter | meaning | default range when the data give none |
| --- | --- | --- |
| A | reported (official statistics, Kiel allocations) | ±5% |
| B | measured estimate (mirror data, documented figures) | ±15% |
| C | modelled estimate | ±35% |
| D | rough indication | ±70% |

A part's letter is also capped by its sources (round 42). Only the sources that measure the part count (not the method's own inputs such as price indices, the no-war models or the gain shares), and one statistical source used under several names counts once:

| a part can be at most | when its sources include |
| --- | --- |
| A | two official statistics or more |
| B | one official statistic, or two research or official reports |
| C | one research or official report |
| D | only press reports or this project's own estimates |

A part resting on press reports alone is marked press only in the panel; on this project's own estimates alone, own estimate. A trade part built on a modelled no-war level and a modelled gain share stacks two models, so it is at best C. Gold and hidden payments are always D; oil via other countries always C.

## How likely the direction is

The headline numbers (support for Ukraine, Russia's earnings from trade, the net) carry no letter. They say how likely their direction is: every part's likely range is simulated together, each as a skewed range, correlated where parts share inputs, and the share of outcomes on each side of zero is the chance.

| on the site | rule |
| --- | --- |
| very likely | at least a 95% chance of one direction in the simulation, every other method choice agrees, and the likely range stays on that side of zero |
| likely | at least a 65% chance |
| near zero | not very likely, and the likely range and method band stay within ±0.5% of a year's GDP |
| essentially zero | the whole likely range stays within ±0.1% of a year's GDP, or the number is not very likely and its middle value is under 0.1%: the war moved almost no money either way |
| too close to call | the rest: below a 65% chance either way |

The chance is of the more likely direction, which is usually that of the middle value. Where a middle value just above zero sits in a range that reaches mostly below it, the simulations lean the other way, and the label says so beside the direction of the middle value. Each panel also says what decides it: the smallest change to one part that would flip the direction, for example "if Russia kept less from fuel and goods sold here were 1% smaller".

## Where a part's range comes from

- Sources that disagree: a country's own customs report against its partner's report on the same trade.
- Model ranges: simulations or tested error bands (China's military support, the no-war prediction).
- Other reasonable assumptions: resale shares, margins, refugee cost per person.

## How a traded flow's range is combined

A traded flow has four main sources of uncertainty: the pre-war level, the actual values, the price level and the no-war prediction (plus the no-war fuel price and the gain share). Each is moved to its low and high end alone, and the effects are combined as independent errors (square root of the sum of squares), with the pre-war level and the actual values treated as partly correlated (they come from the same customs offices). This avoids stacking every worst case at once, which would make ranges too wide.

## From parts to a total

Parts' ranges are combined the same way, with correlations where errors are shared (for example, all parts weighted by Russia's gain shares move together). The effect is small: Germany's net range is +2.63% to +5.00%.

A number's direction is very likely when three things agree: the simulation gives it at least a 95% chance, every method-band alternative has the same sign, and its likely range stays on that side of zero (round 60; from round 42 the simulation and the method band alone decided). Otherwise it is likely toward Ukraine or Russia when one direction has at least a 65% chance, and too close to call below that. When its likely range and its method band both stay within ±0.5% of a year's GDP it is near zero: the war moved little money either way. When its whole likely range stays within ±0.1% of a year's GDP, or it is not very likely and its middle value is under 0.1%, it is essentially zero. All stay in the ranking, in their own groups, and the country's panel says in one line why its number is not very likely. Among the 164 economies above EUR 5bn, 110 are not very likely on support for Ukraine, 102 on Russia's earnings from trade and 95 on the net, of which 56 are likely one way and 31 are near zero.

## The method band

The likely range is uncertainty given the method. The method band shows each headline number under other reasonable choices, one at a time:

- loans at the war-time yield;
- laundered oil with half of Russia's gain charged to the fuel buyer;
- a higher normal return;
- redirected trade: much of what one buyer stopped paying, Russia sold to others, so only part of each cut cost Russia. It is worked out per commodity, because Russia found new buyers for most of its oil and coal but for little of its pipeline gas (the EU took about 113 bcm less, China about 12 bcm more): "less paid" × 0.63 for oil, 0.89 for gas, 0.50 for coal and 0.76 for other goods, applied to each country's own mix of what it cut;
- without the gas Russia cut off itself;
- refugees at gross cost, or at one common cost per refugee;
- 2026 at 2025 prices; gold at its actual price;
- North Korea paid only what was observed flowing back;
- purchases from Ukraine with the land neighbours (Poland, Hungary, Slovakia, Romania, Moldova) measured against Ukraine's exports to its neighbours and everyone else against its exports to the rest, which treats the overland rerouting of 2022 as forced;
- 2024 GDP instead of the 2022–2024 average.

Rules the project itself replaced are not other reasonable choices and are not in the band (round 44): EU refiners keeping the Russian crude in their fuel exports, laundered oil without the route rule or modelled instead of measured, the fuel mix from tanker tonnes, and fuel prices with freight. Since round 46 the same holds for the war-time windfall at 100% (round 13 replaced it with Russia's net gain on the extra price, as for every other payment). Their rebuilt figures stay in the data download.

Two former alternatives moved out of the band in round 46, so they no longer decide whether a direction is very likely:

- No-war gas at early-2021 prices (before the late-2021 squeeze) is a question of fact, which forecast to trust, so it is now in the likely range: the war-time price windfall's range reaches the early-2021 path, as it reaches the October-2021 forecasts and February-2022 futures. Italy, Spain and France are no longer certain on Russia's earnings from trade because of it.
- Without the war-time windfall contradicts what the site measures: the price premium Russia received is money that moved. The panel still shows the number without it, as a view of volumes alone (Hungary raised Russia's earnings from trade by 1.30% of GDP without it, instead of 6.45%).

The band is the lowest and highest of these; it is not a probability range. Examples (the net): Germany 3.13% to 3.81%, Moldova 4.14% to 9.98%, Hungary −6.07% to −5.54%, North Korea −32.63% to −19.88%.

## Average year

The headline is a total for 2022 to the chosen year against one year's GDP. The panel adds "about X in an average year": the total divided by 4.7 years for 2022 to August 2026.

## 2026 and the \* mark

2026 counts January to August. Where no 2026 figures exist yet, they are estimated from the 2025 monthly rate and the part's label carries a \* (company taxes, and trade where the 2026 value is an estimate, for example Belarus and Uzbekistan).

## How often the ranges are right

The ranges were tested by rerunning the method as if the war had started in 2018, when the true effect is zero. For trade with Russia, which makes most of the width of the ranges, the range contained zero for 96% of the 150 ranked economies. Moved to 2014, when Russia's own economy was hit by the oil and rouble crash, it was 90%. That is with the bands as the site now uses them: round 42's test found the bands for purchases from Russia wider than needed and those for small sales to Russia too narrow, so since round 43 the first are scaled to 0.81 of their width and the second to 1.1 (the 2014 result, the harder case). Before that, coverage was 97% and 92%, with small sales to Russia at about 78%. The test reruns trade only (aid, refugees and the other parts did not exist before 2022), with IMF trade totals instead of the full customs build, and the bands were measured partly on these years, so it checks the whole chain rather than proving the bands out of sample. Details: research/2026-10/gaps/placebo\_r42-notes.md; pipeline/placebo.py reruns it, and a test fails if the 2018 coverage drops below 80%.

## What the ranges do not cover

- Russia-side shocks: the no-war prediction's own bands covered only 77–79% when Russia's own economy moved ([counterfactual](https://warbalance.org/method/counterfactual/#m-counterfactual-7-how-the-predictions-error-enters-the-ranges)); with the other uncertainties added, trade ranges still held zero for 92% in the 2014 test, but 2022–2026 is a larger shock.
- The method itself: what counts, the valuation rule, the GDP year. The method band shows the main choices one at a time, not combined.
- Errors shared across parts or countries beyond the correlations included (one report behind all company taxes; value moved between countries by re-export rules).
- Flows nobody has measured.

[How it works](https://warbalance.org/how-it-works/) · [Limitations](https://warbalance.org/limitations/) · [Changelog](https://warbalance.org/changelog/) · [Open in the map](https://warbalance.org/#view=how)

Cite as: War Balance, figures to August 2026, https://warbalance.org/method/ranges/
