Weighted Cohort Lifetime

Anastasia Reusova
4 min readSep 6, 2020


As a Sum of Cohort Retention, not a Proof but an Experiment

A Bit of Inspiration
This is a short-read follow-up post to the one I wrote on determining the average lifetime value of a cohort using retention, which you can find here. There, I have suggested a way how you can extrapolate customer retention on newer cohorts to get the lifetime, and here, I would like to explain why it makes sense to add up cohort retention to get an average lifetime of a customer. If you’re a visual person, you might want to have a look at the previous post to see what I mean by “cohort retention”.

I saw someone asking this question in A Spreadsheet for Calculating Subscription Lifetime Value post by Eric Stromberg, which is very comprehensive. I had the same question, and as I managed to answer it for myself, I think it would be valuable to give a cue to those who are wondering.

The Setup
Now, imagine we’re looking at one cohort only, and it has 12 people in it. Let’s use one month as a base period to measure retention on. We’ll say Tenure = 1 when we mean that this has been 1 month since the customer has joined. For simplicity, we’ll also assume that we’re running a subscription-based service, and churned customers have churned for good. This might not hold true for real life, but you’d find a way to account for it, i.e. by creating a new customer_id for resubscriptions and tracking those in another cohort, or using a unique identifier, such as an email, and estimating the probability of a customer re-subscribing. That said, I can show how the sum of cohort retention will reflect the average lifetime.

Tenure (maturity) = 1
The period we acquire them, let’s consider it as period 1, retention will be 12/12 = 100%, as all of the 12 customers placed at least 1, or their first order. Hence, the average lifetime of a cohort is 1.0, or 100% expressed as a percentage.

Tenure (maturity) = 2
Now we’re in the second month following the acquisition. 6 customers out of the original 12 customers re-subscribed, hence, cohort retention is 6/12 = 50%. What about lifetime of an original cohort? Well, we have 6 customers, or 50% of the cohort, that purchased in the second month, or demonstrated the lifetime of 2 months. The rest 6 customers stuck to a 1-month subscription. This gives us a cohort weighted average lifetime of 2 (months) * 50% (of a cohort) + 1 (month) * 50% = 150%, or 1.5 as an integer.

As you might have noticed, this 1.5 corresponds to a sum of retention for months 1 and 2, which is 100% and 50%.

Tenure (maturity) = 3
Let’s say in month 3, only 3 customers re-subscribed, which gives us cohort retention of 3/12 = 25%. So, 3 out of 6 customers from month 2 have not re-subscribed. This way, 25% of the cohort have a lifetime of 3 months, 25% remained at lifetime of 2 months, and 50% will have a lifetime of 1 month. Notice that the weights add up to 100%. Given that, the weighted average lifetime for the cohort will be 3 (months) * 25% + 2 (months) * 25% + 1 (month) * 50% = 175%, or 1.75 as an integer.

The figure below summarizes the above text: “customers” in red will have the tenure (maturity) that you’ll see on the left by the arrow, and the ones in green will be re-subscribing the next month.

Figure 1: Legend for Figure 2.
Figure 2: Retained vs not retained customers over 3 months.

Same thing, if you add up cohort retention over 3 months, you get 100% + 25% + 25% = 175%, or 1.75.

Summing it up
I hope this small experiment has served its purpose and made you witness that the sum of cohort retention over time gives us a weighted average lifetime of customers acquired at tenure 1. To me, it looks like a very simple and elegant way of getting to an average lifetime, which can be used on actual and extrapolated data, the topic which I talked about here.

Ending this blog post, I would like to mention that I feel inspired to continue with this customer analytics series, so if that’s something of your interest, give me some claps, comment and follow me to stay in touch.

You can also find me on LinkedIn and Twitter:




Anastasia Reusova

Growth Hacking & Data Science