Deep dives into individual pricing methods — DML, conformal prediction, credibility, copulas, spatial models, GAMs, normalising flows, and more. Each post covers the methodology, its assumptions, and what it gets wrong in standard practice.
UK motor NCR is at 111% (EY Q4 2024). The market is at or near technical floor. Here is how to identify underpriced segments using loss cost trending, A/E monitoring, and Bühlma...
insurance-conformal v1.3.1 adds ConditionalCoverageAssessor — a tool for detecting and decomposing conditional coverage failures in conformal prediction intervals. Here is the p...
A complete Python tutorial for Whittaker-Henderson smoothing of insurance rating tables. Replace your Excel moving average or SAS graduation with automatic REML lambda selection...
You don't need a JBA licence to build a materially better flood model. A French study on 968,000 policies shows which open data sources actually move the needle — and the answer...
A practical Python tutorial for telematics pricing: load raw GPS trip data, classify driving regimes with a Hidden Markov Model, and produce GLM-ready risk features using insura...
A hands-on Python tutorial for insurance pricing analysts on survival analysis and lapse modelling. Covers Kaplan-Meier, Weibull AFT, mixture cure models, customer lifetime valu...
Regression by composition — the framework that generalises GAMLSS and transformation models — suffers from a subtle non-identifiability when you stack multiple flows. Kadhem (20...
Conformal risk control (Angelopoulos et al. ICLR 2024) requires monotone loss functions for its finite-sample guarantees. The Winkler score, two-sided regulatory tests, and capi...
C. Evans Hedges (Lemonade, December 2025) derives the first closed-form formula connecting model discrimination to expected loss ratio. LRE translates a correlation improvement ...
glum fits the Tweedie GLM in seconds. Here is how our libraries handle everything around it: distribution-free prediction intervals, PSI/CSI drift monitoring, Consumer Duty prox...
A hands-on tutorial on GAM insurance pricing in Python using the insurance-gam library. Covers EBM tariff construction, shape function extraction, GLM comparison, Shapley values...
A single freMTPL2 motor pipeline running through insurance-gam, insurance-conformal, insurance-monitoring, insurance-fairness, and insurance-governance. No other open-source eco...
A practical Python tutorial on credibility theory for insurance pricing analysts. Covers Buhlmann-Straub model, the insurance-credibility library, UK motor example, GLM integrat...
A step-by-step tutorial on conformal prediction for insurance Python models, specifically the frequency-severity decomposition. Covers the calibration subtlety that breaks naive...
Seo and Lim (arXiv:2604.01629, April 2026) show that standard empirical Bayes methods inflate FDR to 0.25–0.35 when the prior is misspecified — even when the nominal rate is 0.1...
A hands-on tutorial on causal inference for insurance pricing in Python using the insurance-causal library. Covers double machine learning (DML), CatBoost nuisance models, ATE/C...
Boulevard regularisation turns EBM shape functions into kernel ridge regression estimates, giving valid CLT-based confidence intervals. We show why this matters for model govern...
You deploy a conformal pricing model and check its coverage every month. After twelve months, you see a coverage failure. Is the model broken, or did you just run twelve tests? ...
Habermann et al. (ICLR 2025, arXiv:2408.13230) train a neural network to approximate posteriors for hierarchical Bayesian models — once. After training, any new segment gets a f...
Standard quantile regression overfits badly on small insurance segments. A new closed-form result from Zhang, Mao and Wang (2026) gives a distributionally robust QR estimator wi...
Frequency model monitoring has a growing toolkit. Reserve models — which target specific quantiles of the loss distribution, not the mean — have almost nothing. ScoreDecompositi...
Zanzouri et al. (NAAJ 2025) benchmark four ML severity models inside the QPP framework. The tau adjustment is elegant. CatBoost was missing from the comparison. Our library alre...
INLA — the method that made Bayesian spatial GLMMs tractable in R — now has a proper Python package. 92–278x faster than PyMC, no R dependency. We explain what it does, why pric...
Shen et al. (arXiv:2603.24875) gives valid CIs for Lasso-selected Poisson GLMs. That fixes your frequency model. UK motor pricing is Poisson × Gamma — and the Gamma severity mod...
insurance-gam v0.3.0 ships PostSelectionGLM and DataSplitPostSelectionGLM: two classes that produce valid confidence intervals for Poisson frequency models after Lasso variable ...
The Pool Adjacent Violators Algorithm solves an O(N) monotonicity problem with no parametric assumptions. It appears in three distinct insurance pricing contexts: as the link fu...
Boucher & Coulibaly (arXiv:2502.11788) prove that offset and ratio exposure handling are equivalent for Poisson frequency models — but diverge for Tweedie pure-premium GLMs, whe...
NeuralGaussianMixture is now in insurance-distributional v0.4.0. The question is not whether it can fit bimodal severity — it can. The question is whether your data actually nee...
insurance-distributional now has five distributional model classes. NeuralGaussianMixture is the newest and the most demanding. A routing guide: which model for which problem, a...
Negative log-likelihood is a proper scoring rule. So why does NLL training collapse a Mixture Density Network to a single component? The answer is in the loss surface geometry, ...
The hunger-for-bonus effect biases your NCD frequency relativities. It also biases your severity model. The two errors partially offset each other — but the combined underpricin...
The Bonferroni correction for joint frequency-severity prediction sets is conservative by construction. Braun et al. (arXiv:2507.20941) show that covariance whitening produces e...
UK personal lines generates hundreds of millions of competitor quotes per year. The industry treats them as competitive positioning data. They are, in fact, risk calibration dat...
A working Python implementation of Goffard, Piette & Peters (2025) ABC-SMC market-based ratemaking. Forty lines of vectorised numpy, PAVA via scipy, loss ratio corridor tuning, ...
Miao & Pesenti's KL discrimination-insensitive result is theoretically clean. Deploying it in a production GLM-based pricing system is not. The paper is silent on how to extract...
Holtan (2001) showed that the NCD reporting threshold falls when interest rates rise — the NPV of future premium penalties shrinks, so policyholders become more willing to claim...
Lee et al. (arXiv:2602.02398) prove that standard hurdle-Poisson models with bivariate normal random effects can violate credibility order — your frequency estimate goes down af...
Separate peril GLMs routinely disagree with each other by 3–8% at cover level. insurance-reconcile applies premium-weighted MinTrace to make your hierarchy coherent without disc...
GAMformer produces GAM shape functions in a single forward pass, no hyperparameter search, sub-second inference. For insurance pricing today: three hard blockers — max 500 rows,...
Insurance fraud ML papers routinely overstate their results through five avoidable errors: wrong evaluation metric, no external baseline, random train/test split, foreign data, ...
PSI > 0.2 and A/E > 1.15 are industry folklore, not statistics. Conformal SPC replaces them with calibrated p-values that have a finite-sample false alarm rate guarantee, no nor...
IJCNN 2025 paper arXiv:2509.00846 introduces Causal SHAP: it uses causal discovery to estimate a DAG, then computes SHAP values that respect causal structure. The correlated-fea...
The hardest part of fitting a GPD is picking the threshold. A new Bayesian nonparametric approach eliminates the choice entirely — and tells you what fraction of your book has i...
Nieto-Barajas (arXiv:2602.07228) proposes a Bayesian nonparametric mixture of Shifted Gamma-Gamma distributions that eliminates EVT threshold selection entirely and produces a p...
Orihara, Momozaki & Sugasawa (arXiv:2506.04868) produce a Bayesian posterior over the ATE by tilting the product of independent posteriors to satisfy the DR moment condition. We...
UK motor bodily injury severity is structurally bimodal. A GammaGBM fits one mode between two humps, understating the 95th percentile by 30-40%. NeuralGaussianMixture fixes this...
If you have called RetentionUpliftModel with outcome='survival', your model silently ran as binary. There is no pip-installable Python package for survival CATE. We explain the ...
Bimonte et al. show that age-specific Shapley weights across 15 mortality models outperform any single model at 10-20 year horizons — exactly the range that matters for annuity ...
SHAPInference (in development for shap-relativities): asymptotically valid confidence intervals on global SHAP feature importance using de-biased U-statistics. Every SHAP import...
Avanzi, Richman, Wüthrich et al. (arXiv:2601.07637) treat individual claim development as a Markov decision process, using Soft Actor-Critic to revise outstanding claim liabilit...
Kirke (arXiv:2603.15664) applies Quantum Amplitude Estimation to catastrophe insurance tail-risk pricing and claims quadratic speedup over classical Monte Carlo. The maths is re...
insurance-fairness v1.2.0 adds PrivatizedFairPricer: discrimination-free pricing when the sensitive attribute is privatised via local differential privacy. Based on Zhang, Liu &...
Burr XII's body and tail are controlled by the same parameters — you can't fix one without breaking the other. Liu & Meng's PowerBurr adds a fourth parameter that decouples them...
PopulationSamplingReserve lands in insurance-severity v0.4.0. IBNR as a missing-data problem: the AIPW doubly-robust estimator hedges your bets between the chain-ladder's aggreg...
A new paper models hazard functions as solutions to nonlinear ODEs, producing shapes no standard parametric family can match. The maths is genuinely interesting. The absence of ...
Yang et al. (arXiv:2603.27672) fix mode collapse in Mixture Density Networks by adding an analytic Energy Score term to the training objective. The contribution is real and spec...
insurance-optimise v0.6.0 adds LinearRiskSharingPool: Cramér-Lundberg ruin analysis for community-based risk pools, based on Denuit, Flores-Contró & Robert (arXiv:2603.29530). W...
insurance-conformal v1.2.0 adds LCPModelSelector: locally adaptive conformal model and score selection that gives per-prediction tighter intervals while maintaining coverage gua...
When you acquire a portfolio or enter a scheme, your pricing model was fitted on a different risk population. Weill and Wang (2026) give a kernel GLM framework for correcting th...
A new mortality model from Liu & Zhou (2026) shows that cause-specific shocks decay heterogeneously — some fast, some slow. The analogy to UK claims inflation is exact, and the ...
Richman & Wüthrich's one-shot individual claims reserving framework (arXiv:2603.11660) shows that a simple OLS model — using case estimates as the primary feature — matches or b...
Shankar & Cohen automate GAM structure search using NSGA-II evolutionary algorithms. The idea is legitimate; the problem is that EBM already does this better for insurance prici...
Flood Re ends in 2039. From that date, 350,000+ currently subsidised properties need risk-reflective pricing. We work through Moriah et al. 2026's sequential GLM using geolocate...
Kong, Liu & Yang prove that standard conformal coverage guarantees degrade unevenly when protected attributes are absent at test time. With post-ECJ gender prohibition and GDPR ...
insurance-governance v0.3.0 adds ExplainabilityAuditTrail: a per-prediction audit log that records SHAP values, fairness flags, and plain-language summaries for every pricing de...
ExpectedShortfallRegressor in insurance-quantile v0.5.0 implements direct ES regression via the i-Rock method. No quantile detour. Sandwich SEs. Directly relevant to Solvency II...
Gevorgyan et al. propose exchangeable multi-task Gaussian processes for causal effect estimation in staggered-adoption designs. The method handles nonlinear trends that break SD...
Liu & Luger (arXiv:2603.02357) build a semiparametric VaR/ES forecaster that models scale dynamics through quantile differences rather than GARCH variance equations. The method ...
A new paper (arXiv:2504.09396) uses PPO reinforcement learning with a CVaR constraint to manage a reserve buffer. The framing is interesting — but this is not reserving in the a...
Marginal 90% coverage can hide severe undercoverage for specific risk profiles. ConditionalCoverageAssessor — new in insurance-conformal v1.2.0 — quantifies it with CVI, decompo...
RMSE on closed claims is biased. Corollary 3 of Taggart, Loveday & Louis (arXiv:2603.14835) proves mean settlement time is not scoreable under right-censoring. CensoredForecastE...
Nieto-Barajas (arXiv:2602.07228, 2026) proposes a Bayesian nonparametric mixture of Scaled Generalised Gaussian distributions that eliminates threshold selection entirely. The m...
Two January 2026 arXiv papers formalise what motor actuaries have always known informally: NCD creates rational incentives to suppress small claims, and the GLM you're using to ...
insurance-credibility v0.1.9 adds BMSEquilibriumSimulator — Lemaire NPV reporting thresholds, Liang 2-class equilibrium, and a frequency correction for the selection bias in NCD...
Malandii & Uryasev's Biased Mean Quadrangle (arXiv:2603.26901) provides a linear-programming-based method for estimating E[Y]+x — a biased mean offset. For reserving actuaries, ...
Every time you re-run conformal risk control calibration on a growing book, you are implicitly doing multiple testing. Hultberg et al. (2026) formalise the fix.
Laub/Pho/Wong's Actuarial Neural Additive Model has a genuine architectural insight in PWLCalibration monotonicity. It also depends on an unmaintained TensorFlow library. EBM is...
A runnable Python implementation of Goffard, Piette, and Peters (ASTIN Bulletin 2025): infer claim frequency and severity from competitor PCW quotes using ABC-SMC with isotonic ...
Izbicki and Rodrigues (arXiv:2603.26611, March 2026) benchmark TabPFN-2.5, RealTabPFN-2.5 and TabICL-Quantiles as conditional density estimators across 39 datasets. The thin-dat...
Yanez, Guillen and Nielsen (ASTIN Bulletin 2025) apply a bounded Bonus-Malus System not to claims but to telematics signals themselves, updating weekly. The result: Gini from 0....
Zhang, Mao and Wang (arXiv:2603.14991, March 2026) prove a closed-form equivalent for worst-case quantile regression under Wasserstein distributional uncertainty — a result that...
UK territory rating is mostly postcode-to-band lookup tables. That creates both actuarial and regulatory risk. We work through the spatial statistics toolbox that does better: B...
Most retention models measure whether a customer lapses. surv-iTMLE measures when — and what your pricing intervention caused. We explain the estimand, why left truncation is mo...
Threshold selection is the Achilles' heel of extreme value theory in insurance pricing. Majumder and Richards (arXiv:2504.19994) eliminate it by blending a spline-neural-network...
Standard conformal prediction gives symmetric intervals calibrated on average. For right-skewed claim distributions, that average includes a lot of zero claims pulling threshold...
Medina-Olivares, Xia, Lessmann and Klein (arXiv:2603.26309, March 2026) build a semi-structured neural network model for mortgage delinquency transitions. The method combines a ...
Two rigorous frameworks for automated underwriting triage — SelectiveConformalRC (SCRC) controls expected loss on your auto-priced book; SCoRE controls total deployed risk via e...
Roy, Singh, and Das (arXiv:2603.14841) build a 0-100 driver safety score by inverting a crash classifier and multiplying in condition-specific penalty factors. The maths is clea...
A follow-up to our QPP introduction: the honest case for quantile-based loading (it works for heavy-tailed lines and low-frequency risks, it does not work below the zero mass), ...
Every UK pricing GLM pipeline that uses Lasso variable selection then reports Wald confidence intervals is producing coverage rates of 70–80% at a nominal 95%. A March 2026 pape...
PenalizedGLMInference in insurance-gam v0.5.0 implements Manna et al. arXiv:2410.01008: bias-corrected confidence intervals for Poisson, Gamma, and Tweedie GLMs after Lasso or e...
Standard conformal prediction gives valid coverage only when calibration and test data are exchangeable. For insurance models deployed for 12+ months — through claims inflation ...
Two January 2026 arXiv preprints formalise what UK pricing teams have long intuited: observed claim frequency at high-NCD classes understates true frequency by 15–35%, because p...
An MGA launching on a UK PCW needs prices on day one with zero claims history. Here is the full architecture: market ABC as the prior, Bühlmann-Straub blending as claims arrive,...
Braun et al. (arXiv:2507.20941) replace the standard hyperrectangular joint prediction set with an ellipsoid built from a Mahalanobis nonconformity score. For d=2 (frequency + s...
LoBoostCP in insurance-conformal v1.0.0 implements Santos et al. arXiv:2602.22432 — local conformal prediction that uses the leaf structure of your existing GBT to calibrate pre...
A UK MGA at launch has five routes to market data: competitor quote reverse-engineering, rate indices from Consumer Intelligence, ABI aggregate statistics, capacity provider dat...
EIOPA published its AI Governance Opinion (EIOPA-BoS-25-360) in August 2025. It names the actuarial function as responsible for AI controls, endorses SHAP and LIME explicitly, a...
DML removes the omitted variable bias that makes naive GLM price elasticity estimates wrong by 20–80%. We explain why it works, show the two core insurance applications — price ...
insurance-gam v0.4.0 adds DebiasedGLM — the first Python implementation of debiased Lasso confidence intervals for Poisson, Gamma, and Tweedie GLMs. It corrects the bias that ma...
Paolo Toccaceli's CRPS-Optimal Binning for Conformal Regression (arXiv:2603.22000) partitions the covariate space using dynamic programming to minimise LOO-CRPS, then calibrates...
Verschuren (2021) showed that a Dutch insurer's home claim history predicts motor risk, and vice versa. The framework is technically clean. The UK structural context — aggregato...
Baradel (arXiv:2603.11258) extends continuous-time bootstrapping to Schnieper's model, separating IBNR (new claims) from IBNER (cost development of known claims) and producing t...
Vadlamani et al. (ICLR 2025, arXiv:2505.16115) formalise fairness at the prediction-set level. A model can be statistically valid at 90% coverage while covering elderly policyho...
Burger (arXiv:2512.23602, Dec 2025) applies conformal prediction to insurance model monitoring, replacing PSI > 0.2 and A/E > 1.15 with thresholds that are calibrated from data ...
Standard conformal prediction fails with right-censored survival data because you never observe the true event time for censored policies. ConformalisedSurvival in insurance-con...
Standard conformal prediction breaks under instrumental variable regression — the calibration residuals are not exchangeable. Kato (arXiv:2603.25509, March 2026) fixes this by r...
PSI thresholds of 0.1 and 0.2 are industry convention, not statistical calibration. Burger (arXiv:2512.23602, Dec 2025) replaces them with conformal p-values, giving a distribut...
Independent Lee-Carter models per cause-of-death produce forecasts that do not sum to total mortality — a coherence failure that flows directly into CI and LTC reserves. Nigri, ...
Zhang, Guillen, Li, Li and Chen (arXiv:2509.02614) build a group-based zero-inflated Poisson model for ADAS near-miss event counts using 354 commercial drivers across 8.1 millio...
ANAM (Laub, Pho, and Wong, NAAJ 2025) fits each rating factor as a neural subnetwork with hard monotonicity constraints, exposure offsets, and proper actuarial losses. The insur...
Shin, Lee and Kang (arXiv:2512.03738, Dec 2025) provide the first finite-sample coverage guarantee for time-to-event prediction under covariate shift. Here is what it means for ...
When you launch a new product with no claims history, you borrow from a related portfolio. Transfer learning formalises this. But the most-cited deep learning method for domain ...
Standard telematics pricing throws away most of the information in a trip by reducing it to 100+ scalar features. Two new papers from Toronto's Badescu group show what you recov...
Tab-TRM sets the French MTPL benchmark at 23.589×10⁻² Poisson deviance, beating PIN ensemble by 0.3%. The linearisation result — Tab-TRM is approximately a state-space model — i...
Boonkrong et al. (MDPI Risks 14(3):57, March 2026) show that adding actuarial pricing features to a renewal classifier materially improves prediction — the insight being that th...
Li, Luo, Zhang, Huang and Jiang (IME 2025) combine telematics risk scoring with individual price sensitivity estimation and constrained discount allocation. Here is how to adapt...
The quantile premium principle maps a single number — your risk appetite parameter tau — to per-risk safety loadings. Zanzouri et al. (NAAJ 2025) shows QRNN outperforms tree-bas...
Membership Inference Attacks are essentially uninformative on tabular insurance data — a finding from Zuo et al. (arXiv:2602.09288) with direct consequences for how UK pricing t...
UK SME cyber is growing at 13% CAGR with 2.8% standalone penetration. The data is terrible, the commercial tools are six figures, and the best published frequency model explains...
Pearse & Bondell (arXiv:2510.06177, October 2025) derive a new Archimedean copula family from Cressie-Read phi-divergences. The generator table maps KL divergence to one copula,...
ACI satisfies its marginal coverage guarantee while producing months of invalid intervals after a claims inflation shock. A new paper proves the minimax-optimal algorithm flushe...
Policyholders with good NCD rationally choose not to report small claims. Your frequency model is trained on that suppressed data. Two January 2026 papers formalise what this me...
Denuit, Michaelides & Trufin (arXiv:2603.16317) prove that autocalibration and group fairness are mathematically equivalent. A GBM that is well-calibrated overall but miscalibra...
The Goffard/Piette/Peters ABC-SMC method infers risk parameters from competitor quotes with no claims history. No Python implementation exists - only IsoPriceR in R. Here is the...
Three published frameworks use LLMs to generate tabular features and beat classical search tools on generic benchmarks. None has been tested on an actuarial dataset. We explain ...
Laghuvarapu, Deb and Sun (arXiv:2603.26415, March 2026) replace per-test-point density ratio estimation with bounded QP weights on the calibration set. Here is what that buys yo...
The new InflationDecomposer in insurance-trend v0.1.5 uses the Harvey structural time series model to separate persistent cost inflation from cyclical effects. Using the raw tre...
arXiv:2510.24601 reviewed 143 papers across 430 datasets and found no consistent accuracy advantage for neural networks over GAMs on tabular data by 2024. What that means for th...
Ignoring policy limits and IBNR censoring when fitting tail distributions biases your tail index by ~15%. For UK motor TPBI with xi in the 0.50–0.67 range, even a 15% upward bia...
Sun, Xie & Zhang (arXiv:2503.11375) combine parallel trends and synthetic control into a single estimator that remains consistent if either assumption holds. We explain the math...
GLM prediction intervals targeting 95% coverage achieved 57.8% actual coverage on real personal injury data. Conformal prediction fixes this without distributional assumptions. ...
DP-CTGAN produces near-random output at epsilon=1 on datasets under 50K rows — which is most insurance portfolios. AIM via smartnoise-synth is the correct tool. Here is the full...
Dey (arXiv:2601.11949) builds a two-step pipeline — MLP for precipitation-to-claims, Gumbel copula for climate model uncertainty — that is methodologically sound, Canadian-only,...
If you are using XGBoost's monotone_constraints or applying isotonic regression post-hoc, you may already have everything you need. Or you may not. The answer depends on your mo...
Parametric Tweedie intervals over-cover low-risk policies and under-cover the high-risk tail. Conformal prediction fixes this with a finite-sample guarantee that does not rely o...
Hinder et al. (arXiv:2602.19790, ESANN 2026) introduce bootstrap conformal p-values for identifying which individual observations are affected by drift. We explain why this is a...
Conformal prediction gives valid marginal coverage but says nothing about conditional coverage — your intervals can fail for young drivers or flood-zone properties while the por...
Marginal coverage guarantees say nothing about which policyholders are being undercovered. CVI decomposes conditional coverage into undercoverage risk and overcoverage cost. CC-...
D-calibration and ICI are mathematically invalid for competing-risks models. If F_k(inf|x) < 1 — which is always true for lapse, claim, and MTA competing causes — the probabilit...
Fitting one aggregate trend to UK motor claims 2019–2024 embeds a single implicit decay rate across parts shortage, labour shortage, and social inflation — components that norma...
Wang, Shi, and Cao (NAAJ 2025) propose clustering NN-encoded residuals under a spatial contiguity constraint to produce hard territory zones. Here is how that differs from BYM2 ...
EA NaFRA is open, 2m resolution, and free. So is the EPC register. So are OS building footprints. A UK pricing actuary who has actually tried to use them explains what you can a...
Bühlmann-Straub pulls every segment toward the same grand mean. When that mean is wrong for your segment, the correction makes things worse. We explain when to reach for Poisson...
Pittarello, Hiabu, and Villegas (NAAJ 2025) showed that chain ladder is the age-only special case of an Age-Period-Cohort model borrowed from demography. We explain what this me...
Laub, Pho and Wong's ANAM gives each rating factor its own neural network sub-model, sums them like a GAM, and adds three things a generic NAM cannot do: hard monotonicity, expo...
Standard UK practice for POT threshold selection is to pick a round number and hope. Two recent papers — EQD (Murphy et al. 2024) and BMA (Jessup et al. 2025) — give automated m...
The first pip-installable implementation we know of for So & Valdez (2024) Scenario 2: a two-stage CatBoost model that separates structural zero probability from Tweedie severit...
insurance-distributional v0.3.0 ships ZeroInflatedTweedieGBM — the first open-source implementation of So & Valdez (2024) Scenario 2. When standard Tweedie gets structural zeros...
We fit WhittakerHendersonPoisson to driver age frequencies from 677K French MTPL policies. The Poisson smoother handles count data correctly, REML selects lambda automatically, ...
Why Tweedie GLM is the standard for aggregate loss modelling in insurance, with a complete Python example covering power parameter selection, exposure offset, and comparison wit...
An honest assessment of where tabular foundation models stand in March 2026 — what the benchmarks actually show, what's missing for insurance pricing, and which models are worth...
Deep learning survival models underperform Cox regression on tabular insurance data. Cure models are the real story post-GIPP. Here is what the research says and what UK pricing...
UK motor average claim costs reached a record £5,300 in Q4 2024. But applying a flat 8% trend assumption treats structural and cyclical inflation identically. They have opposite...
How to produce a full IBNR distribution in Python using the Mack method and Bootstrap ODP sampling. Covers analytical standard errors, 5,000-simulation bootstrap, percentile tab...
Your GLM or GBM was trained on policyholders who chose to buy from you at your price. That is not a random sample of the market. The mechanism, what it does to your frequency an...
XGBoostLSS, LightGBMLSS, NGBoost, and PGBM can all output a full conditional distribution rather than a point prediction. The Chevalier & Côté benchmark (EAJ 2025) tested 11 alg...
When does it make sense to reach beyond chain ladder and bootstrap ODP for neural reserving methods? We compare DeepTriangle, individual RNN approaches, and the Richman-Wüthrich...
End-to-end motor insurance pricing in Python using the French MTPL dataset. Frequency-severity GLMs, exposure offsets, coefficient interpretation, validation, and calibration to...
Most governance tooling is tested on toy examples with clean DGPs and inflated Gini coefficients. We ran the full insurance-governance validation suite on 677K freMTPL2 policies...
Gamma GLMs fit a single mode to severity data that often has two or three. Mixture Density Networks output the full conditional distribution — mixing weights, component means, a...
The standard rate adequacy workflow — earned premium at current rate level, ultimate losses, trend to future period, expense load, indicated rate change — built in Python with p...
Richman and Wüthrich's March 2026 paper shows linear regression with projection-to-ultimate factors closes 44% of the gap over chain ladder — and neural networks add nothing at ...
Kolmogorov-Arnold Networks replace fixed activations with learnable splines on edges, letting the model discover its own functional forms. Here is what that means for insurance ...
Raw loss ratios by age band are noisy. A 5-year moving average introduces boundary bias and requires a judgment call you cannot defend in an IFRS 17 review. This tutorial shows ...
Point estimates from pricing models are incomplete. This tutorial shows how to add distribution-free prediction intervals to a CatBoost Tweedie model using insurance-conformal —...
Article 13 of the EU AI Act is not about SHAP values. It is about deployer-facing documentation — what the underwriter or product team needs to interpret and use a pricing model...
Most UK motor insurers think they know their price elasticity. They are probably wrong by a factor of 3–5, in the direction that makes them systematically mispricing. The eviden...
A practitioner's guide to dynamic pricing in UK insurance: what GIPP actually permits, why your elasticity model likely has a 3-5x bias, and an honest assessment of whether Earn...
We benchmarked Whittaker-Henderson against raw rates and a 5-point weighted moving average on a synthetic UK motor driver age curve with known truth. W-H reduces MSE by 57.2% vs...
The standard UK motor pricing formula multiplies E[N] by E[S] and assumes independence. On a 15,000-policy benchmark with planted omega=3.5, that assumption understates portfoli...
PSI detects covariate shift but not rank collapse. On a synthetic UK motor book where a new risk factor emerges post-deployment, PSI stays GREEN while Gini drops 8 points. The B...
On a UK motor DGP with a monotone young-driver requirement, unconstrained EBM violates monotonicity in 31% of runs. Constrained EBM matches GLM monotonicity compliance at 100% w...
HMM-derived driving state features improve Gini by 5–10 percentage points over raw trip averages on a state-structured DGP. The reason is temporal: the HMM knows that aggressive...
We benchmarked Bühlmann-Straub credibility against raw experience and manual Z-factors on a 30-segment synthetic UK motor fleet book with a known DGP. On thin schemes, it reduce...
REML-selected lambda beats manual tuning on a 63-band age curve benchmark: 22% lower MSE on thin tail bands, zero analyst discretion, and principled credible intervals. The hone...
BonusMalus is built from past claims — a naive regression conflates the causal effect with selection. We ran Double Machine Learning on 677K freMTPL2 policies to isolate what Bo...
A practical Python walkthrough of the burning cost method for pricing excess of loss reinsurance treaties — loss trending, development, pure rate calculation, and sensitivity an...
We ran Bühlmann-Straub credibility on the freMTPL2freq dataset — 677K French MTPL policies, 22 regions — and quantified how much thin regions get pulled toward the portfolio mea...
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...
We fitted a Poisson GLM on the first third of freMTPL2 (677k French motor policies) and monitored it across two later temporal segments without refitting. PSI, A/E ratios with W...
We ran insurance-fairness against ausprivauto0405 — a real Australian motor dataset with an explicit Gender field. Here is what FairnessAudit, MulticalibrationAudit, and Indirec...
Ciganovic et al. (March 2026) show that standard DML cross-fitting leaks future information when your data is a time series. Their fix — Reverse Cross-Fitting — has direct impli...
Sesia & Favaro's March 2026 survey of conformal prediction is the clearest account yet of what finite-sample distribution-free guarantees mean - and why the marginal/condition...
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...
A complete Python tutorial for building a Tweedie GLM for insurance pricing: synthetic motor data, statsmodels, exposure offset, interpreting the p parameter, residual diagnosti...
The Civil Liability Act 2018 split UK TPBI into two structurally different populations. Standard frequency-severity models treat them as one. Here is why that matters and what a...
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...
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 ...
Balzer and Benlahlou's spatial GBM uses GMM pre-estimation and a Cochrane-Orcutt transformation to handle spatial autocorrelation in gradient boosting. It is a different tool fr...
A new paper from ETH Zürich (arXiv:2603.18653) frames the conversion from technical price to commercial premium as a Multiple-Choice Knapsack Problem. Under 1% revenue cost for ...
Richman-Wüthrich's one-shot PtU reserving paper (arXiv:2603.11660) ships with R code only. We map the algorithm to Python, explain the censored-claims exposure mechanism that ma...
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...
How to turn insurance claims descriptions into GLM features using sentence-transformer embeddings and PCA. What Troxler & Schelldorfer (2024, BAJ) actually showed, what the Kagg...
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...
FCA PS26/2 (March 2026) creates mandatory incident reporting and material third party registers for all authorised insurers. Every pricing actuary who owns a rating API, renewal...
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...
How to estimate a causally identified price elasticity from PCW quote data in Python, using commercial loading variation as an instrument and CatBoost nuisance models. The pract...
Parametric Tweedie intervals undercover high-risk policies by 10–15 percentage points. We tested conformal prediction on 50,000 UK motor policies to find out whether the fix act...
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...
OEM APIs, smartphone SDKs, and charging data — what connected-car data sources UK pricing teams can actually access, and how to turn them into rating factors.
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 model validation consistent with Solvency I...
Li and Castro-Camilo (arXiv:2603.23309, March 2026) unify inverse probability weighting and extreme value extrapolation in a single estimating equation. Here is what it does, wh...
Fang, Tan, Pipping, and Hooker (AISTATS 2026) show that replacing additive boosting with a moving-average update makes EBMs converge to kernel ridge regression — and that means ...
A structured decision framework for choosing between conformal prediction, distributional GBM, Bühlmann-Straub credibility, GLM bootstrap, and GAM uncertainty. Model type, data ...
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...
Havrylenko et al. (2025) show that MICE with random forests outperforms CTGAN and VAEs on the freMTPL2 benchmark. We explain why it works, where it fails, and how to run it.
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.
Avanzi, Richman, and Wüthrich reformulate individual claims reserving as a Markov Decision Process. We explain why it matters, what it actually does, and when a UK reserving act...
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.
UK GDPR constrains what pricing data you can share across entities. Federated learning and differential privacy offer a way around the constraint — but only if you understand wh...
Zero internal claims data is not a reason to guess blindly. Here is a structured sequence of five approaches — from Bühlmann-Straub credibility priors through transfer learning ...
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...
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...
arXiv:2603.11660 proposes direct projection-to-ultimate on individual claims data. The honest finding: linear regression on claim status and incurred already beats aggregate cha...
Modern Insurance Pricing with Python and Databricks - all 12 modules, free, on GitHub. GLMs through causal elasticity, fairness auditing, spatial BYM2 territory models, and mode...
A hands-on tutorial for the RateChangeEvaluator in insurance-causal v0.6.0. DiD when you have a control group. ITS when you don't. Real code, real API.
Goffard, Piette, and Peters (ASTIN Bulletin 2025) show how to calibrate insurance rates using competitor premiums and no internal claims data — using ABC and isotonic regression...
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...
Two approaches to prediction intervals for insurance severity: distributional GAMLSS (insurance-distributional-glm) vs distribution-free conformal (insurance-conformal). Same sy...
Three recent papers on EVT and ML — from generalisation bounds for tail learning to Bayesian nonparametric splicing — and what they actually imply for UK severity models.
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...
We ran Double Machine Learning against a naive GLM on a 50,000-policy UK motor telematics book. The GLM overestimated the treatment effect by 50–90%. Here is what that means for...
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...
How solvency_capital_range() produces model-free 99.5% SCR bounds, how SCRReport produces the coverage validation table for regulatory submission, and why interval_width is the ...
Fleet motor, property, and liability pricing in Python. Covers Bühlmann-Straub credibility for fleet schemes, GPD large loss loading, MBBEFD ILF tables, and PSI drift detection ...
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/...
A clean Python tutorial for the most-cited neural network architecture in actuarial pricing: the Combined Actuarial Neural Network (Schelldorfer & Wüthrich, 2019). Architecture,...
Fiedler & Lucia's Bayesian Last Layer gives you calibrated posterior uncertainty from a neural network at near-zero additional cost. Here is what it does, why it is the right to...
Bühlmann-Straub credibility breaks when your hierarchy has more than two levels or when the random effects interact with pricing factors. Here is when to upgrade to a full Bayes...
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 ...
Definitive Python benchmark: Poisson GLM vs XGBoost vs CatBoost vs LightGBM for insurance frequency modelling on freMTPL2. Poisson deviance, Gini coefficient, and A/E calibratio...
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...
What large language models can genuinely contribute to insurance pricing feature engineering — text embeddings, zero-shot classification, synthetic features — and where the evid...
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/...
Benchmark results on a known-DGP synthetic UK motor book. EBM beats the GLM by 12.6 Gini points (0.455 vs 0.329). But the deviance number is misleading. We explain why, and when...
Benchmark results on a known-DGP synthetic UK motor fleet. HMM state fractions deliver 5–10pp Gini lift over simple aggregates. State classification recovers >50% of true high-r...
insurance-deploy provides the champion/challenger infrastructure, audit trail, and ICOBS 6B compliance tooling that MLflow does not. Here is how to use it.
ConformalisedQuantileRegression in insurance-conformal v0.6.2 gives you statistically guaranteed prediction intervals that are wide for high-risk segments and narrow for low-ris...
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.
A practical comparison of Python and R for UK personal lines insurance pricing — data wrangling, GLMs, GBMs, deployment, and Databricks. Honest about where R still wins.
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...
Benchmark results on a known-DGP synthetic UK motor age curve. REML recovers the true frequency well in the data-rich middle. The tails are a different story. Numbers, not claims.
We ran the benchmarks. On a synthetic UK motor book with nonlinear confounding, naive logistic GLM overestimates the telematics treatment effect by 50–90%. DML recovers the grou...
Benchmark results on a known-DGP synthetic motor book. Conformal hits 90% across all deciles. Parametric Tweedie under-covers the top decile by 10–15pp. Numbers, not theory.
Benchmark results on 100 synthetic schemes with known true loss rates. Credibility blending reduces MSE by 25–35% vs the best naive alternative. Numbers, not theory.
Build a burning cost model in Python: frequency-severity split, exposure offsets, large loss capping, IBNR adjustment, and combined pure premium for UK pricing.
Mutual information, proxy R-squared, and SHAP proxy scores all flag proxy discrimination but catch different things. A practical guide to interpreting conflicting signals in ins...
sklearn's TweedieRegressor is a well-engineered GLM. It fits a fixed-power Tweedie model correctly. The problem is that insurance pricing needs per-risk variance, not a single p...
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.
Under Consumer Duty and the Equality Act 2010, non-life insurers must test whether rating factors act as proxies for protected characteristics. Here is exactly how to run that t...
Build a CatBoost frequency-severity pricing model on freMTPL2 using Polars. Poisson frequency, Gamma severity, combined burning cost, SHAP factor extraction, and distillation to...
MAPIE is the standard Python library for conformal prediction, but it wasn't designed for insurance. Here is what goes wrong with exposure-weighted portfolios and Tweedie models...
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...
insurance-causal v0.3.1 fixes over-partialling in DML for small insurance books. Adaptive CatBoost regularisation makes causal estimates reliable at n≥1k.
Static credibility weights all years equally. The dynamic Poisson-gamma state-space model weights recent experience more - and quantifies how much more.
GLMComparison and MonotonicityEditor in insurance-gam close the governance gap between EBM shape functions and the GLM factor table your pricing committee...
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.
DiD and Callaway-Sant'Anna for rate change attribution. insurance-causal-policy quantifies what your rate change actually achieved, with FCA Consumer Duty-aligned evidence output.
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.
Joint conformal prediction sets for frequency and severity in UK insurance. Fan and Sesia coordinate-wise standardization - simultaneous coverage across both.
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.
Neural Spline Flows for bimodal UK motor BI severity - no family assumption. insurance-nflow: TVaR, ILF curves, reinsurance layer costs, fat-tail transform.
Joint longitudinal-survival model for telematics: driving trajectory not current score. insurance-jlm - Wulfsohn-Tsiatis SREM with mid-term repricing in Python.
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.
Automatic Debiased ML via Riesz Representers for continuous price elasticity. insurance-causal - no GPS density blow-up at tails. UK personal lines Python.
Transfer learning for thin-segment UK insurance pricing: Tian-Feng GLM algorithm, CatBoost source-as-offset, CANN fine-tuning, negative transfer diagnostics.
Survival models for UK personal lines retention: cure models, survival-adjusted CLV, actuarial lapse tables, MLflow deployment. What lifelines does not do.
Regression Discontinuity Design tests if UK motor risk drops at age 25. Exposure-weighted Poisson outcomes, geographic boundaries, Consumer Duty output.
Double GLM gives every UK insurance policy its own dispersion parameter. insurance-dispersion - policy-level Solvency II variance and risk-adequate loading.
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.
GAMLSS in Python: seven families, RS algorithm, variance as function of covariates. insurance-distributional-glm - the actuarial implementation Python lacked.
Distributional Refinement Networks wrap any GLM to produce a full predictive distribution. insurance-severity - neural severity modelling for UK motor pricing.
Handle 800+ vehicle makes and 9,000+ postcode sectors in a multiplicative GLM using neural embeddings and spatial clustering. Auditable Python pipeline.
Actuarially faithful synthetic data via vine copulas and AIC-selected marginals. insurance-synthetic fixes Poisson semantics and tail behaviour SDV gets wrong.
Where double machine learning beats naive regression for insurance pricing — and where it does not. Benchmarks on 100,000-policy synthetic UK motor data with known ground truth....
CatBoost MultiQuantile plus actuarial output layer: TVaR, ILFs, large loss loadings, exceedance probabilities for UK insurance pricing. insurance-quantile.
ICC diagnostics for multiple group factors in insurance pricing. When broker, scheme, fleet, and postcode sector effects are worth modelling with REML...
insurance-distributional models the full conditional loss distribution, not just the mean. First open-source Python implementation of the ASTIN 2024 Best Paper.
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.
Step-by-step tutorial: plant two interactions in synthetic motor data, detect them with CANN + NID, validate with SHAP, confirm with A/E surfaces, and...
Detect and correct proxy discrimination in UK insurance using SHAP and insurance-fairness. Protected characteristic leakage detection under FCA Consumer Duty.
The foundational walkthrough for insurance-covariate-shift: density ratio estimation, ESS/KL diagnostics, importance weighting, shift-robust conformal...
Python library distilling CatBoost GBMs into multiplicative GLM factor tables for Radar and Emblem. Open-source GBM-to-GLM distillation for UK pricing teams.
How to combine GLM and GBM predictions for production pricing: cross-validated blend weights, PRA interpretability, and when blending actually helps. Once the blended model is v...
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...
Automated interaction search for UK motor GLMs using CANN residuals and NID. Bonferroni-corrected shortlist before manual testing - insurance-interactions.
BYM2 spatial model in PyMC for UK territory ratemaking. Borrows strength across neighbouring postcode sectors - statistically correct vs k-means banding.
Distribution-free conformal prediction intervals for insurance GBMs. Per-risk coverage guarantees, not confidence intervals for the mean. Python library.
Buhlmann-Straub credibility in Python for UK personal lines. Blend thin-segment experience with portfolio rates - mathematically equivalent to mixed models.
How to extract SHAP relativities from insurance GBMs. Multiplicative factor tables in GLM exp(beta) format, with confidence intervals and exposure weighting. Python, CatBoost, U...
Partial pooling for thin rating cells in UK motor pricing. bayesian-pricing stabilises sparse segments with hierarchical Bayesian models - no data discarded.
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.