Tutorials › Biostatistics › Testing the Proportional Hazards Assumption

Survival Analysis

Testing the Proportional Hazards Assumption

A practical guide to assessing whether the Cox proportional hazards model is appropriate, including Schoenfeld residuals, graphical diagnostics, time-by-covariate interactions, log-minus-log plots, clinical interpretation, and implementation in R and SAS.

Advanced 18 min read

What You'll Learn

  • What the proportional hazards assumption means mathematically and clinically
  • How to use Schoenfeld residuals to test proportionality
  • How graphical diagnostics reveal time-varying treatment effects
  • How to interpret a significant proportional-hazards test
  • How to distinguish statistical significance from practical model inadequacy
  • How to handle violations using time-varying effects, stratification, or alternative models

Introduction

The Cox proportional hazards model is one of the most important methods in clinical survival analysis. It allows investigators to estimate the association between baseline covariates and time to an event without specifying the baseline hazard function.

Its central assumption, however, is that the effect of a covariate on the hazard is proportional over time. This is the proportional hazards (PH) assumption.

For example, suppose a randomized clinical trial compares an experimental treatment with placebo and produces a Cox hazard ratio of 0.70. The usual interpretation is that, at any given time, the treatment group has approximately 70% of the instantaneous hazard of the placebo group, assuming the other model terms are appropriately specified.

That interpretation becomes problematic if the treatment effect changes substantially over follow-up.

Key idea: The proportional hazards assumption does not mean that the survival curves are parallel or that the hazard itself is constant over time. It means that the ratio of hazards between two individuals or groups is constant over time, conditional on the model covariates.

The Cox Proportional Hazards Model

For subject \(i\), the Cox model can be written as:

$$ h_i(t) = h_0(t) \exp\left( \beta_1X_{i1} +\beta_2X_{i2} +\cdots+ \beta_pX_{ip} \right) $$

where:

  • \(h_i(t)\) is the hazard for subject \(i\) at time \(t\).
  • \(h_0(t)\) is the unspecified baseline hazard function.
  • \(X_{ij}\) is covariate \(j\) for subject \(i\).
  • \(\beta_j\) is the regression coefficient for covariate \(j\).

Consider two subjects whose covariate vectors differ only in one binary treatment indicator. Their hazard ratio is:

$$ HR = \frac{h_1(t)}{h_0(t)} = \exp(\beta) $$

Notice that \(t\) disappears from the hazard ratio. This is the defining proportionality property.

What Does "Proportional Hazards" Actually Mean?

Suppose a treatment indicator \(Z\) equals 1 for active treatment and 0 for control. The model is:

$$ h(t\mid Z) = h_0(t)\exp(\beta Z) $$

For the treatment group:

$$ h(t\mid Z=1) = h_0(t)\exp(\beta) $$

For the control group:

$$ h(t\mid Z=0) = h_0(t) $$

Therefore:

$$ \frac{h(t\mid Z=1)} {h(t\mid Z=0)} = \exp(\beta) $$

The hazard ratio is constant across time.

For example, if:

$$ \beta=\log(0.70) $$

then:

$$ HR=0.70 $$

The model assumes that the treatment hazard is 30% lower than the control hazard at each point in time, in the proportional-hazards sense.

Important distinction: A constant hazard ratio does not imply a constant hazard. Both groups may have hazards that increase, decrease, or fluctuate over time. What is assumed to remain constant is their ratio.

Why Test the PH Assumption?

If proportional hazards does not hold, the ordinary Cox model may still produce a numerical coefficient and a hazard ratio, but the single summary hazard ratio may not adequately describe the treatment effect.

This is especially important in modern clinical trials where treatment effects may emerge gradually, diminish over time, or cross from harm to benefit.

Examples include:

  • An immunotherapy whose benefit develops after an initial delay.
  • A treatment with an early toxicity followed by a later survival benefit.
  • A treatment whose effect wanes after a finite period.
  • Two therapies with crossing survival curves.
  • Long-term follow-up in which treatment effects evolve over time.

A formal PH assessment is therefore part of good survival-model diagnostics.

