TEA Handbook

Concept

Tornado chart

analytical

Overview

A tornado chart is the standard display of a one-way sensitivity analysis: one horizontal bar per input, each spanning the output’s low-case-to-high-case swing, sorted longest bar at the top down to shortest. The tapering, funnel-like shape gives it its name, and its vertical order makes the model’s drivers visible at a glance.

Body

How it is built. Run a one-way sensitivity on each input — low and high values across its credible range, all other inputs held at base case — and for each draw a horizontal bar from the low-case output to the high-case output, against a vertical reference line at the base-case output. Stack the bars sorted by length, longest at the top. The bars shrink down the chart, producing the characteristic tornado silhouette.

What it encodes. Three things are read directly off it:

Reading the shape. The usual pattern — a few long bars at the top over a long tail of short ones — is the visual form of the fact that a model’s uncertainty concentrates in a handful of parameters. Where a meaningful reference exists (a market price, a breakeven, a competitor’s cost), drawing it as a second vertical line shows at once which individual inputs can, on their own, push the output across it.

What it is not. A tornado chart is a presentation of one-way results, nothing more — it inherits every property and limitation of the analysis behind it. It is not a probability distribution, and its bars are not additive: because each is measured with all other inputs held fixed, their lengths cannot be summed or enveloped into a combined uncertainty. Moving several inputs together is a scenario, which a tornado does not show.

Limits & typical error

See also

Mini-example

A tornado for green ammonia’s levelized cost, base case ~$800/t (continuous baseline, ~$40/MWh, capacity factor ~0.90). Each input is swept over its own credible range and the output swing drawn as a bar, sorted by length (all ranges are illustrative round anchors):

                              base = $800/t

electricity price  $30–60/MWh   ●──┼──────●    $705 ── $1,005   (swing ~$300)
total capex        $0.7–1.3bn      ●──┼───●    $700 ──   $910   (swing ~$210)
electricity inten. 8.5–11.5 MWh    ●─┼──●      $745 ──   $865   (swing ~$120)
discount rate      8–12%             ●┼─●      $760 ──   $855   (swing  ~$95)
capacity factor    0.85–0.92         ●●        $795 ──   $830   (swing  ~$35)
fixed opex         $40–60/t           ●         $790 ──  $810   (swing  ~$20)

The shape tells the story: the electricity price is the dominant driver (longest bar, top), capital and electricity intensity follow, and inputs like fixed opex form the short tail. Note that capacity factor — a high-sensitivity input — sits low here, because within the continuous design its plausible range (0.85–0.92) is narrow; its big swing belongs to a scenario (the intermittent ~0.45 case), not to a one-way wiggle around the continuous base.

Separately, to show how range choice distorts the chart: redraw the same model with a blanket ±20% on every input. The well-pinned electricity intensity and a tightly-known fixed cost now get the same ±20% as the volatile power price, lengthening their bars and shortening the price’s relative lead — a different ranking from the identical model, produced entirely by the range convention, not by any change in the process.

See also