Arte SheetsLearn. Try. Understand.

Biostatistics & Survival Analysis

Restricted Mean Survival Time (RMST) Exact Step-Function Area Formula

Calculate exact Restricted Mean Survival Time RMST(tau) and Restricted Mean Time Lost RMTL(tau) under a Kaplan-Meier step curve without trapezoidal downward bias.

Never integrate a Kaplan-Meier survival curve with trapezoidal averaging!

When survival curves cross or median survival is not yet reached, Royston and Parmar (2011) summarize treatment benefit via Restricted Mean Survival Time RMST(tau) = integral_0^tau S(t) dt — the expected survival duration up to milestone horizon tau. Because Kaplan-Meier S(t) is a right-continuous STEP function that stays flat at S(t_{j-1}) across the entire interval [t_{j-1}, t_j), applying a trapezoidal rule 0.5*(S_{j-1} + S_j)*dt artificially shaves triangles off every step!

Verify by hand up to milestone tau = 24 months (G2 = 24) on step knots t = {0, 6, 12, 20, 30} in A2:A6 with survival heights S(t) = {1.00, 0.85, 0.70, 0.50, 0.35} in B2:B6: [0, 6] contributes 6 * 1.00 = 6.00; [6, 12] contributes 6 * 0.85 = 5.10; [12, 20] contributes 8 * 0.70 = 5.60; and [20, 30] clips cleanly at tau = 24 via MAX(0, MIN(30, 24) - 20) * 0.50 = 4 * 0.50 = 2.00, totaling RMST(24) = 18.70 months (RMTL = 24 - 18.70 = 5.30 months lost), whereas naive trapezoidal integration underreports 16.70 months!

Step Interval Clipped at tau = 24Rectangle Width * Left HeightArea (Months)
[0, 6] at S(0) = 1.00(MIN(6, 24) - 0) * 1.006.00
[6, 12] at S(6) = 0.85(MIN(12, 24) - 6) * 0.855.10
[12, 20] at S(12) = 0.70(MIN(20, 24) - 12) * 0.705.60
[20, 30] clipped to [20, 24] at 0.50MAX(0, MIN(30, 24) - 20) * 0.502.00 (Sum = 18.70)

Clipped Step-Rectangle Area Formula per Interval

Use MAX(0, MIN(t_next, tau) - MIN(t_curr, tau)) * S_curr on each interval so changing horizon tau dynamically truncates any interval crossing or exceeding tau.

=MAX(0, MIN(A3, $G$2) - MIN(A2, $G$2)) * B2

Exact RMST(tau) and Restricted Mean Time Lost RMTL(tau) Formula

Guard horizons tau <= 0 or tau > max_follow_up (since Kaplan-Meier is undefined past the last observed time A6 = 30). Test shortening tau in G2 from 24 to 15 months: [0,6]=6.0, [6,12]=5.1, [12,15]=3*0.70=2.1 -> RMST(15) = 13.20 months.

=IF(OR(G2 <= 0, G2 > A6), "Horizon Outside Follow-Up", ROUND(SUM(C2:C5), 4))

Try the example

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

Further reading