Arte SheetsLearn. Try. Understand.

Marketing Science & Subscription SaaS Analytics

Shifted-Beta-Geometric (sBG) Cohort Retention Formula

Project contractual subscription survival S(t) = S(t - 1) * (beta + t - 1) / (alpha + beta + t - 1) under unobserved churn heterogeneity and explain rising cohort retention rates.

Why SaaS cohort retention rises over time even when NO individual customer becomes more loyal!

Finance teams projecting subscription LTV often extrapolate Year-1 retention r_1 = 75% as a flat geometric curve 0.75^t — dramatically undervaluing multi-year renewals! Peter Fader and Bruce Hardie (2007) showed via the Shifted-Beta-Geometric (sBG) model that when individual churn probabilities theta follow Beta(alpha, beta) across a heterogeneous cohort, high-churn customers wash out early ("sorting / frailty selection"), causing observed cohort retention rate r_t = (beta + t - 1) / (alpha + beta + t - 1) to RISE monotonically every single period! Starting from S(0) = 1, exact cohort survival follows the 1-line recurrence S(1) = beta / (alpha + beta) and S(t) = S(t - 1) * (beta + t - 1) / (alpha + beta + t - 1), and when alpha > 1, undiscounted expected total renewals SUM_{t=1}^inf S(t) equals exact closed form beta / (alpha - 1)!

Verify on Beta(alpha = 2.0, beta = 6.0) in H2 and H3: Period-1 Retention is r_1 = 6 / (2 + 6) = 0.7500 (S(1) = 0.7500 vs homogeneous 0.7500), Period-2 Retention rises to r_2 = 7 / 9 = 0.7778 (S(2) = 0.5833 vs naive 0.75^2 = 0.5625), Period-3 Retention rises to r_3 = 8 / 10 = 0.8000 (S(3) = 0.4667 vs naive 0.4219), and Period-4 Retention hits r_4 = 9 / 11 = 0.8182 (S(4) = 0.3818 vs naive 0.3164)! Moreover, total expected lifetime renewals is beta / (alpha - 1) = 6 / (2 - 1) = 6.0000 renewals — DOUBLE the naive geometric estimate 0.75 / (1 - 0.75) = 3.0000 renewals!

Renewal Period t (alpha = 2, beta = 6)sBG Retention r_tsBG Survival S(t) vs Naive 0.75^t
Period 16 / 8 = 0.75000.7500 vs 0.7500
Period 27 / 9 = 0.77780.5833 vs 0.5625
Period 38 / 10 = 0.80000.4667 vs 0.4219
Period 4 (Expected Total Renewals = 6.00)9 / 11 = 0.81820.3818 vs 0.3164 (+20.7% Higher!)

Period-t Conditional Cohort Retention Rate r_t Formula

Validate alpha > 0, beta > 0, and integer renewal period t >= 1.

=IF(OR($H$2 <= 0, $H$3 <= 0, A2 < 1), "Invalid sBG Input", ( $H$3 + A2 - 1 ) / ( $H$2 + $H$3 + A2 - 1 ))

Undiscounted Expected Total Renewals vs Naive Constant-Churn Benchmark Formula

When alpha > 1, SUM_{t=1}^inf S(t) = beta / (alpha - 1) converges in closed form; when 0 < alpha <= 1, heavy loyal-tail weight makes undiscounted mean lifetime infinite (requiring positive discount rate d > 0 over finite horizon)!

=LET(al_p, H2, bt_p, H3, IF(OR(al_p <= 0, bt_p <= 0), "Invalid sBG Input", IF(al_p <= 1, "Infinite Undiscounted Tail (alpha <= 1)", ROUND(bt_p / (al_p - 1), 4))))

Try the example

Use the original values or change them to test your understanding.

Further reading