Arte SheetsLearn. Try. Understand.

Actuarial Science & Insurance Risk

Cramér-Lundberg Ruin Probability & Adjustment Coefficient R

Calculate relative security loading theta, Cramér-Lundberg adjustment coefficient R = theta / ((1 + theta) * mu), Lundberg ruin bound EXP(-R * u_0), and exact exponential ruin probability.

Size initial insurer surplus u_0 so compound-Poisson claim spikes do not exhaust capital

In classical Cramér-Lundberg collective risk theory, insurer surplus evolves as U(t) = u_0 + c * t - S(t), where initial capital is u_0 >= 0, Poisson claim frequency is lambda > 0, mean claim severity is mu_sev > 0, and annual premium inflow rate c exceeds pure risk burn rate lambda * mu_sev by relative security loading theta = c / (lambda * mu_sev) - 1 > 0. For exponentially distributed claim severities, the Lundberg adjustment coefficient has exact closed form R = theta / ((1 + theta) * mu_sev) = 1 / mu_sev - lambda / c, yielding both the general Lundberg upper bound EXP(-R * u_0) and exact infinite-horizon ruin probability psi(u_0) = (1 / (1 + theta)) * EXP(-R * u_0)!

Start with a hand-verifiable surplus sheet: u_0 = 200 (B2), lambda = 100 claims/yr (B3), mu_sev = 10 (B4, pure risk premium = 1,000), and premium rate c = 1,250 (B5 -> theta = 0.2500). A common first-draft mistake is omitting (1 + theta) in the denominator of R and writing theta / mu_sev = 0.025 instead of exact R = 0.25 / (1.25 * 10) = 0.0200! Ask a hint-first prompt ("Check whether R = B_theta / B4 satisfies the exponential moment condition 1 + (1 + theta)*mu*R = 1 / (1 - mu*R) without rewriting my sheet") to spot the missing (1 + theta) factor: at R = 0.0200, Lundberg’s upper bound is EXP(-4) = 0.0183, exact exponential ruin probability is 0.80 * EXP(-4) = 0.0147 (1.47%), and capping exact ruin at alpha = 1.00% (B6 = 0.01) requires u_min = -LN(1.25 * 0.01) / 0.02 = 219.10!

Surplus Risk Metric (u_0=200, lambda=100, mu=10, c=1,250)FormulaVerified Output
Relative Security Loading (theta)c / (lambda * mu_sev) - 10.2500 (25.00%)
Adjustment Coefficient (R)theta / ((1 + theta) * mu_sev)0.0200
Lundberg Upper BoundEXP(-R * u_0)0.0183 (1.83%)
Exact Exponential Ruin psi(u_0)(1 / (1 + theta)) * EXP(-R * u_0)0.0147 (1.47%)
Surplus Needed for 1% Ruin CapMAX(0, -LN((1 + theta) * alpha) / R)219.10

Exact Exponential-Severity Cramér-Lundberg Ruin Probability Formula

Enforce positive net drift c > lambda * mu_sev (when c <= lambda * mu_sev, infinite-horizon ruin is 100% certain regardless of finite initial capital u_0!).

=LET(u_0, B2, lam_c, B3, mu_s, B4, prem_c, B5, IF(OR(u_0 < 0, lam_c <= 0, mu_s <= 0, prem_c <= 0), "Invalid Surplus Input", IF(prem_c <= lam_c * mu_s, "Certain Ruin (Require c > lambda * mu)", LET(th_ld, prem_c / (lam_c * mu_s) - 1, r_adj, th_ld / ((1 + th_ld) * mu_s), ROUND((1 / (1 + th_ld)) * EXP(-r_adj * u_0), 4)))))

Minimum Required Initial Capital u_min for Target Ruin Probability alpha Formula

Invert psi(u_min) <= alpha_ruin with MAX(0, ...) so if zero-surplus ruin 1 / (1 + theta) already sits below alpha_ruin, required capital cleanly floors at 0.

=LET(lam_c, B3, mu_s, B4, prem_c, B5, alp_r, B6, IF(OR(lam_c <= 0, mu_s <= 0, prem_c <= lam_c * mu_s, alp_r <= 0, alp_r >= 1), "Invalid Capital Target", LET(th_ld, prem_c / (lam_c * mu_s) - 1, r_adj, th_ld / ((1 + th_ld) * mu_s), ROUND(MAX(0, -LN((1 + th_ld) * alp_r) / r_adj), 2))))

Try the example

Use the original values or change them to test your understanding.

Further reading