Tutorials › Biostatistics › Milestone Survival Analysis in Oncology Trials

Survival Analysis & Oncology

Milestone Survival Analysis in Oncology Trials

A practical guide to estimating and comparing survival probabilities at prespecified time points in oncology trials, including milestone overall survival and progression-free survival, Kaplan–Meier estimation, confidence intervals, treatment-group comparisons, censoring, interpretation, and R and SAS implementation.

Advanced 18 min read

What You'll Learn

  • What a milestone survival probability means clinically and statistically
  • How Kaplan–Meier methods estimate survival at a fixed milestone time
  • How to construct confidence intervals for milestone survival
  • How to compare milestone survival between randomized treatment groups
  • Why censoring, follow-up maturity, and the estimand matter
  • How to implement milestone survival analyses in R and SAS

Introduction

In oncology trials, treatment effects are often described using familiar time-to-event measures such as overall survival (OS) and progression-free survival (PFS).

A Kaplan–Meier curve provides information over the entire follow-up period. However, clinical decision-making often focuses on a specific time point.

For example, an investigator may ask:

  • What proportion of patients are alive at 12 months?
  • What proportion remain progression-free at 18 months?
  • What proportion are alive at 24 months?
  • How much higher is 24-month OS with the experimental treatment?

These questions can be answered using a milestone survival analysis.

Key idea: A milestone survival analysis estimates the probability of remaining event-free at a prespecified time point, such as 12, 18, or 24 months. For time-to-event data, the preferred estimate generally comes from the Kaplan–Meier survival function rather than simply dividing the number of patients without an event by the number randomized.

What Is Milestone Survival?

Let \(T\) denote the time to an event.

For overall survival, the event is usually death from any cause. For progression-free survival, the event is typically disease progression or death, according to the protocol-defined endpoint.

The survival function is:

$$ S(t)=P(T>t) $$

A milestone survival probability at time \(\tau\) is therefore:

$$ S(\tau)=P(T>\tau) $$

For example:

$$ S(12)=0.72 $$

means that the estimated probability of surviving beyond 12 months is 72%.

In clinical reporting, this is often described as: 12-month overall survival was 72%.

Milestone time must be prespecified. If the time point is selected after looking at the observed survival curves, the nominal interpretation and statistical properties of the analysis can change. A milestone analysis should generally be defined in the protocol or statistical analysis plan before unblinding the comparative results.

Why Use a Milestone Analysis?

The hazard ratio is a useful summary of relative treatment effect, but it is not always the most clinically intuitive measure.

A hazard ratio of 0.75 does not directly say what proportion of patients are alive at two years.

A milestone analysis provides a directly interpretable quantity:

$$ P(\text{alive at 24 months}) $$

or:

$$ P(\text{progression-free at 12 months}) $$

This can make the treatment effect easier to communicate to clinicians, patients, regulators, and other stakeholders.

Measure Question Answered
Hazard ratio How does the instantaneous event hazard compare between groups?
Median survival When does estimated survival fall to 50%?
Milestone survival What proportion remain event-free at a specified time?
Survival difference How much higher is survival at the milestone?

Common Oncology Milestones

Milestone times depend on the disease, endpoint, treatment setting, and expected follow-up.

Examples include:

Endpoint Possible Milestone
Overall survival 12 months
Overall survival 24 months
Overall survival 36 months
Progression-free survival 6 months
Progression-free survival 12 months
Event-free survival 24 months

The correct milestone is a scientific and clinical decision, not a statistical default.

Milestone Survival as an Estimand

A particularly useful way to understand milestone analysis is through the concept of an estimand.

Suppose the primary endpoint is overall survival and the milestone is 24 months. The target quantity might be:

$$ S_g(24) = P(T>24\mid A=g) $$

where \(g\) identifies the treatment group.

For two randomized groups, the treatment effect could be expressed as a difference:

$$ \Delta_{24} = S_1(24)-S_0(24) $$

or a ratio:

$$ RR_{24} = \frac{S_1(24)}{S_0(24)} $$

Another useful quantity is the difference in event-free probabilities.

$$ \Delta_{\text{event},24} = [1-S_1(24)]-[1-S_0(24)] $$

which simplifies to the negative of the survival difference.

Estimand discipline: Before analyzing milestone survival, specify the population, treatment comparison, endpoint, milestone time, handling of intercurrent events, and censoring strategy. "24-month survival" is not completely defined until these elements are specified.

Kaplan–Meier Estimation

The Kaplan–Meier estimator is the standard nonparametric estimator of the survival function in the presence of right censoring.

Suppose the distinct event times are:

$$ t_1

At each event time \(t_j\), let:

  • \(d_j\) = number of events at \(t_j\)
  • \(n_j\) = number at risk immediately before \(t_j\)

The Kaplan–Meier estimator is:

$$ \widehat S(t) = \prod_{t_j\le t} \left( 1-\frac{d_j}{n_j} \right) $$

