This recipe produces a stage-appropriate KPI dashboard for a startup — selecting the right 5-7 metrics based on whether the company is pre-PMF (tracking activation, retention, NPS, and engagement) or post-PMF (tracking MRR, CAC, LTV, churn, and NRR). The output is a configured tracking system with precise metric definitions, current 2025-2026 benchmarks, and a weekly review cadence that evolves as the company progresses through stages. [src1]
Which path?
├── Pre-PMF AND no analytics tools
│ └── PATH A: Manual — spreadsheet + basic product queries
├── Pre-PMF AND has product analytics
│ └── PATH B: Product-Led — Mixpanel/PostHog + spreadsheet
├── Post-PMF AND basic setup
│ └── PATH C: Revenue Metrics — Stripe + Baremetrics/ProfitWell + spreadsheet
└── Post-PMF AND scaling
└── PATH D: Full Stack — ChartMogul/Baremetrics + product analytics + data warehouse
| Path | Tools | Cost | Setup Time | Output Quality |
|---|---|---|---|---|
| A: Manual | Google Sheets + SQL queries | $0 | 2-3 hours | Basic — manual updates, good for <20 users |
| B: Product-Led | Mixpanel/PostHog + Sheets | $0 | 3-4 hours | Good — automated product metrics, manual revenue |
| C: Revenue Metrics | Baremetrics + Stripe + Sheets | $0-100/mo | 2-3 hours | Good — automated revenue metrics, basic product |
| D: Full Stack | ChartMogul + Mixpanel + Looker | $200-500/mo | 4-6 hours | Excellent — full automation, investor-ready |
Duration: 30 minutes · Tool: Self-assessment checklist
Classify the startup using stage indicators: revenue ($0-$10K MRR = pre-PMF, $10K-$100K = early post-PMF, $100K-$1M = growth, $1M+ = scale), customer count, demand source, and PMF signal strength. [src3]
Pre-PMF (5 metrics): activation rate, week 1 retention, week 4 retention, NPS/Sean Ellis score, qualitative signal count.
Early Post-PMF (6 metrics): MRR, MRR growth rate, logo churn rate, activation rate, month 3 retention (by cohort), CAC payback period.
Growth (7 metrics): ARR, NRR, CAC, LTV, LTV:CAC ratio, gross margin, burn multiple.
Scale (7 metrics): ARR growth rate, NRR, Rule of 40, CAC payback by channel, gross margin, Magic Number, ARR per employee.
Verify: Stage classification matches at least 3 of 5 indicators. · If failed: If indicators span two stages, track metrics from both and use the earlier-stage set as primary.
Duration: 30-60 minutes · Tool: Document or spreadsheet
For each selected KPI, document the exact definition, formula, data source, and measurement period. Ambiguous definitions break metric integrity across team members and tools. [src4]
Verify: Every metric has a written definition, formula, data source, and measurement cadence. · If failed: Replace unmeasurable metrics with the closest available proxy and document the gap.
Duration: 30 minutes · Tool: Spreadsheet
Assign three target tiers (minimum, good, excellent) using current 2025-2026 benchmarks. Key targets: activation rate (>20% / >40% / >60%), logo churn (<5% / <3% / <1.5%), LTV:CAC (>3:1 / >4:1 / >6:1), NRR (>100% / >110% / >120%), gross margin (>60% / >70% / >80%). [src5] [src6]
Verify: All KPIs have three benchmark tiers sourced from 2025-2026 data. · If failed: Use general B2B SaaS benchmarks and note the caveat.
Duration: 1-2 hours · Tool: Stripe + Baremetrics/ChartMogul + Mixpanel/PostHog
Path A: Google Sheets dashboard with manual weekly updates from database queries. Path B: Mixpanel/PostHog for product metrics + spreadsheet for revenue. Path C: Baremetrics connected to Stripe (free <$10K MRR) for automated MRR, churn, LTV. Path D: ChartMogul + Mixpanel piped to a data warehouse with Looker Studio or Metabase dashboard. [src4]
Verify: Dashboard loads with real data and all selected KPIs display current values. · If failed: Use Stripe built-in analytics as fallback and retry integration.
Duration: 30 minutes · Tool: Calendar + Notion/Google Docs
Establish review cadence: weekly (30 min — scan KPIs, flag threshold crossings, pick one focus metric), monthly (60 min — MoM changes, cohort update, benchmark comparison), quarterly (90 min — recalculate LTV/CAC, reassess stage, update benchmarks). [src1]
Verify: Weekly review template created and first review completed. · If failed: Simplify to 3 metrics and a 15-minute standup until the habit forms.
Duration: 15 minutes · Tool: Document
Set explicit transition criteria. Pre-PMF → Post-PMF: Sean Ellis >40%, week 4 retention >30% for 3 cohorts, 10+ paying customers, >$10K MRR. Post-PMF → Growth: >$100K MRR, churn <5% for 3 months, repeatable channel, LTV:CAC >3:1. Growth → Scale: >$10M ARR, NRR >110% for 4 quarters, gross margin >70%, Rule of 40 >30. [src3]
Verify: Transition triggers documented and current status assessed. · If failed: If triggers conflict, stay in current stage and address the lagging metric first.
{
"output_type": "kpi_framework",
"format": "dashboard configuration + tracking spreadsheet + review template",
"columns": [
{"name": "stage", "type": "string", "description": "Current startup stage classification", "required": true},
{"name": "kpi_name", "type": "string", "description": "Name of the KPI", "required": true},
{"name": "definition", "type": "string", "description": "Precise metric definition", "required": true},
{"name": "formula", "type": "string", "description": "Calculation formula", "required": true},
{"name": "current_value", "type": "number", "description": "Latest measured value", "required": true},
{"name": "target_minimum", "type": "number", "description": "Minimum acceptable threshold", "required": true},
{"name": "target_good", "type": "number", "description": "Good performance threshold", "required": true},
{"name": "target_excellent", "type": "number", "description": "Excellent performance threshold", "required": true},
{"name": "trend", "type": "string", "description": "WoW or MoM direction", "required": false},
{"name": "data_source", "type": "string", "description": "Where the metric is pulled from", "required": true}
],
"expected_row_count": "5-7 per stage",
"sort_order": "by priority within stage",
"deduplication_key": "kpi_name"
}
| Quality Metric | Minimum Acceptable | Good | Excellent |
|---|---|---|---|
| KPIs defined with precise formulas | 5 metrics | 6 metrics | 7 metrics with variants |
| Benchmarks sourced from 2025-2026 data | 3 benchmarked | 5 benchmarked | All benchmarked with segment specificity |
| Tracking automation | Manual weekly updates | Semi-automated (1 tool) | Fully automated (all sources) |
| Review cadence adherence | Monthly reviews | Weekly reviews | Weekly + monthly + quarterly |
| Team alignment on definitions | Founder understands | Team uses same definitions | Documented and shared with investors |
If below minimum: Focus on getting 5 core metrics defined and manually tracked before adding tools. Metric selection matters more than dashboard polish.
| Error | Likely Cause | Recovery Action |
|---|---|---|
| Activation rate is 0% or undefined | “Activation” not defined for this product | Run user research to identify first value moment. Use “completed onboarding” as interim proxy |
| Retention chart shows only first cohort | Not enough time for cohort analysis | Track for minimum 4 weeks. Use daily active users as interim signal |
| MRR diverges from Stripe | Annual plans or add-ons not normalized | Convert all plans to monthly equivalent. Exclude one-time charges. Reconcile with Stripe MRR report |
| CAC is unrealistically low | Founder time not included | Add founder salary equivalent (pro-rated for sales time) to CAC calculation |
| LTV:CAC ratio >10:1 | Too few customers for reliable LTV | Require 6+ months churn data and 50+ customers before trusting LTV |
| NRR above 150% | Outlier expansion deal skewing average | Exclude top 5% expansion events and report both versions |
| Baremetrics/ChartMogul not syncing | Stripe API connection dropped | Reconnect integration. Check webhook delivery in Stripe dashboard |
| Component | Free Tier | Starter | Growth |
|---|---|---|---|
| Revenue metrics (Baremetrics) | Free (<$10K MRR) | $108/mo | $240/mo |
| Revenue metrics (ChartMogul) | Free (<$10K MRR) | $100/mo | $150+/mo |
| Product analytics (Mixpanel) | Free (20M events/mo) | $28/mo | Custom |
| Product analytics (PostHog) | Free (1M events/mo) | $0 (self-hosted) | Usage-based |
| Survey tool (Delighted) | Free (250 responses/mo) | $224/mo | Custom |
| Dashboard (Looker Studio / Sheets) | $0 | $0 | $0 |
| Total (Path A) | $0 | $0 | $0 |
| Total (Path B) | $0 | $28/mo | $100+/mo |
| Total (Path C) | $0 | $108-128/mo | $268-400/mo |
| Total (Path D) | $0 | $236-356/mo | $490-800/mo |
Optimizing revenue metrics pre-PMF leads founders to chase paying customers who don’t retain. Five enterprise deals closed through heavy discounting look great on MRR charts but mask the fact that nobody actually needs the product. [src2]
Pre-PMF, the only metrics that matter are whether users reach the value moment (activation) and whether they come back (retention). Revenue follows product-market fit, not the other way around.
An aggregate retention number hides whether the product is improving. If early cohorts had strong retention and recent cohorts do not, the average looks acceptable while the product is degrading. [src5]
Build a cohort retention chart from day one. Each row is a signup cohort, each column is the time period. This is the single most honest view of product health.
Median SaaS growth rates dropped significantly from 2022 to 2024-2025. Targeting growth-era metrics when the market has reset leads to unrealistic expectations and poor resource allocation. [src5]
Efficient growth (burn multiple <2x, Rule of 40) matters more than growth rate alone. Calibrate targets to current market conditions.
Use this recipe when a startup founder or operator needs to determine which metrics to track at their current stage and set up a systematic tracking and review process. Requires clarity on startup stage and access to basic product usage data. This produces a configured KPI system — not a document about metrics theory.