Why the Weight Depends on Pooled Survival
A weighted logrank test gives different event times different contributions to its score. Fleming–Harrington weights provide a systematic way to make that contribution depend on where follow-up has reached in the pooled survival experience. Their parameters can favor earlier failures, later failures, or a band of intermediate follow-up. “Earlier” and “later” here refer to the progression of pooled survival, not to a fixed number of days or months.
The weight is calculated from the pooled Kaplan–Meier estimate: the survival estimate obtained by combining the randomized groups and not distinguishing treatment assignment. Using the pooled estimate gives one common weight at each event time. The defining convention is to evaluate that estimate immediately before the event time, so the current event does not determine its own weight.
For pooled event time \(t_k\), let \(Y_k\) be the number at risk just before that time and \(d_k\) the total number of events across groups at that time. The pooled Kaplan–Meier estimate is updated by multiplying by \(1-d_k/Y_k\). Thus, the value used for the weight at \(t_k\) is based on event and censoring history strictly before \(t_k\), not on the update made at \(t_k\).
How the Parameters Shape Time Emphasis
The pooled survival estimate generally starts at \(1\) and decreases as events accrue. Consequently, a larger \(\rho\) tends to favor times when pooled survival is still high, while a larger \(\gamma\) tends to favor times when a larger fraction of the pooled group has experienced the event. When both parameters are positive, the weight is small near both ends of the survival range and largest at an intermediate survival level.
These statements describe the shape of the weight as a function of pooled survival. They do not imply that the weight is tied to a particular calendar time. If event rates, accrual, or censoring patterns differ, the time at which the pooled estimate reaches a given value can differ too.
| Parameters | Weight shape | Time emphasis |
|---|---|---|
| \(\rho=0,\ \gamma=0\) | Constant weight of 1 | No additional time emphasis; the ordinary logrank weight |
| \(\rho>0,\ \gamma=0\) | \(\hat S_{\text{pool}}(t-)^\rho\) | Greater weight while pooled survival is high; emphasis tends to be earlier |
| \(\rho=0,\ \gamma>0\) | \(\{1-\hat S_{\text{pool}}(t-)\}^\gamma\) | Greater weight as pooled survival falls; emphasis tends to be later |
| \(\rho>0,\ \gamma>0\) | A hump-shaped function of pooled survival | Emphasis is concentrated at intermediate pooled survival levels |
Worked Example: Comparing Early and Late Emphasis
Suppose the pooled Kaplan–Meier estimate immediately before three event times is \(0.90\), \(0.50\), and \(0.20\). Calculate the weights for the ordinary logrank choice, an early-emphasizing choice \((\rho,\gamma)=(1,0)\), a late-emphasizing choice \((0,1)\), and the intermediate-emphasizing choice \((1,1)\).
For \((1,0)\), the formula reduces to \(w=\hat S_{\text{pool}}(t-)\). The three weights are \(0.90\), \(0.50\), and \(0.20\). They decline as pooled survival declines, so the relative emphasis is earlier in follow-up.
For \((0,1)\), the formula reduces to \(w=1-\hat S_{\text{pool}}(t-)\). The weights are \(1-0.90=0.10\), \(1-0.50=0.50\), and \(1-0.20=0.80\). They increase as pooled survival declines, giving greater relative emphasis later in follow-up.
For \((1,1)\), each weight is \(\hat S_{\text{pool}}(t-)\{1-\hat S_{\text{pool}}(t-)\}\). The calculations are \(0.90(0.10)=0.0900\), \(0.50(0.50)=0.250\), and \(0.20(0.80)=0.160\). This choice gives its largest weight of these three at the intermediate survival estimate, \(0.50\).
With \((0,0)\), the weight is \(1\) at all three times. Thus the parameter choices change the relative contribution of event times, not the number of observed events.
Why the Weight Uses Survival Just Before the Event
The weighted logrank score applies the same time-specific weight to the event contribution at a given time. In a two-group comparison, if \(O_{1k}\) is the number of group 1 events at \(t_k\) and \(E_{1k}\) is its expected number under the null given the risk sets, the score has contributions of the form \(w(t_k)(O_{1k}-E_{1k})\). Its variance calculation correspondingly uses squared weights. This tutorial focuses on how \(w(t_k)\) is defined, rather than re-deriving the score.
Using \(\hat S_{\text{pool}}(t_k-)\) makes the weight a function of information available before the events at \(t_k\) are observed. That is the predictable-weight convention used in the standard weighted logrank construction. Under the null of equal event-time distributions, randomization, and suitable independent censoring, the weighted score can then be calibrated using its null variance. The pooled estimate is not a separate estimate for either treatment group.
Worked Example: Computing Weights From Pooled Risk Sets
Consider hypothetical pooled risk sets with event times \(t_1<t_2<t_3\). Immediately before them, the respective risk-set sizes and pooled event counts are \((Y_1,d_1)=(100,10)\), \((Y_2,d_2)=(80,20)\), and \((Y_3,d_3)=(50,15)\). Assume the pooled Kaplan–Meier estimate is \(1\) before \(t_1\). Calculate the \((1,0)\), \((0,1)\), and \((1,1)\) weights at each event time.
Before \(t_1\), \(\hat S_{\text{pool}}(t_1-)=1\). After the events at \(t_1\), the estimate becomes \(1(1-10/100)=0.90\). This updated value is used just before \(t_2\), so \(\hat S_{\text{pool}}(t_2-)=0.90\).
After the events at \(t_2\), the estimate becomes \(0.90(1-20/80)=0.90(0.75)=0.675\). Therefore, \(\hat S_{\text{pool}}(t_3-)=0.675\). The pooled estimate after the events at \(t_3\) would be \(0.675(1-15/50)=0.4725\), but that last value is not used to weight the events at \(t_3\).
At \(t_1\), the three weights are \(1\), \(0\), and \(0\), respectively: \(1^1=1\), \(1-1=0\), and \(1(1-1)=0\). At \(t_2\), they are \(0.90\), \(0.10\), and \(0.90(0.10)=0.0900\). At \(t_3\), they are \(0.675\), \(0.325\), and \(0.675(0.325)=0.219375\), or \(0.2194\) to four significant figures.
The zero late-emphasizing weight at the first event time is a consequence of the definition: before any events, the pooled estimated failure fraction is zero. It does not mean that the first event is omitted from the data; it means that this particular weight rule assigns it zero weight.
Intermediate Emphasis and a Short Derivation
When \(\rho>0\) and \(\gamma>0\), write the weight as \(f(s)=s^\rho(1-s)^\gamma\), where \(s\) is a possible pooled survival value between 0 and 1. To find where this function is largest, take its logarithm. Since the logarithm is increasing, maximizing \(f(s)\) is equivalent to maximizing \(\log f(s)\).
For \(0<s<1\), the denominator is positive. The derivative is zero when \(s=\rho/(\rho+\gamma)\); it is positive below this value and negative above it. Also, \(f(s)\) tends to zero at both \(s=0\) and \(s=1\). Therefore the unique maximum occurs at
This result locates the maximum in survival-probability scale. Because pooled survival usually decreases over follow-up, a larger \(\rho\) relative to \(\gamma\) places the maximum at a higher survival level, while a larger \(\gamma\) relative to \(\rho\) places it at a lower survival level.
Worked Example: Locating the Peak of a Hump-Shaped Weight
For \((\rho,\gamma)=(2,1)\), the weight is \(f(s)=s^2(1-s)\). Its maximum occurs at
For example, at pooled survival \(s=0.90\), the weight is \(0.90^2(0.10)=0.0810\). At \(s=2/3\), it is \((2/3)^2(1/3)=4/27\approx 0.148\). At \(s=0.20\), it is \(0.20^2(0.80)=0.0320\). The middle survival value receives the greatest of these weights, as the derivative calculation predicts. The time when pooled survival reaches about \(0.667\) depends on the observed survival pattern; the formula does not specify a calendar-time peak.
Assumptions, Diagnostics, and Common Pitfalls
The weight definition itself is a calculation from a pooled survival estimate, but its use in a test relies on the survival-analysis framework. Subjects should be independent, and right censoring should be noninformative for the event time under the analysis assumptions (or independent conditional on modeled or stratifying factors). The event and censoring times must be recorded consistently, and the pooled risk set must be formed using a clear convention for tied times. For the usual randomized comparison, treatment assignment must also support the null calibration of the group comparison.
Before interpreting a weighted test, check the weight sequence across event times. For \(\gamma=0\), weights should not increase as pooled survival falls; for \(\rho=0\), \(\gamma>0\), they should not decrease. With both parameters positive, they should rise toward the survival level \(\rho/(\rho+\gamma)\) and then fall. A sequence inconsistent with the formula often signals that the post-event rather than pre-event estimate was used, or that parameters were transposed.
- Using arm-specific survival estimates: Fleming–Harrington weights in this construction use the pooled estimate, not a different weight for each randomized group.
- Using post-event survival: This lets the current events affect their own weights. Use the pooled Kaplan–Meier estimate immediately before the event time.
- Calling a weight “early” or “late” in calendar time: The weight is determined by pooled survival, not a prespecified time threshold. The event-time mapping can vary between studies.
- Ignoring zero weights at the boundaries: For \(\rho>0\), the weight can be zero when pooled survival is zero; for \(\gamma>0\), it is zero when pooled survival is one. These are features of the formula, not necessarily computational errors.
- Changing parameters after inspecting results: Choosing parameters in response to observed group differences can compromise the planned type I error control. A weight rule used for confirmatory inference should be specified before examining treatment comparisons.
The ordinary logrank test is the main reference point: it assigns equal weight to event times and is naturally aligned with proportional-hazards alternatives. Fleming–Harrington weights alter that time emphasis, which can be useful when effects are not proportional, but a weight favorable to one pattern may lose sensitivity to another. Other weighted logrank approaches can use different time functions; none makes the weight choice cost-free or guarantees a useful test against every alternative.
In a group sequential setting, the weight formula must be applied consistently at each planned look, using the specified pooled survival history and the same parameter rule. The resulting sequential test still requires appropriate information and type I error calibration. These weights do not by themselves resolve uncertainty about when effects begin, nor do they repair informative censoring, poorly constructed risk sets, or an outcome definition that does not match the scientific question.
Check Your Understanding
Try each question, then check the solutions below.
- At pooled survival \(0.70\), calculate the weights for \((\rho,\gamma)=(1,0)\), \((0,1)\), and \((1,1)\).
- For \((\rho,\gamma)=(1,3)\), at what pooled survival value is the weight largest?
- A researcher computes a pooled Kaplan–Meier estimate after including the events at \(t_k\), then uses it to weight those same events. What is wrong with this procedure?
- Why is a Fleming–Harrington weight described as emphasizing a survival level rather than a fixed calendar time?
Solutions. (1) The weights are \(0.70\), \(1-0.70=0.30\), and \(0.70(0.30)=0.210\). (2) The peak is \(s=\rho/(\rho+\gamma)=1/4=0.250\). (3) The event at \(t_k\) has influenced its own weight; use \(\hat S_{\text{pool}}(t_k-)\), based only on prior event times. (4) The formula takes pooled survival as its input; the calendar time at which a particular survival level is reached depends on the observed follow-up and event pattern.