Step-by-step worked examples with real code. Building a motor pricing model from scratch, implementing credibility weighting, constructing factor tables, fitting GAMs. Designed to run end-to-end without modification. 45 articles.
A complete Python tutorial for building a Tweedie GLM for insurance pricing: synthetic motor data, statsmodels, exposure offset, interpreting the p parameter, residual diagnosti...
How UK home insurers should model physical climate risk: UKCP18 projections, Flood Re's 2039 exit, ABI claims data, and practical code using insurance-whittaker, insurance-confo...
Build a double-lift chart to compare GLM vs GBM predictions. Bin by prediction ratio, compute A/E per decile, plot with matplotlib. Standard tool for pricing committee model val...
The first Python implementation of the asymptotic Gini drift test from Wüthrich et al. (2025). A proper z-test for ranking degradation — not a heuristic, not a threshold, a p-va...
FCA Consumer Duty PRIN 2A requires insurers to tell policyholders what they can change to get a better outcome. Most pricing teams have not built this. insurance-recourse does i...
insurance-fairness v0.6.3 ships DiscriminationInsensitiveReweighter. Here's why dropping the protected column doesn't work, how propensity-based reweighting does, and what the A...
FCA PS24/1 confirms enhanced Consumer Duty requirements from April 2026. EP25/2 flags ongoing fair value supervision in motor and home. No single technical checklist exists for ...
Why GLM coefficients aren't causal effects, and how to fix that using insurance-causal: DML with CatBoost nuisances, causal forests for heterogeneous treatment effects, and DiD/...
Standard Tweedie GLMs handle zeros implicitly. When that implicit handling breaks — specialty lines, niche segments, specific peril models — you need ZIP or hurdle models. Here ...
How the Ogden discount rate and Periodical Payment Orders change the maths of large BI pricing in the UK — with Python code to calculate lump sum equivalents, discount PPO cash ...
UK motor bodily injury severity has outrun CPI since 2022. This post implements a multiplicative severity separation model and Whittaker-Henderson smoothing in Python to separat...
Step-by-step: extract CatBoost factor tables with shap-relativities and write a clean Excel file with openpyxl. Formatted output ready to paste into Radar or Emblem.
A practical statsmodels tutorial for pricing actuaries: Poisson frequency model with exposure offset, Gamma severity model, overdispersion tests, factor table extraction, and A/...
Extract the calendar-year inflation component from a claims development triangle using Taylor's two-factor separation. Python from scratch, then connect to severity trending.
Reproduce an Emblem frequency-severity GLM in Python: factor tables, one-way plots, deviance residuals, and lift charts using statsmodels, CatBoost, and Polars.
Which GLM assumptions actually matter for insurance pricing, which ones you routinely violate without consequence, and the diagnostics worth running before signing off a product...
A practical walkthrough for pricing analysts: use insurance-causal for causal inference, insurance-conformal for prediction intervals, and insurance-monitoring for drift detecti...
Build a burning cost model in Python: frequency-severity split, exposure offsets, large loss capping, IBNR adjustment, and combined pure premium for UK pricing.
Tutorial on monitoring insurance pricing models using actuarial KPIs. Gini tracking, segmented A/E, double-lift for champion/challenger. Why generic drift tools miss what matters.
Build a CatBoost frequency-severity pricing model on freMTPL2 using Polars. Poisson frequency, Gamma severity, combined burning cost, SHAP factor extraction, and distillation to...
Insurance walk-forward cross-validation prevents the look-ahead bias that makes standard k-fold results useless for prospective evaluation. Complete Python example with insuranc...
sklearn's TweedieRegressor tutorial gets you to a fitted model in six lines. It also produces predictions that are wrong for any policy with non-annual exposure. Here is the cor...
Insurance model monitoring in Python that understands exposure weighting, development lags, and Gini drift. Why Evidently and NannyML miss what matters for pricing, and what ins...
The FCA expects pricing teams to demonstrate their models don't proxy-discriminate under Consumer Duty. Most teams do this in Excel. Here is how to do it properly in Python, usi...
How to run covariate shift detection as a recurring monthly check: monitoring cadence, ESS ratio trends, and the thresholds that trigger a retraining...
Logistic regression treats all non-lapsers the same. Mixture cure models split them into two groups: structural non-lapsers who will never leave, and...
GLMTransfer borrows statistical strength from a related source book to price thin target segments. Motor-to-fleet, home-to-landlord, and fleet roll-outs.
Per-risk large loss loadings for UK home insurance using quantile GBMs. Avoids the flat-loading trap by making the loading a function of the risk itself.
How to convert raw telematics trip data into GLM-ready features for UK motor pricing. Covers HMM state segmentation and score calibration to GLM relativities.