Flow, process and networks

Sankey diagram

Shows quantities transferred between nodes using link widths proportional to flow.

  • Diagram
  • Flow
  • Composition

What it answers

Where does a quantity flow and how much takes each route?

Shape
Nodes joined by width-scaled links
What it shows
Major flows, splits and joins.

Example

The question

Where do website visitors come from, and how many end up buying?

Website visits by source, landing page and outcome, September (thousands)

Website visits by source, landing page and outcome, September (thousands)Bands flow from source to landing page to outcome, width in proportion to visits. Search 50, social 24, email 16 thousand. 18 thousand bought: 6 via the home page and 12 via product pages.Search 50Social 24Email 16Home 50Product 40Bought 18Left 72
Website visits by source, landing page and outcome, September (thousands)Bands flow from source to landing page to outcome, width in proportion to visits. Search 50, social 24, email 16 thousand. 18 thousand bought: 6 via the home page and 12 via product pages.Search 50Social 24Email 16Home 50Product 40Bought 18Left 72
Bands flow from source to landing page to outcome, width in proportion to visits. Search 50, social 24, email 16 thousand. 18 thousand bought: 6 via the home page and 12 via product pages.

Illustrative data. It belongs to no company.

When to use it

Use it when

A manageable set of additive transfers with consistent units.

Avoid it when

Too many crossing links or unexplained imbalances.

How to read it

Follow links from sources to destinations and compare widths using the value labels.

Note

Define units and explain sources, sinks or non-conservation.

The data you need

Layout
Edge list plus optional node table
Fields
Source: text ID; Target: text ID; Value: nonnegative number
One row is
One directed source-to-target quantity. What is the grain?
Rules
Use consistent node IDs and units. Aggregate duplicate pairs deliberately. Check balance where flow conservation is expected.
Optional
Separate node table: NodeID,Label,Group.
Preparation
Resolve node identities and endpoint joins; define direction and duplicate/self-link handling. Aggregate weights only under a stated relationship or flow definition.
Units
Unweighted links encode presence. Weights need a unit; flow shares divide by stated source, destination or network totals, not an assumed common denominator.
Example of the input layout: Edge list plus optional node tableAn edge list: one row per link, from one node to another, often with a node table beside it.FromToValueABACBCCDABCD
An edge list: one row per link, from one node to another, often with a node table beside it.

Worked example

Flows A->B30, A->C20, B->D30. A sends 50; B passes its 30 to D. Link widths represent those quantities.

SourceTargetValue
AB30
AC20
BD30