Three Main Ways to Assess Proportional Hazards

There is no single diagnostic that should automatically be treated as definitive. A strong analysis usually combines statistical testing, graphical assessment, and clinical interpretation.

1
Schoenfeld residuals: test whether covariate effects are systematically related to time.
2
Graphical diagnostics: inspect residual plots or log-minus-log survival plots for evidence of time-dependent effects.
3
Time interaction models: explicitly add a covariate-by-time interaction and evaluate whether the effect changes over follow-up.

Schoenfeld Residuals

The most widely used formal diagnostic for the PH assumption is based on Schoenfeld residuals.

Schoenfeld residuals are constructed at event times. Conceptually, for a particular covariate, the residual compares the observed covariate value for the subject who experienced the event with the risk-set-based expected covariate value.

For event time \(t_k\), the Schoenfeld residual for covariate \(j\) can be represented conceptually as:

$$ r_{jk} = x_{jk} - E(X_j\mid R(t_k)) $$

where \(R(t_k)\) is the risk set immediately before event time \(t_k\).

Under proportional hazards, there should not be a systematic relationship between the Schoenfeld residuals and time.

Core diagnostic principle: If the effect of a covariate changes over time, the corresponding Schoenfeld residuals tend to show a systematic time-related pattern rather than behaving like random scatter around a stable relationship.

The Schoenfeld Residual Test

A common implementation tests whether the scaled Schoenfeld residuals are associated with time.

The null hypothesis is approximately:

$$ H_0: \text{the covariate effect is constant over time} $$

The alternative is:

$$ H_A: \text{the covariate effect varies with time} $$

For each covariate, a test statistic and p-value can be obtained. A global test can also be used to assess the model as a whole.

Result Typical Interpretation
Large p-value No strong statistical evidence of a PH violation.
Small p-value Evidence that the covariate effect may vary with time.
Significant treatment effect but non-significant PH test The treatment effect can still be summarized with an ordinary Cox hazard ratio, subject to other model diagnostics.
Significant PH test with strong graphical pattern Investigate a time-varying treatment effect or another model specification.
Do not overinterpret a p-value: A non-significant PH test does not prove that proportional hazards is true. Likewise, a significant test does not automatically mean that the Cox model is useless. The magnitude, shape, and clinical importance of the violation matter.

Why Statistical Significance Alone Is Not Enough

The power of a PH test depends on the number of observed events, the strength of the time-varying effect, and the form of the deviation from proportionality.

With very few events, a clinically meaningful departure from proportionality may go undetected.

Conversely, with thousands of events, a tiny departure from proportionality may produce a very small p-value even when the ordinary Cox hazard ratio remains a useful summary.

Therefore, a good diagnostic assessment asks two questions:

  1. Is there statistical evidence of non-proportionality?
  2. Is the departure large enough to matter scientifically or clinically?

Graphing Schoenfeld Residuals

The most informative companion to the formal test is often a plot of scaled Schoenfeld residuals against transformed time.

Under proportional hazards, the smoothed relationship should be approximately flat.

A clear upward or downward trend suggests that the corresponding coefficient is changing over time.

Graphical Pattern Possible Interpretation
Approximately horizontal smooth Consistent with proportional hazards.
Gradual upward trend Covariate effect may become stronger over time.
Gradual downward trend Covariate effect may weaken over time.
Pronounced curvature Effect may change nonlinearly with time.
Strong irregular pattern Could reflect non-proportionality, sparse events, or instability in the residual estimate.

Example: Treatment Effect That Changes Over Time

Suppose a randomized oncology trial compares an experimental therapy with standard treatment.

The investigator fits:

$$ h(t) = h_0(t) \exp(\beta_1\operatorname{Treatment} +\beta_2\operatorname{Age} +\beta_3\operatorname{Stage}) $$

The estimated treatment hazard ratio is:

$$ HR=0.72 $$

The initial interpretation might be that the experimental treatment reduces the instantaneous hazard by approximately 28%.

However, the Schoenfeld residual diagnostic produces:

