Highlight Main Insight
Highlight Main Insight
Technical Explanation
A dashboard's primary job is to communicate insights quickly. The main insight—the most important finding—should be immediately visible and unambiguous.
What Makes an Insight
| Question | Answer becomes insight |
|---|---|
| What changed? | "Revenue dropped 20% this week" |
| Is this good or bad? | "Conversion rate is below target" |
| What should we do? | "CAC increased, review marketing spend" |
Design Principles
- Lead with the insight, not the data
- Use color strategically (red = problem, green = good)
- Show trend direction clearly
- Include context (vs last week, vs target)
Code Examples
Using the CatCafe dataset:
-- INSIGHT 1: Revenue trend with context
WITH revenue_metrics AS (
SELECT
SUM(total_amount) as revenue,
(
SELECT SUM(total_amount)
FROM orders
WHERE status = 'completed'
AND order_date >= CURRENT_DATE - INTERVAL '14 days'
) as prev_period_revenue
FROM orders
WHERE status = 'completed'
AND order_date >= CURRENT_DATE - INTERVAL '7 days'
)
SELECT
revenue,
prev_period_revenue,
revenue - prev_period_revenue as change,
(revenue - prev_period_revenue) * 100.0 / NULLIF(prev_period_revenue, 0) as change_pct,
CASE
WHEN (revenue - prev_period_revenue) * 100.0 / NULLIF(prev_period_revenue, 0) > 0
THEN 'UP'
ELSE 'DOWN'
END as trend
FROM revenue_metrics;
-- INSIGHT 2: Status with comparison to target
SELECT
'Revenue' as metric,
SUM(total_amount) as actual,
10000 as target,
SUM(total_amount) - 10000 as vs_target,
CASE
WHEN SUM(total_amount) >= 10000 THEN 'On Track'
WHEN SUM(total_amount) >= 8000 THEN 'At Risk'
ELSE 'Behind Target'
END as status
FROM orders
WHERE status = 'completed'
AND order_date >= CURRENT_DATE - INTERVAL '30 days';
-- INSIGHT 3: The headline + supporting detail
SELECT
'Revenue this week: $' || SUM(total_amount)::TEXT as headline,
SUM(total_amount) as current_value,
SUM(total_amount) - LAG(SUM(total_amount)) OVER (ORDER BY DATE_TRUNC('week', order_date)) as wow_change,
COUNT(DISTINCT customer_id) as unique_customers,
AVG(total_amount) as avg_order_value
FROM orders
WHERE status = 'completed'
AND order_date >= CURRENT_DATE - INTERVAL '7 days'
GROUP BY DATE_TRUNC('week', order_date);
The Cat Analogy
Cat health snapshot:
BEFORE (just data):
Whiskers:
- Weight: 10.2 lbs
- Temperature: 101.5°F
- Heart rate: 140 bpm
- Water intake: 8 oz
- Food intake: 4 oz
AFTER (with insight):
Whiskers: ⚠️ ATTENTION NEEDED
- Weight: 10.2 lbs (DOWN 0.5 lbs this week)
- Trend: Weight declining for 3rd week
- Recommendation: Schedule vet visit
Same data, but insight comes first.
Exercises
Exercise 1
How do you highlight a negative trend vs a positive trend in a dashboard?
Exercise 2
What context should you include when showing a metric change?
Exercise 3
Transform this data into an insight: "Revenue: $50,000. Last month: $45,000."
Key Takeaways
- Lead with insight, not data
- Use color and trend indicators
- Include context (vs target, vs period)
- Make status immediately clear
- Design for quick comprehension, not exploration