Home / Guides

Survival extrapolation from published Kaplan–Meier curves

Updated 2026-09-25 · TrialCurve

Economic models need survival over a lifetime, but trials follow patients for a few years. The standard approach is to reconstruct patient-level data from the published Kaplan–Meier curves, fit parametric survival models, and choose among them on fit and clinical plausibility, as set out in NICE DSU TSD 14 and TSD 21.

Step by step

  1. Get patient-level data. If you do not have the trial's IPD, reconstruct it from the published curves (Guyot method), and check it reproduces the published medians and hazard ratio.
  2. Fit the standard models to each arm: exponential, Weibull, Gompertz, log-logistic, log-normal and generalised gamma.
  3. Assess fit: AIC and BIC, curves overlaid on the Kaplan–Meier, and the smoothed hazard over time.
  4. Check plausibility: compare long-term survival with external data (registries, longer trial follow-up, expert opinion) and general-population mortality.
  5. If none fits: use flexible models from TSD 21: spline-based (Royston–Parmar), piecewise, or mixture cure models.
  6. Report the choices and their justification, and test the alternatives in scenario analyses.

In R

library(flexsurv)
ipd <- read.csv("trialcurve_ipd.csv")          # arm,time,event
dists <- c("exp", "weibull", "gompertz", "llogis", "lnorm", "gengamma")
fits <- lapply(dists, function(d)
  flexsurvreg(Surv(time, event) ~ 1, data = subset(ipd, arm == "Drug"), dist = d))
data.frame(dist = dists, AIC = sapply(fits, AIC))
plot(fits[[2]], t = seq(0, 120, 1))             # Weibull, extrapolated to 10 years

Common pitfalls

FAQ

What is NICE TSD 14?

Technical Support Document 14 from the NICE Decision Support Unit gives guidance on survival analysis for economic evaluations using patient-level data, including fitting and choosing parametric models for extrapolation.

What does TSD 21 add?

TSD 21 covers flexible methods for when standard parametric models do not fit well, such as spline-based, piecewise and cure models.

Can I extrapolate from a published figure?

Yes: reconstruct pseudo-IPD from the Kaplan–Meier curves first, verify it against the published statistics, then fit the models to the reconstructed data.

Reconstruct IPD from your own figure. Upload a Kaplan–Meier plot and get curves, numbers at risk, pseudo-IPD, hazard ratios and a validation pack. Three figures a month are free.

Try the live demo Browse trial data API docs