Cohort Analysis

Structure a cohort analysis for retention, LTV, or behavioural patterns. Use when asked to run a cohort analysis, analyse retention by cohort, segment users by behaviour over time, or calculate lifetime value by acquisition period. Produces a complete cohort analysis framework with methodology, cohort definitions, retention curves, and prioritised interventions.

Published by @Mohit Aggarwal·0 agent reads / 30d·0 saves·

Cohort Analysis Skill

This skill produces a structured cohort analysis covering retention curves, LTV estimation, behavioural segmentation, and actionable interventions. Output is ready to present to product leadership or share with growth and data teams.

Required Inputs

Ask the user for these if not provided:

  • Analysis goal (retention improvement / LTV modelling / behavioural segmentation / churn prediction)
  • Product or feature being analysed
  • Cohort definition — what groups users? (acquisition month, signup channel, plan tier, feature adoption)
  • Observation window — how many periods to track? (e.g. 12 months, 8 weeks)
  • Key metric — what are you measuring per cohort? (retention rate, revenue, engagement score, feature usage)
  • Available data — what tables/metrics are available? (paste schema or describe)
  • Baseline — any existing retention benchmarks or goals?

Output Structure


Cohort Analysis: [Product / Feature]

Analysis type: [Retention / LTV / Behavioural / Churn] Cohort definition: [Acquisition month / Signup channel / Plan tier / Feature adoption date] Observation window: [X months / weeks] Primary metric: [Metric name] Date prepared: [Date]


1. Cohort Definitions

CohortPeriodSizeDescription
[Cohort 1][Jan 2025][N users][e.g. Users who signed up in Jan 2025 via organic]
[Cohort 2][Feb 2025][N users][...]

Cohort logic:

  • Cohort entry event: [First sign-up / First purchase / Feature activation]
  • Cohort exit criteria: [Churned / Downgraded / No activity for 30 days]
  • Exclusions: [Trial users / Internal test accounts / Users with < X days of data]

2. Retention Curve

How to read: Each cell shows what % of the cohort performed the key metric in period N.

CohortPeriod 0Period 1Period 2Period 3Period 6Period 12
Jan 2025100%[X%][X%][X%][X%][X%]
Feb 2025100%[X%][X%][X%][X%][X%]
[Trend][↑/↓ vs prior][...][...][...][...]

Retention plateau: [At what period does retention flatten? What % does it flatten at?]

Key observations:

  • [e.g. Period 1 → Period 2 drop is the largest — average X% churn in first 30 days]
  • [e.g. Cohorts acquired via [channel] retain X% better at Period 6]
  • [e.g. Retention has improved from X% → Y% at Period 3 comparing oldest to newest cohort]

3. LTV Projection (if applicable)

ARPU per period: [£/$/€ X per active user per month] Retention curve used: [Which cohort or blended average]

PeriodRetained %Revenue per userCumulative LTV
Month 1[X%][£X][£X]
Month 3[X%][£X][£X]
Month 6[X%][£X][£X]
Month 12[X%][£X][£X]

Blended LTV: [£X at 12 months — based on blended retention across cohorts]

LTV by segment:

SegmentLTV (12M)vs Baseline
[Organic][£X][+X%]
[Paid][£X][-X%]
[Enterprise][£X][+X%]

4. Behavioural Segmentation

Group cohorts by behaviour patterns, not just acquisition date:

SegmentDefinitionSizeRetention (P6)LTV (12M)
Power users[Used core feature ≥ 3x/week in first 30 days][X%][X%][£X]
Casual users[Used 1–2x/week in first 30 days][X%][X%][£X]
Dormant[Logged in but did not use core feature][X%][X%][£X]
Never activated[Signed up but never completed onboarding][X%][X%][£X]

Activation threshold insight: [What action — taken within the first X days — most strongly predicts retention? This is the "aha moment" to optimise for.]


5. Leading Indicators of Churn

List the signals that appear before users churn, so teams can intervene:

SignalHow early does it appear?Churn correlationIntervention
[No login for 7 days][7 days before churn][Strong][Re-engagement email sequence]
[Support ticket with escalation][14 days before churn][Moderate][CSM outreach within 48 hours]
[Feature usage dropped >50% WoW][10 days before churn][Strong][In-app nudge with use-case tutorial]

6. Cohort Comparison: What's Changed Over Time

