saas-metrics
GitHub计算核心SaaS指标(MRR/ARR、NRR/GRR、流失率等),提供基准对比与解读,适用于董事会或投资者汇报。
Trigger Scenarios
Install
npx skills add mohitagw15856/pm-claude-skills --skill saas-metrics -g -y
SKILL.md
Frontmatter
{
"name": "saas-metrics",
"description": "Compute the core SaaS metrics — MRR\/ARR, growth, NRR\/GRR, churn, quick ratio, magic number — from your numbers. Use when asked to calculate SaaS metrics, MRR\/ARR, net revenue retention, the quick ratio, or to build a SaaS metrics snapshot for a board\/investor update. Produces a computed metrics dashboard with each value, its benchmark, and a one-line read on what it means."
}
SaaS Metrics Skill
Investors and boards judge a SaaS business on a standard metric set — and getting the definitions right matters as much as the numbers. This skill computes MRR/ARR, growth, net and gross revenue retention, churn, the quick ratio, and the magic number from your movement data, each with its benchmark and a plain read — so a board update or investor snapshot is correct and defensible.
Required Inputs
Ask for these only if they aren't already provided:
- Starting MRR and the month's movement: new, expansion, contraction, churned MRR.
- Customer counts (start, churned) if you want logo churn too.
- S&M spend (prior period) if you want the magic number.
- Or just paste what you have — the skill computes what the inputs allow and flags the rest.
Output Format
SaaS Metrics: [company], [period]
A computed dashboard (use the helper script):
| Metric | Value | Benchmark | Read |
|---|---|---|---|
| MRR / ARR | |||
| MRR growth % | |||
| Net Revenue Retention | ≥ 100% (great ≥ 110%) | ||
| Gross Revenue Retention | ≥ 90% | ||
| Revenue churn % | |||
| Quick ratio ((new+exp)/(churn+contr)) | ≥ 4 strong | ||
| Magic number (if S&M given) | ≥ 0.75 efficient |
What it says — 2–3 lines: the health story the numbers tell, and the one metric to fix first.
Definitions used — state each formula explicitly (NRR excludes new customers; GRR caps at 100%), so the numbers are comparable and audit-proof.
Programmatic Helper
scripts/saas_metrics.py (stdlib only) computes the set from the MRR movement:
# in.json: {"starting_mrr":100000,"new":12000,"expansion":6000,"contraction":2000,"churned":4000,"sm_spend_prior":40000}
python3 scripts/saas_metrics.py in.json
python3 scripts/saas_metrics.py in.json --json
Quality Checks
- NRR excludes new MRR (it measures the existing base only) — the most-botched definition
- GRR is capped at 100% (it can't exceed retention of what you had)
- Each metric is shown against its standard benchmark
- The formulas used are stated, so the numbers are comparable across reports
- Metrics that can't be computed from the given inputs are flagged, not guessed
Anti-Patterns
- Do not include new customers in NRR — that's a different (and misleadingly flattering) number
- Do not mix monthly and annual figures without converting — label MRR vs ARR clearly
- Do not report a metric without its definition — "120% retention" is meaningless without the formula
- Do not vanity-pick metrics — show churn and contraction alongside the growth numbers
- Do not present computed values to false precision — round sensibly and flag assumptions
Based On
Standard SaaS metrics definitions (Bessemer / a16z / KeyBanc) — NRR/GRR, quick ratio, magic number.
Version History
- a38bc30 Current 2026-07-05 11:43


