Tutorials › Response-Adaptive Randomization › A Worked Covariate-Adjusted Response-Adaptive Design

Covariate-Adaptive and Covariate-Adjusted Allocation · Tutorial 445 of 501

A Worked Covariate-Adjusted Response-Adaptive Design

Work through a hypothetical binary-outcome trial, from fitting profile-specific logistic predictions to assigning each new participant with bounded probabilities.

Intermediate 12 min read

What You'll Learn

  • Specify a logistic outcome model for a binary response and baseline covariates.
  • Calculate profile-specific allocation targets from fitted success probabilities.
  • Apply prespecified lower and upper bounds to treatment assignment probabilities.
  • Trace how interim outcomes update later allocation probabilities.
  • Identify assumptions, diagnostics, and failure modes for the sequential design.
  • Distinguish a response-adaptive allocation policy from fixed randomization and minimization.

From an Outcome Model to a Sequential Design

A covariate-adjusted response-adaptive design uses observed outcomes, as well as baseline covariates, to guide later treatment assignments. The practical challenge is to make that idea precise: specify the outcome model before the trial, define how its predictions become allocation targets, and retain enough randomization that the algorithm does not deterministically assign participants based on early, noisy results.

This tutorial builds one possible policy for a two-arm trial with a binary success outcome. The policy gives greater allocation probability to the arm with the higher model-predicted success probability within a participant's covariate profile. The target formula is a design choice, not a universally optimal rule. Its purpose here is to make each step explicit and reproducible.

Definition: Let \(A_i=1\) denote assignment to treatment and \(A_i=0\) assignment to control for participant \(i\). Let \(Y_i=1\) indicate success and \(Y_i=0\) failure, and let \(X_i\) denote prespecified baseline covariates observed before assignment. At an interim look, a covariate-adjusted response-adaptive design fits a prespecified model to observed outcomes and uses its predictions to set the assignment probability for the next participant, conditional on that participant's \(X_i\) and the trial history so far.

For a simple illustration, suppose \(X_i\) is a binary profile indicator: \(X_i=0\) is the lower-risk profile and \(X_i=1\) the higher-risk profile. A prespecified logistic regression is

$$ \operatorname{logit}\{P(Y_i=1\mid A_i,X_i)\} =\beta_0+\beta_A A_i+\beta_X X_i+\beta_{AX}A_iX_i, $$

where \(\operatorname{logit}(p)=\log\{p/(1-p)\}\). The interaction permits the treatment-control difference in predicted success to vary by profile. At each planned update, the fitted coefficients give profile-specific predicted probabilities \(\hat p_0(x)\) and \(\hat p_1(x)\) for control and treatment.

Specify the Target and the Bounds

For this worked policy, define the raw treatment target within profile \(x\) as the treatment share of the two fitted success probabilities:

$$ q^*(x)=\frac{\hat p_1(x)}{\hat p_1(x)+\hat p_0(x)}. $$

When both predictions are positive, this target is above one half if the model predicts greater success under treatment, and below one half if it predicts greater success under control. This ratio is an explicit rule for favoring the arm with higher predicted success; it is not, by itself, a proof of optimality for power, precision, or patient welfare.

Before the trial, choose bounds \(q_{\min}\) and \(q_{\max}\), with \(0<q_{\min}<q_{\max}<1\). The actual treatment assignment probability is the raw target clipped to these bounds:

$$ q(x)=\min\{q_{\max},\max(q_{\min},q^*(x))\}. $$

Thus, conditional on the available history and the next participant's profile, assignment is randomized with probability \(q(x)\) to treatment and \(1-q(x)\) to control. The bounds prevent the model from producing near-certain assignments and preserve a positive chance of either assignment for every profile. They should be selected and documented in advance, not altered in response to inconvenient interim results.

Assumptions for the design: The outcome is defined consistently as a binary endpoint; the covariates used for assignment are measured before treatment; the logistic model, profile coding, target formula, update schedule, and probability bounds are prespecified; and outcomes used at an update are available before the next assignment is calculated. The fitted model is an allocation tool: its predictions need not be interpreted as causal effects without the additional assumptions required for causal interpretation.

Worked Example: Fit Predictions and Calculate Profile Targets

Worked Example: Fit Predictions and Calculate Profile Targets

Suppose a hypothetical trial has completed an initial randomized stage. Its observed data at the first planned update are:

