MKT 626 | Forecasting churn and CLV: Tool 3

Subscriber-Base Value Explorer

What do a and b actually do? They are not two arbitrary numbers. Together they are the shape of how churn risk is spread across a cohort, and that shape is the reason aggregate retention climbs while nobody changes. Move the point and every chart follows.

Two numbers, one shapea pushes churn risk up and b pushes it down. Their ratio sets the average churn; their sum sets how tightly customers cluster around it.
…Average churn, a / (a + b)
…Polarization, 1 / (a + b + 1)
…Retention into month 2, r(1)
…Retention into month 13, r(12)
…MAPE, months 1-6 (fit)
…MAPE, months 7-12 (holdout)

Parameters

Drag a slider or type a value. Both run on a log scale from 0.1 to 10.

Presets to explore

The parameter plane

Where the current a and b sit. Both axes are log scale, so the lines at 1 split the four shapes. Hover to preview any point; click or drag to move there.

How churn risk is spread across the cohort

Each customer draws one churn probability from this distribution and keeps it for life.

initial cohortsurvivors after n renewalsaverage churn

Survivor curve

Share of the original cohort still active, S(t).

P(Churn at t)

The share of the original cohort whose lifetime is exactly t: P(churn at t) = S(t-1) - S(t). The last bar collects everyone who churns after t = 12, so the bars add to 100%.

Retention rate

The share of last month's survivors who stay. It climbs, and no individual customer ever changes.

Customer value inputs

CLV of a new customer

Valued at acquisition, before we know how long the customer will stay. PAV is the discounted margin a customer brings in; CLV = PAV - CAC.

Want to take this more slowly? From Survivor Table to CLV Distribution (Tool 2) builds this CLV distribution one step at a time, row by row from the survivor table.

…E(PAV), expected post-acquisition value
…E(CLV) = E(PAV) - CAC
…Payback: first t with PAV at least CAC
…Half-life: first t with S(t) below 50%
…Share of new customers with CLV below $0

Unit economics: cumulative discounted net cash flow

Each dot is what one customer is worth if their lifetime ends at t. The dashed line is the expected value earned through t, E(CtV), which climbs from -CAC toward E(CLV).

Distribution of CLV

Each spike is one possible lifetime, placed at its CLV, with height equal to the share of new customers who end up with it. By month n*, discounting has converged the sum to its final value to the cent, so everyone still here then shares one spike exactly at the maximum, max CLV = max PAV - CAC, where max PAV = m(1+d)/d.

P(CLV)E(CLV), the average of CLVsCLV = $0 (PAV = CAC)

RLV of an existing customer after n renewals

Valued today, for a customer who has already renewed n times: residual lifetime value counts only the margins still to come.

…Survivors after n renewals
…Average churn among survivors
…E(RLV) per survivor
…Cohort value: total PAV of all N acquired
…Cohort value of survivors: total RLV

Churn probabilities: survivors vs whole cohort

After n renewals the survivors follow Beta(a, b + n). Same a, larger b: the mix has slid toward low churn.

whole cohort, Beta(a, b)survivors after n renewals

Distribution of RLV vs PAV

Top: PAV of a new customer. Bottom: RLV of a customer who has survived n renewals. Survivors are worth more on average, even though their past margins no longer count. Both end in one spike exactly at the maximum, m(1+d)/d, for everyone still here once the discounted sum has converged to the cent (n*).

E(PAV)E(RLV)

Cohort value vs cohort value of survivors

Model and source notes

The model. Each customer has a churn probability that stays constant for life. Across the cohort those probabilities follow Beta(a, b). Aggregate retention is r(t) = (b + t - 1) / (a + b + t - 1) and survival is the running product, S(t) = S(t-1) x r(t). Equivalently S(t) = B(a, b + t) / B(a, b). Averages: mean churn is a / (a + b) and polarization is 1 / (a + b + 1). The bars show the share of customers whose churn probability falls in each 1-point-wide bin.

Why survivors look loyal. After n renewals the customers still present are not a random sample. Their churn probabilities follow Beta(a, b + n): same a, larger b, so the mix has shifted toward the loyal end. Nobody changed; the churn-prone left first.

Customer value. Period t = 0 is acquisition, and the first margin m arrives then, undiscounted. A customer whose lifetime is t + 1 periods has PAV = m x [1 + 1/(1+d) + ... + 1/(1+d)^t] and CLV = PAV - CAC; the probability of that lifetime is S(t) - S(t+1). E(CtV) is the expected discounted net cash flow through t. A customer who has survived n renewals has RLV = 0 if they churn at the next renewal, otherwise the discounted margins still to come, weighted by S(n + i) / S(n). The value charts follow the Class 7 Shiny app (beta_geometric_clv) and the BG CLV tab of Class 7 - BG and CLV.xlsx: at the Blue Apron fit, m = $26.82 (1.8 orders x $57.30 x 26%), d = 1.53% and CAC = $100 give E(PAV) = $234 and E(CLV) = $134, as in the workbook. Cohort value is simulated: each simulated world draws N new customers' PAVs and the round(N x S(n)) survivors' RLVs, as the Shiny app did.

Source. Observed survival comes from Class 7 Data - Blue Apron.xlsx (the 12-month series), as carried into the Beta Geometric (BG) sheet of Class 7 - BG and CLV.xlsx. The fitted values a = 0.6746182701085135 and b = 1.2336012934958855 are the ones on that sheet, found there with Solver by minimising squared error on retention rates for months 1 to 6 only; months 7 to 12 are a holdout. MAPE is the average of |observed r(t) - model r(t)| / observed r(t), computed separately for months 1-6 and months 7-12. The observed survival is flat from month 10 to 11 in the source data, so observed retention at month 11 is 100%.