12.1 How many events?

In a survival trial the information about a hazard ratio comes from the events, not from the number of patients: a thousand patients followed until two have died say almost nothing. Sample size calculations therefore first find the number of events needed and then the number of patients that will produce them.

Theorem 12.1.1 (Schoenfeld’s formula). For a two-sided log-rank test at level \(\alpha \) with power \(1 - \beta \) to detect a hazard ratio \(\Delta \) under proportional hazards, with a proportion \(p\) of patients allocated to the new treatment, the number of events required is approximately \[ d = \frac {(z_{\alpha /2} + z_\beta )^2}{p(1 - p)(\log \Delta )^2} , \] where \(z_{\alpha /2}\) and \(z_\beta \) are the upper \(\alpha /2\) and \(\beta \) points of the standard normal distribution.

Sketch of proof. The log-rank statistic is \(Z = U/\sqrt V\), with \(U = \sum _j(d_{1j} - e_{1j})\) the observed minus expected events in the treated group (the section on the log-rank test). For \(\Delta \) near \(1\) and similar risk sets in the two groups, each event contributes about \(p(1 - p)\) to \(V\), so \(V \approx dp(1 - p)\), and the score is approximately \(E[U] \approx V\log \Delta \), as for the score test of the Cox model, of which the log-rank test is a special case. So \(Z\) is approximately normal with mean \(\sqrt {dp(1 - p)}\log \Delta \) and variance \(1\). The test rejects when \(|Z| > z_{\alpha /2}\), and the probability of this is about \(1 - \beta \) when \(\sqrt {dp(1 - p)}\,|\log \Delta | = z_{\alpha /2} + z_\beta \); solving for \(d\) gives the formula. □

The required number of events grows with \(1/(\log \Delta )^2\), so halving the effect to be detected on the log scale quadruples it, and it is smallest for equal allocation, \(p = \frac 12\), when \(p(1 - p) = \frac 14\). Freedman’s (1982) variant, \(d = (z_{\alpha /2} + z_\beta )^2(1 + \Delta )^2/(1 - \Delta )^2\) for equal allocation, gives slightly larger answers.

To turn events into patients, divide by the probability that a patient’s event is observed during the study. If patients are recruited uniformly over an accrual period \(a\) and then followed for a further time \(f\), a patient’s time from entry to the end of the study is uniform on \((f, f + a)\), and the probability of an event is \(1 - \frac 1a\int _f^{f+a}S(u)\,\mathrm du\), which Simpson’s rule approximates by \[ P(\text {event}) \approx 1 - \tfrac 16\big \{S(f) + 4S(f + \tfrac a2) + S(f + a)\big \} , \] averaged over the two arms. The number of patients is \(d/P(\text {event})\), inflated further for expected losses to follow-up.

Example 12.1.2. A trial is to detect a hazard ratio of \(0.7\) with \(80\%\) power at the two-sided \(5\%\) level, with equal allocation. Then \(z_{0.025} + z_{0.2} = 1.960 + 0.842 = 2.802\), \((\log 0.7)^2 = 0.1272\), and \[ d = \frac {2.802^2}{0.25 \times 0.1272} = \frac {7.849}{0.0318} = 247 \] events are needed; Freedman’s formula gives \(252\). Suppose the control group’s survival is exponential with median \(12\) months, patients are recruited over \(24\) months and followed for \(12\) more. The probability of an observed death is \(0.729\) in the control arm and \(0.606\) in the treated arm, \(0.668\) on average, so \(247/0.668 = 370\) patients are needed (Software 12.4.1). In \(2000\) simulated trials of this design with \(370\) patients, the log-rank test rejected in \(78.9\%\), with \(247\) deaths on average: the approximations are good. Detecting a hazard ratio of \(0.8\) instead would need \(631\) events, and \(0.5\) only \(65\) (Figure 12).

Several practical points follow. Because the events drive the power, many trials are designed to stop when the target number of events is reached rather than at a fixed date. Longer follow-up can substitute for more patients, at the cost of time. If hazards are not proportional, for example a treatment whose effect starts late, the log-rank test loses power and the calculation should be done by simulation under the expected pattern, as in Software 12.4.2.

Questions on this section

Stuck on something here? Ask below and it stays attached to this topic.