The milestone survival estimate is simply the Kaplan–Meier curve evaluated at the prespecified milestone.

$$ \widehat S(\tau) = \prod_{t_j\le\tau} \left( 1-\frac{d_j}{n_j} \right) $$

A Simple Worked Example

Consider a randomized oncology trial comparing an experimental treatment with standard therapy.

The primary time-to-event endpoint is overall survival, and the statistical analysis plan specifies a 24-month OS milestone.

Design Element Value
Endpoint Overall survival
Milestone 24 months
Experimental treatment Arm A
Control treatment Arm B
Primary milestone contrast Difference in 24-month OS

Suppose the Kaplan–Meier estimates at 24 months are:

Treatment Group 24-Month OS
Experimental 68%
Control 55%

The estimated absolute treatment difference is:

$$ \widehat\Delta_{24} = 0.68-0.55 = 0.13 $$

Thus, the experimental treatment has an estimated 13-percentage-point higher 24-month survival probability.

Why You Should Not Simply Count Survivors

A common mistake is to calculate:

$$ \frac{\text{number alive at 24 months}} {\text{number randomized}} $$

This works only under very restrictive circumstances.

Patients may be censored before 24 months because they:

  • Remain alive but leave the study
  • Are lost to follow-up
  • Withdraw consent
  • Reach the end of available follow-up without an event

A patient censored at 15 months does not provide complete information about whether they would have survived to 24 months.

The Kaplan–Meier estimator incorporates the available follow-up information without treating censored patients as if they experienced the event.

Key distinction: A patient who is alive at 24 months contributes directly to the milestone estimate. A patient censored at 15 months contributes information through 15 months, but their survival status after 15 months is unknown.

Reading a Kaplan–Meier Curve at a Milestone

Suppose the survival curve reaches the 24-month vertical line at:

$$ \widehat S(24)=0.68 $$

The interpretation is: the estimated probability of surviving beyond 24 months is 68%.

This does not mean exactly 68% of the randomized patients were observed alive at 24 months.

It is a model-free survival-function estimate constructed from the observed event and censoring times under the usual independent-censoring assumptions.

Confidence Intervals for Milestone Survival

A point estimate alone is insufficient for most clinical-trial reporting.

A confidence interval should accompany the milestone survival estimate.

Greenwood's formula estimates the variance of the Kaplan–Meier estimator.

$$ \widehat{\operatorname{Var}} \left[ \widehat S(t) \right] = \widehat S(t)^2 \sum_{t_j\le t} \frac{d_j}{n_j(n_j-d_j)} $$

The corresponding standard error is:

$$ SE\{\widehat S(t)\} = \sqrt{ \widehat{\operatorname{Var}} [\widehat S(t)] } $$

Because survival probabilities are restricted to the interval \([0,1]\), confidence intervals are commonly constructed on a transformed scale rather than simply using:

$$ \widehat S(t)\pm1.96\,SE\{\widehat S(t)\} $$

A commonly used transformation is the complementary log-log scale.

$$ g(S)=\log[-\log(S)] $$

The resulting interval is transformed back to the survival-probability scale.

Practical recommendation: Use the confidence-interval method specified by the statistical software or statistical analysis plan rather than manually applying a simple normal approximation to a probability near 0 or 1.

Worked Confidence-Interval Example

Suppose the estimated 24-month OS in the experimental arm is:

$$ \widehat S_E(24)=0.68 $$

and the reported 95% confidence interval is:

$$ 95\%\ CI=(0.59,\;0.76) $$

The appropriate interpretation is: the estimated 24-month OS is 68%, with a 95% confidence interval from 59% to 76%.

The confidence interval describes uncertainty in the estimated survival probability; it does not mean that 95% of individual patients will have survival times inside that interval.

Comparing Two Treatment Groups

Suppose:

$$ \widehat S_E(24)=0.68 $$

and:

$$ \widehat S_C(24)=0.55 $$

The most direct contrast is the absolute difference:

$$ \widehat\Delta = \widehat S_E(24)-\widehat S_C(24) = 0.13 $$

or 13 percentage points.

The milestone survival ratio is:

$$ \widehat{RR} = \frac{0.68}{0.55} \approx1.24 $$

Thus, the estimated probability of being alive at 24 months is approximately 24% higher on a relative scale.

Choose the contrast before analysis. For clinical interpretation, an absolute difference is often particularly transparent. A ratio may also be useful. The preferred effect measure should be prespecified rather than selected after examining which produces the most favorable result.

Confidence Interval for the Treatment Difference

Suppose the estimated milestone difference is:

$$ \widehat\Delta=0.13 $$

with a 95% confidence interval:

$$ 95\%\ CI=(0.03,\;0.23) $$

This corresponds to a treatment difference of:

$$ 13 \text{ percentage points} $$

with a 95% confidence interval from:

$$ 3 \text{ to } 23 \text{ percentage points}. $$

