Skip to content
executive-dashboard logo

Executive Dashboard Expert

executive-dashboard

Эксперт executive dashboards. Используй для KPI визуализации, business intelligence и reporting.

SKILL.md

Full skill instructions

Executive Dashboard Expert

Expert in designing and building executive dashboards that deliver actionable insights to C-level executives and senior leadership.

Core Dashboard Principles

Strategic Focus

  • Lead with business outcomes, not data points
  • Align KPIs directly to company objectives and strategic initiatives
  • Prioritize forward-looking metrics over historical reporting
  • Enable drill-down capabilities without overwhelming the main view
  • Design for mobile and presentation contexts

Information Hierarchy

  • Follow the "5-second rule" - key insights visible immediately
  • Use progressive disclosure: summary → trends → details
  • Implement the "traffic light" system for status indicators
  • Group related metrics into coherent business themes
  • Maintain consistent terminology across all metrics

Essential KPI Categories

Financial Performance

const financialKPIs = {
  revenue: {
    current: 'Monthly Recurring Revenue (MRR)',
    trend: 'Revenue Growth Rate (YoY)',
    health: 'Revenue per Employee',
    forecast: 'Pipeline Value & Conversion Rate'
  },
  profitability: {
    margin: 'Gross Margin %',
    efficiency: 'Operating Expense Ratio',
    cash: 'Cash Flow & Burn Rate',
    roi: 'Return on Investment by Initiative'
  },
  unit_economics: {
    cac: 'Customer Acquisition Cost',
    ltv: 'Customer Lifetime Value',
    ltv_cac_ratio: 'LTV:CAC Ratio (target: 3:1)',
    payback: 'CAC Payback Period'
  }
};

Operational Excellence

const operationalKPIs = {
  customers: {
    acquisition: 'Customer Acquisition Cost (CAC)',
    retention: 'Net Revenue Retention (NRR)',
    satisfaction: 'Net Promoter Score (NPS)',
    lifetime: 'Customer Lifetime Value (CLV)',
    churn: 'Monthly/​Annual Churn Rate'
  },
  performance: {
    quality: 'Defect Rate & SLA Performance',
    speed: 'Time to Market & Cycle Time',
    capacity: 'Utilization Rates & Capacity Planning'
  },
  growth: {
    pipeline: 'Sales Pipeline Coverage',
    conversion: 'Stage Conversion Rates',
    velocity: 'Deal Velocity'
  }
};

Dashboard Layout Patterns

Executive Summary Layout

<!-- Top-level executive view -->
<div class="executive-dashboard">
  <!-- Hero Metrics (top 20% of screen) -->
  <section class="hero-metrics">
    <div class="primary-kpi">Revenue: $2.3M ↗️ 12%</​div>
    <div class="status-indicators">
      <span class="green">Growth</​span>
      <span class="yellow">Margins</​span>
      <span class="red">Churn</​span>
    </​div>
  </​section>

  <!-- Key Trends (middle 60%) -->
  <section class="trend-charts">
    <div class="chart-grid">
      <chart type="line" data="revenue-trend" period="12mo"/>
      <chart type="gauge" data="nps-score" target="50"/>
      <chart type="funnel" data="sales-pipeline"/>
      <chart type="heatmap" data="regional-performance"/>
    </​div>
  </​section>

  <!-- Action Items (bottom 20%) -->
  <section class="action-items">
    <alert type="critical">Customer churn up 3% - immediate action required</​alert>
    <insight>Marketing ROI improved 24% - scale successful campaigns</​insight>
  </​section>
</​div>

CSS Grid Layout

.executive-dashboard {
  display: grid;
  grid-template-areas:
    "hero hero hero hero"
    "chart1 chart1 chart2 chart2"
    "chart3 chart4 chart5 chart6"
    "alerts alerts insights insights";
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto 1fr 1fr auto;
  gap: 24px;
  padding: 24px;
  min-height: 100vh;
}

.hero-metrics {
  grid-area: hero;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, #1a365d 0%, #2d3748 100%);
  border-radius: 12px;
  padding: 32px;
}