$$ p_{\text{Treatment}}=0.012 $$

and the residual plot shows a pronounced time-dependent pattern.

This suggests that the treatment effect is not adequately represented by one constant hazard ratio.

Clinical interpretation: The important conclusion is not merely "the PH test is significant." The important conclusion is that the treatment effect appears to evolve over time, so the single hazard ratio of 0.72 may conceal clinically important differences between early and late follow-up.

Log-Minus-Log Survival Plots

A traditional graphical approach uses transformed survival curves.

Starting with the survival function \(S(t)\), the transformation is:

$$ \log[-\log S(t)] $$

When proportional hazards is reasonable, appropriately constructed log-minus-log survival curves for groups tend to be approximately parallel.

This provides a useful visual diagnostic, particularly for a categorical treatment variable.

Pattern Interpretation
Approximately parallel curves Consistent with proportional hazards.
Clearly non-parallel curves Potential evidence against proportional hazards.
Curves cross substantially Strong reason to investigate non-proportional treatment effects.
Minor deviations May be sampling variation rather than a practically important violation.
Limitation: Log-minus-log plots are most naturally interpreted for categorical covariates and can become difficult to interpret with many continuous covariates. They should therefore complement rather than replace residual-based diagnostics.

Crossing Kaplan-Meier Curves

Crossing Kaplan-Meier curves are often treated as evidence of non-proportional hazards.

They are certainly a warning sign, but the relationship is not one-to-one.

A pair of survival curves can cross because of sampling variation, and non-proportional hazards can occur without obvious visual crossing of the Kaplan-Meier curves.

Therefore:

1
Inspect the Kaplan-Meier curves.
2
Look for crossing or substantial changes in separation.
3
Perform a Schoenfeld-residual assessment.
4
Consider an explicit time-varying effect if the evidence suggests non-proportionality.

Testing With a Covariate-by-Time Interaction

Another direct approach is to extend the Cox model by allowing a covariate's coefficient to depend on time.

For a treatment indicator \(Z\), consider:

$$ h(t) = h_0(t) \exp\left[ \beta_1 Z + \beta_2 Zg(t) \right] $$

where \(g(t)\) is a function of time.

If:

$$ \beta_2=0 $$

the treatment effect is constant with respect to the chosen time function.

If \(\beta_2\neq0\), the treatment effect changes with time.

Time-Varying Hazard Ratio

With the interaction model:

$$ h(t) = h_0(t) \exp\left[ \beta_1Z+\beta_2Zg(t) \right] $$

the treatment hazard ratio becomes:

$$ HR(t) = \exp\left[ \beta_1+\beta_2g(t) \right] $$

Unlike the ordinary Cox model, this hazard ratio depends explicitly on time.

For example, if \(g(t)=\log(t)\):

$$ HR(t) = \exp\left[ \beta_1+\beta_2\log(t) \right] $$

This allows the treatment effect to change gradually over follow-up.

Important: The choice of \(g(t)\) should be scientifically and statistically justified. Adding an arbitrary time interaction solely because a PH test is significant can produce a difficult-to-interpret model.

Stratification as a Solution

Suppose a categorical covariate violates proportional hazards but is not itself the primary parameter of interest.

One option is to stratify the Cox model on that covariate.

For example:

coxph(
  Surv(time, status) ~ treatment + age + strata(stage),
  data = trial
)

Stratification allows each stratum to have its own baseline hazard function.

This can remove the need to assume proportional hazards for the stratification variable.

Trade-off: A stratified covariate does not receive an ordinary Cox regression coefficient. Stratification is therefore most useful when the covariate is primarily a control variable rather than a parameter that must itself be estimated as a hazard ratio.

Piecewise Treatment Effects

If the treatment effect changes in a clinically meaningful way at a known or predefined time point, a piecewise model may be easier to communicate.

For example, suppose the treatment effect is expected to differ before and after 6 months.

The investigator can estimate separate effects for:

  • 0 to 6 months
  • After 6 months

This produces two interpretable hazard ratios rather than forcing the entire follow-up period into a single number.

