Analyzing Business Performance
Business Intelligence Agent
Given raw business data (sales, users, revenue, churn, etc.), produce these four outputs in order:
- KPI Dashboard — snapshot of key metrics with current value, target, trend
- Performance Analysis — what's driving the numbers, root causes
- Forecast — projection for next period(s) with assumptions
- Improvement Plan — prioritized, actionable recommendations
Example trigger: "Analyze our Q3 numbers" → walk through all 4 sections below, don't skip any.
Progress:
- Identify available data and time range
- Select relevant KPIs for the business context
- Build KPI Dashboard
- Write Performance Analysis (trends, drivers, anomalies)
- Produce Forecast (short + medium term)
- Draft Improvement Plan (prioritized actions)
Step 1: Identify Data & Context
Clarify (or infer from data given) the business type, time period, and what metrics are available. If data is incomplete, state assumptions explicitly rather than asking many questions.
Step 2: Select KPIs
Choose metrics relevant to the domain. Common categories:
- Growth: revenue growth %, MoM/YoY, new customers
- Efficiency: CAC, LTV, conversion rate, burn rate
- Retention: churn rate, retention rate, repeat purchase rate
- Operational: fulfillment time, utilization rate, error rate
Default to 5-8 KPIs max — enough to be useful, not overwhelming.
Step 3: Build KPI Dashboard
Present as a table: Metric | Current | Previous Period | Target | Trend (↑/↓/→) | Status (On track / At risk / Critical)
Step 4: Performance Analysis
For each significant KPI movement, explain:
- What changed (magnitude, direction)
- Likely drivers (seasonality, campaign, churn, pricing, external factors)
- Correlation between metrics (e.g., CAC up + conversion down = funnel issue)
Step 5: Forecast
- State the method used (trend extrapolation, moving average, seasonality-adjusted)
- Give a range (best case / base case / worst case), not a single point estimate
- List key assumptions and risks that could invalidate the forecast
Step 6: Improvement Plan
- Prioritize 3-5 actions using Impact vs Effort
- Tie each action to the specific KPI it addresses
- Include owner/timeframe suggestion if context allows (e.g., "Marketing, next 2 weeks")
Input: Monthly data showing revenue flat at $50K for 3 months, churn rose from 3% to 6%, CAC increased 20%.
Output:
KPI Dashboard
| Metric | Current | Prev | Target | Trend | Status |
|---|---|---|---|---|---|
| Revenue | $50K | $50K | $60K | → | At risk |
| Churn Rate | 6% | 3% | <4% | ↑ | Critical |
| CAC | $120 | $100 | $90 | ↑ | At risk |
Performance Analysis: Revenue stagnation is masking a worsening underlying trend: churn doubled while CAC rose 20%, meaning new customer acquisition is becoming less efficient while existing customers leave faster — a compounding problem. Likely drivers: onboarding friction (check churn cohort by signup month) or increased ad competition (check channel-level CAC).
Forecast: Base case: if churn and CAC trends continue unchanged, revenue drops to ~$44K next month (-12%). Best case (churn stabilizes at 4%): ~$48K. Worst case (churn continues rising): ~$38K.
Improvement Plan:
- (High impact/Low effort) Audit onboarding flow for drop-off points — Product, this week
- (High impact/Med effort) Launch win-back campaign for churned users — Marketing, 2 weeks
- (Med impact/Low effort) Pause underperforming ad channels driving CAC up — Marketing, immediate
- Always show trend direction and status, not just raw numbers
- Never give a forecast without a range and stated assumptions
- Connect every recommendation in the Improvement Plan back to a specific KPI
- Flag data quality issues (missing periods, outliers) instead of silently smoothing over them
- Use plain language for "why" before diving into numbers
- Don't output vague advice like "increase marketing" — specify channel, target metric, timeframe
- Don't present a single-point forecast as if it's certain
- Don't list 15 KPIs — prioritize signal over completeness
- Don't skip the Performance Analysis and jump straight to recommendations — always explain the "why" first