Skip to main content

Overview

Retention analysis measures how well you keep users engaged over time. Track whether users return after signup, activation, or any milestone event—and compare cohorts and features.

Use Cases

  • What percentage of new users return after 7 days?
  • Is our retention improving over time?
  • How does retention compare across user segments?
  • Do users who complete a first successful run come back the next week?
  • Does a specific template predict better week-4 retention?
  • Do users who connect an integration retain better?
  • Does completing onboarding improve retention?

Quick Start

1

Define Birth Event

The event that “births” users into the cohort:
Birth Event: signup_completed
(or: agent_run_completed, subscription_started, etc.)
2

Define Return Event

The event that indicates a user “returned”:
Return Event: any_active_event
(or: agent_run_completed, page_view, session activity, etc.)
3

Choose Time Frame

Set the cohort interval and retention window:
Cohort Interval: Weekly (users grouped by week they were born)
Retention Window: 8 weeks
4

Select Criteria

Choose when users count as retained:
  • On or After: Any time from that day/week onward
  • On: Only on exactly that day/week

Retention Criteria

On or After (Default)

User counts as retained if they returned on or after the specified time period:
Day 7 retention (On or After):
User returned on Day 7, 8, 9, 10... → Retained ✓
User returned on Day 1-6 only → NOT Retained ✗
Best for: Understanding cumulative engagement over time.

On

User counts as retained only if they returned exactly on that period:
Day 7 retention (On):
User returned exactly on Day 7 → Retained ✓
User returned on Day 6 or Day 8 → NOT Retained ✗
Best for: Understanding precise return patterns.

Cohort Intervals

Group users by when they were “born”:

Daily Cohorts

Daily cohorts over 14 days:
├── Jan 1 cohort: Users born on Jan 1
├── Jan 2 cohort: Users born on Jan 2
├── ...
└── Jan 14 cohort: Users born on Jan 14

See: Day 1, Day 2, ... Day 14 retention for each
Best for: Short-term retention analysis, fast-moving products.

Weekly Cohorts

Weekly cohorts over 8 weeks:
├── Week 1 cohort: Users born Jan 1-7
├── Week 2 cohort: Users born Jan 8-14
├── ...
└── Week 8 cohort: Users born Feb 19-25

See: Week 1, Week 2, ... Week 8 retention for each
Best for: Most retention analyses, standard timeframe.

Monthly Cohorts

Monthly cohorts over 6 months:
├── January cohort: Users born in January
├── February cohort: Users born in February
├── ...
└── June cohort: Users born in June

See: Month 1, Month 2, ... Month 6 retention for each
Best for: Long-term retention, subscription products.

Custom Brackets

Define custom retention windows:
Custom brackets: [1, 3, 7, 14, 30, 60, 90]

View retention at:
├── Day 1
├── Day 3
├── Day 7
├── Day 14
├── Day 30
├── Day 60
└── Day 90

Reading the Retention Table

           │ Day 0 │ Day 1 │ Day 7 │ Day 14 │ Day 30
───────────┼───────┼───────┼───────┼────────┼────────
Jan 1-7    │ 1,000 │  42%  │  28%  │   22%  │   15%
Jan 8-14   │   850 │  45%  │  30%  │   24%  │   18%
Jan 15-21  │ 1,200 │  38%  │  25%  │   20%  │    -
Jan 22-28  │   950 │  40%  │  27%  │    -   │    -
───────────┼───────┼───────┼───────┼────────┼────────
Average    │ 1,000 │  41%  │  28%  │   22%  │   17%
Column meanings:
  • Day 0: Number of users in cohort (birth event count)
  • Day N: Percentage who returned on/after day N
Row meanings:
  • Each row is a cohort (users born in that period)
  • Newer cohorts have fewer data points (diagonal empty)

Retention Curves

Visualizing Retention

