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_t | sBG Survival S(t) vs Naive 0.75^t |
|---|---|---|
| Period 1 | 6 / 8 = 0.7500 | 0.7500 vs 0.7500 |
| Period 2 | 7 / 9 = 0.7778 | 0.5833 vs 0.5625 |
| Period 3 | 8 / 10 = 0.8000 | 0.4667 vs 0.4219 |
| Period 4 (Expected Total Renewals = 6.00) | 9 / 11 = 0.8182 | 0.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.