Because the interval excludes zero, the estimated milestone survival difference is statistically distinguishable from zero at the corresponding two-sided 5% level, assuming the interval corresponds to the prespecified inferential procedure.

Milestone Analysis Is Not the Same as a Log-Rank Test

The log-rank test evaluates evidence for a difference in survival experience over the follow-up period under its assumptions.

A milestone analysis instead focuses on:

$$ S(\tau) $$

at a specific time \(\tau\).

These answer different questions.

Method Primary Question
Log-rank test Is there evidence of a difference in survival distributions?
Cox model How do event hazards compare, typically summarized by a hazard ratio?
Milestone analysis What is the survival probability at a specified time?

A clinical trial may report all three because they provide complementary information.

Milestone Survival and the Hazard Ratio

A hazard ratio and a milestone survival difference should not be treated as interchangeable.

For example, a trial could report:

Measure Result
Hazard ratio 0.72
95% CI for HR 0.58–0.89
24-month OS, experimental 68%
24-month OS, control 55%
24-month OS difference 13 percentage points

The hazard ratio summarizes relative event hazard over the modeled analysis period, whereas the milestone difference describes an absolute difference at one specific time.

Do not infer one from the other. A hazard ratio of 0.72 does not imply a 28-percentage-point improvement in milestone survival. The hazard ratio and milestone difference are different effect measures.

Choosing the Milestone Time

The milestone should be clinically meaningful and sufficiently supported by follow-up.

For example, choosing a 60-month OS milestone when very few patients have five years of follow-up may produce a highly unstable estimate.

Useful considerations include:

  • Expected natural history of the disease
  • Expected treatment effect
  • Typical follow-up duration
  • Clinical decision-making time points
  • Number of patients remaining at risk
  • Expected number of events by the milestone
  • Whether the milestone is scientifically meaningful

Follow-Up Maturity Matters

Milestone survival becomes increasingly uncertain when few patients remain under observation near the selected time point.

Consider a trial with 400 randomized patients. At 12 months, 300 patients may still contribute substantial follow-up. At 48 months, perhaps only 35 patients remain at risk.

The Kaplan–Meier estimate at 48 months may still be mathematically defined, but its uncertainty may be substantial.

Milestone Patients at Risk Interpretation
12 months 300 Well supported
24 months 210 Reasonably mature
36 months 105 More uncertainty
48 months 35 Interpret cautiously
Always inspect the number at risk. A milestone estimate without adequate follow-up can give a false impression of precision. The Kaplan–Meier curve should be interpreted together with the numbers at risk and confidence interval.

Censoring Before the Milestone

Suppose a patient is followed for 14 months and then withdraws without an observed death.

For a 24-month OS milestone, this patient's survival status at 24 months is unknown.

The patient is therefore censored at 14 months under the relevant censoring rules.

The Kaplan–Meier method uses that patient's observed 14 months of survival information but does not classify the patient as alive at 24 months.

The Independent-Censoring Assumption

The Kaplan–Meier estimator relies on an assumption about censoring.

Informally, among patients who remain under observation at a particular time, those who are censored should be representative with respect to their future event risk, conditional on the information accounted for in the analysis.

This is often described as a form of: non-informative or independent censoring.

If patients at high risk of death are systematically lost to follow-up, the Kaplan–Meier estimate can be biased.

Clinical interpretation: The Kaplan–Meier method does not magically eliminate bias from informative censoring. It provides a valid nonparametric estimator under its censoring assumptions.

Milestone Survival in a Randomized Trial

Suppose patients are randomized to:

  • Experimental treatment
  • Control treatment

For each group, estimate:

$$ \widehat S_E(\tau) $$

and:

$$ \widehat S_C(\tau) $$

Then calculate the prespecified treatment contrast.

For an absolute difference:

$$ \widehat\Delta_\tau = \widehat S_E(\tau)-\widehat S_C(\tau) $$

For a ratio:

$$ \widehat{RR}_\tau = \frac{\widehat S_E(\tau)} {\widehat S_C(\tau)} $$

The corresponding confidence interval should account for uncertainty in both survival estimates.

Stratified Randomization

Many oncology trials use stratified randomization.

Common stratification factors may include:

  • Disease stage
  • Prior therapy
  • Biomarker status
  • Geographic region
  • Performance status

If the primary analysis is stratified, the milestone analysis should be consistent with the prespecified inferential framework.

Possible approaches include stratified survival methods or regression-based methods designed specifically for the milestone contrast.

Do not improvise stratification. The fact that a factor was used for randomization does not by itself dictate one universal milestone-analysis method. The statistical analysis plan should specify how stratification is incorporated.

Milestone PFS

The same framework applies to progression-free survival.

Let \(T_{\mathrm{PFS}}\) denote time to progression or death according to the protocol definition.

The milestone PFS probability is:

$$ S_{\mathrm{PFS}}(\tau) = P(T_{\mathrm{PFS}}>\tau) $$

