Churn Analytics for Onchain Apps: How to Measure, Understand, and Reduce User Drop-Off

Churn Analytics for Onchain Apps: How to Measure, Understand, and Reduce User Drop-Off

Churn Analytics for Onchain Apps: How to Measure, Understand, and Reduce User Drop-Off

Yos Riady

Yos Riady

Last Updated

Last Updated

Updated

Key Takeaways

  • Churn analytics tracks when and why wallets disengage, giving DeFi teams the signals to act before users are permanently lost.

  • Airdrop and incentive cohorts inflate active user counts and must be segmented separately to produce accurate retention curves.

  • The earliest churn signals are behavioural, not temporal: frequency drops, failed actions, and narrow feature engagement all precede the exit event.

  • Intervention priority should be ranked by churn risk multiplied by wallet value, not by churn risk alone.

Most DeFi teams can tell you their wallet count. Few can tell you how many of those wallets came back.

That gap is where growth quietly breaks down. Acquisition metrics are visible and easy to celebrate. Retention is not, until the TVL chart tells you it is already too late.

Churn analytics is the practice of measuring, understanding, and acting on the rate at which users stop engaging with your product. For onchain apps, this means tracking not just when wallets go inactive, but identifying the behavioural signals that precede disengagement so you can intervene before users are gone.

The challenge is structural. In discovery conversations with DeFi product teams, one pattern surfaces repeatedly:

"Front end, offchain, and onchain data ends up segregated. You never get a full picture of what a user is actually doing."

Without that full picture, churn is invisible until it is already a crisis. This guide covers the fundamentals of churn analytics, how to apply them in a Web3 context, and the specific metrics and methods that give DeFi teams a real picture of retention health.

What Churn Analytics Is, and Why Web3 Is Different

Churn analytics is the systematic study of user data to identify when and why people stop engaging with a product. It goes beyond counting departures: it surfaces the behavioural patterns, friction points, and lifecycle signals that precede those departures.

The distinction matters. A basic churn rate tells you that users are leaving. Churn analytics tells you why, when, and which users are most at risk.

Key insight: According to Harvard Business Review, acquiring a new customer costs anywhere from 5 to 25 times more than retaining an existing one. Bain & Company research adds that a 5% improvement in retention can increase profits by 25 to 95%. For DeFi apps competing for a limited pool of active onchain users, the cost of churn compounds quickly.

Why onchain apps make churn harder to measure

Generic analytics tools treat churn as a binary state: a user either cancelled or they did not. Onchain apps break every assumption behind that model. There is no cancellation event. Users simply stop returning.

This creates three specific challenges:

  • No explicit churn signal. You have to define what "churned" means for your product, whether that is 30, 60, or 90 days without a qualifying onchain action.

  • Airdrop and incentive distortion. Wallets that connect during a campaign often have no intention of becoming long-term users. Mixing them into your retention curve produces a number that describes neither group accurately.

  • Cross-chain fragmentation. A user active on Arbitrum appears inactive if you only track Base. Without cross-chain visibility, your churn rate is an overcount.

Teams that try to bridge this gap with generic tools typically end up with Mixpanel for front-end events, a query layer for onchain data, and a home-built dashboard trying to stitch the two together. As one growth lead described their setup: "Attribution, funnels, and revenue reporting still stay messy."

The four types of churn in DeFi

Not all churn is the same. Understanding which type you are dealing with determines the right response.

Churn Type

What It Looks Like

Common Cause

Voluntary disengagement

Wallet stops transacting after a deliberate period of activity

Poor product-market fit, better alternative found, high fees

Passive inactivity

Gradual decline in session frequency until the wallet goes dormant

Weak habit formation, low feature stickiness, poor onboarding

Incentive-driven churn

Spike during a campaign, sharp drop-off after rewards end

Airdrop farming, mercenary liquidity

Involuntary churn

User wants to stay but cannot, due to failed transactions or UX friction

Technical bugs, gas estimation failures, confusing flows

Stress-event churn

Mass withdrawal triggered by an external shock: exploit, depeg, or sharp market drawdown

Security incident, oracle failure, correlated liquidations

