agentleFS
varunk130varunk130/claude-code-skills/skills/financial-analysis/saas-cohort-analyzer/SKILL.md

saas-cohort-analyzer

Skill1 starsChanged 20 days agoMITView on GitHub

Performs rigorous Software as a Service (SaaS) cohort analysis: retention curves, Lifetime Value (LTV), Customer Acquisition Cost (CAC) payback, Net Revenue Retention (NRR), Gross Revenue Retention (GRR), and expansion versus churn decomposition with dollar-weighted and logo-weighted views. Use when diagnosing retention problems, forecasting Annual Recurring Revenue (ARR), evaluating pricing changes, segmenting customer health, validating product-market fit, or preparing board and investor key-performance-indicator reports.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Population: all customers, ICP-only, segment (small and medium business / mid-market / enterprise), self-serve versus sales-led

    line 34
  2. Distinctive:

    Document every exclusion. Report both filtered and unfiltered counts.

    line 39
  3. Distinctive:

    Use contribution-margin LTV (not revenue LTV):

    line 72
  4. Distinctive:

    Use trailing-12 churn × 12 as annualized - use the actual cohort

    line 132

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

SaaS Cohort Analyzer

Cohort math is the single most truthful lens on a subscription business - this skill makes it defensible.

What this skill is

A repeatable workflow that takes raw subscription data and produces a complete cohort report for a Software as a Service (SaaS) business: retention curves, Lifetime Value (LTV), Customer Acquisition Cost (CAC) payback, Net Revenue Retention (NRR), Gross Revenue Retention (GRR), and the revenue movement bridge. It segments by acquisition channel, Ideal Customer Profile (ICP), and contract type, and flags the easy mistakes (survivorship bias, re-segmentation drift, dollar-logo divergence) before they end up in a board deck.

What it solves

  • Blended NRR numbers that hide segment-level decay
  • LTV calculations using revenue (not contribution margin) - overstating returns
  • Cohort cherry-picking where only the best months get reported
  • Survivorship bias from reporting only cohorts that finished the window
  • Confusing logo churn with revenue churn - they tell very different stories

When to invoke

  • Diagnosing whether a retention drop is structural or compositional
  • Forecasting next-year Annual Recurring Revenue (ARR) from current cohort behavior
  • Evaluating whether a pricing or packaging change actually improved retention
  • Preparing the retention section of a board deck or investor update
  • Validating product-market fit by comparing later cohorts versus earlier ones

Phase 1: Define the cohort dimensions

Confirm before any numbers move:

  • Cohort unit: signup month, first-paid month, contract start, fiscal quarter
  • Population: all customers, ICP-only, segment (small and medium business / mid-market / enterprise), self-serve versus sales-led
  • Window: month 0 through month N (12, 24, 36)
  • Revenue type: Monthly Recurring Revenue (MRR) versus Annual Recurring Revenue (ARR); Net Revenue Retention (NRR) versus Gross Revenue Retention (GRR)
  • Inclusion rules: trial-to-paid threshold? internal accounts excluded? refunds netted?

Document every exclusion. Report both filtered and unfiltered counts.

Phase 2: Build the retention matrix

Produce three matrices side-by-side:

  • Logo retention (percent) - customers active in month N / cohort starting customers
  • Gross Dollar Retention (GDR, percent) - revenue from cohort in month N / starting revenue, capped at 100% (excludes expansion)
  • Net Dollar Retention (NDR, percent) - same as GDR but includes expansion, contraction, and churn

Plot each as a curve with at least 6 cohorts overlaid. Look for:

  • Smiling curve (NDR > 100%) → expansion engine
  • Cliff at month N → annual contract renewal point
  • Improving later cohorts → product-market fit signal

Phase 3: Decompose the movement

For each cohort and period, build the bridge:

MovementDefinitionDollar impactPercent of starting MRR
Starting MRRCohort MRR at month 0$X100%
Seat or plan expansionSame logos, more revenue+$x%
ReactivationsRe-engaged churned accounts+$x%
ContractionsDowngrades or seat loss−$x%
Voluntary churnCustomer canceled−$x%
Involuntary churnPayment failure−$x%
Ending MRRSum$YNRR%

This bridge is the most under-used artifact in SaaS reporting. Always show it.

Phase 4: LTV and CAC payback

Use contribution-margin LTV (not revenue LTV):

LTV = Average Revenue Per Account (ARPA) × Gross margin / Monthly churn rate

For high-NRR businesses, use the NRR-adjusted variant:

LTV (NRR-adjusted) = ARPA × Gross margin × (1 / (1 + r − NRR_monthly))
CAC payback (months) = CAC / (ARPA × Gross margin)

Benchmarks:

  • Small and medium business: under 12 months healthy
  • Mid-market: under 18 months healthy
  • Enterprise: under 24 months healthy
  • LTV/CAC ratio: > 3× is the bar, > 5× is exceptional, < 1× is structural unprofitability

Phase 5: Segmentation cuts

Re-run the cohort analysis sliced by:

  • Acquisition channel (paid, organic, partner, outbound, product-led growth)
  • ICP fit score
  • Onboarding completion (activated within 30 days versus not)
  • Contract length (monthly versus annual)
  • Annual Contract Value (ACV) band (< $10k, $10-50k, $50-250k, $250k+)

The blended number always hides the variance - surface the best and worst segment.

Phase 6: Diagnostics and red flags

  • Survivorship bias: are you reporting NRR only on fully-completed cohorts?
  • Re-segmentation drift: have customers moved between segments? Lock segment at cohort creation.
  • Logo versus dollar divergence: dollar retention much greater than logo retention means concentration risk
  • Late-cohort improvement: is it real, or is it legacy-plan price increases?

Output

  • Cohort triangles for logos, GDR, and NRR (last 24 months)
  • Movement bridge for the most recent quarter
  • One-page summary: blended NRR / GRR, LTV, CAC payback, LTV/CAC ratio, with 4-quarter trend
  • Top 3 retention drivers and top 3 churn drivers from the segmentation cuts
  • Recommended intervention for each churn driver
  • Explicit "what we don't know" - data gaps

Operating rules

Always

  • Report both logo and dollar metrics
  • Show the cohort triangle, not just blended averages
  • Use contribution-margin LTV
  • Decompose NRR into expansion versus contraction versus churn
  • Flag survivorship and re-segmentation biases

Never

  • Quote NRR without naming the cohort window
  • Use trailing-12 churn × 12 as annualized - use the actual cohort
  • Hide involuntary churn inside voluntary
  • Compare cohorts of different acquisition mix without normalizing
  • Confuse logo churn with revenue churn

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.