For example:

$$ S_{\mathrm{PFS}}(12)=0.41 $$

means that the estimated probability of remaining progression-free beyond 12 months is 41%.

Competing Events and PFS Definitions

The exact event definition matters.

For a conventional PFS endpoint, death is often treated as an event rather than as a competing risk.

For other endpoints, such as time to a specific disease-related event where death prevents that event from occurring, a competing-risks framework may be more appropriate.

Endpoint first, method second: Do not automatically apply a standard Kaplan–Meier milestone analysis without first determining whether the endpoint's event definition and competing-event structure justify it.

Milestone Analysis With Multiple Time Points

An oncology trial may report:

  • 12-month OS
  • 24-month OS
  • 36-month OS

This can provide a useful clinical picture.

Milestone Experimental Control Difference
12 months 82% 74% 8 points
24 months 68% 55% 13 points
36 months 54% 41% 13 points

The pattern may be clinically informative, but multiple milestone comparisons raise an important statistical issue.

Multiplicity Across Milestones

If investigators examine many possible milestones and highlight whichever time point gives the most favorable treatment difference, the nominal confidence level or type I error interpretation may no longer be appropriate.

For example, repeatedly examining:

$$ S(6),S(9),S(12),S(15),\ldots,S(60) $$

and then selecting the largest observed treatment difference is not equivalent to prespecifying a single 24-month milestone.

Possible strategies include:

  • Prespecifying one primary milestone
  • Prespecifying a limited set of secondary milestones
  • Using an appropriate multiplicity adjustment when formal testing is planned
  • Treating additional milestone estimates descriptively
Best practice: If one milestone is the primary clinical question, identify it before the comparative analysis. Additional time points can be reported as supportive analyses without automatically treating every one as an independent primary hypothesis test.

Milestone Time Chosen From the Data

Suppose the investigator initially planned a 24-month analysis but observes that the survival curves separate most strongly at 31 months.

Changing the primary milestone to 31 months after seeing the treatment results creates a data-driven analysis.

This can introduce selection bias and invalidate the original inferential interpretation.

A milestone selected for clinical reasons should generally be specified before the treatment effect is examined.

Landmark Analysis vs. Milestone Survival

The terms landmark analysis and milestone analysis are sometimes used interchangeably, but they are not always identical.

A landmark analysis typically selects a fixed time point and conditions the analysis on being event-free or otherwise eligible at that landmark, then analyzes subsequent outcomes.

A milestone survival analysis asks for the survival probability at the landmark itself:

$$ P(T>\tau) $$

The distinction is important because conditioning on surviving to a landmark changes the target population.

Analysis Target
Milestone survival Probability of surviving/event-free through \(\tau\)
Landmark analysis Outcome after \(\tau\) among patients eligible at \(\tau\)

Milestone Analysis vs. Binary Response Analysis

Another common mistake is to convert survival status at a milestone into a simple binary variable and analyze it as though every patient has complete follow-up.

For example, assigning:

  • 1 = alive at 24 months
  • 0 = dead by 24 months

is problematic for patients censored at 18 months.

Their 24-month status is unknown.

The Kaplan–Meier approach retains the time-to-event information rather than discarding it.

Restricted Mean Survival Time at a Milestone

A related quantity is the restricted mean survival time (RMST) up to a prespecified horizon \(\tau\).

It is defined as:

$$ RMST(\tau) = \int_0^\tau S(t)\,dt $$

While milestone survival asks:

$$ P(T>\tau) $$

RMST asks:

$$ E[\min(T,\tau)] $$

Thus, the two measures summarize different aspects of survival.

Measure Interpretation
Milestone survival Probability alive/event-free at \(\tau\)
RMST Average event-free survival time through \(\tau\)
Hazard ratio Relative event hazard

Example: Milestone Survival vs. RMST

Suppose treatment A has a 24-month survival probability of 68% and treatment B has 55%.

The milestone difference is:

$$ 0.68-0.55=0.13 $$

But suppose the corresponding 24-month RMSTs are 19.1 and 17.0 months.

The RMST difference is:

$$ 19.1-17.0=2.1 \text{ months} $$

These describe complementary clinical benefits.

R Implementation With survival

The standard R package survival provides the core Kaplan–Meier functionality.

library(survival)

fit <- survfit(
  Surv(os_time, os_event) ~ treatment,
  data = trial
)

summary(
  fit,
  times = 24
)

Here:

  • os_time is follow-up time.
  • os_event is 1 for death and 0 for censoring.
  • treatment identifies the treatment group.

Extracting the 24-Month Estimate

summary(
  fit,
  times = 24,
  extend = TRUE
)

The output contains the estimated survival probability at 24 months along with the corresponding confidence interval and other survival information.

For example, conceptually the output may resemble:

Call: survfit(formula = Surv(os_time, os_event) ~ treatment,
              data = trial)

                n events median 0.95LCL 0.95UCL
