saas-metrics

saas-metrics is a cursor rule for Cursor from mohitagw15856/pm-claude-skills. It costs 93 tokens per session (841 once invoked), scanned A, original, MIT.

A calculator for common SaaS metrics, which measure the revenue growth and customer retention of subscription software businesses. It can compute MRR, ARR, churn, retention, quick ratio, and magic number from revenue movement data.

In plain words
What is it for?
Use it to prepare a SaaS metrics snapshot from starting revenue, new sales, expansions, contractions, churn, customer counts, and sales and marketing spending.
Why use it?
SaaS metrics have specific definitions, and inconsistent calculations can make a board or investor update misleading. This puts the calculations, benchmarks, and plain-language interpretation together.

Cursor rule for Cursor

Written for Cursor: a Cursor rule (.mdc).

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python3 scripts/saas_metrics.py in.json.

Good fit Use it to prepare a SaaS metrics snapshot from starting revenue, new sales, expansions, contractions, churn, customer counts, and sales and marketing spending.

Compare 6 cursor rules from other repositories ↓
About the project

PM Skills is a collection of plain-Markdown instructions that teach AI assistants structured methods for handling professional, personal, and life-admin tasks. People use it with Claude, ChatGPT, Gemini, Cursor, Codex, and other supported agents for work such as writing product requirements, reviewing documents, or planning difficult situations.

mohitagw15856/pm-claude-skills · 1,352 stars · on GitHub · mohitagw15856.github.io

Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/mohitagw15856/pm-claude-skills
agentmods
npx agentmods add rules/mohitagw15856/pm-claude-skills/saas-metrics

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for saas-metrics

README.md
[![agentmods](https://agentmods.dev/badge/rules/mohitagw15856/pm-claude-skills/saas-metrics/github.svg)](https://agentmods.dev/rules/mohitagw15856/pm-claude-skills/saas-metrics)
Your own site
<a href="https://agentmods.dev/rules/mohitagw15856/pm-claude-skills/saas-metrics"><img src="https://agentmods.dev/badge/rules/mohitagw15856/pm-claude-skills/saas-metrics/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for saas-metrics

Your own site · 80×15
<a href="https://agentmods.dev/rules/mohitagw15856/pm-claude-skills/saas-metrics"><img src="https://agentmods.dev/badge/rules/mohitagw15856/pm-claude-skills/saas-metrics.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 93 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 841 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00093 $0.00841
Opus 5 $0.00046 $0.00420
Sonnet 5 $0.00019 $0.00168
Haiku 4.5 $0.00009 $0.00084

Measured 7d ago against content hash 7abc3c5620db, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

saas-metrics scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

exports/cursor/pm-calculators/saas-metrics/saas-metrics.mdc · 72 lines

How it starts

The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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

Read the full file on GitHub · 72 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 72 lines · 93 tokens per session scan A 7abc3c5620db

Subscribe to this mod's changes

saas-metrics is a cursor rule published in the GitHub repository mohitagw15856/pm-claude-skills (1,352 stars, last pushed 3d ago), licensed MIT. It adds 93 tokens to every session and 841 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.