business-intelligence
0
总安装量
2
周安装量
安装命令
npx skills add https://github.com/dodatech/approved-skills --skill business-intelligence
Agent 安装分布
claude-code
2
amp
1
opencode
1
kimi-cli
1
codex
1
github-copilot
1
Skill 文档
Business Intelligence
Expert-level business intelligence for data-driven decisions.
Core Competencies
- Dashboard design
- Data visualization
- Reporting automation
- KPI development
- Executive reporting
- Self-service BI
- Data storytelling
- Tool administration
BI Architecture
Data Flow
DATA SOURCES â ETL/ELT â DATA WAREHOUSE â SEMANTIC LAYER â DASHBOARDS
â â â â â
â¼ â¼ â¼ â¼ â¼
CRM, ERP Transform Star Schema Metrics Def Tableau/PBI
APIs, DBs Clean, Load Fact/Dims Calculations Looker/etc
BI Stack Components
PRESENTATION LAYER
âââ Executive dashboards
âââ Operational reports
âââ Self-service exploration
âââ Embedded analytics
SEMANTIC LAYER
âââ Business metrics definitions
âââ Calculated fields
âââ Hierarchies
âââ Row-level security
DATA LAYER
âââ Data warehouse (Snowflake/BigQuery/Redshift)
âââ Data marts
âââ Materialized views
âââ Cached datasets
Dashboard Design
Dashboard Types
Executive Dashboard:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â EXECUTIVE SUMMARY â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â Revenue Pipeline Customers NPS â
â $12.4M $45.2M 2,847 72 â
â +15% YoY +22% QoQ +340 MTD +5 pts â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â REVENUE TREND â REVENUE BY SEGMENT â
â [Line chart: 12 months] â [Pie chart: segments] â
ââââââââââââââââââââââââââââââââââ¼ââââââââââââââââââââââââââââââ¤
â TOP ACCOUNTS â KEY METRICS STATUS â
â [Table: top 10] â [KPI cards with RAG] â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Operational Dashboard:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â DAILY OPERATIONS â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â Orders Today Tickets Open Avg Response SLA Met â
â 1,247 89 12 min 98.5% â
â vs Avg: +8% vs Avg: -12% vs Target: â vs Target: â â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â HOURLY VOLUME â QUEUE STATUS â
â [Area chart: 24h] â [Stacked bar by team] â
ââââââââââââââââââââââââââââââââââ¼ââââââââââââââââââââââââââââââ¤
â ALERTS â TEAM PERFORMANCE â
â [Alert list with severity] â [Table: agents + metrics] â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Design Principles
Visual Hierarchy:
- Most important metrics at top-left
- Summary â Detail flow (top to bottom)
- Related metrics grouped together
- White space for readability
Color Usage:
STATUS COLORS
âââ Green (#28A745): Good/On Track
âââ Yellow (#FFC107): Warning/At Risk
âââ Red (#DC3545): Critical/Off Track
âââ Gray (#6C757D): Neutral/No Status
BRAND COLORS
âââ Primary: Use for emphasis
âââ Secondary: Supporting elements
âââ Accent: Highlights only
DATA COLORS
âââ Sequential: Light â Dark for ranges
âââ Diverging: Different hues for pos/neg
âââ Categorical: Distinct colors per category
Chart Selection:
| Data Type | Best Charts |
|---|---|
| Trend over time | Line, Area |
| Part of whole | Pie, Donut, Treemap |
| Comparison | Bar, Column |
| Distribution | Histogram, Box Plot |
| Relationship | Scatter, Bubble |
| Geographic | Map, Choropleth |
KPI Framework
KPI Development
# KPI Definition: [Metric Name]
## Business Context
- Owner: [Department/Role]
- Purpose: [Why this metric matters]
- Strategic alignment: [Goal it supports]
## Definition
- Formula: [Calculation]
- Data source: [System/Table]
- Granularity: [Daily/Weekly/Monthly]
## Targets
- Target: [Value]
- Threshold (Yellow): [Value]
- Critical (Red): [Value]
## Dimensions
- Time: [Day/Week/Month/Quarter/Year]
- Segments: [By region, product, etc.]
## Caveats
- [Known limitations]
- [Data quality issues]
Metric Categories
Financial:
| Metric | Formula | Frequency |
|---|---|---|
| Revenue | Sum of closed won | Daily |
| MRR | Monthly recurring | Monthly |
| Gross Margin | (Rev – COGS) / Rev | Monthly |
| CAC | S&M Spend / New Customers | Monthly |
| LTV | ARPU à Margin à Lifetime | Quarterly |
Customer:
| Metric | Formula | Frequency |
|---|---|---|
| Active Users | DAU, WAU, MAU | Daily |
| Churn Rate | Lost / Total | Monthly |
| NPS | Promoters – Detractors | Quarterly |
| CSAT | Satisfied / Responses | Weekly |
Operations:
| Metric | Formula | Frequency |
|---|---|---|
| Throughput | Units / Time | Hourly |
| Error Rate | Errors / Total | Daily |
| Cycle Time | End – Start | Daily |
| Utilization | Active / Capacity | Daily |
Report Automation
Report Types
Scheduled Reports:
report:
name: Weekly Sales Report
schedule: "0 8 * * MON" # Every Monday 8am
recipients:
- sales-team@company.com
- leadership@company.com
format: PDF
pages:
- Executive Summary
- Pipeline Analysis
- Rep Performance
- Forecast
Threshold Alerts:
alert:
name: Revenue Below Target
metric: daily_revenue
condition: actual < target * 0.9
frequency: daily
channels:
- email: finance@company.com
- slack: #revenue-alerts
message: |
Daily revenue of ${actual} is ${pct_diff}% below target.
Top contributing factors: ${top_factors}
Automation Patterns
def generate_report(report_config):
"""
Automated report generation workflow
"""
# 1. Refresh data
refresh_data_sources(report_config['sources'])
# 2. Calculate metrics
metrics = calculate_metrics(report_config['metrics'])
# 3. Generate visualizations
charts = create_visualizations(metrics, report_config['charts'])
# 4. Build report
report = compile_report(
metrics=metrics,
charts=charts,
template=report_config['template']
)
# 5. Distribute
distribute_report(
report=report,
recipients=report_config['recipients'],
format=report_config['format']
)
return report
Self-Service BI
Enablement Framework
SELF-SERVICE MATURITY MODEL
Level 1: Report Consumers
âââ View existing dashboards
âââ Apply filters
âââ Export data
Level 2: Data Explorers
âââ Ad-hoc queries
âââ Create simple charts
âââ Share findings
Level 3: Report Builders
âââ Design dashboards
âââ Combine data sources
âââ Create calculated fields
Level 4: Data Modelers
âââ Create data models
âââ Define metrics
âââ Optimize performance
Data Catalog
# Data Catalog Entry
## Dataset: sales_opportunities
### Description
Contains all sales opportunities from CRM
### Schema
| Column | Type | Description |
|--------|------|-------------|
| opp_id | STRING | Unique identifier |
| account_id | STRING | Related account |
| amount | DECIMAL | Deal value |
| stage | STRING | Pipeline stage |
| close_date | DATE | Expected close |
| owner_id | STRING | Sales rep |
### Refresh
- Frequency: Every 4 hours
- Source: Salesforce API
- Last refresh: 2024-01-15 08:00 UTC
### Usage Notes
- Filter by is_deleted = false
- Amount is always in USD
- Stage values: Prospect, Discovery, Demo, Proposal, Negotiation, Closed Won, Closed Lost
### Related Datasets
- accounts
- sales_reps
- products
Data Storytelling
Narrative Structure
SITUATION â COMPLICATION â RESOLUTION
1. SITUATION (Context)
"Last quarter, we set a goal to increase customer retention by 10%"
2. COMPLICATION (Problem/Opportunity)
"However, churn increased by 5% in our enterprise segment"
3. RESOLUTION (Insight + Action)
"Analysis shows onboarding time correlates with churn.
Reducing onboarding from 30 to 14 days could save $2M annually"
Insight Framework
# Insight: [Title]
## What happened?
[Describe the observation in data]
## Why does it matter?
[Business impact and context]
## Why did it happen?
[Root cause analysis]
## What should we do?
[Recommended actions]
## Supporting Data
[Charts and metrics]
Presentation Template
EXECUTIVE PRESENTATION STRUCTURE
1. Headlines First (2-3 key takeaways)
2. Context (why we're looking at this)
3. Key Findings (data + insights)
4. Implications (what it means)
5. Recommendations (what to do)
6. Appendix (detailed data)
Tool Administration
Performance Optimization
Dashboard Performance:
OPTIMIZATION CHECKLIST
â¡ Limit visualizations per page (5-8 max)
â¡ Use data extracts vs live connections
â¡ Minimize calculated fields in viz
â¡ Use context filters effectively
â¡ Aggregate data at source when possible
â¡ Schedule refreshes during off-peak
â¡ Monitor query execution times
Query Optimization:
-- Bad: Full table scan
SELECT * FROM large_table
WHERE date >= '2024-01-01';
-- Good: Partitioned and filtered
SELECT required_columns
FROM large_table
WHERE partition_date >= '2024-01-01'
AND status = 'active'
LIMIT 10000;
Governance
Access Control:
security_model:
row_level_security:
- rule: region_access
filter: "region = user.region"
- rule: team_access
filter: "team_id IN user.teams"
object_permissions:
- role: viewer
permissions: [view, export]
- role: editor
permissions: [view, export, edit]
- role: admin
permissions: [view, export, edit, delete, publish]
Data Quality Monitoring:
DATA QUALITY CHECKS
âââ Freshness: Is data current?
âââ Completeness: Are all records present?
âââ Accuracy: Do values make sense?
âââ Consistency: Do related metrics align?
âââ Uniqueness: Are there duplicates?
Reference Materials
references/dashboard_patterns.md– Dashboard design patternsreferences/visualization_guide.md– Chart selection guidereferences/kpi_library.md– Standard KPI definitionsreferences/storytelling.md– Data storytelling techniques
Scripts
# Dashboard performance analyzer
python scripts/dashboard_analyzer.py --dashboard "Sales Overview"
# KPI calculator
python scripts/kpi_calculator.py --config metrics.yaml --output report.json
# Report generator
python scripts/report_generator.py --template weekly_sales --format pdf
# Data quality checker
python scripts/data_quality.py --dataset sales_opportunities --checks all