Alluvial Diagram
A flow visualization that traces how categorical group memberships shift across multiple dimensions or time periods — like watching populations migrate between clusters.
// 01 — The chart
What it looks like
An alluvial diagram showing how voters migrate between political parties across three elections. Band width encodes voter count.
// 02 — Definition
What is an alluvial diagram?
An alluvial diagram is a variant of a Sankey diagram specifically designed to show how categorical group memberships change across multiple dimensions or time periods. Each vertical axis represents a categorical variable, and the curved bands between them show how observations redistribute from one category to another.
Unlike a Sankey diagram, which focuses on flows of material or energy through a process, alluvial diagrams emphasize group membership changes. The nodes on each axis represent mutually exclusive categories, and the bands between axes show how many items moved from one category to another.
The name “alluvial” comes from the resemblance to alluvial fans — the fan-shaped deposits left by rivers. The flowing, organic curves of the bands create a visual metaphor for how populations or categories erode, deposit, and redistribute over time.
Key distinction: While Sankey diagrams show flows through a process (source → destination), alluvial diagrams show how the same set of observations is classified differently across multiple categorical variables or time points. The total population stays constant.
// 03 — Anatomy
Parts of an alluvial diagram
// 04 — Usage
When to use it — and when not to
- Tracking how group memberships shift across categorical dimensions
- Visualizing voter migration, customer segment changes, or career transitions
- Comparing the same population classified by multiple variables
- Showing redistribution patterns over 2-5 time periods
- Highlighting which categories gain or lose members over time
- Making complex cross-tabulation data visually intuitive
- You have more than 6 axes — the diagram becomes an unreadable tangle
- Categories exceed 8-10 per axis — too many bands overlap
- You need to show exact quantities — the curved bands make precise reading hard
- Flows represent a physical process with loss — use a Sankey diagram instead
- You only have two categories — a grouped bar chart is simpler
- The audience is unfamiliar with flow diagrams — simpler charts communicate faster
// 05 — Reading guide
How to read an alluvial diagram
Follow these steps whenever you encounter an alluvial diagram in the wild.
Read the axis labels
Each vertical axis represents a categorical variable (e.g. year, region, category). Understand what each axis measures before interpreting the flows.
Identify the strata on each axis
The rectangular blocks on each axis are categories. Their height shows how many observations belong to that category at that point.
Follow the flows between axes
The curved bands between axes show how observations move from one category to another. Wider bands mean more observations making that transition.
Compare band widths
The relative width of bands tells you which transitions are dominant. A thick band from A to B means most of group A moved to B.
Look for convergence and divergence
When many thin bands merge into one thick block, categories are consolidating. When one thick block splits into many thin bands, the group is fragmenting.
// 06 — Pitfalls
Common mistakes
Too many categories per axis
Limit to 6-8 categories per axis. Merge small groups into an 'Other' category to reduce visual clutter.
Confusing alluvial with Sankey
Alluvial diagrams track the same population across variables; Sankey diagrams show material/energy flows with possible losses. Choose based on your data story.
Using misleading color
Color the bands by their origin category so readers can trace where groups came from. Avoid random or decorative coloring.
No axis labels
Always label each axis clearly. Without context, the diagram is meaningless — readers need to know what each column represents.
Ignoring sort order
Order categories consistently across axes. If possible, place the largest categories at the top so the most important flows are easiest to follow.
// 07 — In the wild
Real-world examples
Voter migration between elections
Political scientists use alluvial diagrams to show how voters shift between parties across election cycles, making it easy to see which parties gain or lose voters and from where.
Student major changes in universities
Universities visualize how students move between declared majors from freshman to senior year, revealing which departments attract transfers and which lose students.
Customer segment transitions
SaaS companies track how customer segments (free, starter, pro, enterprise) shift quarter over quarter, identifying upgrade and churn patterns visually.
// 08 — Quick reference
Key facts
Also known as
Alluvial plot, parallel categories diagram
Data type
Categorical × categorical (or categorical × time)
Best for
Group migration, segment shifts, cross-tabulation
Audience level
Intermediate — requires explanation for new viewers
Axes limit
2–5 axes for clarity
Related to
Sankey diagram, parallel sets, parallel coordinates
// 09 — Variations
Variations and extensions
Temporal alluvial
Axes represent fixed time intervals, showing how group memberships evolve chronologically.
Weighted alluvial
Band width encodes an additional numeric variable beyond simple count, such as revenue or spend.
Highlighted alluvial
One specific flow path is colored while the rest are greyed out, drawing attention to a single group's journey.
// 10 — FAQs
Frequently asked questions
What is an alluvial diagram?+
An alluvial diagram is a variant of a Sankey diagram specifically designed to show how categorical group memberships change across multiple dimensions or time periods. Each vertical axis represents a categorical variable, and the curved bands between them show how observations redistribute from one category to another.
When should you use an alluvial diagram?+
Use an alluvial diagram when tracking how group memberships shift across categorical dimensions. It also works well when visualizing voter migration, customer segment changes, or career transitions, and when comparing the same population classified by multiple variables.
When should you avoid an alluvial diagram?+
Avoid an alluvial diagram when you have more than 6 axes — the diagram becomes an unreadable tangle. It is also a poor fit when categories exceed 8-10 per axis — too many bands overlap, or when you need to show exact quantities — the curved bands make precise reading hard.
What is another name for an alluvial diagram?+
Alluvial Diagram is also known as Alluvial plot, parallel categories diagram. The name varies between fields, but the visualisation technique is the same.
What size of dataset works best for an alluvial diagram?+
Alluvial Diagram works best for Group migration, segment shifts, cross-tabulation. Outside that range the chart either looks empty or becomes too cluttered to read clearly.
Is an alluvial diagram suitable for dashboards?+
Yes — an alluvial diagram can work well in dashboards as long as the panel is large enough for readers to perceive the encoded values, has a clear title, and includes the legend or axis labels needed to interpret it.