Flow and change

Waterfall charts and Sankey diagrams both answer a question a bar chart cannot: not what the values are, but how a quantity moved from one state to another and what happened to it along the way.

Floating bars and the variance bridge

A waterfall chart draws its first and last bars from zero as absolute totals, and everything between them as floating bars whose bottom edge is the running total before the step and whose top edge is the running total after.

That floating position is what a plain bar chart discards. A cost of 200 taken when the running total is 1,000 sits somewhere different from the same cost taken at 400, and the level at which a change occurred is often as informative as its size.

The dominant use is a variance bridge. Budget to actual: budgeted revenue as the opening bar, then volume, price, mix, and currency variances as steps, then actual revenue. The reader sees not only that there was a shortfall but which components produced it and in what proportion.

Period over period is the same shape and often more revealing, because the net change is usually small relative to the gross movements underneath. Last quarter revenue, then new business, expansion, contraction, and churn, then this quarter revenue. A flat quarter can conceal substantial new business offset by substantial churn, and the bridge is what makes that visible.

The format has a built-in check: opening plus the steps must equal closing. When it does not, a component is missing, and the failure is visible rather than assumed.

Ordering, granularity, and the interaction problem

The steps sum to the same total in any order, so sequence is an editorial choice. Increases first then decreases produces a clean peak-and-descent and separates drivers from drags. By magnitude emphasises what dominated. By process suits a narrative. What to avoid is an order that looks meaningful but is not — alphabetical, or whatever order the spreadsheet happened to be in — because readers assume the sequence means something and will infer a relationship that is not there.

Granularity has a similar sweet spot. Too few steps and the chart says little more than two bars; too many and the small ones are unreadable slivers. Five to ten steps is usually right, with immaterial items combined into a single Other bar.

The substantive limitation is that a waterfall assumes additive, independent components. Price and volume variances are the standard counterexample: if both changed, part of the total is attributable to their interaction, and how that part is allocated is a convention rather than a fact. Different allocation methods produce different step sizes from the same result, so a variance bridge should state its convention rather than presenting one decomposition as definitive.

Two display cases also cause trouble. Large intermediate swings against a small net change force the axis to accommodate the excursion, compressing the opening and closing bars — usually the headline figures — into near-identical heights. And a running total that crosses zero, from profit to loss, becomes hard to follow as bars cross the axis mid-sequence.

Conservation of flow

A Sankey diagram represents quantity moving through a network, with link thickness proportional to volume. Nodes are created implicitly from the source and target names, and the layout is computed from the graph structure rather than specified.

The convention that makes it readable is conservation: what flows into an intermediate node flows out of it. That is what lets a reader trace a thickness through the diagram and trust what they see.

When flow is not conserved, the diagram silently absorbs the difference. If 1,000 visitors flow into a Signup node and 300 flow out, the reader sees a thick input, a thin output, and no accounting for the other 700. The fix is to model the loss explicitly — add a Dropped Off node and route the remainder into it. The diagram then balances, the attrition is drawn at its actual size, and where it happens becomes visible rather than inferred.

This is the discipline that makes an energy Sankey work, where waste heat is drawn as a flow rather than left as a gap, and it is largely what separates a diagram that explains a system from one that decorates it.

One practical note that causes more confusion than it should: node names must match exactly. A trailing space or a capitalisation difference creates a second node, and the symptom is a diagram with duplicated columns that looks structurally wrong for reasons that are not visible in the data.

When a network beats a sequence

A funnel represents a linear process with attrition. A Sankey represents a network, and the difference matters as soon as the process has real structure.

Branching is the main case. If traffic arrives from search, social, and referral and each converts differently, a funnel averages them into a single number that describes none of them. A Sankey keeps the paths separate, so a channel sending volume without converting is obvious rather than buried in an aggregate.

Merging works the same way, with several routes converging on one outcome and their relative contributions visible as thickness. Multi-stage networks with both splits and merges — a budget flowing from revenue sources through departments to expense categories — are the natural home of the format.

The trade-off is precision. A funnel gives clear stage-to-stage percentages; a Sankey asks readers to compare thicknesses, which is less accurate than reading a number. For a genuinely linear process the funnel is better, and reaching for a Sankey adds complexity without adding information.

Sankeys also degrade quickly with size. Twenty or thirty nodes is usually where the layout can no longer avoid crossings, links overlap, and labels collide. Flows below a fraction of a percent render as untraceable hairlines and are better filtered or grouped into an Other node, since a link too thin to see was not communicating anyway. And cycles cannot be drawn at all — the layout assumes one direction, so a process with genuine feedback needs to be unrolled into distinct stages or represented differently.

Frequently asked questions

What does a waterfall chart show that two bars do not?

The components that produced the change, and the level at which each occurred, since the floating bars sit at the running total.

Does the order of waterfall steps matter?

The total is the same, but readers assume the sequence is meaningful. Order deliberately and avoid alphabetical or spreadsheet order.

Why should a Sankey balance?

So the reader can trace a thickness through it. Unmodelled drop-out disappears silently — add an explicit Lost node instead.

When is a Sankey better than a funnel?

When the process branches or merges. A funnel averages different paths into one rate that may describe none of them.

Can a Sankey show a feedback loop?

No. The layout assumes one-directional flow, so cycles need to be unrolled into distinct stages.

Chart makers referenced in this guide