Tutorials › Competing Risks and Multi-State Models › Displaying Cumulative Incidence as a Step Function

Cumulative Incidence Functions · Tutorial 71 of 699

Displaying Cumulative Incidence as a Step Function

You will learn how to translate cumulative-incidence estimates into an accurate step plot and how to show uncertainty and follow-up limits without overstating what the data support.

Intermediate 10 min read

What You'll Learn

  • Identify the event-time jumps that determine a cumulative-incidence step plot.
  • Calculate and plot cause-specific jumps from risk-set and event-count summaries.
  • Distinguish event-free survival from cumulative incidence for a particular cause.
  • Mark the observed follow-up range without implying unsupported estimates beyond it.
  • Display pointwise confidence intervals and interpret their scope.
  • Diagnose misleading plots caused by censoring, ties, or confusing competing events with censoring.

From Estimates to a Step Plot

A cumulative incidence function (CIF) describes the probability of experiencing a particular event type by a given time, in the presence of other event types that prevent it. Displaying the estimate as a step function makes the timing and size of its changes visible. It also helps distinguish three features that a single estimate at a fixed horizon cannot show: when the curve jumps, how it behaves between event times, and how much follow-up supports its later portion.

The plot is not a smoothed trend through observed event times. It represents the estimator itself: a piecewise-constant function that changes at event times and stays flat between them. The curve for each cause is plotted separately, although the curves are linked because an event of any cause removes a person from the event-free risk set.

Definition: Let \(F_k(t)\) be the cumulative incidence function for cause \(k\), the probability of experiencing cause \(k\) by time \(t\) before any competing event. Its estimate, \(\hat F_k(t)\), is a right-continuous step function. At each distinct event time \(t_j\), it increases by an estimated cause-\(k\) event probability; between event times, it remains constant.

For an observed-data summary, let \(Y_j\) be the number at risk immediately before event time \(t_j\), \(d_{kj}\) the number of cause-\(k\) events at that time, and \(d_j\) the total number of events of all causes there. Let \(\hat S(t_j-)\) denote the estimated probability of remaining free of every event just before \(t_j\). The Aalen–Johansen update gives the cause-specific jump:

$$ \Delta \hat F_k(t_j) = \hat S(t_j-)\frac{d_{kj}}{Y_j}, \qquad \hat F_k(t_j) = \hat F_k(t_j-)+\Delta \hat F_k(t_j). $$

Here, \(\hat S(t_j-)\) is the estimated event-free probability immediately before the event time. It updates at the same time according to \(\hat S(t_j)=\hat S(t_j-)(1-d_j/Y_j)\). If multiple causes have events at the same time, their counts are included together in \(d_j\), and each cause’s own count is used in its CIF jump.

Why the Curve Jumps This Way

The jump formula follows from two factors. Immediately before \(t_j\), the estimated fraction still free of all events is \(\hat S(t_j-)\). Among those at risk at that time, the observed fraction with a cause-\(k\) event is \(d_{kj}/Y_j\). Multiplying gives the estimated population probability mass that is event-free until \(t_j\) and then experiences cause \(k\) at that time. Summing those probability increments over event times gives the CIF:

$$ \hat F_k(t) = \sum_{t_j\leq t} \hat S(t_j-)\frac{d_{kj}}{Y_j}. $$

This also explains why a cause-specific curve does not jump at an event of another cause: that event adds no cause-\(k\) cases at that time. It does, however, reduce the event-free probability used to weight later jumps. Censoring is different: a censored person leaves the risk set but does not contribute a cause-specific event.

For the usual interpretation of these estimates, follow-up and event types must be correctly recorded, and censoring must satisfy the independent-censoring condition for the target being estimated. Risk sets must reflect who is genuinely under observation and event-free immediately before each time. These conditions support estimation; they do not guarantee that a late part of a plot is precise when few people remain under observation.

Worked Example: Calculating and Plotting Two Cause-Specific Curves

Suppose 12 hypothetical participants are followed for up to 8 months. At month 2 there are two cause-1 events and one cause-2 event. One participant is censored at month 3. At month 4 there is one event of each cause. One participant is censored at month 5.5. At month 6 there is one cause-2 event. The remaining four participants are censored at month 8. Assume there are no other events or censorings.

