
Kpi Dashboard Design
- 456 installs
- 305 repo stars
- Updated March 4, 2026
- aj-geddes/useful-ai-prompts
kpi-dashboard-design is an AI prompt skill that plans executive and team dashboards tracking north-star metrics, funnels, cohorts, and alerts for developers who need actionable analytics specs before building BI views.
About
kpi-dashboard-design is a prompt skill from aj-geddes/useful-ai-prompts that helps developers and data-minded engineers draft KPI dashboard plans before touching BI tools. It structures north-star metrics, conversion funnels, retention cohorts, and threshold alerts tied to concrete business decisions so engineering teams know which charts, filters, and drill-downs to implement in Metabase, Looker, Grafana, or custom admin panels. Use kpi-dashboard-design when stakeholders ask for an executive overview or team ops board and you need a defensible metric hierarchy instead of ad-hoc SQL charts. The output is a specification-ready blueprint, not live queries.
- North-star and supporting metric selection
- Funnel and cohort visualizations
- Drill-down and filter patterns
- Alert thresholds and anomaly flags
- Stakeholder-specific view layouts
Kpi Dashboard Design by the numbers
- 456 all-time installs (skills.sh)
- Ranked #471 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill kpi-dashboard-designAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 456 |
|---|---|
| repo stars | ★ 305 |
| Last updated | March 4, 2026 |
| Repository | aj-geddes/useful-ai-prompts ↗ |
How do you design a KPI dashboard with funnels and cohorts?
Plan executive and team dashboards that track north-star metrics, funnels, cohorts, and alerts tied to business decisions.
Who is it for?
Developers or tech leads preparing analytics implementations who need a structured KPI and funnel plan before building BI dashboards.
Skip if: Skip kpi-dashboard-design when you only need SQL queries written, ETL pipeline code, or a finished Grafana JSON export without planning.
When should I use this skill?
The user asks to design a KPI dashboard, define north-star metrics, or plan funnel and cohort executive views.
What you get
Dashboard wireframe spec, metric hierarchy, funnel definitions, cohort views, and alert threshold documentation.
- KPI dashboard specification
- metric hierarchy document
- alert threshold plan
Files
KPI Dashboard Design
Table of Contents
Overview
Effective KPI dashboards make performance visible, enable data-driven decisions, and help teams align around shared goals.
When to Use
- Creating performance measurement systems
- Leadership reporting and visibility
- Operational monitoring
- Project progress tracking
- Team performance management
- Customer health monitoring
- Financial reporting
Quick Start
Minimal working example:
# Select relevant, measurable KPIs
class KPISelection:
KPI_CRITERIA = {
'Relevant': 'Directly aligned with business strategy',
'Measurable': 'Can be quantified and tracked',
'Actionable': 'Team can influence the metric',
'Timely': 'Measured frequently (daily/weekly)',
'Bounded': 'Has clear target/threshold',
'Simple': 'Easy to understand'
}
def identify_business_goals(self):
"""Map goals to KPIs"""
return {
'Revenue Growth': [
'Monthly Recurring Revenue (MRR)',
'Annual Recurring Revenue (ARR)',
'Customer Lifetime Value (CLV)',
'Average Revenue Per User (ARPU)'
],
'Customer Acquisition': [
'Customer Acquisition Cost (CAC)',
'Conversion Rate',
'Traffic to Lead Rate',
// ... (see reference guides for full implementation)Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| KPI Selection Framework | KPI Selection Framework |
| Dashboard Design | Dashboard Design |
| Dashboard Implementation | Dashboard Implementation |
| KPI Monitoring & Governance | KPI Monitoring & Governance |
Best Practices
✅ DO
- Start with business goals, not data
- Limit dashboards to 5-7 core metrics
- Include both leading and lagging indicators
- Assign clear metric ownership
- Update dashboards regularly
- Make drill-down available
- Use visual hierarchy effectively
- Test with actual users
- Include context and benchmarks
- Document metric definitions
❌ DON'T
- Create dashboards without clear purpose
- Include too many metrics (analysis paralysis)
- Forget about data quality
- Build without stakeholder input
- Use confusing visualizations
- Leave dashboards stale
- Ignore mobile viewing experience
- Skip training on dashboard usage
- Create metrics no one can influence
- Change metrics frequently
Dashboard Design
Dashboard Design
Dashboard Design Template:
Name: Sales Performance Dashboard
Audience: Sales Team, Management
Update Frequency: Daily
Users: 15 sales reps, 3 managers
---
Dashboard Implementation
Dashboard Implementation
// Build dashboard with data integration
class KPIDashboard {
constructor(config) {
this.config = config;
this.widgets = [];
this.data = {};
this.alerts = [];
}
createWidget(kpi) {
return {
id: `widget-${kpi.id}`,
title: kpi.name,
metric_value: kpi.current_value,
target_value: kpi.target_value,
threshold: this.calculateThreshold(kpi),
visualization: {
type: kpi.chart_type, // 'gauge', 'number', 'chart'
config: this.getVisualizationConfig(kpi),
},
drill_down: true,
refresh_frequency: kpi.refresh_rate || "hourly",
};
}
calculateThreshold(kpi) {
const range = kpi.target_value - kpi.minimum_value;
return {
green: kpi.target_value,
yellow: kpi.target_value - range * 0.2,
red: kpi.target_value - range * 0.5,
status: this.getStatus(kpi),
trend: this.calculateTrend(kpi),
};
}
getStatus(kpi) {
const percentOfTarget = kpi.current_value / kpi.target_value;
if (percentOfTarget >= 1) return "Green";
if (percentOfTarget >= 0.8) return "Yellow";
return "Red";
}
calculateTrend(kpi) {
const change = kpi.current_value - kpi.previous_period_value;
const changePercent = (change / kpi.previous_period_value) * 100;
return {
direction: change > 0 ? "Up" : "Down",
value: Math.abs(changePercent).toFixed(1),
momentum: this.assessMomentum(change, kpi),
};
}
generateAlerts() {
return this.widgets
.filter((w) => w.threshold.status !== "Green")
.map((w) => ({
severity: w.threshold.status,
message: `${w.title} is ${w.threshold.status} (${w.metric_value} vs ${w.target_value} target)`,
action: "Review and investigate",
timestamp: new Date(),
}));
}
exportReport() {
return {
format: ["PDF", "Excel", "CSV"],
include: ["Metrics", "Charts", "Trends", "Commentary"],
schedule: "Weekly, every Monday morning",
};
}
}KPI Monitoring & Governance
KPI Monitoring & Governance
KPI Governance Framework:
Quarterly KPI Review:
- Review progress against targets
- Adjust targets if needed
- Celebrate achievements
- Identify improvement areas
- Update documentation
Annual KPI Assessment:
- Reassess KPI relevance
- Align with strategy changes
- Remove obsolete metrics
- Add new metrics as needed
- Update dashboard design
---
KPI Health Check:
Ask these questions monthly:
1. Is this KPI still relevant?
If No: Mark for retirement
2. Do we have accurate data?
If No: Fix data source
3. Is it actionable?
If No: Drill down to driver metrics
4. Is target realistic?
If No: Adjust based on new data
5. Are we taking action on insights?
If No: Improve governance/communication
---
Common KPI Mistakes to Avoid:
1. Too Many KPIs (limit to 5-7)
2. Lagging metrics only (include leading too)
3. No ownership assigned
4. Targets not aligned with strategy
5. Dashboard not updated regularly
6. No drill-down capability
7. Metrics not actionable by team
8. Ignoring data quality issues
9. No connection to compensation/goals
10. Dashboard unused by stakeholdersKPI Selection Framework
KPI Selection Framework
# Select relevant, measurable KPIs
class KPISelection:
KPI_CRITERIA = {
'Relevant': 'Directly aligned with business strategy',
'Measurable': 'Can be quantified and tracked',
'Actionable': 'Team can influence the metric',
'Timely': 'Measured frequently (daily/weekly)',
'Bounded': 'Has clear target/threshold',
'Simple': 'Easy to understand'
}
def identify_business_goals(self):
"""Map goals to KPIs"""
return {
'Revenue Growth': [
'Monthly Recurring Revenue (MRR)',
'Annual Recurring Revenue (ARR)',
'Customer Lifetime Value (CLV)',
'Average Revenue Per User (ARPU)'
],
'Customer Acquisition': [
'Customer Acquisition Cost (CAC)',
'Conversion Rate',
'Traffic to Lead Rate',
'Sales Pipeline Value'
],
'Customer Retention': [
'Churn Rate',
'Net Promoter Score (NPS)',
'Customer Satisfaction (CSAT)',
'Retention Rate'
],
'Operational Efficiency': [
'Cost per Customer',
'Time to Value',
'System Uptime',
'Support Response Time'
],
'Product Quality': [
'Defect Rate',
'Feature Adoption',
'User Engagement',
'Performance Score'
]
}
def validate_kpi(self, kpi):
"""Check KPI against criteria"""
validation = {}
for criterion, definition in self.KPI_CRITERIA.items():
validation[criterion] = {
'definition': definition,
'assessment': self.assess_criterion(kpi, criterion),
'rating': 'Pass' if self.assess_criterion(kpi, criterion) else 'Fail'
}
is_valid = all(v['rating'] == 'Pass' for v in validation.values())
return {
'kpi': kpi.name,
'validation': validation,
'is_valid': is_valid,
'recommendation': 'Include in dashboard' if is_valid else 'Refine or exclude'
}
def define_kpi_target(self, kpi):
"""Set measurable targets"""
return {
'kpi': kpi.name,
'current_value': kpi.current,
'target_value': kpi.target,
'time_period': 'Q1 2025',
'improvement': f"{(kpi.target - kpi.current) / kpi.current * 100:.1f}%",
'owner': kpi.owner,
'review_frequency': 'Weekly',
'threshold_green': kpi.target,
'threshold_yellow': kpi.target * 0.9,
'threshold_red': kpi.target * 0.7
}#!/bin/bash
# health-check.sh - Check service health
# Usage: ./health-check.sh <service_url>
set -euo pipefail
SERVICE_URL="${{1:?Usage: $0 <service_url>}}"
echo "Checking health: $SERVICE_URL"
# TODO: Implement health checks
# - HTTP endpoint check
# - Response time validation
# - Dependency health
# - Resource utilization
# - Error rate check
echo "Health check complete."
# Monitoring Dashboard Configuration
# TODO: Customize for your monitoring platform (Grafana, Datadog, etc.)
dashboard:
title: "Service Dashboard"
refresh: 30s
panels:
- title: "Request Rate"
type: graph
# TODO: Add metric query
- title: "Error Rate"
type: graph
# TODO: Add metric query
- title: "Latency (p50/p95/p99)"
type: graph
# TODO: Add metric query
alerts:
- name: "High Error Rate"
# TODO: Configure alert thresholds
Related skills
FAQ
What does kpi-dashboard-design produce?
kpi-dashboard-design produces a structured dashboard plan covering north-star metrics, funnel stages, cohort views, and alert thresholds linked to business decisions. The skill outputs specification-ready guidance developers can implement in BI or custom admin tools.
Is kpi-dashboard-design a BI tool?
kpi-dashboard-design is a planning prompt skill, not a live BI connector. It helps developers define which metrics, charts, and alerts belong on executive or team dashboards before writing SQL, Grafana panels, or Looker explores.