The same data can tell different stories depending on how you visualize it.
Show revenue on a pie chart and it looks static. Show it on a line chart over time and it tells a growth story.
This guide covers how to visualize metrics truthfully and effectively.
Chart Types: When to Use Each
| Chart Type | Best For | Example | |---|---|---| | Line Chart | Trends over time | Revenue growth, churn rate trend | | Bar Chart | Comparing values | Revenue by region, sales by rep | | Funnel | Progressive drop-off | Leads → Qualified → Closes | | Gauge/Bullet | Progress to goal | 80% to quota, 120% to target | | Stacked Bar | Parts of a whole | Revenue by product | | Scatter | Relationships | CAC vs. LTV by cohort | | Heatmap | Patterns/correlation | Conversion by day/time | | Table | Detailed comparisons | Customer list with scores |
Avoid:
- 3D charts (distort perspective)
- Pie charts (hard to compare slices)
- Dual-axis charts (confusing scale)
- Rainbow colors (overwhelming)
The Golden Rule: Simplify
Every chart should be understandable in 5 seconds.
If it takes more than 5 seconds, it's too complex.
Good: "Revenue is $2.5M, up 12% from last month" Bad: "Multi-factorial analysis of revenue variance across cohorts with regional decomposition"
Color Strategy
Use color with purpose:
- 🟢 Green = goal achieved, positive, healthy
- 🔴 Red = below target, warning, at-risk
- 🟡 Yellow = caution, near threshold
- 🔵 Blue = neutral, informational
One consistent palette. Don't use green on one dashboard and blue on another.
Avoid rainbow. Too many colors = too many categories.
Limit to 3-5 colors per dashboard.
Scale Honestly
Bad: Start the Y-axis at 98 when your data ranges from 98-102. This makes tiny differences look huge.
Good: Start at 0, show the real magnitude.
Exception: When comparing specific ranges (97-100%) where the full 0-100 scale would make differences invisible. Use a consistent scale and note that you're zooming in.
What Misleads
Mistake 1: Cherry-Picked Time Ranges
❌ Show Jan-Mar (good months) and hide Apr-Aug (bad months). ✓ Always show 12+ months to reveal true trends.
Mistake 2: Comparing Without Context
❌ "Revenue is $5M" (is that good?) ✓ "Revenue is $5M vs. target $6M (83%)" (clear)
Mistake 3: Using Raw Numbers vs. Percentages Inconsistently
❌ Chart 1 shows "50 customers" and Chart 2 shows "15% growth." Mix of absolute and relative. ✓ Use consistent scale. If comparing growth rates, use percentages everywhere.
Mistake 4: Ignoring Seasonality
❌ Q1 revenue looks low because of seasonal dip. Viewer thinks business is struggling. ✓ Show last year's Q1 for comparison. Seasonal context is critical.
Mistake 5: Too Many Dimensions
❌ Trying to show Revenue, Growth Rate, Churn, CAC all in one chart. ✓ Break into separate charts. One chart, one insight.
Text and Labels
Labels must be clear:
-
✓ "Revenue (USD, Millions)"
-
❌ "Rev ($M)"
-
✓ "Churn Rate (%)"
-
❌ "Churn"
Include units. Dollar signs, percentages, dates.
Legend is essential. If multiple series, label each clearly.
Mobile vs. Desktop
Desktop dashboard: Can handle complexity, multiple charts, drill-down.
Mobile dashboard: 1-2 metrics, large numbers, minimal text.
Don't make a desktop dashboard and shrink it to mobile. Redesign for mobile context.
Real Examples: Good vs. Bad
Good: Revenue Trend with Target
Chart: Line graph with 12 months of data
- Blue line: Actual revenue
- Red dashed line: Target revenue
- Green area: Beating target
- Red area: Below target
Clear what's happening: We beat target Jan-Aug, missed Sep-Dec.
Bad: Revenue Mystery
Chart: Pie chart showing "Revenue"
Viewer: "What am I looking at? Is this good or bad? Why does it matter?"
Good: Conversion Funnel
Funnel chart:
Visitors: 10,000 (100%)
Leads: 500 (5%)
MQL: 250 (2.5%)
Closes: 50 (0.5%)
Clear: We lose 95% at each stage. Stage 1-2 is the biggest drop. Focus there.
Bad: Unlabeled Bar Chart
Three bars, no context
Viewer: "What are these bars? What do they represent? Who cares?"
Dashboard Composition
Hierarchy:
- Largest chart = most important metric
- Medium charts = supporting metrics
- Small = detail/drill-down
Whitespace:
- Empty space makes dashboards readable
- Crowded dashboard = overwhelmed viewer
Layout:
- Top: Highest-level metrics
- Middle: Drivers and context
- Bottom: Details
The Checklist
- ✓ Each chart answers a specific question
- ✓ Understandable in <5 seconds
- ✓ Axes labeled with units
- ✓ Title describes what it shows
- ✓ Scale is honest (not cherry-picked)
- ✓ Color used consistently and purposefully
- ✓ No unnecessary decoration (3D, gradients, animations)
- ✓ Context included (target, last period, industry average)
- ✓ Mobile-friendly or separate mobile view
- ✓ No misleading truncation or scale tricks
The Bottom Line
Charts should reveal truth, not hide it.
If your chart takes more than 5 seconds to understand, simplify.
If your chart doesn't answer a business question, remove it.
Every pixel should earn its place.