On the CDNOW panel, with a real 39 week holdout as ground truth, a Pareto/NBD model flags 32 percent of the top decile by historical spend as probably inactive. The median flagged customer then buys nothing at all, against a median of 130 for the rest of the decile. Extrapolating repeat spending overstates the holdout by 35 percent and the model undershoots it by 16, so the level is not where the argument is strongest. Fitted in R with CLVTools, with a bootstrap confidence interval computed in Python.
Put spend on the right-hand side of a fixed effects regression and the coefficient looks like marginal return. On simulated data with randomly assigned dose, it overstates the true marginal return by 31%. Here is why, and how the new contdid package fixes it.
The two-way fixed effects regression is the default for staggered geo rollouts. On simulated data where the true lift is known, it understates the effect by 41%. Here is why, and the estimator that fixes it, in R and Python.