SaaS Metrics Coach Skill
Overview
Production-ready SaaS metrics toolkit for calculating MRR/ARR, analyzing cohort retention, and evaluating unit economics. Designed for SaaS founders, finance teams, and growth operators who need precise subscription revenue analysis without spreadsheet gymnastics.
Clarify First
Before calculating, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
Quick Start
# Calculate MRR, ARR, growth rate, and churn from subscription data
python scripts/mrr_calculator.py subscriptions.csv
# Run cohort retention analysis
python scripts/cohort_analyzer.py users.csv --cohort-period monthly
# Calculate LTV, CAC, LTV:CAC ratio, and payback period
python scripts/unit_economics.py metrics.json
Tools Overview
| Tool |
Purpose |
Input |
Output |
mrr_calculator.py |
MRR, ARR, growth rate, churn |
CSV with subscription data |
Revenue metrics + trends |
cohort_analyzer.py |
Cohort retention analysis |
CSV with user signup/activity data |
Retention matrix + curves |
unit_economics.py |
LTV, CAC, LTV:CAC, payback |
JSON with acquisition/revenue data |
Unit economics dashboard |
Workflows
Workflow 1: Monthly SaaS Health Check
- Export subscription data as CSV (columns: customer_id, plan, mrr, start_date, end_date)
- Run
mrr_calculator.py to get current MRR, ARR, net new MRR, churn rate
- Run
cohort_analyzer.py on user activity data to identify retention trends
- Run
unit_economics.py to validate LTV:CAC ratio stays above 3:1
- Review output for warning flags (churn > 5%, LTV:CAC < 3, payback > 18 months)
Workflow 2: Investor Deck Preparation
- Run
mrr_calculator.py --format json to get growth metrics for charts
- Run
cohort_analyzer.py --format json for retention curves
- Run
unit_economics.py --format json for unit economics summary
- Use JSON output to populate investor deck data points
Workflow 3: Churn Investigation
- Run
mrr_calculator.py with --breakdown to see churn by plan tier
- Run
cohort_analyzer.py to identify which cohorts churn fastest
- Cross-reference cohort drop-off periods with product changes
- Identify if churn is concentrated in specific segments or time windows
Reference Documentation
Key SaaS Metrics Definitions
- MRR (Monthly Recurring Revenue): Sum of all active subscription revenue normalized to monthly
- ARR (Annual Recurring Revenue): MRR x 12
- Net New MRR: New MRR + Expansion MRR - Churned MRR - Contraction MRR
- Gross Churn Rate: Lost MRR / Beginning MRR for the period
- Net Revenue Retention (NRR): (Beginning MRR + Expansion - Churn - Contraction) / Beginning MRR
- LTV (Lifetime Value): ARPU / Monthly Churn Rate (simplified) or ARPU x Gross Margin / Churn
- CAC (Customer Acquisition Cost): Total Sales & Marketing Spend / New Customers Acquired
- LTV:CAC Ratio: Target 3:1 or higher for healthy SaaS
- CAC Payback Period: CAC / (ARPU x Gross Margin) in months
See references/saas-metrics-guide.md for comprehensive framework details.
Common Patterns
Pattern: Subscription CSV Format
customer_id,plan,mrr,start_date,end_date,status
C001,pro,99.00,2025-01-15,,active
C002,basic,29.00,2025-02-01,2025-08-15,churned
C003,enterprise,499.00,2025-03-10,,active
Pattern: User Activity CSV Format
user_id,signup_date,last_active_date,activity_month
U001,2025-01-05,2025-06-15,2025-06
U002,2025-01-12,2025-03-20,2025-03
Pattern: Unit Economics JSON Format
{
"period": "2025-Q4",
"total_customers": 1200,
"new_customers": 150,
"churned_customers": 45,
"total_mrr": 89500.00,
"arpu": 74.58,
"gross_margin": 0.82,
"sales_marketing_spend": 45000.00,
"monthly_churn_rate": 0.0375
}
Healthy SaaS Benchmarks
| Metric |
Concerning |
Acceptable |
Strong |
| Monthly Churn |
> 5% |
2-5% |
< 2% |
| Net Revenue Retention |
< 90% |
90-110% |
> 120% |
| LTV:CAC |
< 1:1 |
1:1-3:1 |
> 3:1 |
| CAC Payback |
> 24 mo |
12-18 mo |
< 12 mo |
| Gross Margin |
< 60% |
60-75% |
> 75% |
1---2name: saas-metrics-coach3description: This skill should be used when the user asks to "calculate MRR", "analyze churn", "compute SaaS metrics", "do cohort retention analysis", "calculate LTV or CAC", "evaluate unit economics", or "track subscription revenue growth".4license: MIT + Commons Clause5---6# SaaS Metrics Coach Skill
7
8## Overview
9
10Production-ready SaaS metrics toolkit for calculating MRR/ARR, analyzing cohort retention, and evaluating unit economics. Designed for SaaS founders, finance teams, and growth operators who need precise subscription revenue analysis without spreadsheet gymnastics.
11
12## Clarify First
13
14Before calculating, confirm these inputs. If any is unknown or vague, ASK — do not assume:
15
16- [ ] **Which metric set** — MRR/ARR growth, cohort retention, or unit economics (selects the script and the input format: subscription CSV, activity CSV, or metrics JSON)
17- [ ] **Reporting period + currency handling** — the window and how multi-currency MRR is normalized (changes every revenue and churn figure)
18- [ ] **Gross margin** — the margin to apply (drives LTV and CAC payback; LTV = ARPU x margin / churn)
19- [ ] **Churn definition** — gross vs. net, logo vs. revenue (changes churn rate, NRR, and the health-flag verdict)
20
21Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
22
23## Quick Start
24
25```bash
26# Calculate MRR, ARR, growth rate, and churn from subscription data
27python scripts/mrr_calculator.py subscriptions.csv
28
29# Run cohort retention analysis
30python scripts/cohort_analyzer.py users.csv --cohort-period monthly
31
32# Calculate LTV, CAC, LTV:CAC ratio, and payback period
33python scripts/unit_economics.py metrics.json
34```
35
36## Tools Overview
37
38| Tool | Purpose | Input | Output |
39|------|---------|-------|--------|
40| `mrr_calculator.py` | MRR, ARR, growth rate, churn | CSV with subscription data | Revenue metrics + trends |
41| `cohort_analyzer.py` | Cohort retention analysis | CSV with user signup/activity data | Retention matrix + curves |
42| `unit_economics.py` | LTV, CAC, LTV:CAC, payback | JSON with acquisition/revenue data | Unit economics dashboard |
43
44## Workflows
45
46### Workflow 1: Monthly SaaS Health Check
47
481. Export subscription data as CSV (columns: customer_id, plan, mrr, start_date, end_date)
492. Run `mrr_calculator.py` to get current MRR, ARR, net new MRR, churn rate
503. Run `cohort_analyzer.py` on user activity data to identify retention trends
514. Run `unit_economics.py` to validate LTV:CAC ratio stays above 3:1
525. Review output for warning flags (churn > 5%, LTV:CAC < 3, payback > 18 months)
53
54### Workflow 2: Investor Deck Preparation
55
561. Run `mrr_calculator.py --format json` to get growth metrics for charts
572. Run `cohort_analyzer.py --format json` for retention curves
583. Run `unit_economics.py --format json` for unit economics summary
594. Use JSON output to populate investor deck data points
60
61### Workflow 3: Churn Investigation
62
631. Run `mrr_calculator.py` with `--breakdown` to see churn by plan tier
642. Run `cohort_analyzer.py` to identify which cohorts churn fastest
653. Cross-reference cohort drop-off periods with product changes
664. Identify if churn is concentrated in specific segments or time windows
67
68## Reference Documentation
69
70### Key SaaS Metrics Definitions
71
72- **MRR (Monthly Recurring Revenue):** Sum of all active subscription revenue normalized to monthly
73- **ARR (Annual Recurring Revenue):** MRR x 12
74- **Net New MRR:** New MRR + Expansion MRR - Churned MRR - Contraction MRR
75- **Gross Churn Rate:** Lost MRR / Beginning MRR for the period
76- **Net Revenue Retention (NRR):** (Beginning MRR + Expansion - Churn - Contraction) / Beginning MRR
77- **LTV (Lifetime Value):** ARPU / Monthly Churn Rate (simplified) or ARPU x Gross Margin / Churn
78- **CAC (Customer Acquisition Cost):** Total Sales & Marketing Spend / New Customers Acquired
79- **LTV:CAC Ratio:** Target 3:1 or higher for healthy SaaS
80- **CAC Payback Period:** CAC / (ARPU x Gross Margin) in months
81
82See `references/saas-metrics-guide.md` for comprehensive framework details.
83
84## Common Patterns
85
86### Pattern: Subscription CSV Format
87```csv
88customer_id,plan,mrr,start_date,end_date,status
89C001,pro,99.00,2025-01-15,,active
90C002,basic,29.00,2025-02-01,2025-08-15,churned
91C003,enterprise,499.00,2025-03-10,,active
92```
93
94### Pattern: User Activity CSV Format
95```csv
96user_id,signup_date,last_active_date,activity_month
97U001,2025-01-05,2025-06-15,2025-06
98U002,2025-01-12,2025-03-20,2025-03
99```
100
101### Pattern: Unit Economics JSON Format
102```json
103{
104 "period": "2025-Q4",
105 "total_customers": 1200,
106 "new_customers": 150,
107 "churned_customers": 45,
108 "total_mrr": 89500.00,
109 "arpu": 74.58,
110 "gross_margin": 0.82,
111 "sales_marketing_spend": 45000.00,
112 "monthly_churn_rate": 0.0375
113}
114```
115
116### Healthy SaaS Benchmarks
117
118| Metric | Concerning | Acceptable | Strong |
119|--------|-----------|------------|--------|
120| Monthly Churn | > 5% | 2-5% | < 2% |
121| Net Revenue Retention | < 90% | 90-110% | > 120% |
122| LTV:CAC | < 1:1 | 1:1-3:1 | > 3:1 |
123| CAC Payback | > 24 mo | 12-18 mo | < 12 mo |
124| Gross Margin | < 60% | 60-75% | > 75% |