Tutorials › Competing Risks and Multi-State Models › The Aalen-Johansen Estimator in Competing Risks

Transition Intensities and Probabilities · Tutorial 289 of 699

The Aalen-Johansen Estimator in Competing Risks

Learn to build competing-risk transition-probability estimates from cause-specific intensity increments, calculate cumulative incidence at event times, and recognize common interpretation errors.

Advanced 10 min read

What You'll Learn

  • Define the event-time risk sets and estimated cause-specific intensity increments used in the estimator.
  • Construct the transition-matrix update for a competing-risks model with absorbing causes.
  • Calculate event-free survival and cause-specific cumulative incidence from the product integral.
  • Handle tied event times by combining cause counts in one update.
  • Compare Aalen–Johansen cumulative incidence with one-minus-Kaplan–Meier estimates.
  • Check the assumptions and diagnostics relevant to an unadjusted competing-risks estimate.

Why the Product Integral Enters Competing-Risks Estimation

In a competing-risks study, each subject begins event-free and may experience one of several mutually exclusive event types. The probability of experiencing a particular type by time \(t\) depends on two things: the chance of still being event-free just before each event time, and the chance of experiencing that type at that time among those still at risk. The Aalen–Johansen estimator combines these contributions across event times.

The estimator is a product-integral estimate of a transition-probability matrix. In the competing-risks setting, its first row gives the estimated probabilities of remaining event-free or having experienced each particular cause by time \(t\). The same calculation can be written as a survival product plus cause-specific cumulative-incidence sums, which makes the numerical steps especially transparent.

Definition: Consider \(K\) competing event types, with state \(0\) denoting event-free and states \(1,\ldots,K\) denoting the absorbing states for the respective causes. At event time \(u\), let \(Y(u)\) be the number event-free and under observation immediately before \(u\), and let \(dN_k(u)\) be the number experiencing cause \(k\) at \(u\). The estimated cause-specific intensity increment is \(d\widehat A_{0k}(u)=dN_k(u)/Y(u)\), when \(Y(u)>0\).

Subjects censored before an event time leave the risk set; a subject censored at the event time is conventionally included in the risk set immediately before that time. Event counts at a tied time are grouped. One individual can experience only one of the competing causes, although different individuals can have tied event times with different causes.

Assumptions and the Event-Time Update

The unadjusted estimator requires a well-defined origin state, correctly recorded event times and causes, and right-censoring that is independent of the event process for the target population. In particular, censoring must not selectively remove people who have different future event risks, after accounting for any conditioning used in the analysis. The subjects are assumed to be independent, and the risk set must be nonempty at event times used in the calculation. These conditions support estimating event probabilities from the observed risk sets; violations can make the resulting probabilities misleading.

For a competing-risks model, the event-time transition matrix has one row for each possible origin state. At time \(u\), only the event-free state can transition: its diagonal entry is one minus the sum of the cause-specific increments, and its entries for the absorbing causes are the individual increments. Absorbing states remain absorbing. The resulting increment matrix is

$$ \Delta \widehat{\mathbf A}(u) = \begin{pmatrix} -\sum_{k=1}^{K} d\widehat A_{0k}(u) & d\widehat A_{01}(u) & \cdots & d\widehat A_{0K}(u) \\ 0 & 0 & \cdots & 0 \\ \vdots & \vdots & & \vdots \\ 0 & 0 & \cdots & 0 \end{pmatrix}. $$

Thus the event-time update is \(\mathbf I+\Delta\widehat{\mathbf A}(u)\). Its first row assigns the remaining event-free fraction and the fractions transitioning to the causes at that time. Because the total number of events at \(u\) cannot exceed the number at risk, \(\sum_k dN_k(u)\leq Y(u)\); therefore the event-free entry \(1-\sum_k dN_k(u)/Y(u)\) is nonnegative.

Use row-vector probabilities: a row vector of state probabilities is multiplied on the right by each event-time update, in chronological order. If the event times through \(t\) are \(u_1<\cdots<u_m\), the estimated transition-probability matrix is

$$ \widehat{\mathbf P}(0,t) = \prod_{j=1}^{m} \left\{\mathbf I+\Delta\widehat{\mathbf A}(u_j)\right\}, \qquad \widehat{\mathbf P}(0,0)=\mathbf I. $$

Here the product is ordered as written: the factor at the earliest time is on the left. Starting in state \(0\) corresponds to the row vector \(\mathbf e_0=(1,0,\ldots,0)\); hence \(\mathbf e_0\widehat{\mathbf P}(0,t)\) contains the desired state probabilities. Event times with no observed transition do not change the product.

Survival and Cumulative Incidence Formulas

Write \(\widehat S(t)\) for the estimated probability of remaining event-free through time \(t\), and \(\widehat F_k(t)\) for the estimated probability of having experienced cause \(k\) by \(t\). The first row of the product integral gives the recursions

