Kpi Dashboard Design

作者 wshobson46891e7e60da無授權條款收錄於 2026年10月8日更新於 2026年10月8日

Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use this skill when building an executive SaaS metrics dashboard tracking MRR, churn, and LTV/CAC ratios; designing an operations center with live service health and request throughput; creating a cohort retention analysis view for a product team; or debugging a dashboard where metrics contradict each other due to inconsistent calculation methodology.

AI 產生的概覽

指導 KPI 儀表板設計,涵蓋指標選擇、版面層級、視覺化實務與監控模式。

功能
這項技能為設計 KPI 儀表板提供指引,包含策略/戰術/營運三層架構、SMART KPI 準則,以及從高階摘要到明細下鑽的儀表板層級。它列出最佳實務,並針對常見問題提供排查模式,例如 MRR 計算方式不一致、只追蹤落後的可用性指標、留存世代過於平坦、即時刷新拖垮資料庫,以及告警疲乏。產出是設計建議與範例 SQL、Python 片段,而非實際執行程式碼。
適用情境
適用於規劃或改善高階、部門或營運儀表板、挑選有意義的 KPI,或診斷指標互相矛盾、告警不可靠的儀表板。
執行需求
不含指令碼,僅為說明性內容。它引用配套檔案 references/details.md 以取得更多範例。範例 SQL 與 Python 片段僅供示意,實際落地需具備資料庫與排程環境。

KPI Dashboard Design

Comprehensive patterns for designing effective Key Performance Indicator (KPI) dashboards that drive business decisions.

When to Use This Skill

  • Designing executive dashboards
  • Selecting meaningful KPIs
  • Building real-time monitoring displays
  • Creating department-specific metrics views
  • Improving existing dashboard layouts
  • Establishing metric governance

Core Concepts

1. KPI Framework

LevelFocusUpdate FrequencyAudience
StrategicLong-term goalsMonthly/QuarterlyExecutives
TacticalDepartment goalsWeekly/MonthlyManagers
OperationalDay-to-dayReal-time/DailyTeams

2. SMART KPIs

Specific: Clear definitionMeasurable: QuantifiableAchievable: Realistic targetsRelevant: Aligned to goalsTime-bound: Defined period

3. Dashboard Hierarchy

├── Executive Summary (1 page)│   ├── 4-6 headline KPIs│   ├── Trend indicators│   └── Key alerts├── Department Views│   ├── Sales Dashboard│   ├── Marketing Dashboard│   ├── Operations Dashboard│   └── Finance Dashboard└── Detailed Drilldowns    ├── Individual metrics    └── Root cause analysis

Detailed worked examples and patterns

Detailed sections (starting with ## Common KPIs by Department) live in references/details.md. Read that file when the navigation summary above is insufficient.

Best Practices

Do's

  • Limit to 5-7 KPIs - Focus on what matters
  • Show context - Comparisons, trends, targets
  • Use consistent colors - Red=bad, green=good
  • Enable drilldown - From summary to detail
  • Update appropriately - Match metric frequency

Don'ts

  • Don't show vanity metrics - Focus on actionable data
  • Don't overcrowd - White space aids comprehension
  • Don't use 3D charts - They distort perception
  • Don't hide methodology - Document calculations
  • Don't ignore mobile - Ensure responsive design

Troubleshooting

MRR shown on dashboard contradicts finance's number

The most common cause is inconsistent treatment of annual plans. Finance may prorate to a daily rate while the dashboard normalizes to monthly. Align on a single formula and document it directly on the dashboard card:

sql
-- Explicit formula shown in tooltip / data dictionary-- Annual plans: divide total contract value by 12-- Quarterly plans: divide by 3-- Monthly plans: use as-isCASE subscription_interval    WHEN 'monthly'   THEN amount    WHEN 'quarterly' THEN amount / 3.0    WHEN 'yearly'    THEN amount / 12.0END AS normalized_mrr

Dashboard shows green but product team reports users complaining

The dashboard likely tracks system uptime (a lagging indicator) but not user-facing quality metrics. Add customer-perceived metrics alongside infrastructure metrics:

Infrastructure (green)User-perceived (add these)
API uptime 99.9%P95 page load time
Error rate 0.1%Task completion rate
Queue depth normalSupport ticket volume

Retention cohort looks flat — no variation between cohorts

Check whether the cohort query is partitioning by signup month correctly. A common bug is using created_at::date instead of DATE_TRUNC('month', created_at), which groups by day and produces cohorts too small to show trends:

sql
-- Wrong: too granular, cohorts are too smallDATE_TRUNC('day', created_at) AS cohort_date
-- Correct: monthly cohortsDATE_TRUNC('month', created_at) AS cohort_month

Real-time dashboard hammers the database

A live dashboard refreshing every 10 seconds with complex cohort SQL will degrade production query performance. Separate OLAP workloads from OLTP by writing pre-aggregated metrics to a summary table via a scheduled job, and have the dashboard read from that:

python
# Scheduled every 5 minutes via cron/Celerydef refresh_mrr_summary():    conn.execute("""        INSERT INTO kpi_snapshot (metric, value, snapshot_at)        SELECT 'mrr', SUM(...), NOW()        FROM subscriptions WHERE status = 'active'        ON CONFLICT (metric) DO UPDATE SET value = EXCLUDED.value    """)

Alert thresholds fire constantly, team ignores them

Static thresholds set once and never reviewed cause alert fatigue. Use dynamic thresholds based on rolling averages so alerts fire only when the metric deviates significantly from its own baseline:

python
# Alert if current value is > 2 standard deviations from 30-day rolling meandef is_anomalous(current: float, history: list[float]) -> bool:    mean = statistics.mean(history)    stdev = statistics.stdev(history)    return abs(current - mean) > 2 * stdev

Related Skills

  • data-storytelling - Turn dashboard findings into narratives that drive executive decisions

來源與署名

來源:wshobson/agents位於plugins/business-analytics/skills/kpi-dashboard-design提交46891e7

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架