Topic 66 of

KPI Dashboard Design: Best Practices and Examples

A dashboard with 47 metrics is overwhelming. Flipkart's exec dashboard has 7 metrics — North Star Metric plus 6 key drivers. Less is more when designing dashboards that drive action.

📚Intermediate
⏱️10 min
10 quizzes
📊

KPI Dashboard Hierarchy

The Metric Pyramid

Level 1: North Star Metric (1 metric)

Purpose: Company-wide goal, everyone optimizes for this Example: "Weekly Ordering Users" (Swiggy) Audience: CEO, entire company Update frequency: Daily

Level 2: Primary KPIs (3-5 metrics)

Purpose: Key drivers of North Star Metric Example (Swiggy): - New user signups - First-order conversion rate - Repeat order rate - Average orders per user Audience: Leadership team, department heads Update frequency: Daily/Weekly

Level 3: Secondary KPIs (10-15 metrics)

Purpose: Team-specific metrics that drive Primary KPIs Example (Swiggy Product Team): - App load time - Search-to-order conversion - Checkout completion rate - Payment success rate Audience: Team leads, individual contributors Update frequency: Daily

Level 4: Operational Metrics (50+ metrics)

Purpose: Granular metrics for troubleshooting Example (Swiggy Operations): - Delivery time by zone - Restaurant response time - Order accuracy by restaurant - Rider availability by hour Audience: Operations team, analysts Update frequency: Real-time/Hourly

Dashboard Types by Audience

Executive Dashboard (CEO, Leadership):

Metrics: 5-7 (North Star + Key Drivers) Update: Daily Format: Single page, scannable in 30 seconds Focus: High-level trends, alerts only Example — Flipkart Exec Dashboard: 1. Monthly Active Buyers (NSM) — 45M ↑ 8% MoM 2. GMV — ₹4,200 Cr ↑ 12% MoM 3. Order frequency — 2.3 orders/buyer/month ↑ 0.1 4. CAC — ₹1,200 ↓ 5% (improving efficiency) 5. LTV/CAC — 4.2× ↑ 0.3× (healthy unit economics) 6. Net Promoter Score — 68 ↑ 2 points

Department Dashboard (Product, Marketing, Ops):

Metrics: 10-15 (Team-specific KPIs) Update: Daily Format: 2-3 pages, drill-down capability Focus: Performance vs targets, week-over-week trends Example — Swiggy Product Dashboard: 1. Weekly Ordering Users — 2.8M ↑ 5% WoW 2. App DAU — 8.5M ↑ 3% WoW 3. New user activation (first order <24hrs) — 62% ↑ 2% 4. Checkout conversion — 78% ↓ 1% (investigate!) 5. Search-to-order — 18% → 18% (flat) 6. Payment success rate — 94% ↑ 1% ... (10 more metrics)

Operational Dashboard (Analysts, Specialists):

Metrics: 30-50 (Granular, real-time) Update: Real-time/Hourly Format: Multiple pages, heavy drill-down, filters Focus: Root cause analysis, anomaly detection Example — Zomato Operations Dashboard: - Delivery time by city, zone, restaurant (real-time heatmap) - Order volume by hour (forecast vs actual) - Rider utilization (% active, idle, offline) - Restaurant performance (acceptance rate, prep time, ratings) - Customer support tickets (volume, category, resolution time) ... (40 more metrics with filters: city, date range, restaurant type)
📋

KPI Categories and Examples

1. Growth KPIs (Acquisition & Activation)

New User Acquisition:

- Signups (daily, weekly, monthly) - Signup conversion rate (visitors → signups) - CAC by channel (Google, Facebook, Organic) - Organic vs paid signup ratio - Signup-to-activation rate (signup → first action)

Activation:

- Time to first value (minutes from signup to "aha moment") - % users completing onboarding - First purchase/action within 24 hours - Feature adoption rate (% using core feature)