100% ─┬────────────────────────
      │\
      │ \
  50% ─┤  \___
      │      \_____
      │            \________
   0% ─┴─────────────────────────
      Day 0  7  14  21  28  35
Healthy retention: Curve flattens (users who stay, stay) Concerning retention: Curve keeps declining (ongoing churn)

Comparing Curves

100% ─┬────────────────────────
      │\
      │ \__ Pro users
      │    \_______________
  50% ─┤
      │  \
      │   \___ Free users
      │       \______
   0% ─┴─────────────────────────

Filters

Focus on specific user segments:

Birth Event Filters

Filter who enters the cohort:
Birth Event: signup_completed
  └── where: signup_source = "twitter"

Only users who signed up from Twitter

Return Event Filters

Filter what counts as “returning”:
Return Event: agent_run_completed
  └── where: outcome = "success"

Users must complete a successful run to count as retained

User Property Filters

Filter by user attributes:
User Filter:
├── plan = "pro"
├── AND country = "US"

Retention for US Pro users only

Breakdowns

Compare retention across segments:

By User Property

Retention by plan:
├── Pro: 45% → 32% → 28%
├── Free: 38% → 22% → 15%
└── Trial: 25% → 12% → 8%

By Birth Event Property

Retention by signup_source:
├── Twitter: 40% → 28% → 22%
├── Discord: 52% → 38% → 32%
└── Google: 35% → 20% → 14%

By Cohort Date

Default view—compare how retention changes over time:
Are newer cohorts retaining better?
├── Jan cohorts: 40% → 25% → 18%
├── Feb cohorts: 42% → 28% → 22%
└── Mar cohorts: 45% → 32% → 25%

→ Yes! Retention is improving

Example configurations

Habitual usage

Birth Event: signup_completed
Return Event: agent_run_completed

Question: Do new accounts keep running workflows?

Template stickiness

Birth Event: agent_run_completed
  └── where: workflow_id = "weekly_report"
Return Event: agent_run_completed

Question: Do users repeat the same workflow?

Feature-driven retention

Birth Event: used_advanced_feature
Return Event: any_active_event

Compare to:
Birth Event: did_not_use_advanced_feature
Return Event: any_active_event

Question: Does the feature improve retention?

Analyzing Retention

Key Metrics

MetricDescriptionGood Benchmark
Day 1Next-day return>40%
Day 7Week 1 return>25%
Day 30Month 1 return>15%
PlateauStable long-term retention>10%

Signs of Healthy Retention

✅ Curve flattens (stabilizes)
✅ Newer cohorts retain better
✅ Power users have much higher retention
✅ Key features correlate with retention

Warning Signs

❌ Curve never flattens (constant churn)
❌ Newer cohorts performing worse
❌ No difference between segments
❌ Day 1 retention below 30%

Best Practices

Choose Meaningful Events

✅ Good birth events:
- signup_completed (clear milestone)
- activation_milestone_hit (value delivered)
- subscription_started (revenue cohort)

❌ Poor birth events:
- page_view (too broad)
- click (too minor)

Match Return to Product

Consumer app: Return = any_active_event
Agent product: Return = agent_run_completed
SaaS: Return = key feature_used or session activity

Segment Meaningfully

Compare segments that inform action:
✅ Actionable:
- By signup_source (optimize marketing)
- By completed_onboarding (improve onboarding)
- By user_tier (price/feature adjustments)

❌ Not actionable:
- By random_id
- By timestamp

Allow Enough Time

Retention analysis needs mature data:
For Day 30 retention with weekly cohorts:
Need 5-6 weeks of data minimum

For quarterly analysis:
Need 6+ months of data

Saving & Sharing

Save Report

  1. Configure your retention analysis
  2. Click Save
  3. Name it: “Weekly activation retention by plan”

Add to Board

  1. Save the report
  2. Click Add to Board
  3. Select dashboard
All reports are added to boards for organization and sharing.

Next Steps

Flows

Understand user paths

Cohorts

Create user segments