Growth Analytics

Customer retention analysis: the four fingerprints of a retention drop

Every retention drop leaves a distinct pattern on the cohort grid. Learn to read the stripes and gradients, and the culprit usually confesses within a week.

The Monday message from the Head of Growth read: "Week-4 retention is down almost five points since Q1. Nobody knows why. Board meeting in three weeks."

This was a subscription marketplace - consumers subscribe, supply is a marketplace, so twice the moving parts. Five points of early retention at their scale was seven figures of annual revenue quietly walking out the door.

Here's the thing about customer retention analysis: a retention drop is a crime with a limited cast of suspects, and each suspect leaves a different fingerprint. You don't need thirty dashboards. You need one grid, read properly.

The crime scene: a cohort × life-week grid

The tool is old and unglamorous. Rows are signup cohorts (one per week or month). Columns are life-weeks - week 1, 2, 3… of each cohort's own life, regardless of calendar date. Each cell holds the share of the cohort still active in that life-week. Colour it as a heatmap.

This grid separates the two clocks that every retention question confuses: customer age (columns) and calendar time (which runs diagonally, since a cohort's week 4 happens four weeks after its signup week). Almost every failed retention investigation I've seen failed because it looked at one clock and the culprit was on the other.

Here is what one looks like. Each row is a signup cohort, each column a life-week, each cell the share of that cohort still active:

Signup cohortW1W2W3W4W5W6
Jan100%54%43%37%34%32%
Feb100%53%42%36%33%31%
Mar100%55%44%38%34%32%
Apr100%54%29%26%24%23%
May100%52%26%23%22%21%
Jun100%55%27%24%22%21%

A vertical stripe. Week 1 and week 2 are unchanged, so acquisition is fine and the first experience is fine. Something breaks at week 3 - and it breaks for every cohort at their own week 3, not on a shared date. That rules out an outage or a price change and points squarely at the customer journey.

A retention curve never lies, but it never volunteers information either. You have to interrogate it - and the grid is the interrogation room.

The four fingerprints of customer retention analysis

Rebuild the grid from raw event data (never trust the pre-aggregated dashboard while investigating - the dashboard is a witness, not evidence), and one of four patterns will stare back at you.

1. The vertical stripe: a product break

A dark band running down a single column: the same life-week has worsened across all recent cohorts. Cohorts from January, February and March all fall off a cliff at their own week 3.

This fingerprint says the machine breaks customers at a fixed point in their lifecycle. Classic culprits: an onboarding email sequence that stopped sending, a paywall or trial-end moved to that week, a broken "second purchase" nudge, an app-update bug that only bites after the trial. The break travels with the customer's age, not with the calendar - that's the tell.

2. The diagonal stripe: a calendar shock

A dark band cutting diagonally across the grid: every cohort got worse in the same calendar weeks, whatever their age. Old cohorts in their week 40 and young cohorts in their week 2, all dented together.

That's an external or one-off event: a price increase, a multi-day outage, a checkout bug, a competitor's launch, a holiday season. The diagonal is calendar time made visible. Match the stripe's dates against the release changelog, the pricing history and the status page, and you usually have your suspect by lunch.

3. The gradient: market or product drift

No stripe at all. Each new cohort is simply a shade lighter than the one before, across every life-week. Nothing broke on a Tuesday; the whole business is slowly retaining less.

This is the scary one, because there's no single event to fix. Genuine drift means product-market fit is eroding, competition is biting, or the market itself is saturating. It demands strategy, not a bugfix.

4. The imposter: an acquisition mix shift

Here's where most teams get burned. There is a fourth fingerprint that looks exactly like the gradient - each cohort a bit worse than the last - but the cause is completely different: the composition of new cohorts changed. Every individual segment retains exactly as well as before; you're just acquiring more of the segments that always retained worse.

You cannot tell the gradient and the imposter apart by staring at the blended grid. You have to decompose the change: how much comes from within-segment retention shifting, and how much from segment weights shifting? The formal tool is an Oaxaca-Blinder decomposition, borrowed from labour economics, but even a hand-rolled version - recompute recent cohorts' retention using the old channel mix as weights - settles the question in an afternoon.

Fingerprint Pattern on the grid Likely culprit First diagnostic
Vertical stripe Same life-week darkens across recent cohorts Product or lifecycle break at a fixed customer age Audit everything that fires at that life-week: emails, trial ends, paywalls, releases
Diagonal stripe Same calendar weeks darken across all cohorts Calendar shock: pricing, outage, competitor, season Map the stripe to dates; cross-check changelog, pricing history, status page
Gradient Each new cohort uniformly lighter than the last Market drift / eroding product-market fit Decompose first to rule out the imposter; then segment by everything
The imposter Identical to the gradient Acquisition mix shift toward lower-retaining segments Oaxaca-Blinder style decomposition: within-segment rates vs segment weights

The case of the drifting cohorts

Back to our subscription marketplace. The blended grid showed a textbook gradient: roughly ten consecutive weekly cohorts, each a touch worse, no stripes anywhere. Half the leadership team had already concluded "the market is saturating" - a diagnosis with no owner and no fix, which is precisely why it was popular.

We ran the decomposition. Within-segment retention by acquisition channel was essentially flat - organic cohorts retained like they always had, and so did paid social. But the weights had moved hard: a new performance-marketing push had grown paid social from about 20% to roughly 45% of signups in a quarter, and paid-social subscribers had always retained 8-9 points worse at week 4 than organic ones.

The decomposition attributed around 70% of the drop to mix shift and only a residual to genuine within-segment decline. Not market saturation. Not a broken product. An acquisition budget decision, wearing a market-drift costume.

What changed

Two natural next steps came out of this engagement. First, once you know which customers retain, you want to know what they're worth - that's where customer lifetime value prediction with Buy 'Til You Die models picks up the thread, and why we usually run the two together. Second, retention only stays fixed if it's wired into how the company steers: a metric like retained-subscriber cost belongs in a proper KPI framework with a North Star, not in a one-off deck.

Running the investigation yourself

If you want to try this before calling anyone, the recipe is short. Define "active" precisely and unemotionally (an event, not a login). Build the grid from raw events with one query - a GROUP BY on cohort week and life-week, nothing fancier. Use weekly cohorts if you have the volume; monthly ones blur diagonal stripes into mush.

Then read it in a fixed order: check for a vertical stripe first (cheapest to fix), then a diagonal (easiest to date), and only then entertain a gradient - and never accept the gradient until the decomposition has ruled out the imposter. Most teams do this in the opposite order, which is how "the market" ends up taking the blame for a media plan.

The whole first pass is a day or two of work. The five-figure mistake is skipping it and reorganizing the product team around a drop that a channel-mix table would have explained.

The takeaway

When retention drops, resist the urge to open thirty dashboards. Build one cohort × life-week grid from raw data, and ask which fingerprint you're looking at: vertical stripe, diagonal stripe, gradient - or the imposter pretending to be one.

And never accept "the market is drifting" until you've decomposed it. In my experience the market is innocent more often than it's charged.

Retention dropping and nobody can say why?

Retention compounds: a few points of early retention move lifetime value, payback periods and how much you can afford to spend on acquisition. We decompose and explain retention for B2C and B2B businesses - and turn the diagnosis into the changes that shift the curve.

Start a conversation