The risk-set sizes are 12 immediately before month 2, 8 before month 4, and 5 before month 6. At month 2, \(\hat S(2-)=1\). Thus the cause-1 and cause-2 jumps are \(1(2/12)=0.1667\) and \(1(1/12)=0.08333\). After all three events, the event-free estimate is \(1(1-3/12)=0.7500\).

At month 4, the two events give \(\hat S(4-)=0.7500\), and each cause has one event among eight at risk. Each curve therefore jumps by \(0.7500(1/8)=0.09375\). The cumulative estimates become \(\hat F_1(4)=0.1667+0.09375=0.2604\) and \(\hat F_2(4)=0.08333+0.09375=0.1771\). The event-free estimate after month 4 is \(0.7500(1-2/8)=0.5625\).

At month 6, the cause-2 jump is \(0.5625(1/5)=0.1125\), and cause 1 has no jump. Consequently, \(\hat F_1(6)=0.2604\) and \(\hat F_2(6)=0.1771+0.1125=0.2896\). The event-free estimate after month 6 is \(0.5625(1-1/5)=0.4500\).

To draw the plot, start both curves at zero. Keep each curve flat until month 2, draw a vertical jump there, and then continue horizontally to month 4. Repeat at months 4 and 6 using the values just calculated. For example, the cause-1 curve is 0.1667 from month 2 up to, but not including, month 4, and is 0.2604 from month 4 onward. The cause-2 curve is 0.08333, then 0.1771, then 0.2896 over the corresponding intervals. Mark month 8 as the end of observed follow-up; no event-time jump occurs there.

Axes, Follow-Up Limits, and Uncertainty

Use time, with its units, on the horizontal axis and estimated cumulative incidence, from 0 to 1, on the vertical axis. Label each curve by event type. Draw a right-continuous step: the value at an event time is the value after its jump. A plotting convention may show the vertical segment at that time, but it should not connect successive event-time estimates with a sloping line. Slopes imply gradual change that the estimator does not contain.

Show the observed follow-up limit clearly, such as with a short note or a vertical reference line. If no further events occur before that limit, the curve remains flat there; that flatness means the estimate has no additional observed event jumps, not that the underlying risk is known to be zero. In particular, avoid extending the curve far beyond the range where the data provide follow-up. A plot may end at the maximum observed follow-up, but a common analysis horizon can be more informative when comparing groups, provided that horizon is supported by adequate follow-up in each group.

Censoring times are not CIF jumps. A censoring mark can be added as a secondary display detail, but it must not be confused with an event mark. The number at risk at selected times, or a clearly stated follow-up limit, can help readers judge the support for the tail. A curve with few people still followed may look stable simply because there are few opportunities to observe further events.

Pointwise confidence intervals can be shown at selected times or as stepwise lower and upper limits. They describe uncertainty at each specified time separately. They do not, just by appearing as an envelope, become a simultaneous confidence band covering the entire curve with a stated confidence level. Use a confidence-interval method appropriate for the CIF and report the method or make it clear which intervals are displayed. A simple normal-approximation calculation illustrates the plotting arithmetic, but the interval estimates themselves should come from an appropriate variance calculation.

Worked Example: Adding Pointwise Confidence Intervals

Suppose, hypothetically, that an appropriate variance procedure gives a standard error of 0.085 for the cause-1 estimate at month 4 in the preceding example. For illustration, use a pointwise normal interval \(\hat F_1(4)\pm1.96SE\). Substituting the estimate and standard error gives \(0.2604\pm1.96(0.085)=0.2604\pm0.1666\), or approximately \([0.0938,0.4270]\).

Suppose the corresponding standard error for cause 2 at month 4 is 0.075. The interval is \(0.1771\pm1.96(0.075)=0.1771\pm0.1470\), or approximately \([0.0301,0.3241]\). Plot each interval at month 4, aligned with its cause-specific curve. If displaying limits as step functions, state the convention used for connecting limits between evaluation times.

These are pointwise intervals: each interval concerns the CIF at its stated time. They are not a statement that there is a 95% probability that the fixed CIF value lies inside the calculated interval, nor that the entire curve is covered with 95% confidence. If an interval method produces a limit outside the possible CIF range of 0 to 1, do not silently truncate it; choose and report a method with appropriate range behavior, or clearly disclose any display adjustment.