Example — PhonePe Growth Dashboard:

┌─────────────────────────────────────┐ │ NEW USER SIGNUPS │ │ This Week: 850K ↑ 12% WoW │ │ ├─ Organic: 420K (49%) │ │ ├─ Referrals: 280K (33%) │ │ └─ Paid: 150K (18%) │ ├─────────────────────────────────────┤ │ ACTIVATION (First Transaction) │ │ <24hrs: 68% ↑ 3% │ │ <7 days: 82% ↑ 2% │ └─────────────────────────────────────┘

2. Engagement KPIs (Usage & Retention)

Usage Metrics:

- DAU (Daily Active Users) - WAU (Weekly Active Users) - MAU (Monthly Active Users) - DAU/MAU ratio (stickiness: 40%+ is good) - Session length (avg minutes per session) - Sessions per user per day/week - Feature usage rate (% using specific features)

Retention Metrics:

- Day 1, Day 7, Day 30 retention - Cohort retention (by signup month) - Churn rate (monthly, annually) - Resurrection rate (% of churned users returning)

Example — Netflix Engagement Dashboard:

┌─────────────────────────────────────┐ │ MONTHLY STREAM STARTS (NSM) │ │ This Month: 2.8B ↑ 8% MoM │ │ │ │ Engagement Breakdown: │ │ ├─ Avg streams per subscriber: 42 │ │ ├─ Avg hours watched: 68 hrs │ │ └─ Content completion rate: 72% │ ├─────────────────────────────────────┤ │ RETENTION │ │ Monthly churn: 2.3% ↓ 0.2% │ │ (Industry: 5-7%, Netflix leading) │ └─────────────────────────────────────┘

3. Revenue KPIs (Monetization & Unit Economics)

Revenue Metrics:

- MRR (Monthly Recurring Revenue) - ARR (Annual Recurring Revenue) - GMV (Gross Merchandise Value) - Revenue per user (RPU) - ARPU (Average Revenue Per User) - ARPPU (Average Revenue Per Paying User)

Unit Economics:

- LTV (Customer Lifetime Value) - CAC (Customer Acquisition Cost) - LTV/CAC ratio (target: ≥ 3×) - Payback period (months to recover CAC) - Gross margin % (revenue - COGS) - Contribution margin (revenue - variable costs)

Example — Myntra Revenue Dashboard:

┌─────────────────────────────────────┐ │ GMV (Gross Merchandise Value) │ │ This Month: ₹820 Cr ↑ 15% MoM │ │ │ │ Revenue Breakdown: │ │ ├─ Commission: ₹140 Cr (17%) │ │ ├─ Ads/Sponsored: ₹25 Cr (3%) │ │ └─ Logistics: ₹45 Cr (5.5%) │ │ → Total Revenue: ₹210 Cr │ ├─────────────────────────────────────┤ │ UNIT ECONOMICS │ │ LTV: ₹8,500 | CAC: ₹1,800 │ │ LTV/CAC: 4.7× ↑ 0.3× (healthy) │ │ Payback: 7 months (excellent) │ └─────────────────────────────────────┘

4. Product KPIs (Performance & Quality)

Performance Metrics:

- Page load time (seconds) - API response time (milliseconds) - Error rate (% of requests failing) - Uptime (% availability, target: 99.9%+) - Crash rate (mobile apps)

Quality Metrics:

- Bug count (open vs resolved) - Customer-reported issues - Feature adoption rate - Feature usage frequency - A/B test win rate (% of tests improving metrics)

Example — Flipkart Product Dashboard:

┌─────────────────────────────────────┐ │ PERFORMANCE │ │ ├─ Avg page load: 1.2s ↓ 0.1s │ │ ├─ Checkout completion: 82% ↑ 2% │ │ └─ Payment success: 96% ↑ 1% │ ├─────────────────────────────────────┤ │ QUALITY │ │ ├─ App rating: 4.5★ ↑ 0.1 │ │ ├─ Critical bugs: 3 ↓ 2 │ │ └─ Support ticket volume: 12K ↓ 8% │ └─────────────────────────────────────┘