ProfileArmSuccessesParticipantsObserved success proportion
Lower-riskControl2100.200
Lower-riskTreatment4100.400
Higher-riskControl5100.500
Higher-riskTreatment7100.700

For this illustration, the specified model is saturated across the four arm-by-profile cells. Each cell has both successes and failures, so its fitted success probability equals the observed proportion and the corresponding cell logit is finite. The control, lower-risk cell gives \(\hat\beta_0=\log(0.2/0.8)=-1.3863\). The control, higher-risk cell has logit \(0\), so \(\hat\beta_X=0-(-1.3863)=1.3863\). For treatment in the lower-risk profile, the logit is \(\log(0.4/0.6)=-0.4055\), giving \(\hat\beta_A=-0.4055-(-1.3863)=0.9808\). The treatment, higher-risk cell has logit \(\log(0.7/0.3)=0.8473\), so \(\hat\beta_{AX}=0.8473-(-1.3863)-1.3863-0.9808=-0.1335\), up to rounding.

The fitted probabilities are therefore \(\hat p_0(0)=0.200\), \(\hat p_1(0)=0.400\), \(\hat p_0(1)=0.500\), and \(\hat p_1(1)=0.700\). The raw treatment targets are

$$ q^*(0)=\frac{0.400}{0.400+0.200}=0.6667, \qquad q^*(1)=\frac{0.700}{0.700+0.500}=0.5833. $$

With prespecified bounds \(q_{\min}=0.25\) and \(q_{\max}=0.75\), neither target is changed. The design assigns a lower-risk participant to treatment with probability 0.6667 and a higher-risk participant with probability 0.5833. These are conditional assignment probabilities, not guarantees about the final treatment proportions.

Run the Algorithm One Participant at a Time

A usable implementation needs an initialization stage, a rule for updating the model, and an assignment step. The following sequence makes those dependencies clear.

1
Prespecify the design.
Record the endpoint, covariates and their coding, logistic model, target formula, update schedule, probability bounds, and a rule for initialization or model-fitting failure.
2
Initialize with randomization.
Use a prespecified randomized stage to collect outcomes across arms and relevant profiles. Do not use a model that cannot yet be estimated reliably to make adaptive assignments.
3
Update using available outcomes.
At a planned look, fit the logistic model using eligible observed outcomes and the assignments and baseline covariates recorded for those participants.
4
Calculate and bound the target.
For the incoming participant's profile, calculate \(\hat p_0(x)\) and \(\hat p_1(x)\), form \(q^*(x)\), and clip it to \([q_{\min},q_{\max}]\).
5
Randomize and record.
Generate the assignment using the bounded probability, then retain that probability, the model version, profile, and trial history needed to reproduce the decision.

If outcomes arrive with delay, the update must use only outcomes actually available at that time; otherwise the design implicitly uses information it did not have. The update schedule also matters. Updating after every outcome and updating in prespecified batches are distinct policies, even if they use the same model and target equation.

Worked Example: Assign the Next Lower-Risk Participant

Use the first-update estimates above and suppose the next participant has \(X=0\). Their raw target is \(0.6667\), within the bounds \([0.25,0.75]\), so the treatment assignment probability remains \(q(0)=0.6667\). If the random-number generator produces \(U=0.63\), and the implementation assigns treatment when \(U\le q(0)\), this participant is assigned to treatment because \(0.63\le0.6667\). If \(U=0.81\), the participant would instead be assigned to control because \(0.81>0.6667\). The model determines the probability, while the random draw determines this participant's assignment.

The assignment itself does not change the fitted model. If the participant's binary outcome later becomes available, it can enter the next scheduled update. In particular, the design must not use this participant's unobserved outcome to choose their own assignment.

Worked Example: Update Targets After More Outcomes

Worked Example: Update Targets After More Outcomes

Suppose, hypothetically, that by the next planned update each of the four cells has received five additional participants. In the lower-risk profile, control has 1 success among 5 new participants and treatment has 3 among 5. In the higher-risk profile, control has 0 among 5 and treatment has 4 among 5. Adding these to the first-stage counts gives cell totals of 3/15, 7/15, 5/15, and 11/15 for lower-risk control, lower-risk treatment, higher-risk control, and higher-risk treatment, respectively. Each cell still has successes and failures, so the saturated logistic fit has finite estimates.