Compare oldest and newest cohorts to assess whether product improvements are showing up in retention:

Metric[Oldest cohort — e.g. Jan 2024][Newest cohort — e.g. Jan 2025]Change
Period 1 retention[X%][X%][↑/↓ X pp]
Period 3 retention[X%][X%][↑/↓ X pp]
Activation rate[X%][X%][↑/↓ X pp]
Avg. sessions in first 30 days[X][X][↑/↓]

Verdict: [Are more recent cohorts performing better or worse? What shipped in that period that might explain the change?]


7. Recommendations

Prioritise by impact on retention curve:

#RecommendationTarget segmentExpected impactEffortPriority
1[e.g. Redesign onboarding to hit activation milestone in day 1, not day 7][Never-activated segment][+X pp P1 retention][Medium]P1
2[e.g. Launch re-engagement sequence at day 7 inactivity trigger][Dormant segment][+X pp P2 retention][Low]P1
3[e.g. Introduce power-user features earlier to accelerate habit formation][Casual users][+X pp P6 LTV][High]P2

8. SQL Reference (if applicable)

Provide the core cohort query so data teams can replicate or extend the analysis:

-- Retention cohort query
SELECT
  DATE_TRUNC('month', u.created_at) AS cohort_month,
  DATE_TRUNC('month', e.event_date) AS activity_month,
  DATEDIFF('month', u.created_at, e.event_date) AS period,
  COUNT(DISTINCT e.user_id) AS retained_users,
  COUNT(DISTINCT c.user_id) AS cohort_size,
  ROUND(COUNT(DISTINCT e.user_id) * 100.0 / COUNT(DISTINCT c.user_id), 1) AS retention_rate
FROM users u
JOIN events e ON u.user_id = e.user_id
JOIN (
  SELECT user_id, DATE_TRUNC('month', created_at) AS cohort_month
  FROM users
  WHERE created_at >= '[start_date]'
) c ON u.user_id = c.user_id AND DATE_TRUNC('month', u.created_at) = c.cohort_month
WHERE e.event_type = '[key_retention_event]'
GROUP BY 1, 2, 3
ORDER BY 1, 3;

Quality Checks

  • Cohort definition is unambiguous — the same user cannot appear in two cohorts
  • Retention curve shows a clear plateau, or the analysis notes that the window is too short to see one
  • LTV projection uses observed retention, not assumed
  • Behavioural segments are mutually exclusive and exhaustive
  • Recommendations are tied to specific cohort or segment findings — not generic growth advice
  • Leading indicators are observable in production data, not just in theory

Anti-Patterns

  • Do not allow the same user to appear in multiple cohorts — overlapping cohorts produce retention numbers that cannot be compared or acted upon
  • Do not assume assumed ARPU in LTV projections — use observed revenue per retained user per period, not a blended average that hides segment differences
  • Do not draw conclusions from cohorts too small to be statistically meaningful — flag minimum cohort size thresholds and note when a cohort is too small to trust
  • Do not conflate retention rate with engagement rate — a user who logs in but does not complete the key retention event is not retained by the definition used
  • Do not make recommendations without connecting them to specific cohort or segment findings — generic growth advice that could apply to any product adds no value

Example Trigger Phrases

  • "Run a cohort analysis for our SaaS product"
  • "Analyse retention by acquisition month for the last 12 cohorts"
  • "What's the LTV of users who came via paid vs organic?"
  • "Build a cohort retention model showing period 0 through period 12"
  • "Segment users by behaviour and show me which group retains best"

Bundled with this artifact

1 file

Reference files that ship alongside this artifact. Agents pull these in only when the task needs them.

More on the bench

SKILL0

Knowledge Management

Write and maintain knowledge base articles from resolved support issues. Use when a ticket has been resolved and the solution should be documented, when updating existing KB articles, or when creating how-to guides, troubleshooting docs, or FAQ entries.

customer-success+2
0
SKILL0

Customer Research

Research customer questions by searching across documentation, knowledge bases, and connected sources, then synthesize a confidence-scored answer. Use when a customer asks a question you need to investigate, when building background on a customer situation, or when you need account context.

customer-success+1
0
SKILL0

Sentiment Analysis

Analyze user feedback data to identify segments with sentiment scores, JTBD, and product satisfaction insights. Use when analyzing user feedback at scale, running sentiment analysis on reviews or surveys, or identifying satisfaction patterns.

product-management+1
0