This is the whole thing: the prose treaty turned into a seven-claim battery — the flat cession, the floor, and the untouchable attritional all pinned — plus the two-line Ceded that satisfies it. The exercise hands you the prose and a stub; you write both halves.

The sign rule is trivial. The two interactions are not, and they are where a naïve treaty leaks money.

The two interactions

  1. The flat cession meets a small claim. Rule 1 says cede 100; rule 2 says never cede more than the claim. C1 (gross 80) can only give 80 — ceded −80, net 0, not the naïve net of −20. C6 (gross 90) cedes 90, net 0. A treaty that ignores the cap books a negative loss and hands the reinsurer money that was never at risk.
  2. The flat cession meets the attritional bulk. Rule 3 says a per-claim treaty cannot touch ATT: no individual claim, no cession. Ceded 0, net stays 350 — not the naïve 250. This is the individual-vs-attritional distinction the lesson flags for Lesson 3, and here it is worth two points of net all by itself.

Pin those and the rest is the flat rule: C2 → 140, C3 → 320, C4 → 660, C5 → 1,200.

The frozen battery

Claim Kind Gross Naïve (−100 flat) Ceded Net Why
C1 Individual 80 −20 −80 0 floored — can't cede more than 80
C2 Individual 240 140 −100 140 plain flat 100
C3 Individual 420 320 −100 320 plain flat 100
C4 Individual 760 660 −100 660 plain flat 100
C5 Individual 1,300 1,200 −100 1,200 plain flat 100
C6 Individual 90 −10 −90 0 floored — can't cede more than 90
ATT Attritional 350 250 0 350 untouchable — no individual claim

The naïve column sums to a book net of 2,540; the correct treaty nets to 2,670 — the extra 130 is exactly the two floors (20 + 10) plus the untouched attritional (100) the naïve version would have wrongly ceded.

The treaty, in two lines

static double Ceded(string claim, string kind, double gross)
{
    if (kind == "Attritional") return 0.0;    // Rule 3 — a bulk sum has no individual claim to cede
    return -Math.Min(100.0, gross);           // Rule 1 (flat 100) capped by Rule 2 (never below 0 net)
}

Math.Min(100, gross) is rules 1 and 2 in one stroke: the flat 100, but never more than the claim. The early return is rule 3. Net is gross + Ceded(...) — still no subtraction.

Live and green

Press Run — seven rows, all green.

Write the treaty as a Ceded function — a flat 100 per individual claim, never more than the claim itself, and no cession at all on the attritional bulk — so every case in the seven-claim battery goes green. Render the battery as a grid of spec sentence, expected net and actual net, with a green count and the 2,670 book net in the header.

The treaty is two lines; the battery is the deliverable that outlives it. Hand those seven pinned nets to any agent — or any colleague — and "cede a flat 100" is no longer open to the two misreadings that cost real money.


← Back to the exercise · Lesson 1 — From gross to net · All solutions

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.