Combined ratio calculator
A 65% loss ratio plus a 28% expense ratio gives a combined ratio of 93, a 7-point underwriting profit. Enter both percentages from an earnings release or statutory page to get one comparable underwriting score. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Loss ratio
- 65
- Expense ratio
- 28
- Combined ratio
- 93
- Underwriting margin
- 7
- Underwriting result
- profit
The combined ratio is the headline underwriting score for a property-casualty insurer: loss ratio plus expense ratio, expressed as a percent of premiums. Analysts, CFOs, rating desks, and investors read that single percentage before they open a statutory filing or a pricing model. A result below one hundred means the book earned an underwriting profit; a result above one hundred means claims and expenses outran premiums and any profit has to come from investment income. This combined ratio calculator takes two percentages — loss ratio and expense ratio — adds them, and returns the combined ratio as a percentage with the underwriting margin and a profit, loss, or break-even label beside the result.
How combined ratio turns loss ratio and expense ratio into one underwriting score
The combined ratio of an insurer is the sum of its loss ratio and its expense ratio, both already expressed as percentages of premium. Loss ratio is incurred losses — and typically loss-adjustment expenses — divided by earned premium, then scaled to a percent. A book with a sixty-five percent loss ratio and a twenty-eight percent expense ratio prints a combined ratio of ninety-three, which is a seven-point underwriting profit: one hundred minus ninety-three.
A book at seventy-two point five and thirty-one point two five prints one hundred three point seven five, an underwriting loss of three point seven five points. Exactly one hundred is break-even on underwriting; investment income is then the only path to a net profit. This calculator does not reconstruct incurred losses from claims triangles, does not choose earned versus written premium for the expense ratio, and does not convert currencies or mix calendar-year with accident-year figures.
A zero loss ratio or a zero expense ratio is a legitimate outcome — a claims-free period or a book with no reported underwriting expense in the window — and returns a combined ratio equal to the other component rather than an error. Negative percentages are accepted as finite numbers because a reserve release can print a negative loss ratio; the sum then follows that sign instead of hiding it behind an absolute value.
This is a going-in combined ratio from two published percentages, not a loss-ratio-only view, not an expense-ratio-only view, and not a return-on-equity path that folds in investment yield.
Where a combined ratio calculator earns its keep
Investor-relations desks use a combined ratio calculator to turn last quarter's published loss ratio and expense ratio into one comparable underwriting score before they walk a earnings call. Rating analysts and CFOs drop both ratios from the statutory page and compare the combined ratio with a combined-ratio-excluding-catastrophes case rather than treating either component as a substitute.
This is a different search and a different job from loss ratio alone, from expense ratio alone, from return on equity, and from combined loan-to-value: those tools price claims against premium, expenses against premium, capital yield, or every lien against an appraisal. Combined ratio prices underwriting in one number. Failed validation does not consume balance.
Keep both ratios finite, pin the rounded percentage in tests, and you get a reproducible combined ratio for teasers, LMS plugins, and edge workers without standing up an underwriting engine of your own.
What you can do with it
Rating and statutory cross-checks
Pin a combined ratio next to the catastrophe-ex case and the prior-year page so credit memos share one underwriting score.
FAQ
How is combined ratio calculated?
Both inputs are percentages: sixty-five plus twenty-eight comes back as 93, not 0.93.
What happens if a ratio is missing or not a number?
Missing fields, empty strings, NaN, and infinities are rejected and are not billed.
Can loss ratio or expense ratio be zero or negative?
Yes. A claims-free window can print a zero loss ratio; a reserve release can print a negative one. The combined ratio follows that sign. Only non-finite values are rejected.
What does a combined ratio below or above 100 mean?
Above 100 is an underwriting loss. The label is taken from the rounded combined ratio versus 100.
What goes into the loss ratio?
Incurred losses, typically together with loss-adjustment expenses, divided by earned premium and shown as a percent. Enter it already calculated; the calculator does not rebuild losses from claims data.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/fin/combined-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"loss_ratio":65,"expense_ratio":28}'const res = await fetch("https://api.kit.forhosting.com/fin/combined-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"loss_ratio": 65,
"expense_ratio": 28
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/combined-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"loss_ratio": 65,
"expense_ratio": 28
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/combined-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"loss_ratio":65,"expense_ratio":28}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"loss_ratio":65,"expense_ratio":28}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/combined-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"loss_ratio": 65,
"expense_ratio": 28
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.combined_ratio",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Any input that is missing, empty, or not a finite number fails with invalid_input and is not billed.
How combined ratio turns loss ratio and expense ratio into one underwriting score
Expense ratio is underwriting expenses divided by written or earned premium, depending on the reporting convention you applied before you call this endpoint. Adding those two percentages is the identity every statutory page, earnings release, and rating-agency primer uses: combined_ratio equals loss_ratio plus expense_ratio. You supply two finite percentages that already share one convention; the calculator adds them, rounds the sum half-up to six decimal places so goldens compare byte-for-byte across runtimes, and labels the result profit, loss, or break_even by comparing the rounded combined ratio with one hundred.
Input contract, response shape, and error behaviour
Zero is allowed on either side and produces a combined ratio equal to the remaining component. A negative ratio is also allowed: a reserve takedown can print a negative loss ratio, and the combined ratio follows that sign rather than clamping at zero. Example: sixty-five of loss ratio and twenty-eight of expense ratio yield a combined ratio of ninety-three, an underwriting margin of seven, and the label profit. Keep both fields finite, pin the rounded percentage in tests, and you get a reproducible combined ratio for filings, LMS plugins, and edge workers without standing up an actuarial engine of your own. POST a JSON body with two required finite numbers. loss_ratio is the loss ratio as a percentage of premium; aliases loss, lr, and claims_ratio map to the same field so a statutory worksheet can keep its column names. expense_ratio is the expense ratio as a percentage of premium; aliases expense, er, and underwriting_expense_ratio are accepted. Each numeric field may arrive as a JSON number or a numeric string. Missing fields, empty strings, nulls, NaN, and infinities fail with invalid_input naming the field, because a combined ratio is undefined when either addend is not a finite number. Those failures are not billed. On success the body echoes loss_ratio and expense_ratio, then reports combined_ratio as the rounded sum, underwriting_margin as one hundred minus that sum (positive is an underwriting profit, negative is an underwriting loss), underwriting_result as profit, loss, or break_even, and a formula string restating the identity. Pair the JSON with your own note for which premium base matches the ratios you chose — earned, written, or a mixed statutory presentation — because this endpoint adds the two numbers you send; it does not rebuild the income statement, allocate loss-adjustment expense, or convert currencies.
Where a combined ratio calculator earns its keep
Pricing actuaries re-run the same two fields when a rate filing moves the loss ratio or a cost program moves the expense ratio, then pin combined_ratio in the exhibit so every conversation starts from one percentage.
Integration use cases
Earnings pack before the call
Add last quarter's published loss ratio and expense ratio into one combined ratio before you walk investors through underwriting versus investment income.
Rate filing and cost-program exhibits
Re-price a book when a filing moves the loss ratio or a cost program moves the expense ratio: same calculator, new inputs, one shared combined_ratio.
Technical questions
What does the combined ratio calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.