5. Marketing KPIs (Campaign Performance)

Acquisition Metrics:

- Traffic (visitors, sessions) - Conversion rate (visitor → signup) - CAC by channel - ROAS (Return on Ad Spend) - CPC (Cost Per Click) - CTR (Click-Through Rate)

Campaign Performance:

- Email open rate (15-25% is good) - Email CTR (2-5% is good) - Landing page conversion (5-15% is good) - Referral rate (% of users referring others) - Viral coefficient (referrals per user)

Example — Blinkit Marketing Dashboard:

┌─────────────────────────────────────┐ │ PAID CAMPAIGNS (This Week) │ │ Spend: ₹80L | New Users: 42K │ │ CAC: ₹1,905 (target: ₹2,000) ✓ │ │ │ │ Channel Performance: │ │ ├─ Google Ads: CAC ₹2,100 (20K) │ │ ├─ Meta Ads: CAC ₹1,750 (18K) ⭐ │ │ └─ Referrals: CAC ₹850 (4K) 🏆 │ ├─────────────────────────────────────┤ │ ORGANIC CHANNELS │ │ ├─ SEO: 8K signups (CAC ₹0) │ │ ├─ Direct: 5K signups │ │ └─ Email: 3K reactivations │ └─────────────────────────────────────┘

6. Operations KPIs (Efficiency & Service)

Efficiency Metrics:

- Order fulfillment time - Delivery time (avg, p50, p95) - Inventory turnover - Supply/Demand ratio - Cost per order/delivery

Service Quality:

- NPS (Net Promoter Score) - CSAT (Customer Satisfaction) - Order accuracy (% correct) - On-time delivery % - Return rate (% of orders returned)

Example — Swiggy Operations Dashboard:

┌─────────────────────────────────────┐ │ DELIVERY PERFORMANCE │ │ ├─ Avg delivery time: 28 min ↓ 2 │ │ ├─ On-time delivery: 87% ↑ 3% │ │ └─ Order accuracy: 96% → 96% │ ├─────────────────────────────────────┤ │ SUPPLY METRICS │ │ ├─ Active restaurants: 85K ↑ 2K │ │ ├─ Avg restaurant rating: 4.2★ │ │ └─ Restaurant order capacity: 92% │ └─────────────────────────────────────┘
🎨

Dashboard Design Best Practices

1. The 5-Second Rule

Principle: Most important metric should be scannable in 5 seconds.

Good Example:

┌───────────────────────────────────────────┐ │ WEEKLY ORDERING USERS │ │ 2.8M ↑ 5% WoW │ │ ▓▓▓▓▓▓▓▓░░ 85% of target (3.3M) │ └───────────────────────────────────────────┘

What makes it good:

  • Big number (2.8M) — instantly scannable
  • Direction indicator (↑ 5%) — trend clear
  • Context (target progress) — know if on track

Bad Example:

┌───────────────────────────────────────────┐ │ Weekly Ordering Users │ │ Current Week: 2,847,392 │ │ Previous Week: 2,712,845 │ │ Difference: +134,547 │ │ Percentage Change: +4.96% │ │ YTD Average: 2,456,789 │ │ Target for Q1: 3,300,000 │ │ Progress to Target: 86.28% │ └───────────────────────────────────────────┘

What's wrong:

  • Too many numbers (7 data points) — overwhelming
  • No visual hierarchy — all numbers same size
  • Takes 30+ seconds to parse — violates 5-second rule

2. Actionable Insights, Not Just Data

Principle: Dashboard should answer "What do I do?" not just "What happened?"

Good Example (with context):

