> ## Documentation Index
> Fetch the complete documentation index at: https://docs.formo.so/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Track and Improve User Retention

> Measure Week 1, 4, and 12 retention rates for your crypto app with cohort analysis, identify churn patterns, and build segments to re-engage at-risk users.

This guide covers measuring retention cohorts, identifying churn patterns, and building segments to re-engage at-risk users.

## Part 1: Build a Retention Cohort Chart

Create a retention cohort chart on a dashboard. This shows how each cohort of users (grouped by signup week) retains over time:

<Steps>
  <Step>
    Click **Dashboards** → **Add Chart** → select **Retention** chart type.
  </Step>

  <Step>
    Configure the chart:

    * **Retention Type**: Rolling (default; counts toward week N if active in week N or any later week, giving a smooth curve) or Recurring (counts only if active in exactly week N, so the curve can dip and recover)
    * **Signal**: Base retention on a specific event, or on a user label
    * Cohorts are grouped weekly
  </Step>

  <Step>
    Click **Save to Dashboard**. This cohort chart is now live.
  </Step>
</Steps>

The retention table shows cohorts (rows) and retention weeks (columns). Green cells mean high retention. Red means churn. Look for diagonal patterns:

* **Declining diagonal**: Older cohorts have worse retention. (Possible: product degraded, new cohorts are higher quality)
* **Level diagonal**: Consistent retention across all cohorts. (Healthy.)
* **Rising diagonal**: Newer cohorts retain better. (Possible: product improvements are working)

<Frame caption="Retention cohort table showing Week 1, 4, 12">
  <img src="https://mintcdn.com/formo/58iudW1HQTF0XT4k/images/retention.png?fit=max&auto=format&n=58iudW1HQTF0XT4k&q=85&s=e343c2c6c650ae57a5945cfd297da485" alt="Retention table" width="2314" height="1310" data-path="images/retention.png" />
</Frame>

## Part 2: Identify Churn Patterns

The **Insights** page uses AI to spot churn signals and refreshes the first time you open it each day. Check it regularly:

<Steps>
  <Step>
    Click **Insights** in the sidebar.
  </Step>

  <Step>
    Look for the **Issues** section. Formo flags patterns like:

    * "Users from country=US are churning 25% faster than average"
    * "Mobile users have 40% lower Week 1 retention"
    * "Cohort from Week 3 of March dropped 15% in Week 1"
  </Step>

  <Step>
    Click on an insight to drill into the data. Ask: Is this a real problem or noise?
  </Step>
</Steps>

**Red flags to act on immediately:**

* A sudden drop in Week 1 retention (5%+ week-over-week) usually means a bug or product issue
* A specific geography or device churning faster suggests a UX or localization problem
* A cohort that performs poorly across all retention windows suggests they were bad-fit users to begin with

## Part 3: Segment Churned and At Risk Users

To re-engage users, you must first identify them. Use the **Users** page to create segments:

<Steps>
  <Step>
    Click **Users** in the sidebar to see all users.
  </Step>

  <Step>
    Apply filters to find at-risk users:

    * **Lifecycle = "Churned"**: Users inactive for 30+ days
    * **Lifecycle = "Resurrected"**: Users who returned after being inactive
    * **Last Activity \< 7 days ago**: Users who haven't returned this week
  </Step>

  <Step>
    Click **Save Segment**. Name it "Churned Users Q1 2026".
  </Step>

  <Step>
    Once saved, you can export this segment as CSV for re-engagement campaigns or use it to build exclusion lists.
  </Step>
</Steps>

<Frame caption="User lifecycle stages in the Users page">
  <img src="https://mintcdn.com/formo/Qbe3dL6juMIXAS6y/images/users.png?fit=max&auto=format&n=Qbe3dL6juMIXAS6y&q=85&s=15e1905c31cbe5523c4b7216a738a0b3" alt="Users page" width="2282" height="926" data-path="images/users.png" />
</Frame>

<Note>
  **User Lifecycle Stages:** New, Returning, Power user, Resurrected, At Risk, and Churned, assigned from each wallet's activity recency and frequency. See [User Lifecycle](/features/wallet-intelligence/wallet-profiles#user-lifecycle) for the exact rules and thresholds.

  Use these stages to build segments for targeted campaigns.
</Note>

## Part 4: Export Your Segment for Re-Engagement

