Tutorials › Bayesian Clinical Trials › Global Success and Futility Boundaries for Platform Trials

Adaptive and Platform Designs · Tutorial 592 of 696

Global Success and Futility Boundaries for Platform Trials

Define platform-level rules that distinguish global success, global futility, arm removal, and operational termination when the active-arm set is empty.

Advanced 11 min read

What You'll Learn

  • Define a platform’s active-arm set at each interim analysis.
  • Build global success and futility rules from arm-level posterior evidence.
  • Distinguish an arm-level stop from a decision to stop the entire platform.
  • Handle the empty-active-set case without calling it global futility.
  • Identify timing, safety, and calibration checks for platform-wide rules.
  • Compare global boundaries with arm-specific stopping and continued recruitment.

Why Platform-Level Boundaries Need Their Own Rules

In a platform trial, an experimental arm can stop while the rest of the platform continues. That is an arm-level decision. A platform-level decision instead determines whether enrollment across the platform should stop because the trial objective has been met, because no remaining arm is promising enough to justify continuing, or because no experimental arms remain available. These outcomes should be specified separately: the same observed data may support stopping one arm but continuing the platform.

The boundaries below combine evidence across experimental arms at a defined interim analysis. They do not replace the arm-level efficacy and safety criteria used to decide whether an individual arm should continue. In particular, a global futility rule must not label a platform futile merely because one arm is unpromising.

Definition: At analysis time \(t\), let \(A_t\) be the set of experimental arms that are still active under the protocol’s arm-level rules. Let \(D_t\) denote the trial data available for the interim analysis. For each active arm \(j\), let \(B_j\) be the prespecified event that the arm has clinically meaningful benefit and satisfies the required safety criterion. Define its posterior evidence as \(q_j(t)=P(B_j\mid D_t)\). A platform boundary is a rule that combines the \(q_j(t)\) values, the active set, and the trial’s declared objective to determine whether the whole platform stops.

The meaning of \(B_j\) must be fixed before the trial begins. For example, it might require that the treatment effect exceed a prespecified clinically meaningful threshold and that the risk of unacceptable harm remain below a prespecified limit. The posterior evidence \(q_j(t)\) is therefore not merely a measure of efficacy: it refers to the defined joint benefit-and-safety event. The earlier material on Joint Efficacy-Safety Decisions for Platform Arms concerns how such arm-level criteria can be constructed; here the focus is how to aggregate the resulting evidence across arms.

The rules also need to specify what “success” means for the platform. One common objective is to stop the platform and declare success if at least one experimental arm meets its success criterion. Another design might require a different prespecified combination of findings. The examples here use the at-least-one-arm objective; it is not a universal definition of platform success.

Global Success, Global Futility, and Arm Removal

Suppose the protocol specifies two posterior thresholds, \(c_S\) for success and \(c_F\) for futility, with \(0\le c_F<c_S\le1\). At a scheduled interim analysis, an active arm meets the success boundary if \(q_j(t)\ge c_S\), and meets the futility boundary if \(q_j(t)\le c_F\). Values between the thresholds do not cross either boundary. The protocol should state whether a boundary crossing is evaluated only at scheduled looks and what actions follow it.

Definition: Under an at-least-one-arm platform-success objective, global success at time \(t\) occurs if \(A_t\ne\varnothing\) and at least one \(j\in A_t\) has \(q_j(t)\ge c_S\). Global futility at time \(t\) occurs if \(A_t\ne\varnothing\) and every \(j\in A_t\) has \(q_j(t)\le c_F\). If \(A_t=\varnothing\), neither boundary is evaluated as a success or futility finding: the platform has no experimental arms remaining, which is a separate operational termination case.

The nonempty-set condition in the futility definition matters. For a nonempty active set, the condition that every arm is below or at the futility threshold can also be written using the largest arm-level evidence. There is no corresponding maximum over an empty set, so this alternative form is not used when no arms remain.

$$ A_t\ne\varnothing \quad\text{and}\quad \forall j\in A_t:\ q_j(t)\le c_F \quad\Longleftrightarrow\quad A_t\ne\varnothing \quad\text{and}\quad \max_{j\in A_t}q_j(t)\le c_F. $$

The equivalence follows directly from the definition of the maximum on a nonempty finite set. If every value is at most \(c_F\), their maximum is at most \(c_F\). Conversely, if their maximum is at most \(c_F\), each value is at most that maximum and therefore at most \(c_F\). The condition \(A_t\ne\varnothing\) is required for the maximum to be defined and to distinguish futility from arm exhaustion.

