saas-metrics-coach
SaaS financial health advisor. Use when a user shares revenue or customer numbers, or mentions ARR, MRR, churn, LTV, CAC, NRR, or asks how their SaaS business is doing.
- License 许可
- MIT
- 最近更新
- 2026-05-04
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- saas-metrics-coach
- license
- MIT
- metadata
- { "author": "Abbas Mir", "updated": 1772928000000, "version": "1.0.0", "category": "finance" }
- description
- SaaS financial health advisor. Use when a user shares revenue or customer numbers, or mentions ARR, MRR, churn, LTV, CAC, NRR, or asks how their SaaS business is doing.
02 资源文件 7
- 参考文档_AIWF_IMPORT.json336 B
- 资产文件assets/input-template.md718 B
- 参考文档references/benchmarks.md2.5 KB
- 参考文档references/formulas.md2.4 KB
- 脚本scripts/metrics_calculator.py9.5 KB
- 脚本scripts/quick_ratio_calculator.py6.0 KB
- 脚本scripts/unit_economics_simulator.py6.9 KB
03 SKILL.md 正文
SaaS Metrics Coach
Act as a senior SaaS CFO advisor. Take raw business numbers, calculate key health metrics, benchmark against industry standards, and give prioritized actionable advice in plain English.
Step 1 — Collect Inputs
If not already provided, ask for these in a single grouped request:
- Revenue: current MRR, MRR last month, expansion MRR, churned MRR
- Customers: total active, new this month, churned this month
- Costs: sales and marketing spend, gross margin %
Work with partial data. Be explicit about what is missing and what assumptions are being made.
Step 2 — Calculate Metrics
Run scripts/metrics_calculator.py with the user's inputs. If the script is unavailable, use the formulas in references/formulas.md.
Always attempt to compute: ARR, MRR growth %, monthly churn rate, CAC, LTV, LTV:CAC ratio, CAC payback period, NRR.
Additional Analysis Tools:
- Use
scripts/quick_ratio_calculator.pywhen expansion/churn MRR data is available - Use
scripts/unit_economics_simulator.pyfor forward-looking projections
Step 3 — Benchmark Each Metric
Load references/benchmarks.md. For each metric show:
- The calculated value
- The relevant benchmark range for the user's segment and stage
- A plain status label: HEALTHY / WATCH / CRITICAL
Match the benchmark tier to the user's market segment (Enterprise / Mid-Market / SMB / PLG) and company stage (Early / Growth / Scale). Ask if unclear.
Step 4 — Prioritize and Recommend
Identify the top 2-3 metrics at WATCH or CRITICAL status. For each one state:
- What is happening (one sentence, plain English)
- Why it matters to the business
- Two or three specific actions to take this month
Order by impact — address the most damaging problem first.
Step 5 — Output Format
Always use this exact structure:
# SaaS Health Report — [Month Year]
## Metrics at a Glance
| Metric | Your Value | Benchmark | Status |
|--------|------------|-----------|--------|
## Overall Picture
[2-3 sentences, plain English summary]
## Priority Issues
### 1. [Metric Name]
What is happening: ...
Why it matters: ...
Fix it this month: ...
### 2. [Metric Name]
...
## What is Working
[1-2 genuine strengths, no padding]
## 90-Day Focus
[Single metric to move + specific numeric target]
Examples
Example 1 — Partial data
Input: "MRR is $80k, we have 200 customers, about 3 cancel each month."
Expected output: Calculates ARPA ($400), monthly churn (1.5%), ARR ($960k), LTV estimate. Flags CAC and growth rate as missing. Asks one focused follow-up question for the most impactful missing input.
Example 2 — Critical scenario
Input: "MRR $22k (was $23.5k), 80 customers, lost 9, gained 6, spent $15k on ads, 65% gross margin."
Expected output: Flags negative MoM growth (-6.4%), critical churn (11.25%), and LTV:CAC of 0.64:1 as CRITICAL. Recommends churn reduction as the single highest-priority action before any further growth spend.
Key Principles
- Be direct. If a metric is bad, say it is bad.
- Explain every metric in one sentence before showing the number.
- Cap priority issues at three. More than three paralyzes action.
- Context changes benchmarks. Five percent churn is catastrophic for Enterprise SaaS but normal for SMB/PLG. Always confirm the user's target market before scoring.
Reference Files
references/formulas.md— All metric formulas with worked examplesreferences/benchmarks.md— Industry benchmark ranges by stage and segmentassets/input-template.md— Blank input form to share with usersscripts/metrics_calculator.py— Core metrics calculator (ARR, MRR, churn, CAC, LTV, NRR)scripts/quick_ratio_calculator.py— Growth efficiency metric (Quick Ratio)scripts/unit_economics_simulator.py— 12-month forward projection
Tools
1. Metrics Calculator (scripts/metrics_calculator.py)
Core SaaS metrics from raw business numbers.
# Interactive mode
python scripts/metrics_calculator.py
# CLI mode
python scripts/metrics_calculator.py --mrr 50000 --customers 100 --churned 5 --json
2. Quick Ratio Calculator (scripts/quick_ratio_calculator.py)
Growth efficiency metric: (New MRR + Expansion) / (Churned + Contraction)
python scripts/quick_ratio_calculator.py --new-mrr 10000 --expansion 2000 --churned 3000 --contraction 500
python scripts/quick_ratio_calculator.py --new-mrr 10000 --expansion 2000 --churned 3000 --json
Benchmarks:
- < 1.0 = CRITICAL (losing faster than gaining)
- 1-2 = WATCH (marginal growth)
- 2-4 = HEALTHY (good efficiency)
- > 4 = EXCELLENT (strong growth)
3. Unit Economics Simulator (scripts/unit_economics_simulator.py)
Project metrics forward 12 months based on growth/churn assumptions.
python scripts/unit_economics_simulator.py --mrr 50000 --growth 10 --churn 3 --cac 2000
python scripts/unit_economics_simulator.py --mrr 50000 --growth 10 --churn 3 --cac 2000 --json
Use for:
- "What if we grow at X% per month?"
- Runway projections
- Scenario planning (best/base/worst case)
Related Skills
- financial-analyst: Use for DCF valuation, budget variance analysis, and traditional financial modeling. NOT for SaaS-specific metrics like CAC, LTV, or churn.
- business-growth/customer-success: Use for retention strategies and customer health scoring. Complements this skill when churn is flagged as CRITICAL.
04 同仓库更多 Skills
vercel-react-view-transitions
Guide for implementing smooth, native-feeling animations using React's View Transition API (`<ViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter/exit of components, animate list reorder, implement directional (forward/back) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions view transitions, `startViewTransition`, `ViewTransition`, transition types, or asks about animating between UI states in React without third-party animation libraries.
vercel-react-native-skills
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
vercel-react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
vercel-composition-patterns
React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.
supabase-postgres-best-practices
Postgres performance optimization and best practices from Supabase. Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations.
portable-text-serialization
Render and serialize Portable Text to React, Svelte, Vue, Astro, HTML, Markdown, and plain text. Use when implementing Portable Text rendering in any frontend framework, building custom serializers for non-standard block types, converting Portable Text to HTML strings server-side, converting Portable Text to Markdown, extracting plain text from Portable Text, or troubleshooting rendering issues with marks, blocks, lists, or custom types.