Skip to main content
Stop losing users before it happens. This guide shows you how to identify at-risk users, understand why they’re leaving, and take action to bring them back.

What you’ll learn

  • Define and measure churn for onchain apps
  • Identify at-risk users before they churn
  • Understand why users leave using behavioral analysis
  • Create re-engagement segments and campaigns
  • Track the effectiveness of retention efforts

Prerequisites

  • Formo SDK installed (Installation Guide)
  • At least 30 days of data for meaningful churn analysis
  • Defined what “active” means for your app

Part 1: How to Define Churn for Your App

What is churn?

Churn is when a user stops engaging with your app. For onchain apps, this typically means:
App TypeChurn Definition
DeFi protocolNo transactions for 30+ days
GamingNo gameplay sessions for 14+ days
BridgeNo bridge transactions for 60+ days

Step 1: Check your retention baseline

1

Go to Retention in the Formo Dashboard

2

Set the starting event to connect (wallet connection)

3

View the cohort table

A typical retention pattern looks like:
CohortWeek 0Week 1Week 2Week 4Week 8
Week 1100%25%18%12%8%
Week 2100%28%20%14%-
If Week 4 retention is 12%, then ~88% of users have churned by Week 4.

Step 2: Calculate your churn rate

Monthly churn rate = (Users at start - Users at end) / Users at start × 100
Or use the Explorer with this query:
WITH monthly_active AS (
  SELECT
    toStartOfMonth(timestamp) AS month,
    countDistinct(address) AS active_users
  FROM events
  WHERE type = 'connect'
  GROUP BY month
)
SELECT
  month,
  active_users,
  lagInFrame(active_users) OVER (ORDER BY month) AS prev_month,
  round((lagInFrame(active_users) OVER (ORDER BY month) - active_users)
    / lagInFrame(active_users) OVER (ORDER BY month) * 100, 1) AS churn_rate
FROM monthly_active
ORDER BY month

Part 2: How to Identify At-Risk Users

User lifecycle stages

Formo automatically assigns lifecycle stages to users:
StageDescriptionChurn Risk
NewFirst sessionMedium - haven’t proven value yet
ReturningMultiple sessionsLow - showing engagement
Power User5+ active days in 30 daysVery Low - highly engaged
Churned30+ days inactiveAlready churned
ResurrectedReturned after churningMedium - may churn again

Step 1: Create at-risk segments

Go to Users and create these Segments: Segment: At-Risk Power Users
  • Lifecycle = Power User
  • Last seen between 14 and 30 days ago
These are your most valuable users who are showing signs of disengagement. Segment: New Users Not Returning
  • Lifecycle = New
  • First seen more than 7 days ago
  • Last seen = First seen (only one session)
These users tried your app once and never came back. Segment: Declining Activity
  • Was active 3+ times in previous 30 days
  • Active only 1 time in last 30 days
These users are reducing their engagement.

Step 2: Monitor segment sizes

Track how many users are in each at-risk segment over time. Use Ask AI to generate monitoring charts:
“Show me the count of users who were last seen between 14 and 30 days ago and have more than 5 sessions”
“How many users have only had 1 session and haven’t been seen in 7 days?”
Save these charts to a Dashboard to monitor segment sizes over time.

Part 3: How to Understand Why Users Churn

Analyze churned user behavior

Use Flows to see what churned users did in their last session:
1

Go to Flows

2

Filter by users who are now Churned

3

Set the starting event to their last session

4

Look for patterns in exit behavior

Common churn signals

SignalWhat it meansHow to detect
Failed transactionUser hit an errorFilter Activity by status = failed
Abandoned flowConfusion or frictionFlows showing exits before completion
Only viewed pricesWindow shopping, no intentFunnel drop-off at connect step
Single feature useDidn’t discover valueFlows showing limited exploration

Compare churned vs. retained users

Create two cohorts and compare their behavior: Churned cohort:
  • Users who were active 60+ days ago
  • Have not returned in 30+ days
Retained cohort:
  • Users who were active 60+ days ago
  • Have returned in the last 30 days
Compare:
  • Number of sessions in first week
  • Features used
  • Transaction volume
  • Entry referrer
This reveals what retained users do differently.

Part 4: How to Set Up Churn Alerts

Real-time monitoring

Create Alerts to catch churn risks early: Alert 1: Whale going inactive
  • Trigger: User with net worth > $100k
  • Condition: No activity for 7 days
  • Action: Notify sales/BD team
Alert 2: Power user declining
  • Trigger: User was power user
  • Condition: Activity dropped 50% week-over-week
  • Action: Add to re-engagement campaign
Alert 3: Failed transaction spike
  • Trigger: Failed transactions
  • Condition: Count > 2× daily average
  • Action: Notify engineering (may be a bug causing churn)

Weekly churn review

Set up a weekly dashboard review:
  • Check at-risk segment sizes
  • Review failed transactions
  • Analyze retention by cohort
  • Identify any anomalies

Part 5: How to Run Re-Engagement Campaigns

Export at-risk segments

1

Go to Users > select your at-risk segment

2

Click Export CSV

3

Download wallet addresses

Use these for targeted campaigns on:
  • Twitter/X: Target ads to wallet owners
  • Farcaster: Direct outreach
  • Email: If you have email addresses linked
  • In-app: Show personalized messages on return

Re-engagement strategies by segment

SegmentStrategyMessage
Power users going quietVIP outreach”We miss you! Here’s what’s new…”
One-and-done usersEducation”Complete your first transaction. Here’s how”
Failed transaction usersSupport”We noticed an issue. Let us help”
Feature-limited usersDiscovery”Have you tried [feature]?”

Track re-engagement success

After running campaigns:
1

Create a segment of users targeted

2

Track how many returned (Resurrected lifecycle)

3

Measure their subsequent retention

To measure reactivation rate, filter your Users list by the Resurrected lifecycle and compare to the number of users you targeted in your campaign.

Part 6: How to Build a Churn Prevention Dashboard

MetricChart TypePurpose
Monthly churn rateLineTrend over time
At-risk user countNumberCurrent risk level
Retention by cohortRetentionLong-term patterns
Days since last seen distributionBarInactivity spread
Churned users by referrerTableWhich sources have worst retention
Reactivation rateNumberCampaign effectiveness

Key metrics to track

Leading indicators (predict future churn):
  • At-risk segment size
  • Week 1 retention rate
  • Failed transaction rate
  • Average sessions per user
Lagging indicators (measure past churn):
  • Monthly churn rate
  • Churned user count
  • Lifetime value of churned users

Summary

You’ve learned how to:
  1. Define churn appropriately for your app type
  2. Identify at-risk users before they leave
  3. Understand why users churn through behavioral analysis
  4. Set up alerts for early warning signals
  5. Run re-engagement campaigns with exported segments
  6. Track effectiveness of retention efforts

Churn prevention checklist

Next steps