Use carefully: The cut point should ideally be clinically motivated or prespecified. Searching many possible cut points after seeing the data can lead to unstable and optimistic results.

Clinical Example: Immunotherapy With Delayed Benefit

Consider a randomized oncology trial in which an immunotherapy is hypothesized to produce little early benefit but increasing benefit later in follow-up.

The ordinary Cox model estimates:

$$ HR=0.84 $$

At first glance, this suggests only a modest treatment effect.

However, the Kaplan-Meier curves show increasing separation after approximately 9 months, while the Schoenfeld residual plot shows a systematic time trend.

The proportional hazards assumption therefore appears questionable.

Diagnostic Finding Implication
Kaplan-Meier curves Increasing late separation Possible changing treatment effect
Log-minus-log plot Non-parallel curves Supports concern about PH
Schoenfeld test Small p-value Statistical evidence of time dependence
Clinical reasoning Delayed mechanism of action Time-varying effect is scientifically plausible

In this situation, reporting only the single Cox hazard ratio may obscure an important aspect of treatment efficacy.

R Implementation

The survival package provides the standard tools for fitting Cox models and examining Schoenfeld residuals.

library(survival)

fit <- coxph(
  Surv(time, status) ~ treatment + age + stage,
  data = trial
)

summary(fit)

The model produces the estimated coefficients and corresponding hazard ratios.

Schoenfeld Test in R

The cox.zph() function performs a proportional-hazards assessment based on scaled Schoenfeld residuals.

ph_test <- cox.zph(fit)

ph_test

The output typically provides a test for each covariate and a global test.

A typical output might look conceptually like:

             chisq   df    p
treatment     6.21    1   0.013
age           0.84    1   0.359
stage         1.27    1   0.260
GLOBAL        7.12    3   0.068

The exact numbers above are illustrative.

The treatment result would suggest evidence that the treatment effect changes over time, while age and stage would not show strong evidence of non-proportional effects.

Plotting Schoenfeld Residuals in R

The same object can be plotted to inspect the functional form of the possible time dependence.

plot(ph_test)

For a specific covariate:

plot(ph_test, var = "treatment")

The plot should be interpreted together with the formal test.

A roughly horizontal smooth is consistent with proportionality. A pronounced systematic trend suggests that the coefficient changes with time.

Using Different Time Transformations in R

The Schoenfeld test can be evaluated using different transformations of time.

For example:

cox.zph(
  fit,
  transform = "km"
)

Other commonly available transformations include:

cox.zph(fit, transform = "identity")
cox.zph(fit, transform = "rank")
cox.zph(fit, transform = "log")

Different transformations emphasize different aspects of time dependence.

Practical approach: For a routine analysis, do not simply run several transformations and select the one producing the most favorable p-value. Use the diagnostics to understand the pattern of possible non-proportionality and base the final modeling decision on the overall evidence.

Modeling a Time-Varying Effect in R

A time interaction can be introduced using the tt() mechanism in coxph().

fit_tv <- coxph(
  Surv(time, status) ~ treatment + age + stage +
    tt(treatment),
  data = trial,
  tt = function(x, t, ...) x * log(t)
)

summary(fit_tv)

Here the treatment effect is allowed to vary as a function of \(\log(t)\).

The model should be interpreted as a time-dependent hazard ratio rather than as one constant treatment hazard ratio.

SAS Implementation

In SAS, the Cox model is commonly fitted using PROC PHREG.

proc phreg data=trial;
    class treatment stage;
    model time*status(0) =
          treatment age stage;
run;

The PH assumption can be assessed using Schoenfeld-residual-based approaches and graphical diagnostics available through the survival-analysis workflow.

SAS Time-Interaction Model

A time-dependent treatment effect can be represented using programming techniques that create an interaction between treatment and a function of time.

data trial_tv;
    set trial;

    logtime = log(time);

    treatment_logtime =
        treatment * logtime;
run;

proc phreg data=trial_tv;
    class treatment stage;
    model time*status(0) =
          treatment
          treatment_logtime
          age
          stage;
run;