The incentive-farming type deserves specific attention. When a protocol runs a liquidity mining programme, it often attracts wallets with no intention of staying. These wallets inflate DAU and WAU during the campaign, then disappear. The fix is wallet-level segmentation: separating organically acquired wallets from incentive cohorts and tracking their retention curves independently. The two cohorts will look very different. That difference is the signal.

What generic tools miss

Web2 analytics platforms were built around cookies, email addresses, and subscription cancellations. None of those exist in DeFi. The practical consequence is a structural gap:

Capability

Web2 Analytics

Onchain Analytics

User identity

Cookie or email session

Wallet address with cross-chain resolution

Churn signal

Account cancellation

Custom inactivity threshold on qualifying onchain action

Retention event

Login or page visit

Transaction, signature, or protocol-specific action

User quality signals

Session depth, page count

Wallet net worth, DeFi portfolio, cross-app activity

Attribution

UTM parameters

UTM + onchain builder codes + referral codes linked to volume

Incentive distortion

Not applicable

Airdrop and farming cohort separation

Privacy

IP, device fingerprint, third-party cookies

No IP, no fingerprinting, GDPR-compliant by default

Churn in DeFi is almost never a front-end event. The user does not click cancel. They make a decision somewhere between their last transaction and the moment they fund a competing protocol. That decision is invisible to any tool that only sees your app's front end.

Key Churn Metrics and How to Calculate Them

Three core metrics form the foundation of any churn analytics practice. Each answers a different question about your retention health.

User churn rate

The most straightforward measure: what percentage of your active wallets stopped engaging during a given period?

Formula:

User Churn Rate = (Wallets Lost in Period ÷ Wallets Active at Start of Period) × 100

For onchain apps, "lost" needs a clear definition. Thirty days without a qualifying action is a reasonable starting point. Adjust the threshold based on your product's natural usage frequency: a daily DEX will use a tighter window than a quarterly yield vault.

Revenue churn rate

User churn tells you about volume. Revenue churn tells you about impact.

Formula:

Revenue Churn Rate = (Protocol Revenue Lost ÷ Starting Protocol Revenue) × 100

For DeFi protocols, revenue churn often maps to TVL loss or trading volume decline from churned wallets. Losing a few high-value wallets can spike revenue churn even when your user churn rate looks stable. Track both.

Net retention rate (NRR)

NRR captures the full picture by accounting for both churn and expansion within your existing user base.

Formula:

NRR = [(Starting Revenue + Expansion − Contraction − Churn) ÷ Starting Revenue] × 100

An NRR above 100% means your retained users are growing their activity faster than you are losing others. An NRR below 100% means the base is shrinking, regardless of how many new wallets you are acquiring.

Metric

What It Tells You

When to Prioritise

User churn rate

Volume of users leaving

Early-stage, high user count

Revenue churn rate

Financial impact of departures

Revenue-generating protocols

Net retention rate

Overall health of existing base

Growth-stage teams

You can calculate your current churn rate using Formo's Churn Rate Calculator, built specifically for onchain apps.

How to Run a Churn Analysis

Churn analysis is not a one-time report. It is a repeatable process that gets sharper as your data matures. Here is a practical framework for onchain teams.

Step 1: Define your churn criteria

Before you can measure churn, you need a clear definition of what it means for your specific product. Ask: what is the minimum meaningful action that indicates a user is still active? For a DEX, it might be completing a swap. For a lending protocol, it might be maintaining an open position.

Set a time threshold and document it. Make sure every team uses the same definition.

Pro tip: A single churn threshold rarely fits all user segments. A whale who deposits once a month is not inactive by the same measure as a daily DEX trader. Define separate inactivity windows per segment before you build any dashboard, or your churn rate will misclassify your highest-value users.

Step 2: Segment before you calculate

Raw churn numbers are rarely actionable. Segmentation is what makes them useful. Separate your user base by:

  • Acquisition channel: Paid campaign, organic referral, KOL post, or community event

  • Activation status: Did they complete your core onboarding flow or drop off before their first meaningful action?

  • Wallet profile: DeFi power user with a rich onchain history, or a new wallet with minimal activity?

  • Cohort: Group users by the week or month they first connected, then track each cohort's retention curve over time

Cohort analysis is particularly powerful for onchain apps because it reveals whether recent product changes improved or worsened retention for new users without muddying the picture with older cohorts.

