Priyam Alok
Priyam Alok Priyam Alok

Musings on insurance tech, finance
and life

Pricing Simulation Case Competition

Published on July 22, 2025

this was the 2025 CAS East Asia Summer Program pricing competition. i led a 5-person team (group 48): we were handed a 10,000-policy personal motor (private car) portfolio, had to build a technical price for every policy, and then put that price book into a multi-round market simulation against ~50 other teams. you only win a policy if your quote is competitive, and you carry the losses on whatever you win, so the game rewards the team that balances winning volume against staying profitable.

we finished 8th of 50, just outside the cut for the final. the more interesting part is why, so this writeup is as much about the loss as the build.

the work, step by step

the modelling lives in a set of R scripts that run as a pipeline (repo here):

  • data loading and EDA (1-data-loading-eda.r) - cleaning the portfolio, understanding exposure, claim frequency and severity by rating factor.
  • predictive models (2-predicitve-models.r) - frequency–severity GLMs: a Poisson/quasi-Poisson model for claim counts and a Gamma model for severity, giving an expected (pure) cost per policy.
  • pricing (3-pricing.r) - turning the pure premium into a market price with expense and profit loadings.
  • validation (4-validations.R) - checking the fitted models and the price book before submission.
  • market simulation (5-market-simulations.R) - simulating how our prices would fare against competitors round by round, to see where we’d win and where we’d be undercut.
  • aggressive pricing (6-agressive-pricing.R) - a later pass that cut prices to chase market share once it was clear our book was too conservative to win volume.

i also started a Power BI dashboard (CASBI.pbix) to make the EDA visual: distributions of premium and claims, and loss ratios across rating factors. it’s honest to call it a work in progress, it was meant as an internal exploration tool to sanity-check the pricing rather than a finished deliverable, and i didn’t take it all the way.

how the market game works

each round, simulated customers buy from whoever quotes the lowest acceptable price. so two things can go wrong: price too high and you win nothing, price too low and you win the business but lose money on it. the catch is adverse selection, the policies you win cheaply are often the ones everyone else priced higher for a reason, so a winning book can quietly be a loss-making one.

the loss, as part of the process

our price book averaged around 124 per policy, on the conservative (higher) side, the cheapest teams sat closer to 78. that shows up directly in the rounds:

  • rounds 1–2: we barely wrote any business. our prices were technically sound but uncompetitive, so customers went elsewhere and we sat near zero market share.
  • round 3: as we adjusted, we grew the book to ~590 policies at a ~62% loss ratio, genuinely profitable, this was the sweet spot.
  • round 4: chasing more share with the aggressive-pricing pass, the book jumped to ~800 policies but the loss ratio blew up to ~263%. we’d cut into segments where the lower price no longer covered the risk, classic winner’s curse.
  • rounds 5–6: out.

so the 8th-place finish wasn’t a modelling failure, the GLMs were fine. it was a strategy-and-calibration failure on top of them: too cautious early to win share, then over-correcting so hard that the volume we finally won was unprofitable. the teams that made the final held a steadier line, competitive enough to win a book, disciplined enough to keep its loss ratio under control.

what i took from it

the technical price is only half the job. the other half is the feedback loop between your price, the market’s response, and adverse selection, and that’s where we lost ground. if i ran it again i’d move earlier and in smaller steps: trim prices gradually while watching the loss ratio on the business i was actually winning, instead of one big aggressive cut. leading the team through the modelling was the easy part; learning to read the market against our own pricing was the real lesson.