The interaction coefficient provides evidence about whether the treatment effect changes according to the selected time function.

Implementation note: The precise SAS implementation should reflect the counting-process or time-dependent-covariate structure required by the study. In production clinical programming, the time-dependent analysis dataset and event-time logic should be specified and validated carefully rather than relying on a simple derived variable at the final follow-up time.

What If the PH Assumption Is Violated?

A PH violation does not mean that the analysis has failed. It means that the original constant-effect model may not adequately represent the data.

Several responses are possible.

Approach When It May Be Useful
Time-varying coefficient The covariate effect has a meaningful relationship with time.
Stratified Cox model A nuisance/control covariate violates PH but its hazard ratio is not of primary interest.
Piecewise Cox model The effect is reasonably described by clinically meaningful time intervals.
Alternative survival estimand A single hazard ratio is not an appropriate summary of the treatment effect.
Restricted mean survival time Comparing average survival time through a clinically relevant horizon is attractive.
Other parametric or flexible models The survival process requires a more explicit model of time dependence.

Restricted Mean Survival Time as an Alternative

When treatment effects are strongly non-proportional, the restricted mean survival time (RMST) can provide a useful alternative summary.

For a prespecified horizon \(\tau\), RMST is:

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

The treatment comparison can then be expressed as an RMST difference:

$$ \Delta RMST = RMST_{\text{treatment}}(\tau) - RMST_{\text{control}}(\tau) $$

This can be easier to interpret when the treatment effect varies over time and a single hazard ratio does not adequately summarize the survival experience.

Key point: A PH violation is not simply a technical nuisance to be "fixed." It can reveal that the scientific question is better answered by a time-specific or integrated treatment-effect measure.

Do Not Automatically Abandon the Cox Model

It is tempting to treat any significant PH test as a reason to discard Cox regression.

That is usually too simplistic.

The appropriate response depends on:

  • The magnitude of the departure from proportionality.
  • The number of events.
  • The duration of follow-up.
  • The clinical importance of the time-varying pattern.
  • The prespecified estimand.
  • Whether the hazard ratio remains useful as an average summary.

For some studies, a modest deviation may have little effect on the substantive conclusion.

For others, especially trials with crossing hazards or strongly delayed treatment effects, a single Cox hazard ratio may be seriously misleading.

Global PH Test vs. Covariate-Specific Tests

A Cox PH diagnostic can produce both individual tests and an overall global test.

Test Question
Covariate-specific test Does this particular covariate appear to have a time-varying effect?
Global test Is there evidence that the model as a whole violates proportional hazards?

The two types of results answer different questions.

For example, a treatment-specific PH violation may be highly important even if the global test is not statistically significant.

Conversely, a global test may be significant because of a secondary covariate while the primary treatment effect remains approximately proportional.

Clinical-trial reporting: Always identify which covariate appears to violate PH. A global p-value alone is usually insufficient to explain the behavior of the treatment effect.

What Does a Hazard Ratio Mean When PH Fails?

Suppose the fitted Cox model reports:

$$ HR=0.65 $$

If PH holds, this has a straightforward interpretation as a constant hazard ratio.

If PH does not hold, however, the coefficient represents a model-based summary under a misspecified constant-effect structure.

The number 0.65 should therefore not automatically be interpreted as saying:

"The treatment reduces the hazard by 35% at every point in time."

That statement requires proportional hazards.

When the treatment effect changes over time, the analysis should instead describe the pattern of treatment effects or use an estimand that does not require a constant hazard ratio.

A Practical Diagnostic Workflow

1
Fit the prespecified Cox proportional hazards model.
2
Inspect Kaplan-Meier curves and event patterns.
3
Perform a Schoenfeld-residual PH test.
4
Plot scaled Schoenfeld residuals against time.
5
Inspect log-minus-log plots for important categorical covariates.
6
Determine whether any departure is clinically meaningful.
7
If necessary, model the relevant time-varying effect.
8
Consider stratification for nuisance covariates that violate PH.
9
Consider RMST or another estimand if a single hazard ratio is inadequate.
10
Document the diagnostic results and final modeling decision in the SAP or analysis report.