Reading the Plot and Choosing Alternatives

A step plot is especially useful when the timing of events matters: readers can see whether a cause-specific estimate accumulates early or late, and whether two curves separate at particular event times. It complements a fixed-horizon estimate by showing the estimated path across time. It does not replace a numerical estimate with an interval at a clinically meaningful time, and it does not establish that a difference between groups is statistically significant.

The main alternatives answer different questions. A table of estimates at selected times is compact and precise for reporting chosen horizons, but it hides the intervening pattern. A smoothed curve may help summarize an underlying trend, but it is not the unsmoothed Aalen–Johansen estimate and introduces smoothing choices. A cause-specific hazard plot describes an instantaneous event rate among those still event-free, rather than the accumulated probability of experiencing a particular cause. A Kaplan–Meier curve that treats competing events as censoring does not estimate the observed-world CIF for that cause.

When plotting multiple causes, check that each cause has its own correctly labelled curve. The curves are not independent: an event of one cause affects the later risk set for all causes. In a single population, the estimated event-free probability and the cause-specific CIFs should be mutually coherent; this is a useful visual and numerical check, but a plot alone cannot verify every risk-set calculation.

Common pitfall: A flat tail is sometimes described as evidence that the event risk has stopped increasing, or as proof that no further events will occur. The correction is that the empirical estimator changes only at observed event times; after follow-up ends, it supplies no new event information. State the follow-up limit and interpret the tail in light of the remaining risk set and uncertainty.

Diagnostics Before Presenting the Figure

Before interpreting a step plot, verify that event times are in increasing order, that jumps occur only at event times, and that the plotted value after each jump agrees with the cumulative estimate. For tied event times, aggregate all events at that time in both the total event count and cause-specific counts. Confirm that censoring changes later risk sets but is not itself included as a cause-specific event. Finally, inspect the last part of follow-up: a narrow-looking line is not evidence of precision unless the uncertainty and amount of follow-up support that reading.

  • If a cause-specific curve decreases, check for a plotting or calculation error: a CIF estimate is nondecreasing.
  • If a curve jumps at a censoring time with no event, check whether censoring has been incorrectly counted as failure.
  • If the displayed step height differs from the computed increment, check the event-time risk set and the event-free estimate immediately before that time.
  • If a tail is presented as a precise long-term estimate despite sparse follow-up, show uncertainty and limit the interpretation to supported times.

Worked Example: Interpreting a Late Flat Segment

In the hypothetical data above, the cause-1 estimate is 0.2604 after month 4 and stays there through month 8. Cause 1 has no observed events after month 4, so the estimated curve has no later cause-1 jumps. The estimate is not evidence that the true probability of cause 1 cannot increase after month 4: there was continued observation only through month 8, and the four participants remaining after the month-6 event were censored at month 8. A sound caption would say that the estimated CIF remained flat over the observed interval after month 4, while identifying month 8 as the follow-up limit. It would not claim zero future risk.

Check Your Understanding

Answer each question, then compare your reasoning with the solutions.

  1. At an event time, \(\hat S(t_j-)=0.80\), \(Y_j=10\), and there are two events of cause 1. What is the cause-1 jump?
  2. Why does a competing event not create a jump in the CIF for cause 1, even though it can affect later values?
  3. A cause-specific curve is flat after the last observed event and the study ends at month 12. What does the flat segment establish, and what does it not establish?
  4. What is the distinction between a pointwise confidence interval at month 6 and a simultaneous confidence band for the entire curve?

Solutions. (1) The jump is \(0.80(2/10)=0.160\), or 16.0 percentage points. (2) The competing event contributes no cause-1 event count, so it creates no cause-1 jump at that time. It removes a participant from the event-free risk set, however, and therefore can affect the weights on later cause-1 jumps. (3) The segment shows that the estimator has no observed cause-specific event jumps over that interval. It does not establish that the underlying risk has stopped increasing or that risk after month 12 is zero. (4) A pointwise interval addresses uncertainty at the specified month 6; a simultaneous band is designed to cover the whole curve over a stated time range with its stated confidence level.

Clinical Biostats