Step 3: Identify the signals that precede churn

This is the analytical core. Look at wallets that churned and work backwards: what did their activity look like two to four weeks before they went inactive? The exit event is the last step, not the first. Engagement drops quietly before the wallet formally crosses your inactivity threshold.

The five signals that most consistently precede wallet churn:

1. Transaction frequency drops below the wallet's own baseline

A wallet that normally transacts three times a week and suddenly drops to once a fortnight is showing a pattern shift, even if it has not yet crossed your 30-day threshold.

Expert tip: Measure frequency relative to each wallet's own historical baseline, not against a product-wide average. A user who has always transacted once a month going silent for six weeks is a stronger churn signal than a power user missing a single week.

2. A failed transaction that was not retried

A failed swap or gas estimation error that the user does not retry within 24 hours is a strong churn signal. Without end-to-end funnel visibility, it is impossible to see whether friction points are causing permanent abandonment or temporary pauses.

Side note: A failed transaction that is not retried often signals the user blamed the product rather than themselves. Identifying which failure type caused the drop-off is more useful than knowing the drop-off rate alone.

3. Engagement narrows to low-value features only

A user who was previously active across multiple features but now only views the dashboard without acting is showing reduced commitment. This is especially relevant for lending protocols and yield aggregators, where a user can remain nominally active while their value-generating behaviour has effectively stopped.

4. A single large withdrawal with no subsequent deposit

For protocols where TVL is the primary value metric, a large withdrawal followed by silence is a high-confidence churn signal. Whether the wallet has gone to a competitor or simply reduced DeFi exposure is the follow-up question, and cross-chain wallet data is the only way to answer it.

5. No activation within the first-seen window

Wallets that do not complete a core action within a defined window after first connection have a disproportionately high churn rate. This cohort typically shows two to three times the churn rate of wallets that activated quickly, and identifying them early allows for targeted re-engagement before they are formally lost.

TL;DR: The earliest churn signals are behavioural, not temporal. Waiting for a 30-day inactivity window to close means the user has been gone for weeks. Track frequency shifts, failed-action drop-offs, and first-session activation rates as leading indicators.

Step 4: Act on the signals, then monitor continuously

Once you have identified at-risk patterns, the response depends on scale.

At under 1,000 active wallets: manual outreach is a retention strategy. A short personal message sent when you first notice a frequency drop outperforms any automated sequence at this stage.

"Noticed you haven't transacted in a couple of weeks. Anything blocking you, or anything we could have done better?"

That framing works because it signals that a real person is watching and that feedback is genuinely wanted.

At scale: use the signals you identified manually as the rules your automated interventions run on. When a wallet withdraws its entire position or crosses a defined inactivity threshold, trigger a short exit prompt. Keep it to one multiple-choice question and one optional free-text field. The responses will surface patterns that no behavioural dataset can: pricing friction, a competitor feature, a UX failure, or a market condition you cannot control. For wallet-verified exit surveys that connect directly to the wallet profile, Formo's token-gated forms let you link every response to the user's onchain history automatically.

Churn rarely comes out of nowhere. It is silent. Users do not announce their departure; they simply stop returning. A single well-timed message, sent when you first notice the frequency drop, will surface more actionable reasons than any automated re-engagement sequence at this stage.

Set up retention dashboards that update in real time, and establish alerts for when cohort retention drops below your defined thresholds. Early detection is the difference between a recoverable dip and a structural problem.

Common mistakes to avoid

  • One churn threshold for all segments. A whale transacting monthly is not the same as a retail user swapping daily. Applying the same 30-day window to both misclassifies your highest-value users.

  • Mixing acquisition cohorts. Airdrop users will almost always show higher early churn than organic users. Averaging them together produces a number that describes neither group.

  • Looking only at the last touchpoint. A wallet that goes inactive after a failed transaction did not churn because of that failure. The failure was the final step after weeks of declining engagement.

  • Confusing TVL retention with user retention. A protocol can maintain TVL while losing the majority of its active wallets if a small number of large holders stay. Track both independently.

  • Skipping qualitative data. Behavioural data tells you what happened. Supplement it with user surveys to understand why.

