返回 Skill 列表
extension
分类: 营销与增长无需 API Key

bi-fundamentals

掌握商业智能基础,包括KPI设计、指标框架、数据素养和分析思维

person作者: jakexiaohubgithub

BI Fundamentals Skill

Master the core concepts of Business Intelligence including KPI design, metrics frameworks, data literacy, and analytical decision-making.

Quick Start (5 minutes)

1. Understand what makes a good KPI (SMART criteria)
2. Learn the difference between metrics and KPIs
3. Explore common BI frameworks (Balanced Scorecard, OKRs)
4. Apply data-driven decision making

Core Concepts

What is Business Intelligence?

Business Intelligence (BI) transforms raw data into actionable insights for better decision-making.

DATA → INFORMATION → INSIGHT → ACTION → VALUE
  ↑         ↑           ↑         ↑
  |         |           |         └─ Business outcome
  |         |           └─ Understanding "so what?"
  |         └─ Context + meaning
  └─ Raw facts/numbers

KPIs vs Metrics

| Aspect | Metric | KPI | |--------|--------|-----| | Purpose | Measure activity | Measure success | | Scope | Operational | Strategic | | Target | Optional | Required | | Audience | Teams | Leadership | | Example | Page views | Conversion rate |

SMART KPI Framework

S - Specific    : Clear and unambiguous
M - Measurable  : Quantifiable with data
A - Achievable  : Realistic given resources
R - Relevant    : Aligned with business goals
T - Time-bound  : Has a deadline or frequency

Example Application:

Bad:  "Improve customer satisfaction"
Good: "Increase NPS score from 45 to 55 by Q4 2025"
      S: NPS score (specific metric)
      M: 45 → 55 (quantifiable)
      A: 10-point increase (realistic)
      R: Customer satisfaction (business goal)
      T: By Q4 2025 (deadline)

Code Examples

KPI Definition Template (YAML)

kpi:
  name: "Customer Acquisition Cost (CAC)"
  category: "Growth"
  owner: "Marketing Director"

  formula:
    numerator: "Total Sales & Marketing Spend"
    denominator: "Number of New Customers Acquired"
    calculation: "SUM(marketing_spend + sales_spend) / COUNT(new_customers)"

  target:
    value: 50
    unit: "USD"
    direction: "lower_is_better"
    threshold_warning: 60
    threshold_critical: 75

  measurement:
    frequency: "monthly"
    data_source: "finance_db.marketing_costs, crm.customers"
    lag_days: 5

  context:
    benchmark_industry: 45
    benchmark_company_historical: 55
    related_kpis: ["LTV", "LTV:CAC Ratio", "Payback Period"]

Metrics Framework (Python-style pseudocode)

# Balanced Scorecard Framework
balanced_scorecard = {
    "financial": {
        "objective": "Increase shareholder value",
        "kpis": [
            {"name": "Revenue Growth", "target": "15% YoY"},
            {"name": "Operating Margin", "target": "25%"},
            {"name": "ROI", "target": "18%"}
        ]
    },
    "customer": {
        "objective": "Improve customer satisfaction",
        "kpis": [
            {"name": "NPS", "target": ">50"},
            {"name": "Customer Retention", "target": ">90%"},
            {"name": "Customer Lifetime Value", "target": ">$500"}
        ]
    },
    "internal_process": {
        "objective": "Optimize operations",
        "kpis": [
            {"name": "Cycle Time", "target": "<3 days"},
            {"name": "Defect Rate", "target": "<1%"},
            {"name": "On-Time Delivery", "target": ">98%"}
        ]
    },
    "learning_growth": {
        "objective": "Build organizational capability",
        "kpis": [
            {"name": "Employee Engagement", "target": ">80%"},
            {"name": "Training Hours per Employee", "target": ">40/year"},
            {"name": "Internal Promotion Rate", "target": ">30%"}
        ]
    }
}

OKR Structure

objective: "Become the market leader in customer experience"

key_results:
  - kr: "Increase NPS from 45 to 65"
    progress: 0
    confidence: "medium"

  - kr: "Reduce average response time from 4 hours to 1 hour"
    progress: 0
    confidence: "high"

  - kr: "Achieve 95% first-contact resolution rate"
    progress: 0
    confidence: "low"

initiatives:
  - "Implement AI chatbot for 24/7 support"
  - "Train all support staff on empathy communication"
  - "Create self-service knowledge base"

Best Practices

KPI Design Principles

  1. Less is More: 5-7 KPIs per area maximum
  2. Balanced View: Include leading and lagging indicators
  3. Actionable: Each KPI should drive specific actions
  4. Owned: Every KPI has a single accountable owner
  5. Reviewed: Regular cadence for KPI review and adjustment

Common Anti-Patterns to Avoid

❌ Vanity Metrics: Metrics that look good but don't drive action
   Example: Total page views (without context)

❌ Metric Overload: Too many KPIs diluting focus
   Example: 50+ KPIs on a dashboard

❌ Lagging Only: All backward-looking, no predictive indicators
   Example: Only measuring revenue, not pipeline

❌ Misaligned Incentives: KPIs that encourage wrong behavior
   Example: Call center measured only on calls/hour