A global futility decision is different from removing an individual arm. If one arm crosses its futility boundary but another remains active and has evidence above \(c_F\), the platform has not met the all-arms global futility rule. The protocol may remove the unpromising arm and continue enrollment on the others. After any such removal, the active set changes, and platform-level rules are evaluated using the updated set at the specified decision time.

Worked Example: One Promising Arm Prevents Global Futility

Consider a hypothetical platform with three active experimental arms at an interim analysis. Their joint benefit-and-safety posterior probabilities are \(q_1(t)=0.07\), \(q_2(t)=0.18\), and \(q_3(t)=0.09\). Let \(c_F=0.10\) and \(c_S=0.95\). The platform objective is at-least-one-arm success.

Check success. The largest evidence value is \(0.18\), and \(0.18<0.95\). No active arm meets the success boundary.

Check global futility. Arm 2 has \(0.18>0.10\), so it is not true that every active arm has evidence at or below \(c_F\). Equivalently, \(A_t=\{1,2,3\}\ne\varnothing\) and \(\max_{j\in A_t}q_j(t)=0.18>0.10\), so the global futility condition fails.

Arms 1 and 3 individually meet the futility boundary and could be removed if the protocol specifies that action. But the platform as a whole does not meet global futility while arm 2 remains active and above the futility threshold. Whether arm 2 should continue is a separate arm-level decision; the global rule alone says only that the entire platform is not futile by this criterion.

How the Platform Decision Is Applied

A platform protocol should set out a decision order, including when the active set is updated. One transparent sequence is to apply prespecified arm-level decisions, update \(A_t\), then apply the platform-level success and futility rules to the resulting set. If success is intended to terminate the entire platform, the protocol must say that explicitly; in some platforms, success for one arm may instead lead to a single-arm conclusion while other comparisons continue.

When the objective is platform-wide success upon evidence for at least one arm, a practical decision sequence is:

1
Establish the analysis set.
Identify the data available at the scheduled look and apply the prespecified handling of pending outcomes and other data-quality issues.
2
Update arm status.
Apply the specified arm-level efficacy and safety rules. Record any arm closures or removals and form the updated active set \(A_t\).
3
Check for arm exhaustion.
If \(A_t=\varnothing\), terminate experimental-arm enrollment under the operational exhaustion rule. Do not describe the empty set as a global futility finding.
4
Apply platform boundaries.
If \(A_t\ne\varnothing\), stop the platform for global success if any active arm meets \(c_S\); otherwise stop for global futility only if every active arm meets \(c_F\). If neither condition holds, continue as specified.

The ordering is a design choice that must be made clear, especially if arm-level and platform-level actions could be triggered at the same look. With a common \(q_j(t)\) and \(c_F<c_S\), a single arm cannot simultaneously meet both thresholds. Different arms can, however, be on different sides of the two thresholds. If a success crossing is defined to stop the whole platform, success takes precedence over the fact that other arms may be futile. If the design instead permits continuing other arms after one arm succeeds, it is using a different platform-level action and should state that policy explicitly.

Worked Example: Global Success Despite Futile Arms

Suppose a hypothetical platform has \(A_t=\{1,2,3\}\) and evidence values \(q_1(t)=0.963\), \(q_2(t)=0.06\), and \(q_3(t)=0.04\). Let \(c_S=0.95\) and \(c_F=0.10\), with a protocol objective that any successful arm stops the entire platform.

The success check is \(0.963\ge0.95\), so arm 1 meets the success boundary. The global success condition is therefore satisfied because at least one active arm crosses \(c_S\).

The global futility condition is not satisfied: although \(0.06\le0.10\) and \(0.04\le0.10\), arm 1 has \(0.963>0.10\). Thus the findings are not “global success and global futility.” The platform stops for global success under the stated objective; the evidence for arms 2 and 3 does not change that platform-level conclusion.

If the protocol instead intended to declare arm 1 successful but continue enrollment for arms 2 and 3, the same posterior values would lead to a different operational action. The objective and stopping action must therefore be specified together.

Arm Exhaustion Is Not Global Futility

The active set can become empty because every experimental arm has already been removed or closed, whether for futility, safety, administrative reasons, or another prespecified reason. At that point, the platform cannot enroll to an experimental arm. This warrants an operational termination of experimental enrollment, but it does not itself establish that all arms were futile at the current look. The reasons for each arm’s closure should be retained and reported separately.

