← back to utils

App Adoption & Usage Model

A cohort calculator for subscription-app growth. Model who signs up, who bails on the trial, who sticks around month after month, and how a heavy-using few drive most of the usage. Tuned with real fitness-app benchmarks — configure any scenario.

Model Inputs drag to explore — everything recalculates live

Acquisition

New Year: Jan ×3.5. "Quitters' Day" is the 2nd Fri of Jan — Strava

Trial Funnel

39% of trials cancel in first 24h — Qonversion
~23% open an app once, never again — Localytics
Fitness trial→paid ≈ 44% — RevenueCat 2024

Retention

Fitness churn ≈ 8–9%/mo → ~91% retained — Peloton, RetentionCheck
<20% keep regular gym habits past 8 weeks — gym industry

Engagement Mix

auto = remainder. Heavy/Med/Light default 20/30/50 — comScore
25% of fitness users log 10+/wk; avg ~2/wk — Flurry, JMIR

Unit Economics

Blended ARPU. Fitness subs ≈ $10–15/mo
your infra / serving cost per active heavy user
Active users over time
Monthly active base, stacked by engagement segment. Each cohort decays along the retention curve; new sign-ups refill the top.
Retention curve (one cohort)
Of 100 users who activate this month, how many are still active N months later.
Fate of every sign-up
Where the whole acquired base ends up.

Usage Concentration the Pareto reality — a few heavy users drive most of the activity

Share of active users
Share of total usage (sessions)

Unit Economics flat subscription revenue vs usage-driven cost to serve

Revenue vs cost to serve, per month
Monthly run-rate as the active base builds. The green gap above the red cost band is gross profit.
Margin per active user / day, by segment
Every subscriber pays the same; cost rises with usage. When a cost bar runs past the revenue bar, that segment loses money.

Industry Benchmarks the evidence base behind the defaults

How The Model Works

Each month a fresh cohort of sign-ups enters and is routed through a trial funnel. Whatever fraction survives to activate then decays along a retention curve, and every active user is classed as a heavy, medium, or light user with its own session rate. Totals are the sum over all cohorts.

1 · Trial funnel — for a cohort of S sign-ups:

immediateCancel = S · pcancel // bail within hours neverReturn = (S − immediateCancel) · pnever // ghost after 1 session activated = engaged · pconvert    trialChurn = engaged − activated

2 · Retention — activated users persist with a decaying rate plus a loyal floor:

R(t) = coreFloor + (1 − coreFloor) · monthlyRetentiont Active(T) = Σm ≤ T activatedm · R(T − m) // superpose cohorts

3 · Usage — the active base splits into heavy/medium/light; total sessions weight each segment by its per-week rate. Because heavy users log many multiples of a light user's sessions, they dominate total usage even though they're the smallest group — the Pareto effect.

4 · Unit economics — every active user pays the same subscription, but the cost to serve them scales with usage:

revenue/day = active · (price / 30.44) // flat per subscriber cost/day = Σ activeSeg · costPerDayseg    profit = revenue − cost

Because a heavy user logs many multiples of a light user's sessions, their cost to serve can exceed the flat subscription price — so the heaviest segment may run at a loss while light users are near-pure margin. Acquisition cost (CAC) and trial-period serving costs are not modeled, so real margins are tighter.

Modeling caveat: subscription-renewal retention (RevenueCat/Adapty) and app-open retention (AppsFlyer/Localytics) are measured differently. Here "activated" ≈ a committed/subscribed user, so its retention is gentler than raw first-week app-open curves. Treat outputs as directional planning estimates, not forecasts.