Tornado diagrams: reading a sensitivity analysis at a glance

One bar per variable, the widest at the top, all of them measured against a baseline down the middle. A tornado diagram ranks what could move an outcome, and by how much.

A tornado diagram is a horizontal bar chart that ranks variables by how far each one moves a single outcome. One bar per variable, the widest at the top, every bar measured against a baseline running down the middle. The shape gives the chart its name, and the top bar is the answer most people came for.

One bar per variable, widest bar on top

Everything on the chart comes out of a sensitivity analysis, which is the arithmetic of recomputing an outcome while one input at a time moves across its plausible range. The tornado is the ranked picture of what that arithmetic returned, so the diagram is a presentation rather than a technique in its own right, and it can be no better than the analysis sitting behind it.

Three things are on the chart and nothing else. A vertical line for the base case, which is the outcome you get when every input sits at its expected value. A horizontal bar for each variable, drawn from the outcome produced by that variable’s low value to the outcome produced by its high value. And an ordering, widest bar at the top, narrowest at the bottom, which is the only reason the picture is worth drawing rather than tabulating.

The outcome has to be chosen before anything else, because every bar is denominated in it. Pick project cost and the axis is money. Pick forecast completion and the axis is weeks. Pick net present value, contract margin or defect rate and the axis is those. One chart, one outcome, and a tornado that mixes two of them is not a tornado, it is two charts sharing an axis.

What the bar length means is worth saying plainly, because it is the part people misread. Length is the distance between two outcomes, not a probability and not a score. A bar nine weeks long says that this variable, on its own, can put the finish date anywhere inside a nine week window. Whether the far end of that window is likely is a question the chart does not answer and does not pretend to.

A schedule tornado diagram for a delivery baselined to finish at week 40, six variables ranked by the width of the finish date range each one produces Six horizontal bars around a vertical baseline at zero, sorted widest at the top to narrowest at the bottom. The third party data feed spans minus 2 to plus 7 weeks, a range of 9 weeks, and its row is highlighted. Regulatory approval spans minus 1 to plus 6 weeks, a range of 7. Integration rework spans 0 to plus 5 weeks, a range of 5, with nothing to the left of the baseline. Specialist availability spans minus 1 to plus 3 weeks, a range of 4. Data cleansing scope spans minus 1 to plus 2 weeks, a range of 3. Training delivery spans minus 1 to plus 1 week, a range of 2. The horizontal axis is the forecast finish in weeks against the baseline. earlier than baselinelater than baselinerangeThird party data feed9 weeksRegulatory approval7 weeksIntegration rework5 weeksSpecialist availability4 weeksData cleansing scope3 weeksTraining delivery2 weeks-20, baseline week 40+2+4+6+8forecast finish, weeks against the baseline
Drawn to a scale of 50px per week, with the baseline finish at zero. Bars run left for weeks earlier than the baseline and right for weeks later. The top row is the widest range on the chart and the one the shape is built to surface. Integration rework has no bar to the left of the baseline, because rework that goes well simply does not happen; it cannot pull the date in.

Ranging each input while the rest hold still

The construction is mechanical, and its one rule carries the whole method: move a single input, hold everything else still, record what happened, put it back. NASA’s cost estimating handbook sets out five steps in its appendix on analyses for decision support, which are to compute the point estimate, select the elements for analysis, determine the range of values for each element, determine the impact, and graph or table the results. Its worked example is explicit about the fourth step: the high and low values are “applied to one component at a time”.

That is what makes the bars comparable. Each one is a measurement of a single variable’s influence taken under identical conditions, which is the only way a nine week bar and a three week bar mean anything set next to each other. It is also, in one sentence, the technique’s largest limitation, because projects do not move one variable at a time.

One variable moves, the rest hold at base case. Vary two together and the bar stops belonging to either of them. The convention is what makes the ranking readable, and what stops the chart describing anything that will actually happen.

The soft part is step three. Ranges do not come out of the model, they come out of the people who know the work, and a variable given a generous range will outrank one given a cautious range regardless of which actually matters more. Two disciplines keep that honest. Take low and high from the same kind of evidence for every variable, whether that is historical outturn, supplier commitment or expert judgement, rather than mixing a contractual worst case for one input with somebody’s instinct for another. And write down where each range came from, next to the chart, so that a bar can be challenged on its evidence rather than on its length.

The same numbers support more than one picture, and the choice is not neutral.

PresentationReads best forLoses
Tornado diagramRanking. Which few variables dominate, at a glance.Detail between the ends. Only low, base and high survive.
Spider diagramResponse shape. Which variables react steeply and which are flat.Legibility past four or five lines.
Sensitivity tableAudit. Exact values, ranges and their sources.The ranking. Nobody sees it without reading every row.

Reading the chart: the top bar is where the delay lives

Asked which task has the greatest potential to cause delay, a schedule tornado answers directly: the one on the top row. On the chart above that is the third party data feed, whose nine week range is wider than the two bars beneath it and more than four times the range of the bottom one. Nothing else on the chart can move the finish date as far.

Read length first and direction second. A bar sitting mostly to the right of the baseline can hurt far more than it can help, which is the normal shape for schedule variables and the reason the tornado usually leans one way. Integration rework in the example has no left segment at all, because rework that goes well does not happen and cannot pull the date in; its entire range is exposure. A bar that is genuinely symmetrical is telling you something different, that the variable is an estimate with real spread rather than a hazard, and those two things want different responses.