$$ \widehat S(u)=\widehat S(u-) \left\{1-\sum_{k=1}^{K}\frac{dN_k(u)}{Y(u)}\right\}, \qquad \widehat F_k(u)=\widehat F_k(u-) +\widehat S(u-)\frac{dN_k(u)}{Y(u)}. $$

The notation \(u-\) means immediately before the event time. In particular, the contribution to cause \(k\) at \(u\) is weighted by the estimated probability of still being event-free just before \(u\), not by the initial probability of one. Iterating the recursions yields

$$ \widehat S(t)= \prod_{u\leq t} \left\{1-\sum_{k=1}^{K}\frac{dN_k(u)}{Y(u)}\right\}, \qquad \widehat F_k(t)= \sum_{u\leq t} \widehat S(u-)\frac{dN_k(u)}{Y(u)}. $$

These are the Aalen–Johansen estimates of event-free survival and the cause-specific cumulative incidence functions (CIFs). At every event time, the event-free probability lost is exactly the sum of the CIF increments. Consequently, \(\widehat S(t)+\sum_k\widehat F_k(t)=1\), provided the cohort starts entirely event-free and all transitions out of that state are included.

Worked Example: Three Event Times and Two Causes

Suppose a hypothetical cohort begins with 10 event-free participants. At time \(t_1\), 2 experience cause 1, 1 experiences cause 2, and 1 is censored. At \(t_2\), 1 of the 6 remaining participants experiences cause 1 and 2 experience cause 2. At \(t_3\), 1 of the 3 remaining participants experiences cause 2. Assume the stated censoring is independent of event time and cause, and that event types and times are correctly observed. The risk sets are \(Y(t_1)=10\), \(Y(t_2)=6\), and \(Y(t_3)=3\).

At \(t_1\), the increments are \(2/10=0.2\) for cause 1 and \(1/10=0.1\) for cause 2. Thus \(\widehat S(t_1)=1(1-0.2-0.1)=0.7\), while \(\widehat F_1(t_1)=0.2\) and \(\widehat F_2(t_1)=0.1\).

At \(t_2\), the cause-specific increments are \(1/6\) and \(2/6\), with total \(1/2\). The event-free estimate becomes \(\widehat S(t_2)=0.7(1-1/2)=0.35\). The CIFs become \(\widehat F_1(t_2)=0.2+0.7(1/6)=0.3167\) and \(\widehat F_2(t_2)=0.1+0.7(2/6)=0.3333\).

At \(t_3\), the cause 2 increment is \(1/3\). Therefore \(\widehat S(t_3)=0.35(1-1/3)=0.2333\), \(\widehat F_1(t_3)=0.3167\), and \(\widehat F_2(t_3)=0.3333+0.35(1/3)=0.4500\). The final total is \(0.2333+0.3167+0.4500=1.000\), as required.

For example, the update matrices at \(t_1\) and \(t_2\) have first rows \((0.7,0.2,0.1)\) and \((0.5,1/6,1/3)\), respectively; their cause-state rows leave the absorbing states unchanged. Multiplying these matrices and the \(t_3\) update in chronological order gives the same first row \((0.2333,0.3167,0.4500)\).

Derivation of the CIF Recursion

The cumulative-incidence formula follows directly from the first-row matrix update. Suppose just before \(u\), the estimated probability vector is \((\widehat S(u-),\widehat F_1(u-),\ldots,\widehat F_K(u-))\). Its event-free component after the update is

$$ \widehat S(u-) \left(1-\sum_{k=1}^{K}\frac{dN_k(u)}{Y(u)}\right). $$

For cause \(k\), the post-update component equals its previous value plus the probability mass transitioning from state 0 to state \(k\):

$$ \widehat F_k(u-)+ \widehat S(u-)\frac{dN_k(u)}{Y(u)}. $$

This proves the stated event-time recursion. Summing the new event-free component and all new cause components gives \(\widehat S(u-)+\sum_k\widehat F_k(u-)\): the event-free mass removed is \(\widehat S(u-)\sum_k dN_k(u)/Y(u)\), exactly the amount added across causes. Since the initial total is one, the probability total remains one at every update.

Worked Example: Tied Events From Different Causes

In a hypothetical study, 12 participants are event-free immediately before time \(u\). At that time, 2 experience cause 1 and 1 experiences cause 2. Suppose the estimated event-free probability just before \(u\) is \(0.8\), based on earlier event times. Assume censoring is independent and the risk set and causes are correctly recorded.

The tied-time increments are \(d\widehat A_{01}(u)=2/12=0.1667\) and \(d\widehat A_{02}(u)=1/12=0.08333\). The single combined event-time update has first row \((0.75,0.1667,0.08333)\). Thus the event-free estimate falls from \(0.8\) to \(0.8(0.75)=0.6000\).