❌ Black Box Metrics: Complex calculations no one understands
   Example: "Engagement Score" with undocumented formula

Data Quality Dimensions

ACCURACY     → Data correctly reflects reality
COMPLETENESS → No missing values or records
TIMELINESS   → Data is current and up-to-date
CONSISTENCY  → Same data across different systems
VALIDITY     → Data conforms to business rules
UNIQUENESS   → No duplicate records

Common Patterns

Industry-Specific KPIs

SaaS / Subscription Business

Growth: MRR, ARR, Net Revenue Retention
Acquisition: CAC, LTV, LTV:CAC Ratio
Engagement: DAU/MAU, Feature Adoption, Time in App
Churn: Logo Churn, Revenue Churn, Expansion Revenue

E-Commerce / Retail

Sales: GMV, AOV, Conversion Rate
Customer: Repeat Purchase Rate, CLV, Cart Abandonment
Operations: Inventory Turnover, Order Fulfillment Time
Marketing: ROAS, Organic vs Paid Traffic %

Manufacturing

Efficiency: OEE, Cycle Time, Throughput
Quality: Defect Rate, First Pass Yield, Scrap Rate
Delivery: On-Time Delivery, Lead Time, Fill Rate
Cost: Cost per Unit, Labor Productivity, Waste %

Metric Hierarchy Template

COMPANY LEVEL (CEO/Board)
├── Revenue Growth (+15% YoY)
├── Profitability (25% EBITDA)
└── Customer Satisfaction (NPS >50)
    │
    ├── DIVISION LEVEL (VP)
    │   ├── Sales Revenue
    │   ├── Marketing Efficiency (CAC)
    │   └── Product Adoption Rate
    │       │
    │       └── TEAM LEVEL (Manager)
    │           ├── Leads Generated
    │           ├── Conversion Rate
    │           ├── Feature Usage
    │           └── Support Tickets
    │               │
    │               └── INDIVIDUAL LEVEL
    │                   ├── Calls Made
    │                   ├── Deals Closed
    │                   └── Tasks Completed

Retry Logic

const executeWithRetry = async (operation: () => Promise<any>) => {
  const retryConfig = {
    maxRetries: 3,
    backoffMs: [1000, 2000, 4000],
    retryableErrors: ['TIMEOUT', 'NETWORK_ERROR', 'RATE_LIMITED']
  };

  for (let attempt = 0; attempt <= retryConfig.maxRetries; attempt++) {
    try {
      return await operation();
    } catch (error) {
      if (attempt === retryConfig.maxRetries) throw error;
      if (!retryConfig.retryableErrors.includes(error.code)) throw error;
      await sleep(retryConfig.backoffMs[attempt]);
    }
  }
};

Logging Hooks

const skillHooks = {
  onSkillStart: (params) => {
    console.log(`[BI-FUNDAMENTALS] Starting: ${params.topic}`);
    metrics.increment('skill.bi_fundamentals.started');
  },

  onSkillComplete: (result) => {
    console.log(`[BI-FUNDAMENTALS] Completed successfully`);
    metrics.increment('skill.bi_fundamentals.completed');
  },

  onSkillError: (error) => {
    console.error(`[BI-FUNDAMENTALS] Error: ${error.message}`);
    metrics.increment('skill.bi_fundamentals.errors');
  }
};

Unit Test Template

describe('BI Fundamentals Skill', () => {
  describe('KPI Design', () => {
    it('should validate SMART criteria', () => {
      const kpi = {
        name: 'Customer Retention Rate',
        target: '90%',
        frequency: 'monthly',
        owner: 'Customer Success Manager'
      };
      expect(validateSMART(kpi)).toBe(true);
    });

    it('should reject vague KPIs', () => {
      const kpi = { name: 'Improve things' };
      expect(validateSMART(kpi)).toBe(false);
    });
  });

  describe('Metrics Framework', () => {
    it('should balance leading and lagging indicators', () => {
      const framework = buildBalancedScorecard(input);
      expect(framework.leadingIndicators.length).toBeGreaterThan(0);
      expect(framework.laggingIndicators.length).toBeGreaterThan(0);
    });
  });
});

Troubleshooting

Common Issues

| Issue | Cause | Solution | |-------|-------|----------| | KPI not moving | Wrong metric selected | Review leading vs lagging | | Data not available | Missing data source | Map data requirements first | | Stakeholder confusion | Complex formula | Simplify and document | | Gaming the metric | Misaligned incentive | Add balancing metrics |

Debug Checklist

  1. ✓ Is the business objective clearly defined?
  2. ✓ Does the KPI formula produce expected results?
  3. ✓ Is the data source reliable and timely?
  4. ✓ Are targets realistic based on historical data?
  5. ✓ Is there an owner accountable for the KPI?

Resources

  • Kaplan & Norton: The Balanced Scorecard (foundational text)
  • John Doerr: Measure What Matters (OKRs)
  • DAMA DMBOK: Data Management Body of Knowledge
  • Bernard Marr: KPI Library (industry benchmarks)

Version History

| Version | Date | Changes | |---------|------|---------| | 1.0.0 | 2024-01 | Initial release | | 2.0.0 | 2025-01 | Production-grade with schemas |