Common Mistakes

  1. Assuming a non-significant test proves PH. A non-significant p-value means there is insufficient statistical evidence of a violation; it does not prove the assumption.
  2. Using only the Kaplan-Meier curves. Visual survival curves are useful but are not a complete PH diagnostic.
  3. Using only the Schoenfeld p-value. A formal test should be interpreted alongside the residual plot and clinical context.
  4. Ignoring the treatment variable because the global test is non-significant. The primary treatment effect should be assessed specifically.
  5. Assuming crossing curves are required for a PH violation. Hazard ratios can vary over time without obvious Kaplan-Meier curve crossing.
  6. Automatically discarding Cox regression after a significant test. The practical importance of the violation must be evaluated.
  7. Adding arbitrary time cut points after seeing the data. This can introduce bias and make results difficult to reproduce.
  8. Reporting a constant hazard-ratio interpretation after PH failure. If the effect varies with time, the interpretation must reflect that.
  9. Ignoring the prespecified estimand. The appropriate diagnostic and modeling strategy depends on the treatment effect that the study was designed to estimate.
  10. Testing many model specifications until one passes PH. Model diagnostics should guide scientific modeling rather than become a search for a favorable p-value.

How to Report the PH Assessment

A statistical analysis report should describe both the method and the conclusion.

For example:

Example reporting language: "The proportional hazards assumption was assessed using scaled Schoenfeld residuals and graphical diagnostics. No statistically significant evidence of non-proportionality was observed for the treatment effect, and the residual plot did not show a clinically meaningful time-dependent pattern. The proportional hazards model was therefore retained for the primary analysis."

When a violation is detected:

Example reporting language: "Assessment of scaled Schoenfeld residuals indicated evidence of non-proportionality for treatment. The residual plot demonstrated a systematic time-dependent pattern consistent with a changing treatment effect. Because the single Cox hazard ratio was not considered an adequate summary of the treatment effect, a time-varying treatment effect was incorporated into the supplementary analysis."

Worked Interpretation of a Schoenfeld Test

Suppose a study produces the following diagnostic results:

Covariate PH Test p-value Graphical Assessment Conclusion
Treatment 0.018 Clear downward trend Evidence of time-varying treatment effect
Age 0.421 Approximately flat No strong evidence of violation
Stage 0.071 Minor deviation Monitor; no strong evidence requiring immediate modification

The appropriate conclusion is not simply that "the Cox model failed."

Instead, the evidence indicates that the treatment effect is the primary source of non-proportionality.

The analyst should then investigate the treatment effect over time and determine whether a time-varying model or alternative estimand provides a more meaningful analysis.

Relationship to the Log-Rank Test

The standard log-rank test and Cox proportional hazards model are closely related in conventional survival analysis.

The log-rank test is most naturally interpreted as a comparison under a proportional-hazards-type alternative in which the treatment effect is reasonably consistent across follow-up.

When hazards differ substantially over time, especially when survival curves cross, the standard log-rank test may have reduced ability to capture the clinical pattern of interest.

This is another reason why PH diagnostics should be considered when interpreting a survival analysis.

PH Assumption and Clinical Trial Estimands

The PH assumption is not merely a technical requirement of software.

It is tied directly to the interpretation of the treatment effect.

If the scientific question is:

$$ \text{How does treatment change the instantaneous hazard over time?} $$

then a time-varying hazard ratio may be appropriate.

If the question is:

$$ \text{How much longer do patients survive, on average, through time }\tau? $$

then RMST may be more directly aligned with the clinical question.

Bottom line: Model diagnostics and estimand selection should be connected. A PH violation can be a signal that the original summary measure does not match the way the treatment effect behaves clinically.

R Example: Complete Diagnostic Workflow

library(survival)

# 1. Fit the Cox model
fit <- coxph(
  Surv(time, status) ~ treatment + age + stage,
  data = trial
)

summary(fit)

# 2. Test proportional hazards
ph <- cox.zph(fit)

print(ph)