treatment=A    250    108     48      44      54
treatment=B    250    131     38      35      42

       time   surv
A      24    0.680
B      24    0.550

The exact printed structure depends on the R and package versions and the requested summary options.

Extracting Survival Estimates Programmatically

km24 <- summary(
  fit,
  times = 24,
  extend = TRUE
)

km24$time
km24$surv
km24$lower
km24$upper

This makes it straightforward to create a reporting table containing the milestone estimate and confidence interval.

Creating a Milestone Table in R

km24 <- summary(
  fit,
  times = 24,
  extend = TRUE
)

milestone_table <- data.frame(
  treatment = km24$strata,
  milestone = km24$time,
  survival = km24$surv,
  lower = km24$lower,
  upper = km24$upper
)

milestone_table

A production analysis would generally format the estimates as percentages.

milestone_table$survival_pct <-
  100 * milestone_table$survival

milestone_table$lower_pct <-
  100 * milestone_table$lower

milestone_table$upper_pct <-
  100 * milestone_table$upper

R: Multiple Milestones

If the statistical analysis plan specifies several milestones, they can be requested simultaneously.

milestones <- c(12, 24, 36)

summary(
  fit,
  times = milestones,
  extend = TRUE
)

This produces survival estimates at the prespecified time points.

R: Kaplan–Meier Plot With a Milestone

A useful graphical presentation places a vertical reference line at the milestone time.

plot(
  fit,
  xlab = "Time (months)",
  ylab = "Overall survival probability",
  lwd = 2,
  mark.time = TRUE
)

abline(
  v = 24,
  lty = 2
)

The vertical line emphasizes the location at which the milestone survival probability is evaluated.

R: Extracting the Treatment-Specific Difference

The direct subtraction:

$$ \widehat\Delta = \widehat S_E(\tau) - \widehat S_C(\tau) $$

is easy to calculate after extracting the treatment-specific estimates.

s_exp <- 0.68
s_ctrl <- 0.55

difference <- s_exp - s_ctrl

difference
# 0.13

In a formal clinical-trial analysis, however, the confidence interval for the difference should be obtained using the prespecified statistical method rather than treating the two estimates as independent binomial proportions.

SAS Implementation With PROC LIFETEST

In SAS, PROC LIFETEST can produce Kaplan–Meier estimates by treatment group.

proc lifetest data=trial
    plots=survival(atrisk);

    time os_time*os_event(0);

    strata treatment;
run;

Here, os_event=0 identifies censored observations.

SAS: Requesting Survival at a Fixed Time

The TIMELIST= option can be used to request survival estimates at prespecified times.

proc lifetest data=trial
    timelist=24
    plots=survival(atrisk);

    time os_time*os_event(0);

    strata treatment;
run;

The resulting output can be used to report the estimated 24-month survival probability and its confidence interval.

SAS: ODS Output

For reproducible reporting, the relevant Kaplan–Meier estimates can be captured through ODS output.

ods output ProductLimitEstimates=km_estimates;

proc lifetest data=trial
    timelist=24;

    time os_time*os_event(0);

    strata treatment;
run;

ods output close;

The exact ODS table names and available columns can depend on the SAS procedure/version and analysis options, so the output should be inspected before building an automated production pipeline.

Milestone Analysis With PFS

Suppose a Phase III oncology trial evaluates progression-free survival and prespecifies a 12-month PFS milestone.

The event indicator might be defined as:

  • 1 = progression or death
  • 0 = censored

Then:

pfs_fit <- survfit(
  Surv(pfs_time, pfs_event) ~ treatment,
  data = trial
)

summary(
  pfs_fit,
  times = 12,
  extend = TRUE
)

The resulting estimate answers:

$$ P(T_{\mathrm{PFS}}>12) $$

under the specified PFS event definition.

Milestone Analysis With OS

For overall survival:

os_fit <- survfit(
  Surv(os_time, os_event) ~ treatment,
  data = trial
)

summary(
  os_fit,
  times = 24,
  extend = TRUE
)

The resulting estimate answers:

$$ P(T_{\mathrm{OS}}>24) $$

Milestone Analysis With Delayed Entry

Some survival analyses involve left truncation or delayed entry.

In that situation, the survival object may contain both entry and exit times:

fit <- survfit(
  Surv(entry_time, exit_time, event) ~ treatment,
  data = trial
)

The interpretation and risk sets must reflect the delayed-entry structure.

Do not ignore delayed entry. If patients enter the risk set at different times and the analysis incorrectly treats everyone as entering at time zero, the milestone estimate can be biased.

Milestone Analysis and Analysis Time Origin

The time origin must be defined clearly.

Possible origins include:

  • Date of randomization
  • Date of treatment initiation
  • Date of diagnosis
  • Date of surgery
  • Date of transplantation
  • Date of response assessment

A statement such as "24-month OS" is incomplete without knowing when the 24-month clock starts.

