Arte SheetsLearn. Try. Understand.

Marketing Science & Customer Lifetime Value

Fader-Hardie BG/NBD Customer P(Alive) Formula

Calculate non-contractual repeat-buyer active probability P(Alive | x, t_x, T) = 1 / (1 + (a / (b + x - 1)) * ((T + beta) / (t_x + beta))^(r + x)) and uncover the Increase-Frequency Paradox.

Catch the Increase-Frequency Paradox in non-contractual retail RFM tables!

In non-contractual retail, e-commerce, and marketplace cohorts, customers never phone in to cancel — they silently defect! Naive RFM heuristics assume a buyer with x = 8 historical repeat purchases is ALWAYS more likely to be active today than a buyer with x = 2 repeat purchases at the exact same recency t_x and observation window T. Peter Fader, Bruce Hardie, and Ka Lok Lee (2005) proved the exact opposite in their Beta-Geometric / Negative Binomial Distribution (BG/NBD) model: for x >= 1 repeat purchases, P(Alive | x, t_x, T) = 1 / (1 + (a / (b + x - 1)) * ((T + beta) / (t_x + beta))^(r + x)), whereas a zero-repeat customer (x = 0) has P(Alive | 0, 0, T) = 1.0000 because BG/NBD dropout opportunities occur right AFTER repeat purchases!

Build a 7-row cohort sheet first and test the paradox by hand! Set Gamma purchase-rate parameters r = 0.80 (B2) and beta = 4.00 weeks (B3), Beta dropout parameters a = 0.50 (B4) and b = 2.50 (B5), Repeat_Purchases x = 3 (B6), Recency_Week t_x = 20 (B7), and Calibration_Horizon T = 32 weeks (B8): Odds_Dead_Ratio = (0.50 / (2.50 + 3 - 1)) * ((32 + 4) / (20 + 4))^(0.80 + 3) = (0.50 / 4.50) * (1.50)^3.80 = 0.5186, giving P(Alive) = 1 / 1.5186 = 0.6585 (65.85%)! Now hold t_x = 20 and T = 32 fixed while raising x from 3 to 8: a heavy shopper who suddenly goes 12 weeks silent drops nearly in half to P(Alive) = 0.3490 (34.90% — the Increase-Frequency Paradox!)!

Customer RFM Profile (r=0.8, beta=4, a=0.5, b=2.5, T=32)FormulaVerified P(Alive)
Moderate Buyer (x = 3, t_x = 20, Hiatus = 12 wk)1 / (1 + (0.5/4.5) * 1.5^3.8)0.6585 (65.85% Active)
Just-Purchased Buyer (x = 3, t_x = 32, Hiatus = 0)1 / (1 + (0.5/4.5) * 1.0^3.8)0.9000 (90.00% Active)
Silent Heavy Buyer (x = 8, t_x = 20, Hiatus = 12 wk)1 / (1 + (0.5/9.5) * 1.5^8.8)0.3490 (Frequency Paradox!)
Zero-Repeat New Buyer (x = 0, t_x = 0, T = 32)IF(x = 0, 1, ...)1.0000 (No Post-Buy Coin Flip Yet)

Exact Fader-Hardie (2005) BG/NBD P(Alive | x, t_x, T) Formula

Validate r, beta, a, b > 0, integer x >= 0, 0 <= t_x <= T, and T > 0 (plus enforce t_x = 0 when x = 0 and t_x > 0 when x >= 1). If you want a quick sanity check in Arte Sheets without giving away the answer, ask the AI assistant: "Hint only: why does raising repeat count x while holding recency t_x < T fixed shrink P(Alive) once ((T + beta)/(t_x + beta))^x dominates (b + x - 1)?"

=LET(r_sh, B2, bt_sc, B3, a_dr, B4, b_st, B5, x_rp, B6, tx_rc, B7, t_obs, B8, IF(OR(r_sh <= 0, bt_sc <= 0, a_dr <= 0, b_st <= 0, x_rp < 0, INT(x_rp) <> x_rp, tx_rc < 0, t_obs <= 0, tx_rc > t_obs, AND(x_rp = 0, tx_rc > 0)), "Invalid BG/NBD Input", IF(x_rp = 0, 1, ROUND(1 / (1 + (a_dr / (b_st + x_rp - 1)) * (((t_obs + bt_sc) / (tx_rc + bt_sc)) ^ (r_sh + x_rp))), 4))))

Posterior Expected Single-Switch Dropout Rate E[p | x, t_x = T] Formula

Immediately after purchase x (when t_x = T), a surviving buyer faces Beta posterior mean dropout probability a / (a + b + x - 1), so 1 - P(Alive | x, T, T) = a / (a + b + x - 1) = 0.50 / 5.00 = 0.1000!

=LET(a_dr, B4, b_st, B5, x_rp, B6, IF(OR(a_dr <= 0, b_st <= 0, x_rp < 1, INT(x_rp) <> x_rp), "Require x >= 1", ROUND(a_dr / (a_dr + b_st + x_rp - 1), 4)))

Try the example

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

Further reading