Call: Thursday, July 16, 2026 · 4:30 PM EST · Call #3 of the bi-weekly series
Project: Customer Lifetime Value Pricing (CAS Ratemaking Working Group)
Phase: 3 — CLV Model Development & Comparison (CAS window Jul 1–14) — closing complete
Researcher: Pramod Misra (5G Vector partner: Neha Tiwari)
CAS staff / coordinators: Elizabeth Smith (), Heather Davis ()
Project Oversight Group (reviewers): Mark Mondello (QBE), AJ Robinson (Allstate), AJ Paik,
Geoff Werner (Werner Advisory), Ronald Kozlowski (RTK Services)
Master log: docs/calls/README.md
All model families from the proposal are implemented, tested, and expose one common
contract — fit() / predict_clv() / sensitivity_analysis() — with every model reporting
the two CLV variants (§2.1) and the residual/inception expense conventions (§2.2):
| Family | Toolkit class | Notes |
|---|---|---|
| Contractual probabilistic | BGNBD_CLV, ParetoNBD_CLV |
Native scipy closed forms (Fader–Hardie–Lee 2005; Schmittlein 1987); renewal = purchase occasion |
| Survival | SurvivalCLV (Cox PH · Weibull AFT) |
Native; conditional residual survival; lapsed = 0 |
| Multi-state | MarkovCLV |
Product-portfolio states + absorbing lapse (Dong–Frees 2022 template); multi-product states demonstrably stickier |
| Latent-state | MarkovCLV(n_latent_states=k) |
Gaussian-HMM engagement states over yearly product/tier observations |
| Predictive ML | EnsembleCLV(mode="ensemble") |
XGBoost + LightGBM on customer-disjoint temporal splits |
| Hybrid (headline) | EnsembleCLV(mode="hybrid") |
BG/NBD probabilistic base + GBM residual correction — the form POG selected at kickoff; filing exhibits keep the probabilistic base |
set_seed(42); QA gate green (60+ tests / ruff / mypy).acquisition_expense_ratio (0.40) / renewal_expense_ratio (0.20), both sensitivity
dimensions; residual CLV charges renewal expense only (acquisition sunk); inception CLV nets
acquisition off. On the synthetic book: flat-0.25 CLV $2,369 → split residual $2,943 →
inception $1,341 per customer — the recoupment story, quantified.01_data_exploration.ipynb exhibit + the Phase-4
expense-recovery schedule (breakeven year) already prototyped.research/data/): 7 datasets (French MTPL2, Wisconsin LGPIF
panel — the Dong–Frees fund, Spanish multi-product personal lines with retention flags,
CAS Schedule P auto triangles, Australian + Swedish motor) + a fully-cited industry-benchmark
table backing every calibration band. Enables real-data validation variations in Phase 5.feature_importances() exhibit for the ML layer — on the reference book it is dominated by
exposure and renewal history (tenure ≈ 0.40, renewal frequency ≈ 0.25, premium ≈ 0.14), i.e.
the residual learner sharpens retention signal rather than importing new rating variables.
Is this exhibit + the probabilistic-base-for-filings design sufficient, or do you also want
monotonic constraints / capped residual influence / SHAP?incurred_loss, default) and as-of-date reported (reported_loss, via stylized
Schedule P development patterns) — and every model accepts loss_basis="ultimate"|"reported".
Which convention should the published exhibits lead with? (Our recommendation: ultimate for
pricing exhibits, with a reported-basis sensitivity in the appendix.)src/cas_clv/ (all 6 families) · tests/ (QA green) · notebooks/01_data_exploration.ipynb ·
research/papers/ (30) · research/data/ (7 datasets + benchmarks) · framework doc §2.1/§2.2.