Welcome to ChurnJitsu, your weekly briefing on the art of retention.

Let’s dive in.

🥊 TL;DR

  • One extra dimension on your Day 7 query tells you whether the product earned the lift or the media buyer did.

  • Reweighting this month’s per-source rates with last month’s mix gives you a like-for-like number, so a fifteen-point jump can be read as the two points it really was.

  • Per-source retention next to per-source cost per install tells you which channel deserves your next budget increment.

🎯 Master Class

Twenty minutes of SQL turns your retention chart into a number you can defend in a roadmap meeting.

Picture Monday’s retention review. Day 7 is up twelve points. Someone posts a screenshot. Someone else wants to know which feature did it.

Nobody mentions that paid acquisition’s share of new users was cut in half.

Here is the useful part. The gap between that screenshot and the truth is one extra dimension on a query you already run, and closing it pays you back three times over. You find out which channel genuinely keeps people, you stop funding the ones that do not, and you walk into the next review with a number that survives a skeptical question.

Why the blended number moves on its own

No benchmark here, no observed data. Just arithmetic.

Last month, 20% of new users came from organic traffic and 80% came from paid campaigns. Organic Day 7 retention was 40%. Paid was 10%. Blended Day 7 retention: 16%.

This month you throttle paid campaigns. Now 60% of new users are organic and 40% are paid. Both channels retain at precisely the same rates as before.

Your blended Day 7 retention jumps to 28%.

Twelve points of apparent improvement. Zero improvement inside either source. The aggregate is not wrong, it has just been asked a question it cannot answer.

The number that gives you the real answer

Take this month’s retention rate for each source, then weight those rates using last month’s mix. Holding the mix still is the whole trick. Whatever movement is left is movement your product or your campaigns actually produced.

Suppose organic really did improve this month, from 40% to 44%, and paid went from 10% to 12%. On the new 60/40 mix, your dashboard reports 31.2%, a jump of more than fifteen points from last month’s 16%.

Now reweight those same rates with last month’s 20/80 mix and you get 18.4%. Against 16%, the honest like-for-like improvement is 2.4 points.

Both numbers are real. The first tells you what happened to your reported average, the second tells you what happened to your product. Bring both and nobody has to argue about which one is true.

Pulling the inputs

If you are using Firebase Analytics, link Google Analytics to BigQuery under Firebase project settings, Integrations (BigQuery export).

In the daily exported events tables, build a cohort of distinct user_pseudo_id values with event_name = 'first_open' on a given date. Split them by traffic_source.source. Then count how many of those same IDs have a user_engagement event exactly seven calendar days later, and divide that returning count by the original first_open count for each source.

That one query hands you both inputs at once: a retention rate per source, and the share of new users each source contributed.

That is one concrete definition of Day 7 retention, not a universal one. Keep the seven-calendar-day window consistent and use only fully matured cohorts. Google’s first_open event fires on opening after install or reinstall (Automatically collected events), so do not call the denominator raw store downloads. And keep unattributed users visible rather than quietly dropping them.

One detail that will save you a confusing afternoon: traffic_source describes the channel that first acquired the user, and it is not populated in intraday tables (BigQuery Export schema). Use completed daily exports for this cut.

Go one level finer where it pays

A source label is not the end of it if one network contains ten campaigns with different audiences. A single paid bucket can move because you switched creatives, targeting, geography or campaign objectives. Splitting that bucket by campaign costs you one more column and tells you which specific buy brings people who stay.

What each result is worth to you

If organic improved and paid did not, you have a product win sitting inside a channel problem, and the fix belongs on the media side.

If neither improved, your acquisition mix earned the lift and the roadmap credit belongs somewhere else. Knowing that on Monday instead of Friday is worth a week of your team’s time.

If both improved, put per-source retention next to per-source cost per install. The channel that retains best for the least money is where your next budget increment belongs, and that is the most valuable thing this cut will ever hand you.

One honest limit. Even with the mix held still, channel-level comparisons cannot prove a feature caused the lift, because seasonality, creative quality and geography all move alongside it. Use a randomized holdout when you need a causal answer.

Your move this week: pull Day 7 by source for last month and this month, reweight with last month’s mix, and put all three numbers on one slide before the next review.

You might still have good news. You will just know exactly who to thank for it.

Inman