# 3. Inspect Schoenfeld residual diagnostics
plot(ph)

# 4. Inspect the treatment effect specifically
plot(ph, var = "treatment")

# 5. Optional: alternative time transformation
ph_log <- cox.zph(
  fit,
  transform = "log"
)

print(ph_log)

The workflow should be treated as a diagnostic process rather than a mechanical pass/fail test.

Interpreting the Complete Workflow

Evidence What It Tells You
Cox model Provides the initial treatment-effect estimate under PH.
Kaplan-Meier curves Shows the observed survival experience over time.
Schoenfeld test Provides formal statistical evidence regarding time dependence.
Schoenfeld plot Shows the direction and approximate form of time dependence.
Log-minus-log plot Provides an additional graphical check for categorical covariates.
Clinical interpretation Determines whether the departure is meaningful for the scientific question.

When the PH Assumption Is Reasonable

A typical conclusion supporting the standard Cox model might be:

Reasonable PH scenario: The treatment-specific Schoenfeld test is not statistically significant, the scaled residual plot shows no important systematic trend, the Kaplan-Meier curves do not suggest major time-dependent changes in treatment separation, and there is no strong clinical reason to expect the treatment effect to change materially over time.

In this setting, the ordinary Cox model and its hazard ratio may provide a reasonable primary analysis.

When the PH Assumption Is Clearly Questionable

A stronger warning scenario would be:

Potential PH violation: The treatment-specific Schoenfeld test is significant, the residual plot shows a clear time trend, the survival curves change their relative separation over time, and the treatment mechanism provides a plausible clinical explanation for a changing effect.

In that situation, the analyst should investigate a model or estimand that explicitly accommodates the time dependence.

Checklist for Clinical Trial Statisticians

Question Check
Was the Cox model prespecified? Yes / No
Was the treatment PH assumption assessed specifically? Yes / No
Were scaled Schoenfeld residuals examined? Yes / No
Was a formal PH test performed? Yes / No
Were graphical diagnostics reviewed? Yes / No
Were clinically important departures distinguished from minor deviations? Yes / No
Was the global PH test interpreted separately from treatment? Yes / No
If PH failed, was the modeling strategy justified? Yes / No
Was the treatment estimand reconsidered if necessary? Yes / No
Were all diagnostic decisions documented? Yes / No

The Most Important Concept

The proportional hazards assumption is fundamentally an assumption about the stability of relative hazards over time.

It does not require the hazard to remain constant, and it does not require Kaplan-Meier curves to be parallel.

The most useful diagnostic strategy combines:

  • Formal Schoenfeld-residual testing.
  • Graphical inspection of residuals.
  • Kaplan-Meier and log-minus-log plots.
  • Clinical understanding of how treatment effects are expected to evolve.
  • Explicit time-varying models when appropriate.

The ultimate objective is not simply to obtain a non-significant p-value.

The objective is to ensure that the survival model provides a scientifically credible representation of how treatment and covariates affect the event hazard over the course of follow-up.

Bottom line: Testing the proportional hazards assumption should be a combination of formal testing, graphical diagnostics, and clinical judgment. Schoenfeld residuals provide the standard formal diagnostic, while residual plots help reveal the shape and direction of any time dependence. If a clinically important PH violation is present, investigators can use time-varying coefficients, stratification, piecewise effects, RMST, or other survival models rather than forcing the data into a constant hazard-ratio framework.

References

Cox, D.R. (1972). Regression Models and Life-Tables. Journal of the Royal Statistical Society: Series B, 34(2), 187–220.
Schoenfeld, D. (1982). Partial residuals for the proportional hazards regression model. Biometrika, 69(1), 239–241.
Grambsch, P.M. & Therneau, T.M. (1994). Proportional hazards tests and diagnostics based on weighted residuals. Biometrika, 81(3), 515–526.
Therneau, T.M. & Grambsch, P.M. (2000). Modeling Survival Data: Extending the Cox Model. Springer.
Klein, J.P. & Moeschberger, M.L. (2003). Survival Analysis: Techniques for Censored and Truncated Data. Springer.
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.