<Steps>
  <Step>
    In your saved segment, click **Export as CSV**.
  </Step>

  <Step>
    Download the file. It contains wallet addresses, ENS names, and event counts.
  </Step>

  <Step>
    Use this list to:

    * Send a Farcaster DM campaign: "We missed you. Here's what's new."
    * Create a rewards campaign: "Return this week, get 100 points."
    * Build a lookalike audience: "Find more users like these high-retainers."
  </Step>
</Steps>

## Part 5: Set Up Alerts for Key User Events

Monitor important user activity with alerts. Get notified when high-value wallets connect or key events happen:

<Steps>
  <Step>
    Go to **Project Settings → Alerts**.
  </Step>

  <Step>
    Click **Create Alert**.
  </Step>

  <Step>
    Configure your alert trigger (e.g., whale wallet connects, transaction from a high-value user). Choose notification method (Slack webhook).
  </Step>

  <Step>
    Save. You'll be alerted in real time when the event fires.
  </Step>
</Steps>

See [Alerts documentation](/features/product-analytics/alerts) for full setup.

## Part 6: Use Ask AI to Understand Churn

Open **Ask AI** (the AI assistant) and ask natural language questions:

* "Why is Week 1 retention down 10% this week?"
* "Which countries have the worst retention?"
* "Do mobile users churn faster than web?"
* "What do my highest-retaining users have in common?"

Formo analyzes your data and provides insights with supporting numbers.

<Frame caption="Ask AI interface for analytical questions">
  <img src="https://mintcdn.com/formo/5S3MPZWP8GYgbzVs/images/ai.png?fit=max&auto=format&n=5S3MPZWP8GYgbzVs&q=85&s=c50d8476296fc92e85607f7651c5858d" alt="Ask AI" width="963" height="441" data-path="images/ai.png" />
</Frame>

## Real-World Example: Diagnosing a Retention Drop

<Steps>
  <Step>
    **Identify**: A retention cohort chart shows mobile users churn 15 points faster than web.
  </Step>

  <Step>
    **Diagnose**: Ask AI "Why are mobile users churning faster?" surfaces a timeout issue causing 3x more failed transactions on mobile.
  </Step>

  <Step>
    **Test a fix**: Increase the timeout from 30s to 60s, roll it out to 10% of mobile users, and compare that segment's Week 1 retention against older cohorts.
  </Step>

  <Step>
    **Roll out**: If the test segment's retention improves, deploy the fix to all mobile users and keep monitoring Week 1 retention.
  </Step>
</Steps>

## Best Practices

* **Weekly review**: Check Insights every Monday and act on red flags immediately.
* **Cohort comparisons**: Compare consecutive weekly cohorts to see if retention is trending up or down, and investigate why.
* **Segment tests**: Compare retention between segments (e.g., high fee payers vs. low fee payers) to find what predicts retention.
* **Pair with conversion**: High conversion doesn't mean high retention. A user who swaps once and never returns is not a retained user. Optimize for both.
* **Monitor by source**: Segment by referrer to see which traffic sources produce the best-retaining users.
* **Check wallet labels**: If you use [Wallet Intelligence](/features/wallet-intelligence/overview), segment by wallet label (e.g., "Verified Coinbase User"). Some labels correlate with higher retention.

## Churn Prevention Playbook

Churn is a measurable, predictable pattern, not just "users who left." Use this playbook to define, detect, and prevent churn in your app.

**Churn Definition by App Type**

| App Type            | Churn Threshold | Rationale                                                             |
| ------------------- | --------------- | --------------------------------------------------------------------- |
| DeFi (DEX, Lending) | 30+ days        | Long gaps between trades are normal, but 30 days suggests abandonment |
| Gaming              | 14+ days        | Daily drivers; 2 weeks without a session signals churn                |
| Bridge/Cross-chain  | 60+ days        | Multi-week cycles are normal; 60 days is the safety threshold         |

**Monthly Churn Rate Query**

Use this SQL to calculate month-over-month churn:

```sql theme={null}
SELECT
  toStartOfMonth(first_seen) as cohort_month,
  count(*) as total_users,
  countIf(last_seen < now() - INTERVAL 30 DAY) as churned_users,
  round(countIf(last_seen < now() - INTERVAL 30 DAY) / count(*) * 100, 2) as churn_rate_pct
FROM users
GROUP BY cohort_month
ORDER BY cohort_month DESC
```

