Superseded, 27 September 2026. This page is the record of Call #6 (21 Aug) as presented, and keeps the figures and vocabulary of that date. In paper v5.2 (27 September 2026): the 3+ product relativity is 0.9683 on 9.44 expected years against 6.53 for mono-line (was 0.9646 on 8.62 against 5.11); unconstrained / constrained CLV are now base / with-growth. The current state is on the project hub.
Call: Friday, August 21, 2026 · 4:30 PM ET · Call #6 of the bi-weekly series
Project: Customer Lifetime Value Pricing (CAS Ratemaking Working Group)
Phase: 5 closed (Jul 29–Aug 19) · 6 — Paper, Toolkit, Executive Summary (Aug 20–Sep 15) — all three deliverables assembled
Researcher: Pramod Misra (Georgia Institute of Technology; 5G Vector partner: Neha Tiwari)
CAS staff / coordinators: Elizabeth Smith, Heather Davis
POG: Mondello · Robinson · Paik · Werner · Kozlowski
Master log: docs/calls/README.md
This is the full-package review. All three contractual deliverables are complete and internally consistent: the paper, the executive summary, and the toolkit. The CAS RPM session submission is also built and validated. The presentation for this call is the RPM session deck — 26 slides, every number generated from the manuscript's own seeded payload, so what you see on screen cannot drift from what you read in the paper.
Call #5 (Aug 13) was cancelled; its agenda is carried here. Round-1 feedback still arrived on that date, in writing — AJ Robinson's 18-comment review — and is fully incorporated.
| Min | Item | Section |
|---|---|---|
| 0–4 | The package: what is being handed over, and how it verifies | §2 |
| 4–12 | Walk the deliverables from the RPM deck — paper, exec summary, toolkit | §3 |
| 12–18 | What review round 1 changed, and the four defects it caught | §4 |
| 18–22 | The one negative result: external validation of the tenure gradient | §5 |
| 22–29 | Decisions — venue, RPM route, release, plus the four still open from Aug 6 | §6, poll |
| 29–30 | Close: what CAS owes, what I owe, and the Sep path | §7 |
Three contractual deliverables, all assembled:
| Deliverable | Artifact | State |
|---|---|---|
| Peer-reviewed paper | paper/build/CAS_CLV_Paper_v3.2.{docx,pdf} |
v3.2 — 49 pp rendered, 8 figures, 23 tables, 6 appendices |
| Executive summary | paper/build/CAS_CLV_Executive_Summary_v3.2.{docx,pdf} |
3 pp rendered — inside the contractual 2–3 pp |
| Open-source toolkit | cas_clv, curated release in dist_release/ |
96 files, MPL 2.0, gate green |
| (additional) | RPM 2027 session submission | Proposal + 24-slide deck, validated against every CAS webform limit |
How it verifies. Every quoted figure in both documents is produced by one seeded run
(seed 42) and checked by a drift gate: scripts/check_paper_numbers.py reports
0 unmatched across 289 tracked figures (274 reproduced from the toolkit, 15 cited to primary
sources). The gate as left: 122 tests pass, ruff clean, mypy clean, six notebooks execute
clean. The release subset was re-gated inside dist_release/ itself — 122 tests pass there too,
so the published artifact is not merely a copy but an independently verified one.
The synthetic book underneath all of it: 5,000 customers · 32,728 policy terms · 5,617 claims · $103.3M written premium · portfolio loss ratio 0.5246 · underwriting margin 22.5%, over 2015–2025. No proprietary data enters the repository at any point.
Six model families, one predict_clv() contract, and they agree. That is the paper's central
credibility claim, and it is what makes the method reviewable rather than a black box:
| Model | Mean CLV | Median | DERT (5y) | 1-yr in-force renewal | % CLV positive |
|---|---|---|---|---|---|
| BG/NBD | $2,236.27 | $3,004.27 | 2.77 | 0.8052 | 75.7% |
| Pareto/NBD | $2,232.75 | $2,558.86 | 2.54 | 0.8546 | 75.7% |
| Cox PH | $2,340.37 | $1,098.80 | 2.48 | 0.9555 | 52.4% |
| Weibull AFT | $2,185.20 | $970.97 | 2.27 | 0.9322 | 52.4% |
| Markov | $2,092.40 | $938.12 | 2.22 | 0.9219 | 52.4% |
| Hybrid (POG headline) | $2,361.43 | $1,755.78 | 2.43 | 0.9246 | 67.0% |
Mean CLV spans $2,092–$2,361 — a 12.9% spread across six structurally different families, against empirical annual renewal of 0.9221. The medians diverge much more than the means, and the paper says why: the survival and Markov families assign zero to lapsed customers, so their medians sit lower while their means do not.
Round 1 produced two written reviews, and all 24 comments are incorporated. AJ Robinson's (13 August, 18 comments) drove the v3.0 code changes. Mark Mondello's (17 August, 6 comments, plus a discrete worked example in Excel) drove v3.1 and v3.2 — exposition only, no figure moved. Robinson's review first: four comments identified defects, not ambiguities, and they are worth naming explicitly because the correction moved published numbers:
| # | What was wrong | Consequence of the fix |
|---|---|---|
| c16 | Cross-sell was credited in every renewal term and multiplied by DERT — an annuity of cross-sales | Growth gap $693.40 → $376.21 per customer. Cross-sell is now a one-time event with an annual hazard; upsell is separated as what it is, a permanent margin step-up |
| c39 | Credibility was applied to customer counts against the 1,082-claim classical standard | On equal-size quintiles it returned 0.9614 in all five rows — a column carrying no information. Now on claim counts. Indicated relativities unchanged; the exhibit's honesty was not |
| c41 | The retention-adjusted loss ratio grouped by tenure only, so it could not support the decision it exists for | New retention_adjusted_loss_ratio_by_segment() — and this produced the strongest new result in the paper (below) |
| c14 | The two CLV variants were named backwards relative to how actuaries read the words | Renamed clv_base / clv_with_growth; old names ship as deprecated aliases for one release so nothing already running breaks |
The c41 result, because it is the one to take away from this call. Grouping the retention-adjusted loss ratio by rating segment rather than tenure:
| Segment | Customers | Retention | Expected years | First-term LR | Lifetime LR | Indicated relativity |
|---|---|---|---|---|---|---|
| 1 product | 3,205 | 0.8375 | 5.11 | 0.6515 | 0.5928 | 1.0992 |
| 2 products | 1,545 | 0.8929 | 6.33 | 0.5939 | 0.5132 | 0.9516 |
| 3+ products | 250 | 0.9665 | 8.62 | 0.6652 | 0.5202 | 0.9646 |
Read the bottom row. The 3+ product segment has the worst first-term loss ratio of the three — and it still indicates a credit. On a single-term view it ranks last of three; on a lifetime view it ranks second. The inversion is invisible until retention enters the exhibit, and it is the clearest demonstration in the paper of what lifetime value adds to a rate indication.
c14 is an amendment to a decision this group made. The 2026-07-02 call settled on
clv_unconstrained / clv_constrained. AJ's review established that actuaries read
"constrained" as the regulatorily constrained variant — the opposite of the intended sense. It
is presented here as an amendment adopted on review, and poll Q4 confirms it.
Ten further substantive clarifications (fixed vs variable expense and the ALAE/ULAE convention, the growth-value definition, attained-tenure cohort labels) and four clerical items are in the point-by-point response memo, keyed to comment numbers and led by a changed-numbers table.
Mark built a discrete CLV worksheet in Excel reconstructing how he read the calculation, and asked for it to be corrected where his reading missed the intent. It reproduces in our code to the cent — CLV with growth \$1,759.73, without \$1,610.15, gap \$149.58 — before any correction is applied.
It also independently reproduced the c16 defect. He built it from the v2.0 text, and that text led him to credit cross-sell in every renewal term, with per-term cross-sell probabilities summing to 1.15 — a household buying its first homeowners policy more than once in expectation. That is AJ's comment 16 arrived at from the opposite direction, and it is good evidence the old wording invited the misreading rather than merely permitting it.
| Item | Effect on his total | |
|---|---|---|
| ✅ | Acquisition vs renewal expense split (0.40 then 0.20) | correct as written |
| ⚠ | Correction 1 — cross-sell one-time, upsell a permanent step-up | +\$101.23 |
| ⚠ | Correction 2 — tenure credit is multiplicative, not 0.0422 points/yr | −\$199.76 |
| v3.2-consistent total | \$1,661.20 (net −\$98.53) |
His five red-flagged cells are answered in the
response memo and on the Answers_to_red_cells sheet of the
corrected workbook. One of them found a genuine loose end: we quote cash flows in day-0 real
terms but discount at a nominal cost of equity. The mismatch is conservative — it understates
CLV — but it should be stated rather than left implicit. Now done at v3.2: §3.1 states the
convention and limitation L14 records it. His comment 22 also surfaced a real error: the v3.0 global rename had overwritten the old
variant names inside the paragraph explaining the rename, leaving it self-contradictory.
The reserve question from the Aug 6 poll asked the POG to help design the NAIC five-year cross-carrier reproducibility test. That test has now been attempted, and the answer is negative. Reporting it plainly, because it constrains what the toolkit may claim.
Consequence, already implemented: the tenure curve ships as a mechanism, not a parameter.
loss_trend remains 0.0 by default and an exact no-op, asserted per model family by tests.
The paper's §3.5 "provisional" note is replaced: the POG has not ratified the treatment, but the
evidence is no longer provisional. Working: docs/tenure_gradient_validation.md.
Also closed since Aug 6: the disparate-impact screen was extended from geography to age bands — five groups, minimum adverse-impact ratio 0.9729, no group flagged against the four-fifths threshold of 0.80.
Full cards with options and recommendations: Aug 21 poll.
New this call — these three gate delivery, and only CAS can answer them:
- Q1 — Submission venue: Variance or E-Forum? This is now the single largest schedule
risk. It drives the Pandoc reference template (paper/pandoc/reference.docx, still missing) and
the abstract's target length (currently 281 words). Every other paper task is done.
- Q2 — RPM 2027 route. Is the session submitted as a project deliverable under the
research agreement, or as an individual speaker proposal? Open since ~Jun 30. The package is
built and validated; only this answer and the call-for-presentations deadline are missing.
- Q3 — Toolkit release. github.com/casact provisioning and ScholarOne credentials have been
outstanding since ~Jun 19 and now block the release and the submission respectively. Does the
POG want to review dist_release/ before it is published?
Confirmations:
- Q4 — Variant naming. Ratify clv_base / clv_with_growth as the amendment to the
2026-07-02 decision.
Still open from Aug 6 — restated rather than re-asked. Four decisions from that poll are unanswered, and four passages in the paper still read "provisional" as a result. They are carried onto this poll in a single panel with the recommendations unchanged: - Q1 (Aug 6) tenure-loss default basis · Q2 where the curve comes from · Q3 may a tenure relativity enter a filed exhibit · Q4 case-study grain. - Aug-6 Q3 matters most. §7 currently takes a position a regulator could contest, and it is doing so without POG ratification. If the group answers nothing else, answer that one.
CAS — the first three are blocking
- ScholarOne credentials + github.com/casact repo — overdue since ~Jun 19. No local
work-around exists.
- Submission venue — drives the reference template and abstract length.
- RPM 2027 deadline + submission route — open since ~Jun 30.
- Hub access — the project hub is a private HF Space, so POG members cannot open it without
being added as collaborators. Mark asked on Jul 16 for a PDF export instead. Either works;
a decision has been outstanding across four calls.
Researcher - Fold both polls' answers into the provisional passages as soon as they arrive. - §IX handover package to CAS — broader than the public release and distinct from it; scoping now. - Fresh-venv verification of the pinned dependency set (the release gate has run on the project environment only).
| Item | Path |
|---|---|
| Paper (source of truth) | paper/paper.md — v3.2 |
| Rendered paper | paper/build/CAS_CLV_Paper_v3.2.{docx,pdf} |
| Executive summary | paper/build/CAS_CLV_Executive_Summary_v3.2.{docx,pdf} |
| Toolkit release subset | dist_release/ (96 files, MPL 2.0) |
| Presentation for this call | 2026-08-21_deck_pog.html — 26 slides (the 24-slide RPM deck plus two POG opening slides) |
| RPM session proposal | docs/publish/rpm_2027/session_proposal.md |
| Consolidated review register | review_responses.html — every point from every reviewer, its disposition, and the file it landed in |
| Review response — Robinson | 2026-08-17_review_response_AJR.html |
| Review response — Mondello | 2026-08-21_review_response_MM.html |
| Corrected discrete example | 2026-08-21_CLV_Discrete_Example_reconciled.xlsx |
| Package-review deep dive | 2026-08-21_package_review.html |
| Decision poll | 2026-08-21_poll.html |
| L4 validation working | docs/tenure_gradient_validation.md |
Reproducibility. Every figure in this brief: python docs/calls/phase6_package_review_data.py
(book and model figures) and python docs/calls/phase6_mondello_example_reconciliation.py
(the discrete-example reconciliation)
— it reads the same seeded payloads the drift gate validates the manuscript against, so a figure
absent from that output is absent from the paper too. Gate: 122 passed · ruff clean ·
mypy clean · drift check 0 unmatched.