Intervention Prioritisation: Which Wallets Are Worth Saving

Identifying at-risk wallets is only half the problem. The harder question is which ones are worth intervening on, and how.

The instinct is to target the highest-risk wallets first. That logic is flawed. A wallet with a 95% probability of churning may be unresponsive to any intervention. A wallet at 40% risk may convert back with a single well-timed message. Targeting by risk score alone ignores the variable that actually determines ROI: the impact of the intervention itself.

Expert tip: The most productive intervention targets are wallets where the gap between "churn probability with intervention" and "churn probability without intervention" is largest. In practice, this almost always means medium-risk, high-value wallets rather than the highest-risk segment.

Ranking by risk multiplied by value

A practical scoring approach for onchain teams:

  1. Score churn risk using behavioural signals: frequency drop, failed actions, narrowing feature engagement, days since last qualifying action

  2. Estimate wallet value using onchain data: historical transaction volume, TVL contribution, net worth, DeFi portfolio depth

  3. Multiply the two to produce an intervention priority score

Wallet Segment

Churn Risk

Intervention Impact

Priority

High risk, low value

High

Low

Deprioritise

High risk, high value

High

Medium

Act immediately

Medium risk, high value

Medium

High

Highest priority

Low risk, any value

Low

Negligible

Monitor only

The medium-risk, high-value wallet is consistently the most productive target. They have not decided to leave yet. They are reachable. And the value of retaining them is disproportionate to the cost of the intervention.

Matching the intervention to the segment

  • Power users showing frequency decline: Direct outreach referencing their specific activity. Specificity signals genuine attention.

  • Wallets that failed a core action: A targeted fix notification or simplified retry flow. Address the exact friction point, not a generic incentive.

  • High-value wallets approaching the inactivity threshold: A proactive feature highlight surfacing value before the decision to leave is made.

  • Incentive-driven cohorts post-campaign: A light re-engagement message is worth testing, but the retention economics on this segment are structurally different from organic users. Do not over-invest here.

TL;DR: Rank intervention targets by the product of churn risk and wallet value, not by churn risk alone. The wallets most worth saving are not always the ones most likely to leave.

Measure and Reduce Churn with Formo

Churn analytics for onchain apps requires a tool built for the Web3 context. Generic product analytics platforms were not designed to track wallet behaviour across chains, distinguish organic users from airdrop farmers, or connect offchain campaign data to onchain retention outcomes.

Formo is built specifically for DeFi and onchain apps. A working churn dashboard in Formo covers:

  • Retention cohort chart tracking wallet activity week-on-week and month-on-month, with a custom retention event you define

  • Transaction frequency distribution showing the split between one-time wallets, occasional users, and power users

  • First-seen activation funnel from first page view to first qualifying onchain action, with drop-off rates at each step

  • Segment filters to separate organic wallets from incentive-driven cohorts

  • Real-time alerts triggered when cohort retention falls below a defined threshold

  • Cross-chain wallet profiles showing whether a wallet that appears inactive on your app is active on another protocol

This replaces the fragmented stack of a product analytics tool, a query layer, and a home-built dashboard with a single source of truth for wallet-level behaviour.

What DeFi teams have seen in practice

Kairos Swap processes over $200M in notional volume on Base. Before Formo, the team had limited visibility into who their users were, where they came from, and how active they were across DeFi. Building that infrastructure in-house would have cost an estimated 40+ engineering hours per month. With Formo, they had a working dashboard in under 10 minutes.

"Formo gave us valuable insight into our existing users: where they're finding us, how active they are across DeFi, and social connections where we can reach them for feedback." — Vince, CTO at Kairos Swap

Ammalgam, a Decentralised Lending Exchange preparing for mainnet on Sonic and Ethereum, used Formo to separate meaningful testnet users from noise before launch. Without it, the team had no reliable way to distinguish power users from casual clickers, or to map the full user journey across onchain and offchain touchpoints.

"Formo is a strong fit for startups with a relatively narrow budget. It can be launched quickly, is straightforward to use, and covers most core metrics without requiring a complex data stack." — Will Fey, Founder at Ammalgam

Start with Formo's free Churn Rate Calculator to get your current number in seconds. If you want a fuller picture of who is staying, who is leaving, and why, explore Formo's retention analytics.