┌───────────────────────────────────────────┐ │ ⚠️ CHECKOUT CONVERSION │ │ 72% ↓ 6% WoW │ │ │ │ Root Cause Analysis: │ │ └─ Payment gateway down 4hrs yesterday │ │ (affected 2,400 checkouts) │ │ │ │ 💡 Action: Monitor payment success rate │ │ next 24hrs (target: recover to 78%) │ └───────────────────────────────────────────┘

Bad Example (data only):

┌───────────────────────────────────────────┐ │ CHECKOUT CONVERSION │ │ This Week: 72% │ │ Last Week: 78% │ │ Change: -6% │ └───────────────────────────────────────────┘

What's missing:

  • No context (why did it drop?)
  • No action (what should I do?)
  • Just reports problem, doesn't guide solution

3. Visual Hierarchy (Most Important on Top)

Good Layout:

┌─────────────────────────────────────────────┐ │ ⭐ NORTH STAR METRIC (Huge, Top) │ │ Weekly Ordering Users: 2.8M ↑ 5% │ ├─────────────────────────────────────────────┤ │ 📊 PRIMARY KPIS (Medium, Second Row) │ │ New Signups First Order Repeat Rate │ │ 145K ↑ 8% 68% ↑ 2% 42% ↓ 1% │ ├─────────────────────────────────────────────┤ │ 📉 SECONDARY KPIS (Small, Bottom) │ │ (Drill-down details, collapsible sections) │ └─────────────────────────────────────────────┘

Bad Layout (flat hierarchy):

All 20 metrics same size, no visual distinction → User doesn't know what's most important → Scans randomly, misses key insights

4. Color for Alerts, Not Decoration

Good Use of Color:

Green: ↑ Performance improving (above target) Yellow: ⚠️ Performance flat (at target, monitor) Red: ↓ Performance declining (below target, act now) Example: Monthly Churn: 5.2% ↑ 0.8% 🔴 (Above target 4%, needs immediate action)

Bad Use of Color:

Random colors for every metric: Revenue (blue), Users (green), CAC (purple), LTV (orange) → No meaning, just decoration → Distracts from actual insights

5. Benchmarks and Context

Always Include:

  • Comparison: vs last week, last month, last year
  • Target: are we on track? (85% of target = context)
  • Benchmark: vs industry (our churn 5% vs industry 7% = context)

Good Example:

┌───────────────────────────────────────────┐ │ CAC (Customer Acquisition Cost) │ │ This Month: ₹1,200 ↓ 8% MoM 🟢 │ │ Target: ₹1,500 (20% below target) ✅ │ │ Industry Avg: ₹1,800 (33% better) 🏆 │ └───────────────────────────────────────────┘

6. Mobile-First for On-the-Go

Principle: Execs check dashboards on mobile — design for small screens.

Mobile Optimization:

