Skip to content

We Chose Logistic Regression on Purpose

For an insurance fraud detection system, we picked the boring model: ~0.90 accuracy, ~0.80 AUROC, and every flag explainable to the person who has to act on it.

When a US insurance provider hired us to detect fraudulent health claims, the fashionable move was obvious: gradient boosting, deep ensembles, something with a leaderboard pedigree. We shipped logistic regression.

It reached roughly 0.90 accuracy and 0.80 AUROC in production, with a kappa score around 0.55. And every single flag it raises can be explained to the investigator who has to act on it.

Fraud detection is a decision system, not a benchmark

A fraud model's output is not a score, it is an accusation. Someone at the insurer must look at a flagged claim and decide whether to investigate a provider. That decision has costs in both directions: miss real fraud and premiums inflate for everyone; flag honest providers and you burn trust and audit hours.

That is why explainability was a requirement, not a preference. With logistic regression, the insurer can see exactly which features weighed most in labeling a claim suspicious: unusual billing totals at the provider level, visit frequencies, the co-occurrence patterns that suggest collusion between providers and beneficiaries. The model's reasoning is the investigator's briefing.

The feature engineering did the heavy lifting

The interesting work was upstream of the classifier. Healthcare fraud rarely comes from one bad actor; it involves networks. We aggregated features at the provider level, so unusual patterns that slip through claim-by-claim screening become visible, and examined how the same providers and groups of beneficiaries recur across suspicious claims: fraud hotspots, not fraud anecdotes.

A simple model on top of well-designed features beat the alternative we are always offered: a complex model on top of raw columns.

Thresholds belong to the business

Logistic regression outputs a probability, and the insurer tunes the threshold: raise recall when leakage is the worry, raise precision when audit capacity is tight. The dial belongs to the business, not to the data science team's cross-validation script.

Could ensembles or boosting harden results further as fraud tactics evolve? Yes, and the system was built with that road open. But you earn the right to add opacity only after the transparent version is running, trusted, and measured.

The lesson

Model choice is an operational decision. When a human must defend every output, interpretability is accuracy, because a flag nobody trusts is a flag nobody acts on. Choose boring, explain everything, and let the feature engineering be where the cleverness lives.

Running into something similar?

Book a call