In most insurers and reinsurers, finance, actuarial, and accounting run on parallel systems and reconcile after the fact. I built one computational graph under all three — policy data, cash-flow engine, measurement bases, ledger, reporting — then the AI layer that can walk it. PE-backed insurers run it today; more than $3M in engagements have run on it.
Actuarial models project cash flows and reserves. Finance builds plans and capital views on a separate assumption set. Accounting posts the results on yet another basis — statutory, GAAP / LDTI, IFRS 17, tax. The cost of that split is enormous and mostly invisible, because it is baked into headcount and cycle time. Reconciliation is the dominant workload, and LDTI and IFRS 17 made it worse: they force actuarial granularity into the ledger, so the fight is no longer at the total — it is at the cohort.
There is no single version of the truth for assumptions. Mortality, lapse, rates, and expenses should flow into reserves, planning, pricing, and capital at the same time; in practice an assumption update can take a quarter to propagate. And there is no traceability: a ledger entry cannot walk back to the policy-level cash flow that generated it, so attribution, audit defense, and management trust all suffer.
Speed is strategy. Close cycles that take weeks cannot support a deal calendar. A Bermuda writer that can re-project the whole balance sheet overnight can bid on blocks a slower incumbent cannot even evaluate in time.
One computational graph: policy data → cash-flow engine → measurement bases → ledger → reporting and planning. Assumptions and scenarios are parameters on that graph, not copies sitting in three workbooks. An update lands everywhere overnight. Statutory, GAAP / LDTI, and IFRS 17 are projections of the same cash flows, and every number has a parent — a journal, a run, a methodology version — that walks back to the policy cash flow.
The AI layer sits on top, and only works because the graph exists. “Why did the CSM move $40M this quarter?” becomes an agent walking the lineage and decomposing the movement in minutes, with citations to the actual runs. Scenarios become queries — “earnings and RBC if rates drop 100bp and we reinsure 30% of the VA block” — and agents monitor emerging experience against the assumption set all year. On siloed systems, AI mostly automates the reconciliation swamp; on the graph, the value changes in kind.
I shipped the first version alone — ingest, the warehouse, the first engines, a surface a CFO could sit in — then brought on a team and took it to production: environments, an audit log, role-based views, an overnight book that actually closes.
Policy and in-force extracts, custodian and OMS files, and GL feeds land in a landing zone. dbt builds a canonical Delta / Parquet warehouse on Databricks. Python calculation services run behind FastAPI and are versioned the way you version a service. Temporal orchestrates the overnight graph — close positions, project cash flows, measure each basis, post journals, refresh the plan. An actuary sees assumption sets and cash-flow testing; a CFO sees earnings, capital, and the close. Same graph, different cut.
Python, FastAPI, React, TypeScript, Databricks, Delta / Parquet, dbt, Temporal, OpenAI Agents SDK, LiteLLM, LangSmith, DuckDB, Postgres, Redis, SSE, Terraform, Kubernetes.
PE-backed insurers, reinsurers, and asset managers run this. More than $3M in engagements have run on it. It is the system they steer the ALM conversation from, not a pack rebuilt every quarter.
The commercial lesson: the moat is not the AI layer — models commoditize. The moat is the integrated data and computation graph underneath, which is slow, domain-heavy, and painful to build. That is why the incumbents are racing to own more of the stack rather than just their silo.