Insurance · Pricing

Pricing models with VBA, run 28 to 62 times faster

Pricing teams build their models in Excel: worksheet formulas, a Goal Seek for every policy and scenario, and VBA for custom functions, for looping over the portfolio or even for the whole calculation. Many platforms only run the formulas; Excelerant runs the VBA too, exactly as written. And its Goal Seek is much faster, so you can price the full portfolio instead of a sample.

28×

faster with Excel’s own Goal Seek method, matching Excel’s premiums

62×

faster with the optimised solver, which solves for the exact premium

VBA

runs as written, alongside the formulas

The challenge

Solving a premium for every policy and scenario takes hours in Excel, which runs VBA on a single processor core however many the machine has. Teams price a sample instead of the full portfolio, and every change to an assumption means waiting for the whole run again.

What Excelerant does

  • Runs the VBA itself, not just the formulas: custom functions, macros and Goal Seek work as written, with nothing for you to rewrite.
  • Uses every processor core, where Excel runs VBA on just one, and spreads large runs over several servers.
  • Offers two solvers: Excel’s own Goal Seek method, to tie out to signed-off figures, and an optimised solver for speed.

While they work on a model, actuaries can also use the optional Excel add-in. Press run, and the workbook as it is at that moment, including any change just made, runs on the server instead of on their own PC, VBA and all. The results come back into the same sheet. There is nothing to set up: it is simply a much faster way to run the macros and Goal Seeks while you work.

The benchmark

A term-life pricing workbook with 50 policies and 30 scenarios each: 1,500 premium solves. Excel and Excelerant ran on the same cloud PC, with 8 vCPUs and 16 GB of RAM. Excel runs the VBA on a single thread, so it used one of those eight threads; Excelerant spreads the solves over all eight. Each Goal Seek is also faster in Excelerant, so the gain comes from both.

RunTimeCompared with Excel
Excel13 min 34 s–
Excelerant, Excel’s Goal Seek method29 s28× faster
Excelerant, optimised solver13 s62× faster

958 of the 1,500 premiums are identical to Excel’s to the last digit, and the rest differ by less than 0.0000001. The optimised solver differs from Excel by at most 0.00001, because it solves for the exact premium where Excel stops once it is close enough.

Scaled up from these times, a 10,000-policy portfolio takes 45 hours in Excel. On the same machine, Excelerant needs about 97 minutes with Excel’s Goal Seek method and 44 minutes with the optimised solver. Spread over several machines, that comes down further.

Measured on a demonstration workbook.

Not metered. You don’t pay per calculation, so you can run the model as often as you need. You can also run it in your own environment, so your policy data stays with you.

Other business domains

Send us your pricing workbook. We’ll benchmark it against Excel.

Or e-mail us at info@excelerant.nl