Are these the right customers?
Volume is cheap if the customers don't stick. Tracking how customers behave AFTER they land - do they convert, do they stay subscribed, do they outperform the ones who came in via discount-driven social? TV-acquired customers should retain better. If they don't, the channel is firing but the message is wrong.
90-day retention · TV-acquired vs paid-social cohort.
Read it like an LTV operator. Both cohorts start at 100% on acquisition day. The orange line (TV-acquired actual) decays slower than the gray dashed line (paid-social cohort counterfactual) because TV-acquired customers came in via brand-recall, not discount. By day 90 the gap is +8pp - that's 8 more customers per 100 still active, monetizing for another 90+ days at the brand's retention LTV. The blue line is the model fit; the shaded band is the range.
Cohort funnel · TV flight vs dark window
The "is it good volume?" question. Decision rule: if first-purchase / OD-to-Sub holds during flight AND cohort retention beats paid-social cohort by 5pp+, scale TV with LTV-positive confidence. If volume grows but conversion drops, fix creative + targeting before scaling - channel is working, message is wrong.
MethodologyThe LTV stack · how we read cohort behavior
Purchase-frequency model. Forecasts how often each cohort will buy over a given horizon. Foundational papers Schmittlein-Morrison-Colombo 1987 + Fader-Hardie 2005. Open-source library: lifetimes (Python) or open-source CLV module (more actively maintained 2026).
Spend-per-purchase model. Pairs with the frequency model to give expected customer lifetime value per cohort over a T-month horizon.
Churn-risk model. Lets you say "customer's churn risk doubles between month 4 and month 7" instead of just "60% still here at 90 days." Open-source library: lifelines.
Cohort-level treatment effect. Identifies which acquisition cohorts have TV-driven LTV uplift versus which don't. The board-grade sentence: "customers acquired during TV-on weeks have 23% higher 12-month CLV than TV-off weeks, controlling for cohort age." Open-source library: EconML.
The full fit runs in a Python worker once the brand provides 12+ months of transaction data. Dashboard-side lib/compute/clv-bgnbd.ts ships a simpler frequency × AOV stub for the demo.