Back to notes

February 6, 2026 · 5 min read

A Data Visualization Choice That Accidentally Changed the Conclusion People Drew

The same churn data, plotted with a truncated y-axis, told two completely different stories to two different audiences in the same week. Neither chart was technically wrong.

PostmortemData Viz

Monthly churn moved from 4.1% to 4.6%. That's the whole data story. One chart, built with a y-axis that started at zero, showed a line that barely moved. Another chart, built for a leadership deck with a y-axis that started at 3.5%, showed what looked like a near-vertical spike. Both charts plotted the exact same five data points. One caused a shrug in a team standup. The other triggered an emergency retention meeting.

Neither chart lied, which is the uncomfortable part

A truncated axis isn't inherently dishonest — sometimes it's the right call, because a zero-based axis on a metric that only ever moves in a narrow band (say, between 4% and 5%) flattens every real signal into a visually flat line that hides meaningful movement. The problem wasn't that either chart was wrong in isolation. The problem was that two different people on the same team made two independent, reasonable-sounding axis decisions for the same metric with no shared convention, and the resulting charts implied contradictory urgency levels about the same underlying fact.

A chart doesn't have to lie to mislead. It just has to leave the scale decision up to whoever happens to be building it that week.

What we standardized afterward

We didn't ban truncated axes — that would have thrown out a legitimate visualization technique for a governance failure that wasn't really about the technique. Instead we wrote down a rule for this specific metric class and stuck it in the dashboard style guide.

  • Any chart of a bounded percentage metric (churn, conversion rate, CSAT) uses a fixed, pre-agreed axis range documented per metric, not whatever range auto-fits the current data.
  • Every chart in a stakeholder-facing deck carries a visible annotation of the axis range and the absolute change, not just the visual trend — 'churn moved from 4.1% to 4.6%' printed directly on the chart.
  • Charts built for different audiences (internal dashboard vs executive deck) of the same metric get reviewed against each other before either ships, specifically to catch this kind of divergence.

The retention meeting that got called over the spike chart wasn't wasted — a 0.5-point churn move was worth looking into, just not at the urgency the visual implied. But I've since treated axis range as a data governance decision, not a design preference. It's the one choice in a chart that can flip the emotional read of an identical dataset, and leaving it unstandardized means your conclusions are partly a function of who happened to build the chart that week.