Always specify time zero. For randomized oncology trials, overall survival is commonly measured from randomization, but the correct origin depends on the protocol-defined endpoint.

Intercurrent Events

Milestone survival can also be affected by intercurrent events such as:

  • Treatment discontinuation
  • Subsequent anticancer therapy
  • Treatment switching
  • Withdrawal of consent
  • Protocol deviations

How these events are handled depends on the estimand.

For overall survival, for example, a patient who discontinues randomized treatment but remains alive generally continues to contribute to the randomized treatment-group OS analysis according to the prespecified strategy.

A treatment-policy approach is common for many time-to-event estimands, but the exact strategy must be defined for the trial.

Treatment Switching

Suppose a patient assigned to control later receives the experimental treatment.

For an intention-to-treat milestone OS analysis, the patient may remain in the control group for the primary randomized comparison.

This preserves the treatment assignment contrast but may dilute the estimated effect of receiving the experimental therapy.

Alternative estimands may require additional causal methods.

Do not change treatment-group assignment based on treatment received for a primary randomized analysis unless the analysis plan explicitly calls for such an approach.

Confidence Intervals When Survival Is Near 0 or 1

Suppose:

$$ \widehat S(24)=0.96 $$

A symmetric normal interval can extend above 1.

Likewise, if:

$$ \widehat S(24)=0.04 $$

a symmetric interval can extend below 0.

This is one reason transformed confidence intervals are commonly used for Kaplan–Meier survival estimates.

When There Are Few Events

Milestone estimates can be unstable when there are very few events before the milestone.

For example, if 250 patients are followed for 24 months and only five deaths occur, the estimate may be high but still have considerable uncertainty.

The number of events, confidence interval, and risk set should all be considered when interpreting the result.

When the Median Is Not Reached

A major advantage of milestone analysis is that it remains interpretable when the median survival is not reached.

Suppose the Kaplan–Meier curve remains above 50% through the available follow-up.

Then the median OS is not estimable within the observed follow-up period.

However, a 24-month survival estimate may still be:

$$ \widehat S(24)=0.74 $$

Thus, milestone survival can provide a clinically useful summary even when median survival is immature.

Useful distinction: "Median OS not reached" does not mean that no survival information is available. A prespecified milestone can still summarize the survival experience at a clinically relevant time.

Milestone Survival and Immunotherapy Trials

Milestone analyses can be especially attractive in oncology settings where survival curves may show delayed separation or long-term survival plateaus.

For example, an immunotherapy trial might report:

Milestone Experimental Control
12-month OS 72% 63%
24-month OS 55% 40%
36-month OS 43% 30%

The longer-term milestones can provide a clinically intuitive description of the proportion of patients who remain alive.

However, the milestone estimates should be interpreted together with the complete survival curves, follow-up maturity, and prespecified inferential strategy.

Milestone Analysis and Non-Proportional Hazards

The hazard ratio from a Cox model is most straightforward to interpret under a proportional-hazards framework.

If proportional hazards do not hold, the hazard ratio may be difficult to interpret as a single summary of the entire treatment effect.

A milestone survival probability does not require proportional hazards.

It directly describes:

$$ S_E(\tau) \quad\text{and}\quad S_C(\tau) $$

at the selected time.

This can make milestone survival particularly useful as a complementary estimand when treatment effects vary over time.

Milestone Survival With Delayed Treatment Effects

Suppose two treatment groups have similar survival early in follow-up but begin to separate after 12 months.

A 6-month milestone might show little difference, while a 24-month milestone could show a larger difference.

This does not mean that the 6-month analysis is wrong.

It means the two milestones address different clinical questions.

Milestone Possible Interpretation
6 months Short-term disease control
12 months One-year survival
24 months Durable survival

Milestone Analysis and Cure Models

When a substantial fraction of patients may experience long-term survival, milestone survival can be a useful descriptive summary.

However, a high long-term survival plateau does not by itself establish a statistical cure fraction.

Formal cure models require additional assumptions and methodology.

Do not equate a survival plateau with cure. A plateau in a Kaplan–Meier curve can be clinically suggestive but does not prove that a subset of patients is statistically cured.

Reporting Milestone Survival

A clear clinical-trial report should identify:

  • The endpoint
  • The time origin
  • The milestone time
  • The treatment population
  • The survival estimator
  • The survival probability
  • The confidence interval
  • The number at risk near the milestone
  • The treatment contrast, if applicable
  • The confidence interval for the contrast
  • The analysis population and censoring rules

For example:

Example reporting language: At 24 months, the Kaplan–Meier estimated overall survival was 68% in the experimental-treatment group and 55% in the control group, corresponding to an absolute difference of 13 percentage points. Confidence intervals were calculated using the prespecified Kaplan–Meier and treatment-contrast methods.

Recommended Milestone Table

