Home/Data Analyst/Dashboards & Reporting

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