Retention analysis
Skill 0xF4ng/aether-growth-fieldwork/growth/retention-analysis
Open GTM methods for AI-native founders — SaaS GTM, startup market entry, hardware GTM. Agent skills for Claude, Cursor, Codex. Free MIT.
npx -y skills add 0xF4ng/aether-growth-fieldwork --skill retention-analysisAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 22 days oldThe repository was created 22 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Diagnoses user retention using cohort data. Classifies the retention curve shape, identifies the churn type, matches the right intervention to the right problem, and points to the next experiment. Use when retention is below benchmark, when you have a retention rate but don't know why users are leaving, or when you've just shipped a major change and want to confirm it moved the needle.
SKILL.md
17.7 KB, as published. Nobody here has run it
Retention Analysis
Before starting
Confirm (ask or infer) before running the analysis:
- Cohort data format — is stage-level cohort data available (D1/D7/D30 or W1/W4/W12 per cohort)? Aggregate retention rate alone is insufficient for diagnosis.
- Product type — consumer app, B2B SaaS, developer tool, enterprise, PLG? (determines which retention window and benchmark applies)
- Activation event definition — what is the FVM (First Value Moment)? If undefined, retention windows may be measuring the wrong thing.
- North star metric — what is the product's primary measure of user value?
- Recent changes — any major product, acquisition channel, or pricing changes in the last 60–90 days that could explain cohort diagonal shifts?
- ICP card — is one available? (required if churn type is fit churn or cohort diagonal is declining — ICP may be drifting)
If cohort data is unavailable: block and return guidance on constructing a proxy from available data (see Inputs section).
Contract
This skill guarantees:
- Correct retention window is always selected for the product type before any benchmark comparison
- Curve shape is named and interpreted before any intervention is recommended
- Churn type is classified with evidence — intervention recommendations are matched to churn type
- "What this analysis cannot answer" section is always included
- No lifecycle re-engagement campaign is recommended when churn type is activation churn
Role: Cohort Diagnostician. You read retention curves the way a doctor reads an EKG — you know what the shapes mean, what caused them, and which interventions match which pathology. You never guess. You find the evidence that lets you act with confidence.
Inputs
Required before proceeding:
- Cohort retention data (ideally: cohort table with retention at D1/D7/D30 or W1/W4/W12)
- Product type (consumer app / B2B SaaS / developer tool / enterprise / PLG self-serve)
- Current north star metric or activation event definition
- Any recent product or acquisition changes (the cohort diagonal will reveal if something changed)
If cohort data is unavailable:
BLOCK. Return:
"Retention analysis requires cohort data — not aggregate retention rate.
An aggregate retention rate tells you retention is low. A cohort table tells
you whether it's getting better, who retains, and where the drop happens.
What data do you have available?
- Weekly/monthly active user counts? (Better than nothing; still limited.)
- User-level event logs? (We can construct a cohort table from these.)
- Only an aggregate D30 number? (We can start with curve shape hypothesis
but cannot diagnose with confidence.)
Describe your available data and I will tell you what analysis is possible."
Step 1 — Select the right retention window for the product
Using the wrong window is the most common retention analysis mistake. A B2B SaaS product with a monthly workflow will look terrible at D7 — but that's expected, not a problem.
| Product type | Key retention windows | Healthy benchmark |
|---|---|---|
| Consumer / high-frequency SaaS | D1, D7, D30 | D7 > 25%, D30 > 10% |
| B2B / developer tools | W1, W4, W12 | W4 > 40%, W12 > 25% |
| Annual-contract enterprise | M1, M3, M6, M12 | 80–90% annual renewal |
| PLG self-serve | D7, D30, D90 | D30 > 30% for high-fit signups |
⚠ Benchmark context: These thresholds are industry medians for the named product types under normal conditions. They do not apply to: low-frequency / seasonal products (weekly task managers, tax software), enterprise pilots with intentional limited rollout, regulated workflows with mandatory cooling-off periods, background/API-only products where "return" is the wrong metric, or any product in the first 90 days before a stable cohort exists. Establish your own baseline before comparing against these numbers. A product below these benchmarks is not necessarily broken — it may be using the wrong window or the wrong definition of "return."
Confirm the right window before reading the curve. Then compare actual retention to these benchmarks only if the product type matches.
Step 2 — Read the curve shape
A retention curve is the percentage of users from a cohort who return at each time point. The shape of the curve tells you the category of the problem before you look at any other data.
Five curve shapes:
Shape 1: FLATTENS TO A NON-ZERO BASELINE
100% ╔════╗
║ ║
25% ║ ╚════════════════════════════ ← flattens here
0% ╚────────────────────────────────→ time
Diagnosis: A loyal core exists. PMF is real for a subset of users.
Problem: Not growing fast enough, or the baseline is too small.
Next action: Study the retained cohort. What do they have in common?
Invest in acquisition of users who look like them.
Shape 2: CONTINUOUS DECLINE TOWARD ZERO
100% ╔════╗
║ ╚╗
║ ╚╗
║ ╚════→ 0%
0% ╚────────────→ time
Diagnosis: No retained user segment has formed. PMF is not yet proven.
Next action: Fix the product before scaling acquisition. More traffic
into a leaky bucket makes the problem harder to see, not easier to solve.
Shape 3: SHARP EARLY DROP THEN FLATTENS
100% ╔╗
╚╗╚╗
╚═╚══════════════════════════════ ← flattens here
0% ─────────────────────────────────→ time
Diagnosis: Large activation failure. Users who survive onboarding
are retained. The problem is getting users to survival.
Next action: FVM is the lever. Run /funnel-audit on the activation flow.
How many users who sign up actually reach FVM? Fix that first.
Shape 4: BUMP IN THE MIDDLE
100% ╔════╗
║ ╚╗ ╔╗
║ ╚═════════╝╚══ ← bump here
0% ╚────────────────────→ time
Diagnosis: A re-engagement effort worked, OR there is a seasonal pattern.
Next action: Identify what caused the bump. Is it a specific campaign?
A seasonal event? If identifiable, operationalize it (make it recurring).
If it was a campaign, run it again with a control group.
Shape 5: DECLINING ACROSS COHORTS (newer cohorts worse than older ones)
100% Cohort Jan: ════════════ → retains at 30%
Cohort Mar: ══════════ → retains at 24%
Cohort May: ════════ → retains at 18%
0% ─────────────────────────────────→ time
Diagnosis: Recent product changes degraded the experience, OR the ICP
is drifting (new acquisition is reaching the wrong segment).
Next action: Compare the January cohort to the May cohort. What changed
about the product, acquisition channels, or messaging? Run /icp-research
if the cohort profile has changed.
The key diagnostic question: does the curve flatten? If the curve never flattens and declines toward zero, there is no retained user segment yet. This must be addressed before any acquisition scaling.
Step 3 — Read the cohort diagonal
Most teams read cohort tables horizontally (how does one cohort behave over time?). The most useful read is diagonal (how does retention at the same time-point compare across cohorts?).
Example cohort table:
Cohort | D7 | D14 | D30 | D60 | D90
----------|-----|-----|-----|-----|-----
Jan | 35% | 28% | 22% | 18% | 16%
Feb | 38% | 31% | 25% | 20% | —
Mar | 42% | 34% | 28% | — | —
Apr | 40% | 33% | — | — | —
The D7 diagonal: Jan=35% → Feb=38% → Mar=42% → Apr=40%
→ The product improved from Jan to Mar; Apr is slightly below Mar.
The D30 diagonal: Jan=22% → Feb=25% → Mar=28%
→ D30 is consistently improving — product changes are working.
Three things to read on the diagonal:
- Is the product improving? If newer cohorts retain better at the same time-point, improvements are working.
- Before/after a product change: split cohorts at the date of a major change. Did the diagonal improve or decline afterward?
- The segment that retains best: filter cohorts by acquisition channel, use case, company size, or first feature used. Which segment has the highest diagonal retention? That is your Core ICP signal.
Step 4 — Classify the churn type
Each churn type has a different cause and a different intervention. Using the wrong intervention for the churn type is the most common retention strategy mistake.
| Churn type | When it happens | Signal | Intervention |
|---|---|---|---|
| Activation churn | D1–D7 | Users who sign up but never complete the onboarding flow or never reach FVM | Run /funnel-audit on the activation flow. The problem is onboarding, not retention. |
| Evaluation churn | D7–D30 | Users who activated but didn't find enough value to return | Product didn't prove value in the evaluation window. Experiment on post-activation return triggers; improve the second-session trigger. |
| Fit churn | D30–D90 | Users who engaged regularly but disengaged over weeks | Wrong ICP. This user came with a use case the product doesn't serve well. Run /icp-research to update the ICP definition. |
| Lifecycle churn | Months after activation | A previously strong user suddenly leaves | Competitive displacement, champion left the company, or role changed. Experiment on champion retention and competitive alerts. |
| Involuntary churn | Random | Payment failure notices; subscription lapses | Billing and dunning mechanics. Mechanical fix, not a growth experiment. |
Do not run lifecycle re-engagement campaigns when the problem is activation churn. If users are churning in D1–D7, a "we miss you" email at D60 is not the solution. Match intervention timing and type to the churn type.
Step 5 — Formulate the next experiment
After classification, output one clear next experiment direction:
Retention diagnosis summary:
Curve shape: [Shape name]
Churn type: [Churn type name]
Evidence: [2-3 specific observations]
Recommended next experiment direction:
"If we [action], then [metric] will [direction] by [amount] because [reason]."
Effort: [Low / Medium / High]
Signal window: [Days or cohorts needed to read the result]
Next step: /growth-experiment
Output format
## Retention Analysis
### Context
Product type: [Product type]
Retention window used: [Window]
Data quality: [Freshness, any gaps or caveats]
### Benchmark comparison
[Current retention] vs [Benchmark] — [above / at / below benchmark]
### Curve shape
[Shape name]: [1-2 sentence interpretation of what this shape means for this product]
### Cohort diagonal reading
[What the diagonal shows — improving/declining/stable, and when/why it shifted]
### Churn type
[Type name]
Evidence: [2-3 specific data observations]
### Next experiment direction
[Hypothesis in "If/then/because" format]
Effort: [Low/Medium/High]
Signal window: [Time or cohort count]
### What this analysis cannot answer
[Limitations of the available data; what additional data would sharpen the diagnosis]
Brain reads / writes
If a companion aether-growth-brain repo is connected:
Before analyzing:
- Read
experiments/experiment-log.md— check if prior retention experiments have run; avoid recommending experiments that already produced LOSS or CONFOUNDED verdicts for this churn type - Read
knowledge/icp-map.md— if churn type is fit churn or cohort diagonal is declining, compare current ICP definition against which cohorts are churning
Brain write (after analysis):
- Write retention analysis summary to
experiments/experiment-log.md: curve shape, churn type, recommended next experiment direction - If ICP drift detected (declining diagonal, fit churn concentration in new cohorts): flag in
knowledge/icp-map.mdwith recommendation to re-run/icp-research
Brain not connected: proceed; recommend documenting cohort diagnoses locally for trending over time.
Anti-patterns
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Using aggregate D30 retention without cohort table | Cannot distinguish improving trend from declining trend; cannot segment which users retain | Require cohort table; return BLOCK if unavailable |
| Wrong retention window for product type | B2B SaaS at D7 looks terrible by design; producing panic where there should be patience | Step 1 forces window selection before any benchmark comparison |
| Re-engagement campaign for activation churn | "We miss you" at Day 60 doesn't help users who churned at Day 3 because onboarding failed | Match intervention to churn type; activation churn → fix onboarding, not re-engagement |
| Fixing retention before activation is solved | Curve Shape 3 (sharp early drop then flatten) means most users never reach retention | Shape 3 diagnosis routes to /funnel-audit on activation; don't invest in retention programs for users who never activated |
| Scaling acquisition during Shape 2 (continuous decline toward zero) | More traffic into a no-PMF product accelerates burn, not learning | Diagnose and fix product/PMF before scaling acquisition |
| Confusing cohort diagonal decline with bad retention | Decline means recent cohorts are worse — this is a product or ICP drift signal, not just a retention issue | Read the diagonal, not just one cohort's curve |
| Involuntary churn treated as engagement problem | Payment failures are mechanical, not behavioral | Fix billing mechanics (dunning, payment retry, update flows) before running engagement experiments |
NRR and GRR benchmarks (2025–2026)
| Metric | Median | Best-in-class | Source |
|---|---|---|---|
| NRR (all B2B SaaS) | ~106% | >120% | OpenView 2025, Bessemer Cloud Index 2025 |
| NRR ($1–3M ARR) | ~90% | 94% | OpenView 2025 |
| NRR ($15–30M ARR) | ~100% | 105%+ | OpenView 2025 |
| NRR ($100M+ ARR) | ~115% | 130%+ | OpenView 2025 |
| GRR (target) | >90% | >94% at scale | OpenView 2025 |
| Logo churn (SMB SaaS) | <2% monthly | <1% | Recurly 2025 |
| Logo churn (Mid-market) | <1% monthly | <0.5% | Recurly 2025 |
| D7 retention (high-frequency SaaS) | >25% | >35% | Reforge 2025 |
| D30 retention (PLG high-fit users) | >30% | >45% | Reforge 2025 |
| W4 retention (B2B / developer tools) | >40% | >55% | Reforge 2025 |
| Annual renewal rate (enterprise) | 80–90% | >90% | Bain 2025 |
Related skills
| Skill | When to use |
|---|---|
growth/funnel-audit/SKILL.md | Curve Shape 3 detected: activation failure requires funnel audit |
pmm/icp-research/SKILL.md | Fit churn or declining diagonal: ICP may be drifting |
growth/growth-experiment/SKILL.md | After classification: next experiment hypothesis to test |
growth/DOMAIN.md | Lifecycle design, re-engagement triggers, PLG motion definitions |
Common mistakes this workflow prevents
| Mistake | What this workflow does instead |
|---|---|
| Using D7 to evaluate a B2B tool (wrong window) | Step 1 selects the right window first |
| Seeing "retention is bad" without knowing why | Steps 2-4 classify the type before recommending action |
| Recommending re-engagement emails for activation churn | Churn type classification rules this out explicitly |
| Running aggregate retention instead of cohort | Input block requires cohort data |
| Fixing the retention problem before the activation problem | Shape 3 (early drop) explicitly routes to /funnel-audit first |
Connects to
Upstream: /icp-research — if churn type is fit churn or the cohort diagonal shows declining new cohorts, ICP may be drifting. Run /icp-research to update.
Parallel: /funnel-audit — if curve shape is Shape 3 (sharp early drop), activation is the problem and funnel audit is the right tool.
Downstream: /growth-experiment — the hypothesis at the end of this analysis becomes the next experiment.
Validation criteria
- Correct retention window selected for product type
- Benchmark comparison included
- Curve shape named and interpreted
- Cohort diagonal read
- Churn type named with evidence
- Next experiment direction written in "If/then/because" format
- "What this analysis cannot answer" section included
References & Sources
Tier 1:
- Reforge retention frameworks: curve shape interpretation, cohort reading technique, PMF diagnosis via retention
- growth-retention-analysis (growth-skills v1.0, score 9/10): churn type classification with interventions, five curve shape system, cohort diagonal technique