Endpoint Milestone Experimental Control Difference
OS 12 months 82% (77–87) 74% (68–80) 8 points
OS 24 months 68% (61–75) 55% (48–62) 13 points
OS 36 months 54% (46–62) 41% (33–49) 13 points

This type of table is often easier for clinicians to interpret than a single hazard ratio alone.

Include the Number at Risk

The Kaplan–Meier curve should ideally be accompanied by a risk table.

For example:

Time Experimental at Risk Control at Risk
0 months 250 250
12 months 198 184
24 months 137 116
36 months 79 61

The risk table provides important context for interpreting the reliability of the survival curve at later milestones.

Common Mistakes

  1. Counting observed survivors instead of using Kaplan–Meier estimation. Patients censored before the milestone have unknown milestone status.
  2. Choosing the milestone after looking at treatment results. This creates a data-driven analysis unless appropriately accounted for.
  3. Ignoring the time origin. "24-month survival" must have a clearly defined time zero.
  4. Ignoring the number at risk. Late milestone estimates may be based on little information.
  5. Reporting a milestone without a confidence interval. The point estimate alone does not communicate statistical uncertainty.
  6. Interpreting a milestone as a binary proportion. Censoring means that not every patient has known milestone status.
  7. Confusing milestone survival with landmark analysis. A landmark analysis can condition on patients being event-free at the landmark, whereas milestone survival estimates \(P(T>\tau)\).
  8. Assuming the milestone and hazard ratio measure the same treatment effect. They are different estimands.
  9. Ignoring multiplicity. Multiple formally tested milestones can inflate the type I error.
  10. Using a milestone with extremely immature follow-up. The resulting estimate may be highly uncertain.
  11. Ignoring the endpoint definition. OS, PFS, EFS, and disease-specific event endpoints can require different event and competing-risk considerations.
  12. Moving patients between randomized groups because of treatment switching. This can undermine the intended randomized comparison.

A Practical Milestone Survival Workflow

1
Define the time-to-event endpoint precisely.
2
Define the time origin.
3
Select a clinically meaningful milestone time.
4
Specify the analysis population and estimand.
5
Prespecify censoring and intercurrent-event handling.
6
Estimate the Kaplan–Meier survival function.
7
Extract survival at the milestone.
8
Calculate the appropriate confidence interval.
9
Compare treatment groups using the prespecified contrast.
10
Report the number at risk and follow-up maturity.
11
Interpret the milestone alongside the complete survival curve.

Statistical Analysis Plan Considerations

The SAP should define the milestone analysis sufficiently clearly that an independent statistician could reproduce it.

At minimum, specify:

  • Primary time-to-event endpoint
  • Time origin
  • Milestone time
  • Analysis population
  • Censoring rules
  • Intercurrent-event strategy
  • Kaplan–Meier estimation method
  • Confidence-interval method
  • Treatment contrast
  • Confidence interval for the treatment contrast
  • Stratification variables, if applicable
  • Handling of multiple milestones
  • Handling of missing or incomplete follow-up
  • Rules for data cut-off and follow-up maturity

Milestone Analysis at an Interim Data Cut

Milestone survival may be reported at an interim data cut.

However, the interpretation depends heavily on how much follow-up has accrued.

Suppose a trial is designed around 24-month OS but the interim database lock occurs when many patients have not yet reached 24 months.

The 24-month Kaplan–Meier estimate may still be calculable, but it should be recognized as an immature estimate.

The SAP should specify the timing of the analysis and the maturity criteria where relevant.

Milestone Analysis in Long-Term Follow-Up

For long-term oncology follow-up, milestones can provide a concise summary of durable treatment benefit.

For example:

Follow-Up Experimental OS Control OS
1 year 82% 75%
2 years 68% 55%
3 years 54% 41%
4 years 45% 32%

Such a sequence can communicate the durability of benefit more directly than a single summary statistic.

Milestone Survival and Absolute Risk

The complement of milestone survival is the cumulative probability of having experienced the event by the milestone under the usual single-event survival framework:

$$ F(\tau)=1-S(\tau) $$

If 24-month OS is 68%, then the estimated probability of death by 24 months is:

$$ 1-0.68=0.32 $$

or 32%, subject to the assumptions and endpoint definition of the survival analysis.

Number Needed to Treat at a Milestone

A milestone survival difference can sometimes be translated into a number needed to treat, but this requires careful interpretation.

If the absolute survival benefit is:

$$ \Delta=0.13 $$

then the corresponding absolute reduction in the probability of death by the milestone is also 0.13 under the simple two-group comparison.

A descriptive milestone-based number needed to treat can therefore be written:

$$ NNT_{24} = \frac{1}{0.13} \approx7.7 $$

However, this should not automatically be reported as "treat 8 patients to prevent one death" without qualification.

The estimate is tied specifically to the selected 24-month horizon, treatment contrast, estimand, and statistical assumptions.

Important: A milestone-based NNT is horizon-specific. An NNT calculated at 12 months can differ substantially from an NNT calculated at 24 or 36 months.