Further Reading

If you found this guide useful, these articles go deeper on the topics covered here:

Frequently Asked Questions

What is churn analytics, and how is it different from a churn rate?

Churn rate is a single number: the percentage of wallets that went inactive in a given period. Churn analytics is the process behind that number. It covers how you define inactivity, how you segment users before calculating, which behavioural signals precede the exit event, and how you prioritise interventions. The rate tells you that users are leaving. Analytics tells you why, when, and which ones are worth acting on.

How do you define churn for a DeFi app with no cancellation event?

Start with your product's core repeated action, a completed swap, an open lending position, a vault deposit, and set a time window after which a wallet that has not performed that action is considered inactive. Thirty days is a common starting point, but the right threshold depends on your protocol's natural transaction cadence. A daily DEX and a quarterly yield vault need different windows. Document the definition and apply it consistently across all segments.

Should I use the same churn threshold for all users?

No. A whale who rebalances once a month is not inactive by the same measure as a retail trader who swaps daily. Applying a single 30-day window to both will misclassify your highest-value users as churned when they are simply low-frequency. Define separate inactivity thresholds per segment before building any retention dashboard.

How do airdrop campaigns distort churn analytics?

Wallets acquired during a token distribution or liquidity mining programme often have no intention of becoming long-term users. When they leave after the campaign ends, they inflate your churn rate and flatten your retention curve in ways that have nothing to do with product quality. The fix is to track incentive-driven cohorts separately from organically acquired wallets, and to report retention for each group independently.

What is the difference between user churn and revenue churn in DeFi?

User churn counts the wallets that went inactive. Revenue churn measures the protocol revenue or TVL lost from those wallets. The two can diverge significantly: a protocol can lose a large share of its wallet count while barely moving on revenue churn if the departing wallets were low-value. Conversely, losing a small number of high-value wallets can cause a sharp revenue churn spike even when the user churn rate looks stable. Track both independently.

What are the earliest behavioural signals of wallet churn?

The five most consistent leading indicators are: a drop in transaction frequency below a wallet's own historical baseline; a failed transaction that was not retried within 24 hours; engagement narrowing to passive dashboard views without any transacting; a single large withdrawal with no subsequent deposit; and wallets that never completed a core action within their first-seen window. All five appear before the formal inactivity threshold is crossed.

Can I track churn across multiple chains?

Yes, but only if your analytics tool supports cross-chain wallet resolution. A wallet that appears inactive on Base may be actively transacting on Arbitrum. Without cross-chain visibility, your churn rate is an overcount. Tools built for onchain apps, like Formo, resolve wallet activity across EVM chains automatically, so a wallet is only counted as churned if it is genuinely dormant across all tracked networks.

How do I prioritise which churned wallets to re-engage?

Rank by the product of churn risk and wallet value, not by churn risk alone. A wallet with a very high probability of churning may be unresponsive to any intervention. A medium-risk, high-value wallet often produces a much larger return on the same outreach effort. Score each wallet on behavioural risk signals, estimate its value using onchain data such as historical volume and DeFi portfolio depth, then multiply the two to produce an intervention priority score.

About the Author

About the Author
About the Author
Yos Riady

Founder

Founder

Yos Riady is the founder and CTO of Formo, where he helps DeFi teams make analytics and attribution simple. He has been a builder in crypto since 2018 across smart contract development, protocol design, and security. Before Formo, he was a staff software engineer and tech lead at Chainlink Labs. He helped scale Chainlink into the industry-standard oracle for DeFi protocols like Aave, Morpho, and Spark.

Yos Riady is the founder and CTO of Formo, where he helps DeFi teams make analytics and attribution simple. He has been a builder in crypto since 2018 across smart contract development, protocol design, and security. Before Formo, he was a staff software engineer and tech lead at Chainlink Labs. He helped scale Chainlink into the industry-standard oracle for DeFi protocols like Aave, Morpho, and Spark.

Table of contents

Share this post

Measure what matters onchain

Formo makes analytics and attribution simple for DeFi apps.

Measure what matters onchain

Formo makes analytics and attribution simple for DeFi apps.

Measure what matters onchain

Formo makes analytics and attribution simple for DeFi apps.