Build · Web app + engine

ActuarialPro

An actuarial workbench for life insurance: mortality experience studies, claim analysis and IFRS 17 projections in one web app, with an AI assistant that answers by text or voice.

PythonFlaskNumPy · pandasSQL ServerGemini
My roleDesigned and built it end to end
UsersActuarial analysts, with admin, analyst and guest roles
StackFlask web app plus a separate NumPy/pandas IFRS 17 engine
StatusIn internal use
ActuarialPro
Mortality experience study results: A/E ratio by product, age band, calendar year and policy year, fictional data

The same analysis, rebuilt by hand each time

Experience studies, claim reviews and IFRS 17 runs follow the same steps every time: pull the policy and claim data, clean it, map products, compute exposure, compare against a table, then cut the result a dozen ways for the report.

Done in spreadsheets, each run is slow, hard to repeat exactly and hard to review. ActuarialPro turns those steps into guided screens with the method written down once, so a study can be rerun, compared and exported the same way every time.

Three actuarial tools and an assistant

Mortality experience study

Actual-to-expected deaths on age last or nearest birthday, with credibility, broken down by age band, gender, product, product group, policy year, calendar year, sum insured and cohort. Studies are saved and can be rerun from a snapshot.

Claim analysis

Claim ratio, incidence and policy-year experience, early-claim review, segment rankings, and anomaly flags for claims worth a second look, down to claim-level detail.

IFRS 17 and business plan

Monthly cash flows per group of contracts, the LRC with best estimate, risk adjustment and CSM, accounting movements, and a reconciliation back to the source workbook.

Aria, the AI assistant

Answers by text or voice, researches public sources and checks the excerpts it quotes, cites up to five sources, writes equations properly and can open the right screen in the app.

Assumption tables

One place to manage mortality, lapse, discount-rate and illiquidity-premium tables that every tool reads from.

Data and access

Extraction straight from SQL Server or upload from Excel, a database explorer, role-based access and CSRF protection.

A web app on top of a tested engine

Policy and claim data→Validate and map→Assumption tables→Background run→Results and charts→Excel / PDF

The app is Flask with server-rendered pages and plain JavaScript, a small SQL database for users, saved studies and tables, and a direct SQL Server connection for extracting policy data. Long calculations run as background jobs, so a big study never freezes the page, and money is summed in integer cents to avoid rounding drift.

The IFRS 17 projections live in a separate engine package written with NumPy and pandas. It can be tested and run on its own, and ActuarialPro calls it as a library from the IFRS 17 page. When a reference workbook is supplied, each run is reconciled against it, and anything that needs a human check is listed as a review issue rather than hidden.

In numbers

42 sto project 5,000 groups of contracts, 460,000 monthly rows (synthetic benchmark, laptop)
2 sto project 298 groups of contracts, 27,396 rows (same benchmark)
8ways to break down a mortality A/E study
3tools plus an assistant, sharing one set of tables

Benchmark figures are from the engine’s own synthetic test data on a local machine, not production.

A tour with dummy data

All screens use dummy policies, claims and tables generated for this page. No company data is shown.

← All buildsNext: Actuarial TeamFlow →