✓ Single column layout (no side-by-side) ✓ Big numbers (readable on 5" screen) ✓ Collapsible sections (expand for details) ✓ Swipe between pages (not scroll) ✗ Avoid: Tiny text, complex tables, hover interactions

⚠️ CheckpointQuiz error: Missing or invalid options array

💼

Real Dashboard Examples

Example 1: Swiggy Executive Dashboard

┌─────────────────────────────────────────────────────────┐ │ 🎯 NORTH STAR METRIC │ │ Weekly Ordering Users (WOU) │ │ 2.8M ↑ 5.2% WoW | 85% of Q1 target (3.3M) ▓▓▓▓▓▓▓▓░░ │ └─────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ 📊 KEY DRIVERS (Input Metrics) │ │ │ │ Acquisition Activation Retention │ │ New Signups First Order <24h Repeat Orders │ │ 145K ↑ 8% WoW 🟢 68% ↑ 2% 🟢 42% ↓ 1% ⚠️ │ │ │ │ Monetization Efficiency Quality │ │ GMV CAC NPS │ │ ₹420 Cr ↑ 12% 🟢 ₹1,200 ↓ 5% 🟢 72 ↑ 2 🟢 │ └─────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ ⚠️ ALERTS & ACTION ITEMS │ │ │ │ 🔴 Repeat order rate dropped 1% (42% → 41%) │ │ Root cause: Longer delivery times in Mumbai zone │ │ Action: Operations team investigating (ETA: today) │ │ │ │ 🟡 Restaurant onboarding pace 8% below target │ │ Impact: May constrain supply in Bangalore │ │ Action: Supply team hiring 5 more BDMs this week │ └─────────────────────────────────────────────────────────┘

Example 2: Myntra Product Dashboard

┌─────────────────────────────────────────────────────────┐ │ 📱 APP PERFORMANCE │ │ │ │ DAU: 2.5M ↑ 4% WoW | MAU: 12M ↑ 6% MoM | DAU/MAU: 21% │ │ Session Length: 8.2 min ↑ 0.3 min | Sessions/DAU: 2.1 │ └─────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ 🛒 CONVERSION FUNNEL │ │ │ │ Product View → Add to Cart → Checkout → Payment → Order│ │ 100K 25K (25%) 10K (40%) 9.5K (95%) 9K │ │ │ │ Overall Conversion: 9% (target: 10%) ⚠️ │ │ Bottleneck: Add to Cart (25% vs 28% target) 🔴 │ └─────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ ⚡ TECH HEALTH │ │ │ │ Avg Page Load API Response Crash Rate Uptime │ │ 1.2s ↓ 0.1s 🟢 180ms ↓ 20ms 🟢 0.3% → 0.3% 99.98% │ └─────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ 🎯 A/B TESTS RUNNING (3 active) │ │ │ │ Test #1: New product page layout │ │ Status: Day 8/14 | Variant B winning (+12% cart adds) │ │ │ │ Test #2: Simplified checkout flow │ │ Status: Day 3/14 | Early data promising (+5% complete) │ │ │ │ Test #3: AI-powered recommendations │ │ Status: Day 12/14 | No significant difference (0% lift)│ └─────────────────────────────────────────────────────────┘

Example 3: PhonePe Growth Dashboard

┌─────────────────────────────────────────────────────────┐ │ 📈 NEW USER ACQUISITION │ │ │ │ This Week: 850K signups ↑ 12% WoW │ │ │ │ Channel Breakdown: │ │ Organic: 420K (49%) | CAC: ₹0 | LTV: ₹2,200 │ │ Referrals: 280K (33%) | CAC: ₹350 | LTV: ₹2,800 │ │ Paid Ads: 150K (18%) | CAC: ₹1,100| LTV: ₹1,800 │ │ │ │ 🏆 Best Channel: Referrals (8× LTV/CAC) │ │ ⚠️ Paid Ads: LTV/CAC = 1.6× (below 3× target) │ └─────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ 🎉 ACTIVATION (First Transaction <24 hrs) │ │ │ │ Overall: 68% ↑ 3% WoW 🟢 │ │ │ │ By Channel: │ │ Organic: 72% ↑ 2% (high intent users) │ │ Referrals: 78% ↑ 4% (trusted source) │ │ Paid Ads: 52% ↑ 1% (lower intent) │ │ │ │ Activation Driver: New onboarding flow (+5% vs old) │ └─────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ 💰 UNIT ECONOMICS │ │ │ │ Blended CAC: ₹580 ↓ 8% MoM 🟢 │ │ Blended LTV: ₹2,400 ↑ 12% MoM 🟢 │ │ LTV/CAC Ratio: 4.1× ↑ 0.5× (excellent) 🏆 │ │ Payback Period: 4.2 months (target: <6 months) ✅ │ └─────────────────────────────────────────────────────────┘

⚠️ FinalQuiz error: Missing or invalid questions array

⚠️ SummarySection error: Missing or invalid items array

Received: {"hasItems":false,"isArray":false}