Then read where the bars stop mattering. Below the third or fourth row the ranges usually collapse into the noise of the estimate itself, and a variable that can move the outcome by two weeks on a forty week project is not worth a monitoring regime. The value of the ordering is as much in what it dismisses as in what it promotes.

Total float is the check that stops the reading going wrong. A schedule tornado is built by moving durations and re-running the schedule, so its bars already reflect the network, but they reflect it as it stands today. An activity with three weeks of float and a six week range crosses onto the critical path partway through its own bar, and one with float to spare never appears on the chart at all despite being the thing everyone worries about. The tornado ranks potential to move the date. The schedule tells you the point at which potential becomes actual.

The last reading is the one that turns the chart into a decision. HM Treasury’s Green Book asks appraisers to “conduct sensitivity analysis to examine how changes in key assumptions, like costs, might affect the summary metrics of the appraisal”, and then to go one step further and calculate switching values, “the values that a key assumption would need to change to, in order to make an option no longer value for money”. A tornado bar shows how far a variable could move. A switching value shows how far it would have to move before the answer changes. Put the two together and a nine week bar becomes a specific question: does the delay this variable can cause cross the date the business case depends on, and if so, at what point.

Which bars earn a line in the risk register

A tornado diagram ranks variables. A risk register tracks risks, with owners, responses and dates. The two are not the same list, and copying the top three bars straight into the register produces entries nobody can act on, because “data migration complexity” is a subject rather than an event.

The translation is worth doing deliberately. Take the top bars, and for each one ask what specific event would push the variable to its high value, who would see it first, and what could be done about it. The third party data feed’s nine weeks might resolve into two register entries, a risk that the supplier’s extract format is not what the interface spec assumed, and a dependency on a data sharing agreement that has not been signed. Both are actionable. The bar they came from is not.

The tornado decides what gets a register entry; the register decides what happens next. Two or three bars usually justify entries and the rest justify an assumption logged with a review date, which is a lighter and more honest instrument than a risk nobody intends to manage.

Scoring those entries is where the analysis pays off a second time, because a bar gives you an evidenced impact figure rather than a number somebody chose to feel proportionate. That figure is the inherent impact, before any response, and the gap between it and what remains afterwards is what the response actually bought. The distance between inherent and residual scores is the same measurement in a different notation.

What a tornado diagram cannot tell you

Four limits, and the first is the one that gets a chart quoted in a steering committee it should not have reached.

A tornado carries no probabilities. Bar width is the size of a possible movement, never its likelihood, so a wide bar attached to a remote scenario outranks a narrow bar attached to a near certainty every time. That is a defensible way to prioritise attention and an indefensible way to size a contingency, and the two get confused whenever the chart is read as a forecast. When the question is how much reserve to hold rather than what to watch, the tornado is the wrong instrument and a simulation over the joint distribution is the right one.

It also assumes the variables are independent. Each bar was measured with everything else held still, so nothing on the chart can show a correlation, and correlated variables are exactly how projects actually go wrong. A supplier delay that also drives up specialist costs while pushing testing into a holiday period appears on the chart as three modest bars in different rows.

A tornado ranks the ranges somebody chose to test. It cannot rank the ones nobody thought of.

Which is the third limit, and the reason the range column deserves as much review as the chart. A variable left out entirely has no bar, and a chart with no bar for it looks exactly like a chart where that variable does not matter. The ordering is a claim about the analyst’s judgement as much as about the project.

Date the chart and say what it was run against. A tornado is a snapshot of one model on one day, and the ranking moves as the project does: the data feed that dominated at design stage is often a solved problem by integration testing, while a variable that ranked sixth has quietly become the thing holding the date.

And no tornado tells anyone what to do. The chart is a prioritisation instrument, and its whole output is a shortlist and an order. What the shortlist is worth depends on what happens next, which is whether the top two or three bars turn into responses with owners, or into a slide that gets shown once and filed. That part has never been a modelling problem.

Common questions

What is a tornado diagram?
A tornado diagram is a horizontal bar chart that ranks variables by how far each one moves a single outcome, with the widest bar at the top and the narrowest at the bottom. Each bar shows the range the outcome takes when that one variable is moved across its plausible values while every other variable is held at its base case. The narrowing stack of bars is what gives the chart its name.
What is tornado analysis used for?
Tornado analysis is used to decide where attention is worth spending. Ranking variables by the size of the outcome range each one produces separates the handful that genuinely drive a budget or a finish date from the dozens that barely register, which turns a long list of concerns into a short list of things worth managing, monitoring or buying certainty about.
How do you read a tornado diagram?
Read bar length first and position second. The longest bar names the variable with the greatest potential to move the outcome, so on a schedule chart the top bar is the activity with the most potential to cause delay. Then read the asymmetry of each bar: a bar running mostly to the right of the baseline can hurt far more than it can help, and a bar with no left segment cannot help at all.
How does a tornado diagram relate to sensitivity analysis?
A tornado diagram is one way of presenting a sensitivity analysis, not a separate technique. The analysis is the arithmetic, recomputing an outcome while one input at a time moves across its range, and the diagram is the ranked picture of what that arithmetic produced. The same results can be shown as a spider diagram or a plain table, and the tornado is simply the presentation that makes the ranking impossible to miss.

Filed under RAID

Read next

Private beta, building in the open

Get the next one

Practitioner writing on project delivery, plus progress notes as the tool takes shape.

One email at launch. Unsubscribe in one click.