Worked Example: Termination After the Last Arm Closes

Imagine a hypothetical platform that began a look with two active arms. Arm 1 was previously closed under its arm-level safety rule. At the current look, arm 2 is also closed under a prespecified arm-level rule, leaving \(A_t=\varnothing\). Let the global thresholds be \(c_F=0.10\) and \(c_S=0.95\).

There is no current active-arm evidence value to compare with either threshold. In particular, \(\max_{j\in A_t}q_j(t)\) is undefined because \(A_t\) is empty. The correct action is to terminate experimental-arm enrollment under the exhaustion rule and report the documented reasons for the closures. It would be incorrect to call this a current global futility finding: no nonempty set of active arms was tested against the global futility condition at this decision.

This distinction also prevents a misleading summary. “The platform stopped because no experimental arms remained” describes the operational event. “The platform stopped for global futility” asserts that every arm still active at a specified analysis had evidence at or below the futility boundary. Those statements are not interchangeable.

Calibration, Diagnostics, and Limitations

The thresholds \(c_S\) and \(c_F\) are design choices, not universal constants. Their practical consequences depend on the number of arms, the timing and frequency of interim analyses, the outcome model and prior distributions, the shared-control structure, the allocation process, and the rule for incorporating safety. For a Bayesian design, crossing a posterior boundary is not by itself a guarantee of a particular frequentist type I error rate or power. Operating characteristics such as the probability of a false platform success, the chance of stopping for futility under specified scenarios, and expected enrollment should be assessed under clinically relevant scenarios, usually by simulation.

Diagnostics should include checking that the active set at each look matches the arm-level history; confirming that every \(q_j(t)\) uses the prespecified data, model, and safety criteria; and verifying that the software handles \(A_t=\varnothing\) as exhaustion rather than taking a maximum over an empty set. Simulation or test cases should include at least one successful arm among futile arms, all active arms below the futility threshold, intermediate evidence that crosses neither boundary, and an empty active set.

The most direct alternative is to make decisions only at the arm level: stop arms that meet individual futility or safety criteria and continue the platform while any arm remains. That approach may be appropriate when the platform’s purpose is to pursue several comparisons independently, but it does not provide the same global declaration. A global rule, by contrast, explicitly links an overall platform objective to evidence across arms. Neither approach is automatically superior; the choice depends on whether the trial’s goal is an overall platform conclusion, independent arm conclusions, or both.

Another alternative is to keep enrollment open until a fixed sample size or a prespecified calendar endpoint, without interim global boundaries. This avoids interim platform stopping decisions but may continue enrollment after useful evidence has accumulated. Conversely, early stopping rules can make results more sensitive to model assumptions and interim timing. A sound design therefore states the objective, boundary thresholds, analysis schedule, active-set update, and operational actions in advance, then evaluates the resulting behavior under plausible data-generating scenarios.

Common mistake: “Every arm has stopped, so the platform had global futility.” This reasoning confuses the history of arm closures with the global condition at a particular look. The correction is to apply global futility only when the active set is nonempty and every arm in that set meets the futility boundary. If the active set is empty, report arm exhaustion as a separate operational termination.

Check Your Understanding

Answer each question using the stated boundary definitions. Brief solutions follow the questions.

  1. At a look, three active arms have \(q\) values \(0.03\), \(0.08\), and \(0.10\). With \(c_F=0.10\), is the platform globally futile?
  2. Two active arms have evidence \(0.96\) and \(0.07\), with \(c_S=0.95\), \(c_F=0.10\), and an at-least-one-arm success objective that stops the platform. What is the platform decision?
  3. Why must the global futility rule include \(A_t\ne\varnothing\)?
  4. One active arm has \(q=0.40\), where \(c_F=0.10\) and \(c_S=0.95\). What does the global rule say if it is the only active arm?

Solutions. (1) Yes. The active set is nonempty and each value is at most \(0.10\), including the tie, so the all-arms futility condition holds. (2) Global success: \(0.96\ge0.95\), and the stated objective stops the platform when any active arm crosses the success boundary. This is not global futility because one arm exceeds \(c_F\). (3) Without the nonempty condition, the universal statement over an empty set would be true vacuously, incorrectly classifying arm exhaustion as global futility; the maximum formulation would also be undefined. (4) Neither boundary is crossed: \(0.40>0.10\) and \(0.40<0.95\). The rule calls for continuation or another prespecified action, not a global stop.

Clinical Biostats