An insurance rating engine from your Excel rate tables.
An insurance rating engine calculates a premium from risk data and rate tables. Your rating workbook already is one: it holds the base rates, factors and surcharges. SpreadAPI publishes it as a rating engine API and a web calculator, so portals, broker tools and AI assistants all price with the same tables.
- Monthly instalment
- $29.22
| Step | Factor | Premium after |
|---|---|---|
| Base premium | × 1.00 | $460.00 |
| Age | × 1.10 | $506.00 |
| Claim-free years | × 0.55 | $278.30 |
| Mileage | × 1.14 | $317.26 |
| Deductible | × 1.00 | $317.26 |
From 10 claim-free years the premium rate drops to 40 %
See the call
An example, not a live call: the request for the default values and the outputs of the answer.
https://spreadapi.io/api/v1/services/410c7f87-78c7-42db-83dd-edbe83cb2d03_mwf7125k3koos/execute?vehicle_class=Mid-size®ion=Urban&driver_age=34&claim_free_years=6
{
"outputs": [
{
"name": "annual_premium",
"title": "Annual premium",
"value": 350.69,
"formatString": "$#,##0.00"
},
{
"name": "instalment",
"title": "Monthly instalment",
"value": 29.22,
"formatString": "$#,##0.00"
},
{
"name": "hint",
"title": "Hint",
"value": "From 10 claim-free years the premium rate drops to 40 %"
},
{
"name": "premium_build_up",
"title": "Premium build-up",
"value": [
["Step", "Factor", "Premium after"],
["Base premium", 1, 460],
["Age", 1.1, 506],
["Claim-free years", 0.55, 278.3],
["Mileage", 1.14, 317.26],
["Deductible", 1, 317.26]
]
}
]
}A rate change should take an afternoon, not a release.
Today the actuary updates the workbook, then someone rebuilds the change in the portal, the broker tool and the quote form. Each copy can drift.
Own the tables
Edit a factor in the tariff sheet and republish. The workbook is the rating engine; nobody re-keys it.
Call one endpoint
Portal, broker tool and quote form send the risk data and get the premium and its build-up as JSON.
Quote from a link
The ready-made web calculator runs on the same tables, by link or embedded in a partner site.
The premium and how it came about.
Mark the build-up table as a result and every quote carries its own explanation: which factor applied, and what the premium was after it.
An AI assistant that uses the service answers with these numbers. It does not estimate a premium.
The engine calculates with more than 500 Excel functions, including dynamic arrays, LET and LAMBDA. The table comes from formulas that spill, like in Excel. Measured on our demo calculator: a calculation takes about 20 ms on the server, and a call returns in about 100 ms from Europe.
"outputs": [
{ "name": "annual_premium", "value": 350.69 },
{ "name": "instalment", "value": 29.22 },
{ "name": "premium_build_up", "value": [
["Step", "Factor", "Premium after"],
["Base premium", 1, 460],
["Age", 1.1, 506],
["Claim-free years", 0.55, 278.3],
["Mileage", 1.14, 317.26],
["Deductible", 1, 317.26]
] }
]From the answer of the example above, default values
Where it fits
- Quote calculators for brokers, MGAs and partner portals
- Indicative premiums on a website
- Commission and fee calculation
- A rating model an AI assistant has to apply exactly
What it is not
- Not a policy administration system
- No rate filing, sign-off or approval workflow: rate approval and governance stay with you
- No version history with rollback and no audit trail of rate changes
- No underwriting workbench or document generation
- Macros in the workbook do not run
Where the data runs
In our cloud, or with the on-premises runtime on your own infrastructure. Callers never see the formulas, only the results you mark.
Your rate tables as a quote API
A motor rating workbook becomes an API: premium and premium build-up per request – and a rate change goes live without a developer.
Try it with your own rating workbook.
Import the Excel file, mark the inputs and the results, publish.