**At Risk Segments to Build**

<Note>
  Create these three segments in the Users page and save them for weekly monitoring:
</Note>

1. **At Risk Power Users** (High priority)
   * Filter: `Sessions > 20` AND `Last Activity 7-14 days ago`
   * Why: These users have proven value. Re-engage before they churn.

2. **New Users Not Returning** (Medium priority)
   * Filter: `Sessions < 5` AND `Last Activity 3-7 days ago`
   * Why: Early-stage friction. A small push converts them to returning users.

3. **Declining Activity** (Watch list)
   * Filter: `Sessions > 10` AND `Last Activity 7-30 days ago`
   * Why: Gradual drop-off. These need incentives before hitting 30+ days.

**Churn Alert Templates**

Set up these alerts in Project Settings:

* **Whale Going Inactive**: User with `Lifetime Value > $10k` AND `Last Activity > 7 days`
* **Power User Declining**: User with `Sessions > 15` AND `Day-over-day activity drop > 50%`
* **Failed Transaction Spike**: Cohort-level alert if `Failed Transactions` increase 3x week-over-week

**Re-engagement Campaign Strategies**

| Segment                 | Trigger                       | Action                         |
| ----------------------- | ----------------------------- | ------------------------------ |
| Power users going quiet | 7 days of inactivity          | VIP email + bonus points       |
| New users stalling      | 3 days, fewer than 5 sessions | In-app nudge + tutorial replay |
| Recently churned        | 30-45 days inactive           | "We miss you" discount offer   |

**Analyze Churned User Behavior with Flows**

Use [Flow charts](/guides/flows) to understand what churned users did in their last session:

1. Go to **Dashboards** > **Add Chart** > select **Flow**
2. Filter by users whose lifecycle is **Churned**
3. Look for patterns: failed transactions, abandoned flows, or limited exploration

Compare churned vs. retained users side by side:

* **Churned cohort**: Active 60+ days ago, has not returned in 30+ days
* **Retained cohort**: Active 60+ days ago, has returned in the last 30 days

Compare their first-week behavior: sessions count, features used, transaction volume, and entry referrer. This reveals what retained users do differently, and what to optimize in onboarding.

## FAQ

<AccordionGroup>
  <Accordion title="How is retention calculated?">
    Week 1 retention = (Users active in Week 1 / Users in the Week 0 cohort) \* 100

    A user is considered active in a week if they have at least one session (page view or transaction) during that week.

    Example: 1000 users enter the cohort in Week 0. 250 of them return and are active in Week 1. Week 1 retention = 25%.
  </Accordion>

  <Accordion title="What's the difference between Week 1, 4, and 12 retention?">
    * **Week 1**: Users active in the week after their cohort's start. Measures short-term activation.
    * **Week 4**: Users active a month in. Measures habit formation.
    * **Week 12**: Users active a quarter in. Measures long-term value.

    All three matter. Week 1 catches immediate churn. Week 4 shows if you built a habit. Week 12 shows if users stick around.
  </Accordion>

  <Accordion title="What user lifecycle stage should I re-engage first?">
    Priority order:

    1. **Resurrected**: Users who just came back. Momentum is on your side.
    2. **At Risk / Returning**: Users with only 2-3 sessions. Easy to convert to Power users.
    3. **Churned, inactive 30-60 days**: Still remember your product.
    4. **Churned, inactive 6+ months**: Hard to re-activate.

    Focus on 1 and 2 first for best ROI. Note that 3 and 4 are both the **Churned** lifecycle stage; the day ranges are just a way to prioritize within it, not separate filterable stages.
  </Accordion>

  <Accordion title="Can I compare retention across different UTM sources?">
    Yes. Create two retention charts (or use breakdowns). Filter the first by UTM Source = "twitter" and the second by UTM Source = "discord". Compare Week 1 retention across both. You'll likely see significant differences.

    If one source has 2x better retention, invest more in that channel.
  </Accordion>

  <Accordion title="Can I set a custom cohort entry event?">
    Yes. By default, cohorts are grouped by wallet connect. You can set any event (e.g., "first\_transaction") as the entry event instead, so cohorts are grouped by when users first performed that event.
  </Accordion>
</AccordionGroup>