.primary-kpi {
  font-size: 48px;
  font-weight: 700;
  color: white;
}

.status-indicator {
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 600;
}

.status-indicator.green { background: #48bb78; }
.status-indicator.yellow { background: #ecc94b; color: #1a202c; }
.status-indicator.red { background: #f56565; }

Data Visualization Best Practices

Chart Selection Guidelines

def select_chart_type(data_type, purpose):
    chart_mapping = {
        ('trend', 'time_series'): 'line_chart',
        ('comparison', 'categories'): 'bar_chart',
        ('part_to_whole', 'composition'): 'donut_chart',
        ('performance', 'target'): 'gauge_chart',
        ('correlation', 'scatter'): 'scatter_plot',
        ('geographic', 'regional'): 'choropleth_map',
        ('process', 'conversion'): 'funnel_chart',
        ('distribution', 'variance'): 'box_plot',
        ('ranking', 'top_n'): 'horizontal_bar',
        ('change', 'waterfall'): 'waterfall_chart'
    }
    return chart_mapping.get((data_type, purpose), 'table')

# Executive dashboard color palette
EXEC_COLORS = {
    'success': '#00A86B',    # Green - targets met/​exceeded
    'warning': '#FFB000',    # Amber - attention needed
    'critical': '#D2222D',   # Red - immediate action required
    'neutral': '#708090',    # Gray - informational
    'primary': '#1f4e79',    # Navy - brand/​emphasis
    'secondary': '#4a5568',  # Dark gray - secondary elements
    'background': '#f7fafc'  # Light gray - backgrounds
}

Interactive Elements

class ExecutiveDashboard {
  constructor() {
    this.filters = {
      timeframe: 'YTD',
      region: 'All',
      business_unit: 'All'
    };
    this.alertThresholds = {
      revenue_variance: 0.05,
      customer_churn: 0.02,
      margin_decline: 0.03
    };
  }

  // Auto-refresh critical metrics
  setupRealTimeUpdates() {
    setInterval(() => {
      this.updateMetrics(['revenue', 'active_users', 'system_health']);
      this.checkAlertConditions();
    }, 300000); // 5-minute intervals
  }

  // Contextual drill-downs
  enableDrillDown(metric, level = 'summary') {
    const drillPaths = {
      'revenue': ['total', 'by_product', 'by_region', 'by_customer'],
      'churn': ['rate', 'by_segment', 'by_reason', 'cohort_analysis'],
      'pipeline': ['total', 'by_stage', 'by_rep', 'by_source']
    };
    return drillPaths[metric] || ['summary'];
  }

  // Export for board presentations
  exportToPDF() {
    return {
      format: 'landscape',
      pages: ['executive_summary', 'financial', 'operational'],
      branding: true,
      timestamp: new Date().toISOString()
    };
  }
}

Executive Communication Features

Automated Insights

def generate_executive_insights(metrics_data):
    insights = []

    # Trend analysis
    if metrics_data['revenue_growth'] > 0.15:
        insights.append({
            'type': 'opportunity',
            'message': f"Revenue accelerating at {metrics_data['revenue_growth']:.1%} - consider scaling successful initiatives",
            'action': 'Review top-performing channels for expansion'
        })

    # Anomaly detection
    if abs(metrics_data['current_vs_forecast']) > 0.1:
        insights.append({
            'type': 'alert',
            'message': 'Significant variance from forecast detected',
            'impact': 'May affect quarterly targets',
            'next_steps': 'Schedule forecast review meeting'
        })

    # Churn warning
    if metrics_data['churn_rate'] > metrics_data['churn_threshold']:
        insights.append({
            'type': 'critical',
            'message': f"Churn rate at {metrics_data['churn_rate']:.1%} exceeds threshold",
            'impact': f"Potential ARR loss: ${metrics_data['at_risk_arr']:,.0f}",
            'next_steps': 'Activate retention playbook'
        })

    return sorted(insights, key=lambda x: {'critical': 0, 'alert': 1, 'opportunity': 2}[x['type']])

Board Presentation Export

// Board presentation export
function exportToBoardDeck() {
  const slideTemplates = {
    'executive_summary': {
      layout: 'hero_metrics_with_trend',
      charts: ['revenue_trend', 'key_kpis_table'],
      insights: 'auto_generated'
    },
    'financial_performance': {
      layout: 'financial_grid',
      charts: ['revenue_waterfall', 'margin_analysis', 'cash_flow'],
      commentary: 'variance_explanation'
    },
    'operational_highlights': {
      layout: 'balanced_scorecard',
      charts: ['customer_metrics', 'efficiency_trends'],
      actions: 'priority_initiatives'
    },
    'forward_look': {
      layout: 'forecast_view',
      charts: ['pipeline_coverage', 'growth_projections'],
      risks: 'risk_register_summary'
    }
  };

  return generatePresentation(slideTemplates);
}

Performance and Scalability

Data Refresh Strategy

-- Executive dashboard data mart optimization
CREATE MATERIALIZED VIEW executive_kpis_daily AS
SELECT
    date_key,
    SUM(revenue) as total_revenue,
    COUNT(DISTINCT customer_id) as active_customers,
    AVG(satisfaction_score) as avg_nps,
    SUM(revenue) / COUNT(DISTINCT customer_id) as revenue_per_customer,
    SUM(CASE WHEN is_churned THEN arr ELSE 0 END) as churned_arr,
    SUM(CASE WHEN is_new THEN arr ELSE 0 END) as new_arr
FROM fact_daily_metrics
WHERE date_key >= CURRENT_DATE - INTERVAL '2 years'
GROUP BY date_key;

-- Create index for fast filtering
CREATE INDEX idx_exec_kpis_date ON executive_kpis_daily(date_key);

-- Refresh every 4 hours for near real-time executive view
SELECT cron.schedule('refresh-exec-dashboard', '0 */​4 * * *',
    'REFRESH MATERIALIZED VIEW CONCURRENTLY executive_kpis_daily;');

Caching Strategy

const cacheConfig = {
  // Hero metrics - most viewed, short cache
  heroMetrics: {
    ttl: 300,  // 5 minutes
    preload: true
  },

  // Trend charts - moderate cache
  trendCharts: {
    ttl: 900,  // 15 minutes
    preload: false
  },

  // Historical data - long cache
  historicalData: {
    ttl: 3600,  // 1 hour
    preload: false
  },

  // Real-time metrics - no cache
  realTimeMetrics: {
    ttl: 0,
    streaming: true
  }
};

Mobile Optimization

/​* Mobile-first executive dashboard */
@media (max-width: 768px) {
  .executive-dashboard {
    grid-template-areas:
      "hero"
      "chart1"
      "chart2"
      "alerts";
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .primary-kpi {
    font-size: 32px;
  }

  .chart-container {
    min-height: 200px;
  }

  /​* Touch-friendly controls */
  .filter-button {
    min-height: 44px;
    min-width: 44px;
  }
}

Testing and Validation

Dashboard Quality Checklist

  • 5-Second Test: Key insights visible immediately upon load
  • Mobile Compatibility: Readable on executive mobile devices
  • Data Accuracy: Automated validation against source systems
  • Performance: < 3 second load times for all views
  • Accessibility: Color-blind friendly palette and screen reader support
  • Stakeholder Validation: Monthly review sessions with dashboard users

Automated Testing

def test_dashboard_accuracy():
    """Compare dashboard values to source systems."""

    dashboard_revenue = get_dashboard_metric('total_revenue')
    source_revenue = query_source_system('SELECT SUM(amount) FROM orders')

    variance = abs(dashboard_revenue - source_revenue) / source_revenue

    assert variance < 0.001, f"Revenue variance {variance:.2%} exceeds threshold"

Лучшие практики

  1. 5-second rule — ключевые метрики видны сразу
  2. Progressive disclosure — от общего к деталям
  3. Mobile-first — работает на телефоне CEO
  4. Real-time where needed — критичные метрики обновляются часто
  5. Actionable insights — не просто данные, а рекомендации
  6. Consistent design — единый визуальный язык

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View