The core discipline. Rate adequacy, burning cost models, credibility weighting, GLM structure, frequency-severity separation, and the practical decisions that determine whether a book makes money. 123 articles.
A definitive survey of open-source Python tools for insurance pricing in 2026. General-purpose ML libraries, specialist actuarial packages, the Burning Cost stack, and honest ga...
Denuit, Michaelides and Trufin (March 2026) unify autocalibration and non-discrimination into a single actuarial test. If your model fails it, you have a pricing problem and a r...
Lee, Badescu, and Lin (2026) replace ad-hoc event counts with a principled actuarial risk index: MODWT decomposes the acceleration signal, a Gaussian-Uniform mixture anchors tai...
Most UK insurers fit a logistic regression on PCW quote data and call it a demand model. It is biased in at least three distinct ways. Here is the causal structure that explains...
Brehmer & Strokorb (2019) proved that no proper scoring rule applied to raw data can discriminate tail indices. Bladt & Øhlenschlæger (arXiv:2603.24122) fix this by scoring norm...
A stochastic SIR model calibrated to LockBit ransomware data shows why treating cyber losses as independent events badly underestimates portfolio-level risk.
Balzer and Benlahlou (arXiv:2603.14543) extend gradient boosting to spatial panel data. Here is what it does, how it compares to BYM2 and Blier-Wong, and when a UK pricing team ...
A new paper combines panel fixed effects, double machine learning, and instrumental variables. The headline result is not the estimator — it's that ML covariate adjustment frequ...
Python has no equivalent of R's msm package for continuous-time multi-state modelling of claims. We explain the mathematics, show why a Poisson GLM substitution works for most p...
Moriah et al. (2026) run a sequential model-building exercise on a French home insurance portfolio to measure what each data layer — hydrological zoning, rainfall intensity, bui...
Why the standard flat EV surcharge is wrong in two directions simultaneously, what the claims data actually shows, and how to build a severity model that handles the bimodal str...
When you have fewer than 5,000 policies in a segment, should you use Bühlmann-Straub credibility or a GBM with transfer learning? The answer depends on whether you have a relate...
Conformal prediction and the parametric bootstrap both produce prediction intervals for insurance pricing models. They answer different questions, have different computational c...
Conformal prediction gives finite-sample valid 99.5% risk bounds for individual policies — useful for premium risk SCR validation and PRA SS1/24 backtesting, but not a replaceme...
A structured decision framework for choosing between conformal prediction, distributional GBM, Bühlmann-Straub credibility, GLM bootstrap, and GAM uncertainty. Model type, data ...
EY forecasts a 111% net combined ratio for UK motor in 2026. WTW documents a 13% annual premium fall. Here is what the data shows and what pricing teams should do about it.
TabPFN v2 (Nature 637:319–326, 2025) does zero-shot prediction on datasets up to 10K rows. Here is what that actually means for the pricing segments where your current models ar...
Tab-TRM (arXiv:2601.07675) is a 14,820-parameter recursive model that beats CatBoost on French MTPL while connecting to GLM theory. We explain the architecture, the numbers, and...
Applying CANN + NID to severity (Gamma) GLMs. Why the signal is weaker than frequency, what configuration changes are needed, and when a severity interaction is worth adding.
The complete PS21/5 compliance workflow: CATE estimation with insurance-causal, ENBP-constrained optimisation with insurance-optimise, fairness audit with insurance-fairness, an...
Chevalier & Côté (EAJ 2025) benchmark nine GBM variants on five insurance datasets. We read it so you don't have to, then show where insurance-distributional fits in.
FCA MS24/2 (February 2026) means pricing teams now own the APR question. Here is how to treat it as a pricing problem — with the same tools used for the insurance itself.
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...
The FCA has explicitly flagged pet insurance for monitoring in its 2026 regulatory priorities. FOS complaint upheld rates hit 52% in Q1 2025 — the highest of any UKGI business l...
SOA and CAS research from late 2025 has sharpened the methods for calibrating parametric triggers and quantifying basis risk. Here is what that means in practice for UK flood an...
NSGA-II finds the non-dominated pricing strategies across accuracy, group fairness, and counterfactual fairness simultaneously. TOPSIS turns that front into an auditable regulat...
How to detect when a motor book has hit the floor of its underwriting cycle — using PSI on new business mix, segment-level A/E, Gini stability, and mSPRT to know when the next m...
A 5pp Gini improvement means nothing to a CFO. The Loss Ratio Error framework from arXiv:2512.03242 converts model correlation into expected loss ratio — and from there into pou...
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 average treatment effect hides a 5x spread in price elasticity across a UK motor book. GATES, CLAN, and RATE tell you the size, who's who, and whether the ranking is actiona...
The FCA's interim report on MS24/1 landed in January 2026 with a Q3 2026 final report expected. Here is what pure protection pricing teams need to build before that lands.
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...
A covariate that predicts mean severity well may tell you almost nothing about your 99th percentile claims. Here is how to identify which rating factors actually drive large los...
BCG's 2025 analysis puts embedded insurance at 30% CAGR. The pricing architecture question is not whether to do it - it's whether your model can answer in under 100ms without co...
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/...
arXiv:2504.16592 formalises what pricing teams have been quietly observing for years: autonomous pricing algorithms can converge to supra-competitive prices without any firm eve...
Laub, Pho and Wong's ANAM paper enforces smoothness and monotonicity architecturally, not as penalties. Here is what the mechanism actually is, why it matters more than the benc...
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 to implement walk-forward cross-validation for insurance GLMs in Python using insurance-cv. Covers IBNR buffers, fold design, and a full worked example on freMTPL2-style mot...
Every insurance team checks their champion/challenger results monthly. Every month you look, you inflate the false positive rate. Here is how to do it correctly using sequential...
Monthly peeking at champion/challenger results with a t-test inflates your false positive rate to ~25%. The mixture SPRT (Johari et al. 2022) is an e-process: valid at every int...
PS25/21 abolished the mandatory 12-month product review cycle in December 2025. Harm-proportionate review cadence is now the requirement. Here is what that means for actuarial g...
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...
Migrating from Emblem to Python for insurance GLM pricing: what changes in workflow, what gets easier, what gets harder, and what the transition actually looks like in practice.
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.
The Python equivalent of the IFoA MLR Working Party's R tutorial: Poisson GLM baseline, EBM GAM, and CatBoost GBM on UK motor data, with the full pipeline from data to governance.
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.
CPI-adjusting your historical claims data before fitting a pricing model introduces systematic bias. How to apply line-specific inflation indices for motor and home insurance in...
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...
Build a burning cost model in Python: frequency-severity split, exposure offsets, large loss capping, IBNR adjustment, and combined pure premium for UK pricing.
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...
Active Consumer Duty investigations in home and travel insurance. What a defensible pricing model actually requires under PRIN 2A, and what the FCA thematic review said about mo...
EconML is the standard Python library for causal ML. It was not built for insurance pricing, Poisson/Gamma exposure models, or the dual-selection bias problems specific to renew...
DoWhy is the most rigorous general-purpose causal inference library in Python — DAG specification, formal identification, refutation tests. It was not built for insurance pricin...
How to run covariate shift detection as a recurring monthly check: monitoring cadence, ESS ratio trends, and the thresholds that trigger a retraining...
Three interpretable architectures for UK insurance pricing: EBM, ANAM, and PIN via insurance-gam. Refuse the GLM-vs-GBM accuracy trade-off with factor tables.
CausalForestDML separates causal price effect from risk-lapse correlation in UK motor renewal. insurance-elasticity - per-customer CATE and ENBP optimiser.
Champion/challenger with ICOBS 6B.2.51R compliance for UK insurers. SHA-256 routing, SQLite logging, bootstrap LR tests, SMF-signable report - insurance-deploy.
Two-stage CatBoost plus REML random effects for UK insurance broker adjustments. insurance-multilevel - Buhlmann-Straub credibility weighting, not guesswork.
Continuous-time HMM for telematics risk scoring in UK motor pricing. Latent driving regimes from GPS data - actuarially interpretable features for Poisson GLM.
TabPFN and TabICLv2 for thin-segment UK insurance pricing. In-context learning at inference, no gradient descent. insurance-thin-data wraps both for actuaries.
Pairwise Interaction Networks produce exact tabulatable 2D rating factor surfaces, not SHAP approximations. Beats GBMs on French MTPL benchmark. Python.
Covariate-conditioned IBNR completion by risk segment using ML-EM algorithm. insurance-nowcast corrects aggregate LDF bias from your actual recent risk mix.
Joint conformal prediction sets for frequency and severity in UK insurance. Fan and Sesia coordinate-wise standardization - simultaneous coverage across both.
EVT for UK motor large loss pricing: censored GPD for open TPBI claims, profile likelihood CIs, excess layer pure premiums. insurance-evt Python library.
Distributionally robust rate optimisation: worst-case demand within a Wasserstein ball. Price-of-robustness curve for UK pricing committee papers - Python.
Shared-trunk neural model for frequency-severity dependence in UK motor pricing. Explicit dependence testing where two-part GLMs assume independence - Python.
Conformal risk control for UK insurance: coverage calibrated to financial shortfall, not miscoverage rate. insurance-conformal - beyond standard intervals.
Logistic regression treats all non-lapsers the same. Mixture cure models split them into two groups: structural non-lapsers who will never leave, and...
Doubly robust TMLE for insurance pricing with Poisson outcomes and exposure offsets. insurance-tmle - first Python library with the implementation AIPW lacks.
Bandit algorithms for FCA GIPP-compliant price experimentation in UK general insurance. ENBP constraints and compliance reporting built in - insurance-online.
GARCH for UK insurance claims inflation: time-varying variance in trend analysis. insurance-garch - Engle (1982) applied to actuarial trend and pricing models.
Vine copulas for multi-peril UK home pricing. Flood-subsidence correlation costs ~9% in mispriced revenue. insurance-copula: BIC selection, PML simulation.
Fine-Gray subdistribution hazard for UK insurance competing risks. Separates lapse, MTC, and NTU correctly - insurance-survival Python, not naive censoring.
Causal Forests with Fixed Effects for UK insurance panel data. Rate change evaluation by segment - beyond before-and-after loss ratios. causalfe Python.
Bayesian Causal Forests for heterogeneous lapse effects in UK insurance pricing. Segment-level elasticity with posteriors - insurance-bcf wrapping stochtree.
Transfer learning for thin-segment UK insurance pricing: Tian-Feng GLM algorithm, CatBoost source-as-offset, CANN fine-tuning, negative transfer diagnostics.
Regression Discontinuity Design tests if UK motor risk drops at age 25. Exposure-weighted Poisson outcomes, geographic boundaries, Consumer Duty output.
GLMTransfer borrows statistical strength from a related source book to price thin target segments. Motor-to-fleet, home-to-landlord, and fleet roll-outs.
A 12% rate increase on young motor drivers. An 8% lapse spike three months later. Here is how to tell whether the rate change caused it — using synthetic difference-in-differences.
ICC diagnostics for multiple group factors in insurance pricing. When broker, scheme, fleet, and postcode sector effects are worth modelling with REML...
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.
Bühlmann-Straub vs CatBoost vs two-stage multilevel for UK motor pricing: when each wins and how insurance-credibility and insurance-multilevel combine them.
Assumes familiarity with the Murphy decomposition framework. Focuses on the operational question: given a monitoring alert, how do you read GMCB vs LMCB...
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.
PRA SS1/23 requires quantitative pass/fail tests, not narrative. insurance-governance automates the full validation suite and generates auditable HTML reports.