The cause-specific CIF increments are \(0.8(2/12)=0.1333\) and \(0.8(1/12)=0.06667\). The event-free loss is \(0.8-0.6=0.2\), which equals \(0.1333+0.06667\), up to rounding. The tied observations are incorporated together; assigning an artificial order to the two causes would impose an order absent from the observed data.

Why Treating a Competing Event as Censoring Changes the Target

A common alternative is to estimate a cause-specific hazard while treating other causes as censored, then report one minus the corresponding Kaplan–Meier estimate as though it were the observed probability of that cause. That complement generally does not estimate the CIF. The Kaplan–Meier complement describes a net-risk quantity under a hypothetical setting in which competing causes are removed; it does not account for the fact that people experiencing another cause can no longer experience the cause of interest.

Worked Example: Comparing Aalen–Johansen With One Minus Kaplan–Meier

Consider a hypothetical cohort of 10 participants. At \(t_1\), 2 experience cause 1 and 2 experience cause 2. At \(t_2\), the 6 still event-free participants include 2 who experience cause 1. Assume independent censoring, accurate event classification, and no censoring before either event time.

The Aalen–Johansen CIF for cause 1 is \(\widehat F_1(t_2)=2/10+(1-4/10)(2/6)=0.2+0.2=0.4000\). The first term is the cause 1 incidence at \(t_1\); the second is the cause 1 incidence at \(t_2\) among the estimated \(0.6\) still event-free.

If cause 2 is treated as censoring for a cause 1 Kaplan–Meier calculation, the cause 1 event-free product is \((1-2/10)(1-2/6)=0.8(2/3)=0.5333\). Its complement is \(1-0.5333=0.4667\), not the Aalen–Johansen estimate \(0.4000\). The difference arises because the complement allocates to cause 1 some risk that, in the observed competing-risks process, is removed by cause 2.

Diagnostics, Limitations, and Common Pitfalls

Before interpreting the estimates, check the event-time data and the risk-set construction. Every cause count should be nonnegative, the total event count at a time should not exceed the risk set, and the risk set should decline consistently as events and censoring occur. At each update, the row entries should be nonnegative and sum to one. If a cause count exceeds \(Y(u)\), if risk-set counts unexpectedly increase, or if the estimated state probabilities fail to sum to one beyond rounding error, investigate data coding, tied-time handling, or matrix construction.

The estimator is nonparametric in time: it uses observed event times and risk-set fractions rather than imposing a smooth or parametric hazard shape. It can be unstable late in follow-up when few subjects remain at risk. In that region, a single event can cause a large increment \(dN_k(u)/Y(u)\), so always report the time horizon and examine the risk-set sizes. The unadjusted estimator also does not by itself control for covariate differences between groups; such comparisons require methods suited to the question and assumptions.

  • Wrong: “The competing cause is just another kind of censoring, so one minus Kaplan–Meier is the probability of cause 1.” Correction: the cause 1 CIF is the sum of cause 1 increments weighted by the estimated probability of remaining event-free. A competing event removes a participant from future risk of every cause.
  • Wrong: “At a tied time, process cause 1 first and cause 2 second.” Correction: use the grouped cause counts in one transition update; an invented order can change the result.
  • Wrong: “The cause-specific increment is the CIF increment.” Correction: multiply it by \(\widehat S(u-)\); the cause-specific increment is conditional on being event-free and at risk at \(u\).
Key takeaway: The Aalen–Johansen estimator updates the event-free probability and all cause-specific probabilities together at each observed event time. For cause \(k\), its cumulative incidence is the sum of \(dN_k(u)/Y(u)\) weighted by the estimated event-free probability just before \(u\).

Check Your Understanding

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

  1. If \(Y(u)=20\), with 3 cause 1 events and 1 cause 2 event at \(u\), what are the cause-specific increments and the event-free update factor?
  2. If \(\widehat S(u-)=0.5\) and the cause 2 increment at \(u\) is \(0.1\), what is the contribution to \(\widehat F_2\) at \(u\)?
  3. Why should tied events from different causes be incorporated in a single update rather than assigned an arbitrary within-time order?
  4. Name one assumption needed for the unadjusted estimator to represent the target event probabilities, and one diagnostic check on the calculated estimates.

Solutions. (1) The increments are \(3/20=0.15\) and \(1/20=0.05\); the event-free update factor is \(1-0.15-0.05=0.80\). (2) The contribution is \(\widehat S(u-)\times0.1=0.5\times0.1=0.05\). (3) The observed data establish a tied time, not a cause ordering; one combined update uses both cause counts without inventing an order. (4) One valid assumption is independent right-censoring for the target population. A diagnostic is to check that all update probabilities are nonnegative and that event-free plus cause-specific probabilities sum to one.

Clinical Biostats