Reading a Kaplan-Meier Estimate at a Given Time
A Kaplan-Meier curve is a step function, not a smooth curve. To read its value at a requested time, identify which observed failure times have occurred by then and multiply the corresponding conditional survival factors. The key boundary rule is that the estimate at an event time is the value after the step at that time.
This distinction matters when a question asks for survival “at time \(t\),” rather than just before \(t\). It also explains why the estimate stays constant between event times and does not take a new step at a censoring time. The examples below use hypothetical study data and focus on evaluating the curve, not estimating its uncertainty or selecting a survival quantile.
Why the Event-Time Factor Is Included
At an event time \(t_j\), the fraction \(d_j/n_j\) is the estimated conditional probability of failure at that time among those at risk just beforehand. The corresponding conditional probability of surviving past that time is \(1-d_j/n_j\). Multiplying these conditional survival estimates through all event times reached by \(t\) gives the product-limit estimate.
Before any observed event, no event-time factor has been applied, so the estimate is 1.
At \(t_j\), the estimate is multiplied by \((n_j-d_j)/n_j\), accounting for the observed failures among those at risk.
Include every event time \(t_j\le t\), including an event exactly at \(t\). Do not include any later event time.
This gives a right-continuous step function: its value at a jump time is the lower, post-jump level. A useful equivalent way to read the rule is to separate “just before \(t_j\)” from “at \(t_j\).” Just before \(t_j\), use only event times strictly less than \(t_j\). At \(t_j\), include the factor for \(t_j\).
Censoring affects which individuals remain in later risk sets, but a censoring time by itself does not contribute a failure factor. Consequently, the curve does not step down just because an individual is censored. The risk sets used below are assumed to have been formed under the usual Kaplan-Meier setup, including independent censoring.
Worked Example: A Time Between Events and a Time at an Event
In a hypothetical follow-up study, the event-time risk table is as follows. Evaluate the Kaplan-Meier estimate at times 4, 5, and 6.5.
| Event time \(t_j\) | At risk \(n_j\) | Events \(d_j\) |
|---|---|---|
| 2 | 10 | 2 |
| 5 | 7 | 1 |
| 8 | 4 | 1 |
Method. Calculate each event-time factor, then include exactly the factors for event times no later than the requested time.
At time 2, the factor is \((10-2)/10=8/10=4/5\). At time 5, it is \((7-1)/7=6/7\). At time 8, it is \((4-1)/4=3/4\).
At time 4, only the event at time 2 has occurred: $$ \widehat S_{KM}(4)=\frac45=0.8000. $$ At time 5, the event at time 5 is included: $$ \widehat S_{KM}(5)=\frac45\cdot\frac67 =\frac{24}{35} \approx 0.6857. $$ At time 6.5, there has been no event after time 5 and before 6.5, so the estimate remains $$ \widehat S_{KM}(6.5)=\frac45\cdot\frac67 =\frac{24}{35} \approx 0.6857. $$ The value is the same at 5 and 6.5 because the curve is flat after the jump at 5 until the next event at 8.
Check. The estimate decreases from 0.8000 to about 0.6857 at time 5 and then stays constant. This is consistent with a Kaplan-Meier curve. A common mistake is to use only event times strictly less than 5 when evaluating at 5; that would give 0.8000, the value just before the jump, not the value at time 5.
Reading a Jump with Tied Failures
If multiple failures occur at the same time, use the full number of failures \(d_j\) in the factor for that distinct event time. The estimate has one jump at that time, with factor \((n_j-d_j)/n_j\). For reading the curve at the jump, the same time-inclusion rule applies: include the entire factor at \(t_j\), not a fraction of it.
Worked Example: Reading a Curve with Several Failures at One Time
A hypothetical equipment-survival study produces this event-time table. Find the estimate immediately before time 6, at time 6, at time 8.9, and at time 9. Give probabilities to four decimal places.
| Event time \(t_j\) | At risk \(n_j\) | Events \(d_j\) |
|---|---|---|
| 3 | 12 | 3 |
| 6 | 7 | 1 |
| 9 | 4 | 2 |
Method. Apply one factor per distinct event time, using all tied events in \(d_j\).
At time 3, the factor is \((12-3)/12=9/12=3/4\). At time 6, it is \((7-1)/7=6/7\). At time 9, it is \((4-2)/4=2/4=1/2\).
Immediately before time 6, include the time-3 factor but not the time-6 factor: $$ \widehat S_{KM}(6-)=\frac34=0.7500. $$ At time 6, include the time-6 factor: $$ \widehat S_{KM}(6)=\frac34\cdot\frac67 =\frac{18}{28} =\frac9{14} \approx 0.6429. $$ There is no event between times 6 and 8.9, so $$ \widehat S_{KM}(8.9)=\frac9{14}\approx 0.6429. $$ At time 9, both failures at that time are included through the factor \(1/2\): $$ \widehat S_{KM}(9)=\frac9{14}\cdot\frac12 =\frac9{28} \approx 0.3214. $$
Check. The estimate at time 6 is lower than its value immediately before 6; the estimate at 8.9 is unchanged; and the two tied failures produce a single factor at time 9. Treating the tied failures as two separately ordered jumps would not match the event-time risk table.
Reading the Curve from Individual Records
Sometimes a question gives observed times and event indicators instead of a completed risk table. First identify each distinct event time, count the number at risk immediately before it, and count the events at that time. Then evaluate the product at the requested time. For a censoring time that is not also an event time, there is no new factor at that time.
Worked Example: Evaluating the Estimate from Follow-Up Records
A hypothetical study follows eight devices from the beginning of observation. The recorded times and outcomes are: event at 1; event and censoring at 2; censoring at 4; event at 5; event at 6; censoring at 7; and event at 8. Evaluate the estimate at times 3, 4, 5, 5.5, 6, and 7. State the risk set at each event time.
Method. At each event time, count all devices still under observation immediately before that time. A device censored at time 2 is still in the risk set immediately before time 2; the event and censoring at 2 are then removed for later times.
At time 1, all 8 devices are at risk and 1 fails, so the factor is \(7/8\). After that event, 7 remain at risk at time 2. One fails and one is censored at 2, so the factor is \(6/7\); both records leave the risk set afterward. Five devices remain for time 4, and one is censored there, leaving 4 at risk at time 5. One fails at 5, giving factor \(3/4\). Three remain at risk at time 6, where one fails, giving factor \(2/3\). The censoring at 7 leaves 1 device at risk at time 8, and that device fails, giving factor \(0/1=0\).
| Event time | At risk \(n_j\) | Events \(d_j\) | Factor |
|---|---|---|---|
| 1 | 8 | 1 | 7/8 |
| 2 | 7 | 1 | 6/7 |
| 5 | 4 | 1 | 3/4 |
| 6 | 3 | 1 | 2/3 |
| 8 | 1 | 1 | 0 |
At time 3, events at 1 and 2 are included: $$ \widehat S_{KM}(3)=\frac78\cdot\frac67 =\frac34=0.7500. $$ The censoring at time 4 does not create a factor, so the value at 4 is also \(0.7500\). At time 5, include the event at 5: $$ \widehat S_{KM}(5)=\frac34\cdot\frac34 =\frac9{16}=0.5625. $$ There is no event between 5 and 5.5, so \(\widehat S_{KM}(5.5)=9/16=0.5625\). At time 6, include its event factor: $$ \widehat S_{KM}(6)=\frac9{16}\cdot\frac23 =\frac{18}{48} =\frac38=0.3750. $$ The censoring at 7 causes no step, so \(\widehat S_{KM}(7)=3/8=0.3750\). The event at 8 would make the estimate zero, but it is later than all requested times.
Check. The estimate is nonincreasing: \(0.7500\), \(0.5625\), and \(0.3750\) are the successive levels reached by the requested times. In particular, it does not change at censoring times 4 or 7. A common mistake is to remove the time-2 censoring before counting the risk set for the event at 2; the risk set just before time 2 contains that record.
Common Timing Errors and a Reliable Check
When evaluating a Kaplan-Meier estimate, the most important practical task is to define the boundary of the product correctly. At a requested time \(t\), include each distinct event time satisfying \(t_j\le t\). If the question explicitly asks for the value just before an event at \(t\), use \(t_j<t\) instead. For a time strictly between two events, the value is the level established by the most recent event.
- Omitting the event at the requested time. This gives the pre-jump value. At an event time, the Kaplan-Meier estimate includes that event’s factor.
- Including a future event. A factor for \(t_j>t\) does not affect the estimate at \(t\), even if that event is the next row in the table.
- Adding a factor at a censoring time. Censoring changes later risk sets but is not itself a failure factor.
- Splitting tied failures into artificial sequential steps. Use the given \(n_j\) and total \(d_j\) for that event time.
- Reporting a value that rises. Every factor lies between 0 and 1, so the Kaplan-Meier estimate cannot increase as time advances.
A quick final check is to list the event times included in the product before multiplying. Then confirm that the result is on the appropriate plateau or is the post-jump value at the requested event time. For a displayed curve, read the horizontal level at the requested time using the same convention: the value at the vertical drop is the level after the drop.
Check Your Understanding
For each question, use the event-time inclusion rule and show which factors enter the product before checking the answer.
- A hypothetical study has event-time rows \((t_j,n_j,d_j)=(2,9,1),(6,6,2),(10,3,1)\). Find \(\widehat S_{KM}(5)\). (Answer: \(8/9\approx0.8889\))
- Using the same table, find the estimate at time 6, including the event at 6. (Answer: \((8/9)(4/6)=16/27\approx0.5926\))
- A risk table has an event at time 3 with \(n_1=10,d_1=2\), an event at time 7 with \(n_2=6,d_2=1\), and a censoring at time 5. Find the estimate at time 5 and explain why the censoring contributes no factor. (Answer: \(8/10=0.8000\); censoring at 5 creates no event-time factor.)
- At event times 1 and 4, a hypothetical study has \((n_1,d_1)=(8,2)\) and \((n_2,d_2)=(5,2)\). Find the value immediately before time 4 and the value at time 4. (Answer: immediately before 4, \(6/8=0.7500\); at 4, \((6/8)(3/5)=0.4500\))
- A study has event rows \((2,12,3),(5,8,2),(9,4,1)\). Find the estimate at time 7.5 and identify the next time the curve can change. (Answer: \((9/12)(6/8)=9/16=0.5625\); the next event time is 9.)