+5.4pt vs bench
20.4%
Portfolio churn rate — 21,548 lapsed policies
Above 12–15% norm
18.6%
Claims frequency across the active book
Median $289
$825
Mean claim cost — heavy right tail to $260,853
2015–2018
$16.2M
Total incurred losses, observation period
Model instrument cluster
Last retrained · Phase 7 batch
0%
Churn · ROC-AUC
Drivers: tenure loyalty score, premium percentile, months since renewal
0%
Claims frequency · ROC-AUC
Drivers: composite risk score, driver age group, vehicle type
0·R²
Claims severity · R²
Leakage-free — the honest, deployment-ready reading
Leakage caught & corrected
Severity R² before correction: 0.646 → after removing four target-derived columns: 0.352, the number this console reports on.
Today's worklist
48 renewals need a human this week.
Ranked by churn probability × customer lifetime value. Work top to bottom — mark a customer contacted once you've called, offered, or logged a note.
Score a customer
Run the model on a customer at the counter, not next quarter.
Enter a policy profile to get an on-the-spot churn read, expected claim cost and lifetime-value segment — the same logic underlying the portfolio-level worklist above.
Customer profile
Illustrative scoring for internal demonstration — mirrors the direction of the production XGBoost drivers, not their exact coefficients.
Fill in a profile and score it to see the customer's churn read, expected claim cost, and CLV segment here.
Scored just now
PROTECT
—
Churn probability
—
Claim probability (1yr)
—
Expected claim cost
—
10-yr discounted CLV
Recommended action will appear here.
Value vs. risk
Every customer sorted into one of four operating lanes.
CLV and churn probability, split at the portfolio median, produce four strategies your team can act on directly — no gut-feel segmentation required.
Protect
28,985 customers · 30.9%
$781 avg CLV
$22.6M total value
High value, 16% churn risk. VIP treatment, loyalty perks — this is the base to defend.
Manage
17,916 customers · 19.1%
$568 avg CLV
$10.2M total value
High value, 22% churn risk. Proactive retention outreach ahead of renewal.
Develop
17,915 customers · 19.1%
$27 avg CLV
$488K total value
Low value, 59% churn but low cost to lose. Upsell and cross-sell to grow value.
Exit
28,985 customers · 30.9%
−$1,182 avg CLV
−$34.3M total value
Loss ratio 1.17. Minimal investment — let this tier attrite naturally.
Bubble size ∝ share of portfolio · positioned by median value/risk split
Acquisition economics
Not all new business is created equal.
Agent and broker channels source structurally different customers — the gap shows up directly in return on acquisition spend.
Agent
Agent-sourced
752%
Broker
Broker-sourced
297%
14.8%
Of the book priced below expected loss — underwriting to correct
24ms
Median scoring latency achieved, target was <100ms
98
Engineered features, up from 30 raw variables
47,613
Unique policies indexed for semantic search
Ask the portfolio
Type a question instead of writing a query.
Every policy is embedded and indexed for nearest-neighbour retrieval, so front-line staff can search in plain language.
Pipeline status
What's running behind this console, end to end.
Data understanding
105,555 policies profiled across 30 source variables.
Data preparation
Date fields parsed into tenure, age and experience features; missing values imputed.
Feature engineering
30 raw variables expanded to 98 engineered features.
Predictive modelling
XGBoost classifiers & regressor, tuned with Optuna Bayesian search.
CLV & segmentation
10-year discounted CLV mapped into the four operating lanes above.
Production & search
Models versioned; vector index built for the policy search above.
XGBoost
Optuna / TPE
FastAPI
Next.js 14
Supabase
FAISS
Sentence-Transformers