Chart selection
Start from the question, never from the data shape. "I have a time series" leads to a line chart;
"is our burn accelerating?" leads to a much better one.
The strongest move in this whole skill: often the answer is not a chart. One number with a
comparison, or a well-set table, beats a chart for a great many financial questions.
Decide by comparison type
Almost every financial question is one of these. Find the row, take the form.
| The question is about… |
Form |
Notes |
| How we got from A to B |
Waterfall / bridge |
The most under-used and most valuable financial chart. bridge-charts |
| Change over time |
Line (continuous), column (discrete periods) |
Zero baseline for additive measures |
| Actual vs a target |
Bullet chart, or a variance bar |
Plot the variance, not two lines to subtract. variance-charts |
| Ranking |
Horizontal bar, sorted by value |
Never alphabetical unless lookup is the job |
| Part of a whole, once |
Stacked bar (single), or a table |
Not a pie beyond ~3 slices |
| Part of a whole, over time |
Stacked area, or 100% stacked column |
Only the bottom band is reliably comparable |
| Composition across two dimensions |
Marimekko |
Width and height both encode. flow-charts |
| Movement between states |
Sankey |
Cash flow, customer movement. flow-charts |
| Retention / decay by group |
Cohort heatmap or curves |
cohort-charts |
| Relationship between two measures |
Scatter |
Add a trend line only if you can defend it |
| Distribution / spread |
Histogram, box plot |
Aging buckets are a histogram |
| Forecast uncertainty |
Fan chart / scenario bands |
Never a single confident line. uncertainty-charts |
| Which input matters most |
Tornado |
uncertainty-charts |
| Many entities, same metric |
Small multiples |
Shared scale across every panel |
| Precise values people will read off |
Table |
financial-tables |
| A single fact |
One big number + comparison |
No chart at all |
The five most common finance questions, answered
"Why did ARR move?" → ARR bridge. New / expansion / contraction / churn. Nothing else shows the
composition of a net change.
"Are we hitting plan?" → Bullet chart or variance bars, one row per line item. Not two lines on a
time series that the reader has to subtract mentally.
"Is our retention improving?" → Cohort heatmap for the pattern, plus retention curves by cohort
for the trend. Report both logo and revenue.
"How long is the runway?" → Cash line with the projection forward on two burn scenarios, and the
zero-cash date marked. Not a KPI tile saying "14 months".
"Where is the money going?" → Ranked horizontal bars for the period, plus a bridge if the
question is really about the change in spend. Those are different questions and get different
charts.
When not to chart
| Situation |
Do this instead |
| One number matters |
A big number with its comparison and verdict |
| Under ~5 data points |
A table or a sentence — a 4-bar chart is decoration |
| People will read off exact values |
A table with tabular figures |
| Every value is roughly equal |
Say so; a chart of near-identical bars conveys nothing |
| The comparison is categorical with no order |
A sorted list |
| You cannot state the takeaway in a sentence |
You do not yet know what the chart is for |
That last one is the real test. If you cannot write the caption, do not build the chart. See
chart-annotation.
Forms that mislead, and their substitutes
| Instead of |
Use |
Because |
| Pie with 6 slices |
Sorted horizontal bars |
Angles are not comparable; order is invisible |
| Donut with a number inside |
The number |
The ring is decoration |
| Dual-axis line |
Indexed series, or two stacked panels sharing an x-axis |
The crossover is an artifact of two arbitrary scales |
| Gauge / speedometer |
Bullet chart |
Same job, a tenth of the space, adds the comparison |
| 3D anything |
The 2D version |
Perspective distorts area |
| Radar / spider |
Small multiples, or a table |
Axis order changes the shape and the impression |
| Stacked bars for comparing middle bands |
Small multiples, or a line per series |
Only the bottom band shares a baseline |
| Word cloud |
A ranked table |
Area encodes nothing reliably |
| Treemap for change |
Bridge or bars |
Treemaps show composition, not movement |
| Bubble chart where area is the point |
Position-encoded scatter |
Area is judged as roughly its square root |
Scale and baseline decisions
- Zero baseline for additive measures: revenue, ARR, cash, headcount, expenses. Truncating one
doubles the apparent size of a small change.
- Truncation is acceptable for rates and ratios — NRR, margin %, growth % — where zero is not
meaningful. Say so in the axis label.
- Log scale for compounding across orders of magnitude, and only then. Label it clearly; most
readers will not notice otherwise.
- Shared scale across small multiples, always. Per-panel scales make panels look similar when
they are not.
Sequence for building any chart
- Write the question.
- Write the expected takeaway in one sentence. If you cannot, stop.
- Pick the comparison type → the form, from the table above.
- Choose the baseline and scale.
- Decide the encodings, and give every colour a second encoding (
artifact-accessibility).
- Write the takeaway title — the finding, not the subject (
chart-annotation).
- Add provenance: as-of, source, period status.
- Build it (
svg-charting).
- Verify: greyscale, both themes, narrow width, and — for a bridge — that it foots.
Related skills
bridge-charts, cohort-charts, variance-charts, timeseries-finance,
uncertainty-charts, flow-charts, financial-tables — the forms in depth
chart-annotation — titles, labels, provenance
svg-charting — building it
ui-antipatterns — the misleading forms in more detail
1---2name: chart-selection3description: Choose the right chart for a financial question - a decision table from question to form, the comparison-type heuristic, when a table or a single number beats any chart, and the substitutes for forms that mislead. Start here before building any chart. Trigger on "what chart should I use", "how do I show this", "best way to visualize", "pie or bar", "which chart type", "chart for", "visualize this data".4---56# Chart selection78Start from the **question**, never from the data shape. "I have a time series" leads to a line chart;9"is our burn accelerating?" leads to a much better one.1011The strongest move in this whole skill: **often the answer is not a chart.** One number with a12comparison, or a well-set table, beats a chart for a great many financial questions.1314---1516## Decide by comparison type1718Almost every financial question is one of these. Find the row, take the form.1920| The question is about… | Form | Notes |21|---|---|---|22| **How we got from A to B** | **Waterfall / bridge** | The most under-used and most valuable financial chart. `bridge-charts` |23| Change over time | Line (continuous), column (discrete periods) | Zero baseline for additive measures |24| Actual vs a target | Bullet chart, or a variance bar | Plot the *variance*, not two lines to subtract. `variance-charts` |25| Ranking | Horizontal bar, sorted by value | Never alphabetical unless lookup is the job |26| Part of a whole, **once** | Stacked bar (single), or a table | Not a pie beyond ~3 slices |27| Part of a whole, **over time** | Stacked area, or 100% stacked column | Only the bottom band is reliably comparable |28| Composition across two dimensions | Marimekko | Width and height both encode. `flow-charts` |29| Movement between states | Sankey | Cash flow, customer movement. `flow-charts` |30| Retention / decay by group | Cohort heatmap or curves | `cohort-charts` |31| Relationship between two measures | Scatter | Add a trend line only if you can defend it |32| Distribution / spread | Histogram, box plot | Aging buckets are a histogram |33| Forecast uncertainty | Fan chart / scenario bands | Never a single confident line. `uncertainty-charts` |34| Which input matters most | Tornado | `uncertainty-charts` |35| Many entities, same metric | Small multiples | Shared scale across every panel |36| Precise values people will read off | **Table** | `financial-tables` |37| A single fact | **One big number + comparison** | No chart at all |3839---4041## The five most common finance questions, answered4243**"Why did ARR move?"** → ARR bridge. New / expansion / contraction / churn. Nothing else shows the44composition of a net change.4546**"Are we hitting plan?"** → Bullet chart or variance bars, one row per line item. Not two lines on a47time series that the reader has to subtract mentally.4849**"Is our retention improving?"** → Cohort heatmap for the pattern, plus retention curves by cohort50for the trend. Report both logo and revenue.5152**"How long is the runway?"** → Cash line with the projection forward on two burn scenarios, and the53zero-cash **date** marked. Not a KPI tile saying "14 months".5455**"Where is the money going?"** → Ranked horizontal bars for the period, plus a bridge if the56question is really about the *change* in spend. Those are different questions and get different57charts.5859---6061## When not to chart6263| Situation | Do this instead |64|---|---|65| One number matters | A big number with its comparison and verdict |66| Under ~5 data points | A table or a sentence — a 4-bar chart is decoration |67| People will read off exact values | A table with tabular figures |68| Every value is roughly equal | Say so; a chart of near-identical bars conveys nothing |69| The comparison is categorical with no order | A sorted list |70| You cannot state the takeaway in a sentence | You do not yet know what the chart is for |7172That last one is the real test. **If you cannot write the caption, do not build the chart.** See73`chart-annotation`.7475---7677## Forms that mislead, and their substitutes7879| Instead of | Use | Because |80|---|---|---|81| Pie with 6 slices | Sorted horizontal bars | Angles are not comparable; order is invisible |82| Donut with a number inside | The number | The ring is decoration |83| Dual-axis line | Indexed series, or two stacked panels sharing an x-axis | The crossover is an artifact of two arbitrary scales |84| Gauge / speedometer | Bullet chart | Same job, a tenth of the space, adds the comparison |85| 3D anything | The 2D version | Perspective distorts area |86| Radar / spider | Small multiples, or a table | Axis order changes the shape and the impression |87| Stacked bars for comparing middle bands | Small multiples, or a line per series | Only the bottom band shares a baseline |88| Word cloud | A ranked table | Area encodes nothing reliably |89| Treemap for change | Bridge or bars | Treemaps show composition, not movement |90| Bubble chart where area is the point | Position-encoded scatter | Area is judged as roughly its square root |9192---9394## Scale and baseline decisions9596- **Zero baseline for additive measures**: revenue, ARR, cash, headcount, expenses. Truncating one97 doubles the apparent size of a small change.98- **Truncation is acceptable for rates and ratios** — NRR, margin %, growth % — where zero is not99 meaningful. Say so in the axis label.100- **Log scale for compounding across orders of magnitude**, and only then. Label it clearly; most101 readers will not notice otherwise.102- **Shared scale across small multiples**, always. Per-panel scales make panels look similar when103 they are not.104105---106107## Sequence for building any chart1081091. **Write the question.**1102. **Write the expected takeaway** in one sentence. If you cannot, stop.1113. Pick the comparison type → the form, from the table above.1124. Choose the baseline and scale.1135. Decide the encodings, and give every colour a second encoding (`artifact-accessibility`).1146. Write the **takeaway title** — the finding, not the subject (`chart-annotation`).1157. Add provenance: as-of, source, period status.1168. Build it (`svg-charting`).1179. Verify: greyscale, both themes, narrow width, and — for a bridge — that it foots.118119---120121## Related skills122123- `bridge-charts`, `cohort-charts`, `variance-charts`, `timeseries-finance`,124 `uncertainty-charts`, `flow-charts`, `financial-tables` — the forms in depth125- `chart-annotation` — titles, labels, provenance126- `svg-charting` — building it127- `ui-antipatterns` — the misleading forms in more detail