Case study · Decision Intelligence
Decision Intelligence for Insurance & Lending
Helping insurers and lenders make better underwriting decisions on Ailys's DEIN platform — building ML and decision logic judged by business outcomes (loss ratio, risk) rather than accuracy alone. This is the challenge I'm working on now.
- Role
- Data Scientist · Ailys
- Timeline
- 2025 – Present
- Stack
- Python · Polars · PyTorch · AWS SageMaker · SQL
- Focus
- Underwriting ML · Reject inference · Business-KPI alignment
01. The idea
Most underwriting AI draws a single line on a risk score: accept or reject. DEIN, the platform I work on, treats it as a richer decision — standard, decline, surcharge, exclusion, or coverage limit — and explains an applicant in business terms (which loss-ratio or incidence driver makes them risky), not just with SHAP values on a score.
It also reasons about applicants the data never saw: estimating outcomes for cases that were historically rejected, and the effect of adjusting limits or exclusions. The throughline of my work here is one conviction — a more accurate model isn't automatically more valuable; it has to move a business KPI.
02. Insurance — predicting disease risk
To lower the loss ratio on new policies for a major insurer, we wanted to anticipate an applicant's disease risk from their past insurance-claim history — a signal feeding underwriting decisions and what-if simulations.
The hard part wasn't the model; it was defining the prediction target. Grouping diseases naively is meaningless — a cold is common but tells you nothing, and a cold and a cancer aren't related. So I used pointwise mutual information (PMI) to measure how strongly diseases actually co-occur, kept only associations within a confidence band I trusted, and used the hierarchical structure of diagnosis codes to group similar diseases into sensible inputs and outputs.
On top of that target I built a two-step design — candidate generation then ranking — so the prediction could also be reused as a single feature elsewhere; the predictor itself is an MLP. Data was prepared as a mart over existing internal tables (SQL + Polars) with a batch program, and the training pipeline ran on AWS SageMaker.
>93%
recall (tuned for, by design)
↓ loss ratio
contributed to reducing it via simulation
- Tuned for high recall (>93%) at the client's request: in risk screening, missing a high-risk applicant costs far more than a false flag a human can review, so I accepted lower precision deliberately — a trade made on business cost, not model vanity.
- The model fed approve / reject / limit simulations aimed at the loss ratio, and surfaced where disease relationships are genuinely ambiguous — the kind of insight underwriters can actually act on.
03. Lending — reject inference & KPI logic
On the lending side, credit models only learn from borrowers who were approved — the ones whose repayment you actually observe — which blinds them to whole segments that were historically rejected. I research reject inference to estimate outcomes for those no-data segments, so approvals can expand safely into places the model has never seen ground truth. It's the part of DEIN that reasons about assumptions the data doesn't contain.
I also build the business-rule logic that turns a lender's own KPIs into the decisions the platform makes — the bridge between "what the business cares about" and "what the system actually does."
04. AI agents
Back on the insurance side, I build AI agents that make the platform easier to use — answering questions from GA reports and insurance news, doing market research, generating analysis reports, setting up alerts, and fielding questions like "is there fraud-like activity in our book?" — so the platform meets users in plain language.