The updated predictions are \(3/15=0.2000\) and \(7/15=0.4667\) for lower-risk control and treatment, and \(5/15=0.3333\) and \(11/15=0.7333\) for higher-risk control and treatment. The new raw targets are

$$ q^*(0)=\frac{0.4667}{0.4667+0.2000}=0.7000, \qquad q^*(1)=\frac{0.7333}{0.7333+0.3333}=0.6875. $$

Both lie between 0.25 and 0.75, so both remain unchanged. The higher-risk target has risen from 0.5833 to 0.6875 because the newly observed cell proportions changed the fitted predictions. This does not establish that treatment truly benefits this profile more; it records how this particular model-based rule reacts to the observed data.

Worked Example: Why the Bounds Matter

Worked Example: Why the Bounds Matter

Suppose a later fit for a particular profile predicts \(\hat p_1(x)=0.90\) and \(\hat p_0(x)=0.10\). The raw target is

$$ q^*(x)=\frac{0.90}{0.90+0.10}=0.90. $$

With bounds \([0.25,0.75]\), the actual assignment probability is \(q(x)=\min(0.75,\max(0.25,0.90))=0.75\). Treatment is favored, but control still has probability \(1-0.75=0.25\). Reporting 0.90 as the assignment probability would be incorrect: it is the unbounded target, not the probability used by the randomization procedure.

Diagnostics, Alternatives, and Limitations

The design depends on both a model and a randomization mechanism. Useful checks include confirming that fitted probabilities are finite and within \([0,1]\), that all assignments use probabilities inside the prespecified bounds, that the model converges at each update, and that the recorded probability matches the calculation from the recorded model version and profile. Review cell counts and prediction calibration by arm and profile; sparse data, separation, or persistent prediction errors can make adaptive targets unstable or misleading.

If a model fails to converge or a profile has insufficient information, the algorithm needs a prespecified fallback, such as retaining the previous valid model or using a fixed randomized probability until fitting is possible. Choosing a fallback after seeing which arm looks favorable can change the design in an outcome-dependent way. Likewise, unplanned covariate recoding or changing the interaction structure during the trial makes the allocation rule difficult to interpret and reproduce.

ApproachHow assignments are guidedKey distinction
Fixed randomizationUses a prespecified probability, often one half, regardless of observed outcomes.Does not adapt to fitted response probabilities.
MinimizationUses covariate information and existing assignments to reduce imbalance on selected factors.Targets covariate balance rather than predicted response.
Covariate-adjusted response adaptationUses a fitted outcome model to set profile-specific assignment probabilities.Responds to observed outcomes through model predictions; bounded probabilities retain randomization.

The policy does not guarantee exact covariate balance, nor does a favorable model prediction guarantee a better outcome for a future participant. Early estimates can be noisy, and the bounded randomization deliberately sacrifices some degree of response-based allocation to retain assignment to both arms. The chosen target is one defensible rule among alternatives; a design aimed at a different objective, such as allocation for a specified variance criterion, would require a different target formula.

Common mistake: Treating the fitted success probability as the assignment probability. If \(\hat p_1(x)=0.70\), the treatment assignment probability is not automatically 0.70. First calculate the prespecified target from both arms' predictions, then apply the bounds. For example, if \(\hat p_0(x)=0.50\), the target here is \(0.70/(0.70+0.50)=0.5833\), not 0.70.

Check Your Understanding

Answer each question, then compare with the solutions below.

  1. For a profile with \(\hat p_1=0.60\) and \(\hat p_0=0.40\), calculate the raw target and the bounded probability under bounds \([0.25,0.75]\).
  2. For a raw target of 0.10 and the same bounds, what are the actual treatment and control assignment probabilities?
  3. Why must the next participant's covariates be known before calculating their assignment probability, and why must their outcome not be used for that assignment?
  4. Name two diagnostics or safeguards that address unstable model-based targets.

Solutions. 1. \(q^*=0.60/(0.60+0.40)=0.6000\), which is already within the bounds, so \(q=0.6000\). 2. The raw target is clipped to \(q=0.25\); treatment probability is 0.25 and control probability is \(1-0.25=0.75\). 3. The covariates identify the participant's profile-specific predictions, while the outcome is not yet observed at assignment and cannot legitimately inform that participant's own assignment. 4. Examples include checking convergence and cell counts, checking calibration by profile and arm, and specifying in advance a fixed-randomization or previous-valid-fit fallback when estimation fails.

Clinical Biostats