Run-off triangles
Claims reserving as the exam asks it: a cumulative triangle, development factors from the column sums, and three reserve estimates that only agree when the pricing assumption matches the data. Edit any cell and everything recomputes.
Cumulative claims triangle (edit any known cell)
| Origin year | Dev 1 | Dev 2 | Dev 3 | Dev 4 |
|---|---|---|---|---|
| 2023 | ||||
| 2024 | 3,807 | |||
| 2025 | 3,960 | 4,165 | ||
| 2026 | 3,852 | 4,282 | 4,504 | |
| Dev factor | 1.3698 | 1.1117 | 1.0517 |
White cells are your data; purple cells are the chain ladder projection, each one the cell to its left times the column's development factor. Factors are weighted averages of the observed link ratios (column sums, the standard basic chain ladder).
Reserves by method
| Origin year | Chain ladder | Expected loss ratio | Bornhuetter-Ferguson |
|---|---|---|---|
| 2023 | 0 | 26 | 0 |
| 2024 | 187 | 35 | 180 |
| 2025 | 603 | 433 | 578 |
| 2026 | 1,692 | 1,523 | 1,628 |
| Total | 2,482 | 2,017 | 2,386 |
Chain ladder trusts the data completely; the expected loss ratio method trusts the pricing assumption completely (reserve = ELR × premium − paid to date, floored at zero); Bornhuetter-Ferguson splits the difference, keeping actual experience for the developed share and the ELR ultimate for the share still to come. Watch the recent origin years: that is where the methods disagree most, and why BF exists.
Test + worked solutions
Test yourself
A fresh triangle every time: compute the factors, ultimates and reserves on paper, then check each part and step through the working to find where you diverged. Allow small rounding differences in the final figures.
The formulas
Everything on this page comes from five lines. Write Ci,j for the cumulative claims of origin year i at development year j, Pi for the year's premium and q for the expected loss ratio.
Each development factor is the ratio of column sums, taken over only the first n−j rows — the rows where both columns are actually observed. Summing before dividing makes it a weighted average of the individual link ratios, so bigger origin years count for more — this is the basic chain ladder, and the gold row under the triangle above.
Applied repeatedly from each row's last known cell, this fills the empty lower-right half of the triangle (the purple cells above). The final column is the chain ladder ultimate Ui. The two formulas are not circular: the factors are computed entirely from the observed cells, and the fill rule only ever writes the cells the factors never touched.
Here Li is the latest known cumulative figure (paid to date, the edge of the triangle) and Fi is the to-ultimate factor: the product of the development factors the row has still to pass through, which is the same thing as Ui / Li. The ELR reserve is floored at zero. In the BF formula, 1 - 1Fi is the proportion of the claims still undeveloped, so BF takes exactly that share of the ELR ultimate and lets actual experience stand for the rest.
Three methods, one disagreement
The chain ladder assumes the future develops like the past, so a distorted latest diagonal (one big claim, a change in settlement speed) is grossed up all the way to ultimate. The expected loss ratio method ignores the claims data entirely, which is all you can do when an origin year is too green to trust. Bornhuetter-Ferguson blends them in exactly the proportion the triangle has developed, which is why it is the default answer for the most recent origin years. Try inflating the newest year's single known cell and watch the chain ladder panic while BF barely moves — and the expected loss ratio reserve not move at all, because it never looks at the claims data in the first place.
Build it in Excel
The whole calculation is five formulas, and building it once teaches you more than reading it ten times. The steps below assume the same 4×4 shape as the tool above — widen the ranges for a bigger triangle.
- Lay out the triangle. Development years 1 to 4 across
B1:E1, origin years downA2:A5, and the known cumulative claims in the upper-left half ofB2:E5. Leave the unknown cells genuinely blank, not zero — the factor formula in step 2 relies on it. If your data is incremental, cumulate it first: in a copy of the block,=SUM($B2:B2)dragged across and down turns increments into running totals. - Development factors. In
C7:=SUM(C2:C5)/SUMIF(C2:C5,"<>",B2:B5), then drag across toE7. The numerator is the next column's total (blank cells add nothing); the SUMIF sums the previous column over just the rows where the next column is non-blank, which is exactly the "rows where both cells are known" rule — so the same formula works in every column despite the shrinking ranges. - Complete the triangle. Make a second block starting at row 10.
B10is=B2dragged down (development year 1 is always known). InC10:=IF(C2<>"",C2,B10*C$7), dragged across and down toE13. Known cells copy through; blanks fill with the cell to their left times that column's factor. Column E is now the chain ladder ultimate. - Reserves. Get each row's paid to date with
=INDEX(B2:E2,COUNT(B2:E2))— COUNT gives how many cells in the row hold a number, and since the known cells fill from the left, that count is also the position of the last one. With that inF2:F5, premiums inG2:G5and the expected loss ratio inH1, the three reserves for the first origin year are: chain ladder=E10-F2, expected loss ratio=MAX(0,$H$1*G2-F2), and Bornhuetter-Ferguson=(1-F2/E10)*$H$1*G2— paid over ultimate is the developed proportion, so one minus it is the share still to come. Drag all three down. - Check it. Type your triangle, premiums and loss ratio into the tool at the top of this page — the development factors and all three reserve columns should match yours to rounding. If the factors disagree, the usual culprit is a zero where a blank should be.
Make it stick. Reserving sits alongside ruin theory in CS2, and our ruin theory simulator covers that half. Memori is a flashcard app built by actuarial students, with a ready-made CS2 set in the shop. Join the beta.
Illustrative figures. For education only, not financial or reserving advice.