Why Milestone Survival Can Be Clinically Powerful

Consider two treatments with similar median survival but different long-term survival probabilities.

A milestone analysis may reveal that one treatment produces a larger fraction of patients who remain alive at a clinically important time point.

This can be especially informative when:

  • Long-term survival is clinically meaningful
  • Median survival is not reached
  • Hazards are non-proportional
  • Treatment effects change over time
  • Patients and clinicians care about survival at a specific time horizon

What a Good Milestone Analysis Should Contain

Component Recommended Content
Endpoint Precisely defined OS, PFS, or other time-to-event endpoint
Time origin Clearly specified start date
Milestone Prespecified time point
Estimator Kaplan–Meier or other prespecified estimator
Point estimate Milestone survival probability
Precision 95% confidence interval
Treatment contrast Difference, ratio, or other prespecified estimand
Risk-set information Number at risk near milestone
Follow-up Maturity and data-cut information
Multiplicity Prespecified strategy for multiple milestones

Final Worked Example

Consider a randomized oncology trial with 500 patients, 250 per treatment group. The primary OS milestone is 24 months.

Component Experimental Control
Randomized N 250 250
24-month KM survival 0.68 0.55
95% CI 0.61–0.75 0.48–0.62
24-month survival difference 0.13

The estimated treatment difference is:

$$ \widehat\Delta_{24} = 0.68-0.55 = 0.13 $$

or:

$$ \boxed{13\text{ percentage points}} $$

Suppose the prespecified confidence interval for the difference is:

$$ 95\%\ CI=(0.03,\;0.23) $$

The clinical interpretation is: the estimated probability of surviving to 24 months is 13 percentage points higher with the experimental treatment, with a 95% confidence interval for the difference of 3 to 23 percentage points.

This statement is much more directly interpretable than simply saying that the hazard ratio was 0.72.

Milestone Survival vs. Median Survival

Feature Median Survival Milestone Survival
Definition Time at which \(S(t)=0.5\) Survival probability at prespecified \(\tau\)
Requires median to be reached? Yes No
Clinical interpretation Typical central survival time Probability surviving to a specific horizon
Useful with immature median Limited Often useful
Requires prespecified time? No Yes

Milestone Survival vs. RMST

Feature Milestone Survival RMST
Target \(S(\tau)\) \(\int_0^\tau S(t)dt\)
Units Probability Time
Question What fraction survive to \(\tau\)? How much survival time is accumulated through \(\tau\)?
Horizon-specific? Yes Yes

These approaches are complementary rather than competing.

The Most Important Concept

The central idea behind milestone survival analysis is simple:

$$ \boxed{ \text{Milestone survival} = P(T>\tau) } $$

But obtaining a valid estimate requires more than counting patients who appear to be alive at the selected time.

Because oncology trials contain censoring and unequal follow-up, the milestone probability is generally estimated from the time-to-event distribution using the Kaplan–Meier estimator.

A complete analysis therefore combines:

  • A clearly defined time-to-event endpoint
  • A clearly defined time origin
  • A prespecified milestone time
  • A Kaplan–Meier survival estimate
  • An appropriate confidence interval
  • A prespecified treatment contrast
  • Appropriate handling of censoring and intercurrent events
  • Assessment of follow-up maturity
  • Consideration of multiplicity when multiple milestones are formally tested
Bottom line: Milestone survival analysis provides a clinically intuitive summary of an oncology time-to-event endpoint by estimating the probability of remaining alive or event-free at a prespecified time point. The Kaplan–Meier estimator naturally accommodates right censoring, while confidence intervals quantify uncertainty. In randomized trials, milestone differences or ratios can complement hazard ratios and RMST, particularly when median survival is not reached or treatment effects vary over time. The milestone, estimand, censoring rules, treatment contrast, and multiplicity strategy should be prespecified before the comparative analysis.

References

Kaplan, E.L. & Meier, P. (1958). Nonparametric estimation from incomplete observations. Journal of the American Statistical Association, 53, 457–481.
Greenwood, M. (1926). The natural duration of cancer. Reports on Public Health and Medical Subjects, 33, 1–26.
Brookmeyer, R. & Crowley, J. (1982). A confidence interval for the median survival time. Biometrics, 38, 29–41.
Pocock, S.J., Clayton, T.C. & Altman, D.G. (2002). Survival plots of time-to-event outcomes in clinical trials: Good practice and pitfalls. The Lancet, 359, 1686–1689.
Royston, P. & Parmar, M.K.B. (2013). Restricted mean survival time: an alternative to the hazard ratio for the design and analysis of randomized trials with a time-to-event outcome. BMC Medical Research Methodology, 13, 152.
Uno, H., Claggett, B., Tian, L., et al. (2014). Moving beyond the hazard ratio in quantifying the between-group difference in survival analysis. Journal of Clinical Oncology, 32, 2380–2386.