Skip to content
All case studies
Consumer subscription Retention analytics Cohort analysis

What predicts a loyal member

Early-tenure churn at an all-time high. Found the activation "aha" moment, the drop-off cliff, and the early behaviours that predict a member who stays.

+33pp

retention lift from a single activation

4

behaviours that predict a loyal member

~19%

of web signups never activate on mobile

Day 120

matured-cohort retention label

The client

A consumer subscription business with a recurring-membership model and high-volume B2C signups across both web and a mobile app.

The problem

Early-tenure churn was at an all-time high. The team needed two things they didn't have: the activation "aha" moment that turns a signup into a member, and the drop-off cliff where new members are lost - then the specific behaviours in the first weeks that reliably predict a loyal, retained member.

How it ran

From a clean cohort spine to a retention-driver report the team could act on.

Step 1

Cohort spine

Built a first-weeks cohort from several warehouse tables - one clean row per new member, tens of thousands of B2C signups over a multi-month window.

Step 2

Web → mobile activation

Measured how many web signups activate on the mobile app within the first few days, and the churn gap for those who never do.

Step 3

Early-tenure funnel

Mapped first session → repeat → feature breadth, and located the single biggest drop.

Step 4

Behaviour patterns

Profiled time-to-first-session, frequency and feature breadth - and isolated the never-activated tail and the power-user tail.

Step 5

Retention correlation

Aha-moment search on matured members only, with a long-horizon retention label sourced from daily subscription state.

Step 6

Report & fix

Delivered the retention-driver report - and fixed an upstream event-pipeline data-quality issue via a PR so the numbers held.

What I did

  • 01.Built an early-tenure cohort spine from several warehouse tables (subscriptions, identity, product events, and daily subscription state) - one clean row per new member.
  • 02.Quantified web → mobile activation: the share of web signups that reach the app in the first days, and the churn gap for the group that never does.
  • 03.Mapped the early-tenure funnel (first session → repeat → feature breadth) and identified the single biggest drop-off.
  • 04.Profiled early behaviour distributions, isolating the never-activated tail and the power-user tail as distinct risk groups.
  • 05.Ran the retention-correlation / aha-moment search on the matured cohort only, with a long-horizon retention label from daily subscription state so members who ended early are labelled correctly.
  • 06.Tested every candidate behaviour - any session, N+ sessions, feature breadth, profile completion, web→mobile activation - for lift on long-term retention.
  • 07.Surfaced a data-quality issue in the upstream event pipeline and fixed it via a pull request, so this analysis and everything downstream of those events stayed correct.
  • 08.Delivered a retention-driver report: the behaviours that predict a loyal member, the counter-intuitive power-user finding, and the single most actionable intervention.

InteractiveAha-moment search

Pick a behaviour - see if it predicts a loyal member

Sample figures, illustrative only

Without the behaviour

-

With the behaviour

-

Result

What the team could act on the next morning.

The aha moment, pinned

Activation - a single early session - is the dominant lever (a roughly +33pp swing on long-term retention). Everything after the first session helps only modestly. The team stopped guessing.

A clear intervention surface

Roughly 1 in 5 web signups never activate on mobile in the first days and churn at close to 2× the rate. A named group, a measurable lift, a tractable channel - an onboarding nudge.

A counter-intuitive guardrail

The heaviest power users turned out to be a churn-risk group. Optimising for raw usage would have chased the wrong members - the analysis caught it before the team did.

Correct by construction

Found and fixed an upstream event-pipeline data-quality issue via a PR - so the retention numbers, and everything downstream of those events, hold up.

Tools used

BigQuery SQL Python Hex Plotly

A similar problem in your stack?

Send me the rough shape of it. I'll figure out scope on a 30-min call.

Book a call