Home / Guides

MAIC with reconstructed IPD from published curves

Updated 2026-09-25 · TrialCurve

A matching-adjusted indirect comparison (MAIC) compares your trial with a competitor's when you only have their publication. You reweight your own patient-level data so its baseline characteristics match the competitor's published ones (Signorovitch et al., 2010), then compare survival with the competitor's arm, reconstructed from its published Kaplan–Meier curve.

Step by step

  1. Choose the effect modifiers (and, for an unanchored MAIC, all prognostic factors) to balance, following NICE DSU TSD 18.
  2. Estimate weights for your patients by the method of moments, so the weighted means match the comparator's published baseline values.
  3. Check the effective sample size (ESS = (Σw)² / Σw²). A large drop means the populations overlap poorly.
  4. Reconstruct the comparator's survival data from its published Kaplan–Meier curve with the Guyot method, and check it reproduces the published medians and hazard ratio.
  5. Compare: a weighted Kaplan–Meier and a weighted Cox model of your arm against the reconstructed comparator arm (unanchored), or compare the relative effects through a common comparator (anchored).

Anchored or unanchored?

With a common comparator arm (for example both trials against placebo), an anchored MAIC compares relative effects and only needs effect modifiers balanced. Without one (single-arm trials), an unanchored MAIC compares absolute outcomes and needs every prognostic factor balanced, a much stronger assumption.

In R: the comparison step

library(survival)
comp <- read.csv("trialcurve_ipd.csv")          # reconstructed comparator arm
comp$w <- 1
both <- rbind(ours[, c("time", "event", "w")] |> transform(arm = "Ours"),
              comp[, c("time", "event", "w")] |> transform(arm = "Comparator"))
coxph(Surv(time, event) ~ arm, data = both, weights = w, robust = TRUE)

FAQ

What is a matching-adjusted indirect comparison?

A population-adjusted indirect comparison that reweights individual patient data from one trial to match the published baseline characteristics of another, so outcomes can be compared as if the populations were similar.

Why reconstruct the comparator's IPD?

For survival outcomes, the comparator arm is usually only available as a published Kaplan–Meier curve. Reconstructed IPD lets you fit Kaplan–Meier and Cox models to it directly.

What is the effective sample size in MAIC?

(Σw)² / Σw² for the weights. It shows how much information remains after weighting; a small ESS means the comparison is imprecise and the populations overlap poorly.

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