Why Pool Response Information Across Indications?
A basket trial evaluates one treatment in several diseases, molecular subtypes, or other indications. The response endpoint may be defined in the same way for each indication, yet the response rates need not be identical. An analysis that estimates every rate independently avoids cross-indication borrowing, but can be imprecise when each indication has few patients. At the other extreme, treating all indications as having one common response rate can obscure genuine differences.
A hierarchical model provides an intermediate approach. Here, each indication has its own response rate, while a shared latent mixture component informs the prior distribution of those rates. Evidence from all indications updates the shared component, so data in one indication can influence another’s estimate. The amount and direction of that influence depend on the model and on the observed data; borrowing is not automatically beneficial.
We will use a deliberately small, finite-mixture model so every calculation can be followed directly. The binary endpoint is response or no response. For indication \(j\), let \(x_j\) be the number of responses among \(n_j\) patients, and let \(p_j\) be its response probability. We call a response rate clinically meaningful when it exceeds \(0.30\); this is an illustrative decision threshold, not a universal clinical standard.
Model and Assumptions
Let \(K\) be a shared latent component taking values 1, 2, and 3. Its prior probabilities are \(0.25, 0.50,\) and \(0.25\). Conditional on \(K\), the indication-specific response rates are independent draws from the corresponding beta distribution. Conditional on those rates, patient outcomes are independent Bernoulli observations within and across indications.
The component distributions are \(\operatorname{Beta}(1,3)\), \(\operatorname{Beta}(2,2)\), and \(\operatorname{Beta}(3,1)\), respectively. They represent prior distributions with differing locations for the response rate. Conditional on \(K\), each indication still has a separate \(p_j\); a shared component does not mean that the indication-specific rates are equal. We assume the endpoint definition, follow-up, response assessment, and patient eligibility are sufficiently comparable for this borrowing structure to be defensible.
The beta-binomial calculation has two parts. First, integrate \(p_j\) out of the binomial likelihood to obtain the probability of that indication’s observed count under each component. Second, update the component probabilities using the likelihoods from all indications. For a beta prior, the marginal probability of \(x\) responses among \(n\) patients is \(\binom{n}{x}B(a+x,b+n-x)/B(a,b)\), where \(B\) is the beta function.
Worked Basket-Trial Data
Suppose, purely hypothetically, three indications each enroll two patients. Indication A has two responses, indication B has one response, and indication C has no responses. The small sample sizes make the distinction between borrowing and no borrowing visible.
| Indication | Responses \(x_j\) | Patients \(n_j\) | Observed response proportion |
|---|---|---|---|
| A | 2 | 2 | 1.00 |
| B | 1 | 2 | 0.50 |
| C | 0 | 2 | 0.00 |
Worked Example: Component Likelihoods for the Three Indications
For \(n=2\), calculate the probability of each observed count under each beta component. Under a \(\operatorname{Beta}(a,b)\) distribution, the required predictive probabilities are \(E[p^2]\) for two responses, \(2E[p(1-p)]\) for one response, and \(E[(1-p)^2]\) for zero responses.
For component 1, \(p\sim\operatorname{Beta}(1,3)\). Its mean is \(1/4\), and its second moment is \(1(2)/(4(5))=0.10\). Thus the likelihood for A is \(0.10\). The likelihood for B is \(2(1)(3)/(4(5))=0.30\), and for C it is \(3(4)/(4(5))=0.60\).
For component 2, \(p\sim\operatorname{Beta}(2,2)\). The corresponding likelihoods are \(2(3)/(4(5))=0.30\) for A, \(2(2)(2)/(4(5))=0.40\) for B, and \(2(3)/(4(5))=0.30\) for C.
For component 3, \(p\sim\operatorname{Beta}(3,1)\). The likelihoods are \(3(4)/(4(5))=0.60\) for A, \(2(3)(1)/(4(5))=0.30\) for B, and \(1(2)/(4(5))=0.10\) for C. The likelihoods by component are therefore A: \((0.10,0.30,0.60)\), B: \((0.30,0.40,0.30)\), and C: \((0.60,0.30,0.10)\). These are probabilities of the observed counts under the components, not posterior component weights.
Updating the Shared Component
Because the indications are conditionally independent given \(K\), their marginal likelihoods multiply when updating the shared component. The posterior probability of component \(k\) is proportional to its prior probability times the product of the three component likelihoods. This step is the mechanism that allows information from every indication to affect the posterior for every \(p_j\).
Worked Example: Posterior Weights Under Partial Pooling
Using the component likelihoods above, the unnormalized weights for \(K=1,2,3\) are \(0.25(0.10)(0.30)(0.60)=0.0045\), \(0.50(0.30)(0.40)(0.30)=0.0180\), and \(0.25(0.60)(0.30)(0.10)=0.0045\).
The normalizing constant is \(0.0045+0.0180+0.0045=0.0270\). Consequently, the posterior weights are \(0.0045/0.0270=1/6\), \(0.0180/0.0270=2/3\), and \(0.0045/0.0270=1/6\). The data collectively favor component 2, but both other components retain positive posterior probability.
Within each component, conjugacy gives \(p_j\mid K=k,\mathbf{x}\sim\operatorname{Beta}(a_k+x_j,b_k+n_j-x_j)\). The component-specific posterior probabilities of exceeding 0.30 are as follows. For A, they are \(0.83692, 0.96922,\) and \(0.99757\); for B, \(0.52822, 0.83692,\) and \(0.96922\); and for C, \(0.16807, 0.52822,\) and \(0.83692\). These values are beta-distribution tail probabilities, \(P(p_j>0.30\mid K=k,\mathbf{x})\). For example, A under component 1 has posterior \(\operatorname{Beta}(3,3)\), whose probability above 0.30 is \(0.83692\).
Worked Example: Pooled Posterior Probability for Indication A
For A, average its three component-specific tail probabilities using the shared posterior weights \(1/6, 2/3,\) and \(1/6\):
Thus, under this model and these hypothetical data, the posterior probability that A’s response rate exceeds 30% is approximately 0.9519. This is a probability statement about the parameter conditional on the model and observed data; it is not a frequentist confidence statement, nor does it by itself establish clinical benefit.
How Much Does Pooling Change the Results?
A useful benchmark is a no-pooling analysis with the same component priors, but a separate component indicator \(K_j\) for each indication. In that model, each indication updates its own mixture weights using only its own data. The component-specific beta posteriors are unchanged; what changes is the set of weights used to average their tail probabilities.
Worked Example: No-Pooling Calculation for Indication A
For A alone, multiply its likelihoods by the prior weights: \(0.25(0.10)=0.025\), \(0.50(0.30)=0.150\), and \(0.25(0.60)=0.150\). Their sum is \(0.325\), so the locally updated component weights are \(1/13, 6/13,\) and \(6/13\).
Applying those weights to A’s component-specific tail probabilities gives \((0.83692+6(0.96922)+6(0.99757))/13=12.63766/13=0.97213\). The no-pooling posterior probability is therefore approximately 0.9721, higher than the partially pooled value of 0.9519. The data from B and C shift the shared component weights away from the weights A would select on its own.
The same calculation can be made for B and C. In the no-pooling model, B’s unnormalized weights are \(0.075, 0.200,\) and \(0.075\), summing to \(0.350\), so its weights are \(3/14, 8/14,\) and \(3/14\). For C they are \(0.150, 0.150,\) and \(0.025\), summing to \(0.325\), so its weights are \(6/13, 6/13,\) and \(1/13\). The resulting comparison is:
| Indication | Posterior probability with partial pooling | Posterior probability with no pooling |
|---|---|---|
| A: \(p_A>0.30\) | 0.9519 | 0.9721 |
| B: \(p_B>0.30\) | 0.8075 | 0.7991 |
| C: \(p_C>0.30\) | 0.5196 | 0.3857 |
Worked Example: Checking the No-Pooling Calculation for Indication C
C has zero responses, so its component tail probabilities are \(0.16807, 0.52822,\) and \(0.83692\). Its local weights are \(6/13,6/13,\) and \(1/13\), not its original prior weights. Therefore, \((6(0.16807)+6(0.52822)+0.83692)/13=5.01466/13=0.38574\).
With partial pooling, the same component tail probabilities are averaged using the shared weights \(1/6,2/3,\) and \(1/6\), giving \((0.16807+4(0.52822)+0.83692)/6=0.519645\). The observed zero responses in C are tempered by the evidence from A and B through the shared component. This change is model-based borrowing, not a change in C’s observed data.
Derivation, Checks, and Practical Interpretation
The posterior averaging formula follows from the law of total probability. Since \(K\) is a discrete latent variable, partition the event \(p_j>0.30\) by the possible values of \(K\):
Each term has a distinct role: the first factor is the beta posterior tail within one component, and the second is the posterior probability of that component after combining the indication-level likelihoods. The expression is a weighted average, so it must lie between the smallest and largest component tail probabilities. This provides a simple arithmetic check on a reported result.
The partial-pooling and no-pooling results are not guaranteed to move in the same direction. A and C move toward values implied by the shared evidence, while B changes only modestly. Pooling can raise or lower an indication’s posterior probability depending on how its local evidence compares with the evidence contributing to the shared component. The calculation answers a model-conditional question; a posterior probability above a chosen cutoff is not, on its own, a regulatory conclusion or a substitute for considering safety, durability, and clinical context.
Diagnostics should focus on whether the model can reproduce the observed pattern, not only on the final posterior probabilities. Review prior predictive implications for response counts in each indication, and compare posterior predictive counts with the observed \(2,1,0\) pattern. A model that repeatedly predicts similar counts across indications, for example, may fail to represent the observed contrast. Also examine sensitivity to the component distributions, their prior weights, and the threshold defining benefit. With only two patients per indication, apparently precise differences between model specifications should be treated cautiously.
The main alternatives answer different questions. No pooling gives each indication an independent prior update and avoids cross-indication borrowing, but leaves the estimates weakly informed in small samples. Complete pooling would assign a single common response rate to all indications; it can be more precise under genuine equality but does not preserve indication-specific rates. The hierarchical mixture used here retains distinct rates while linking them through \(K\). It is still only one possible partial-pooling specification: a continuous hierarchical model could use a distribution of indication-specific rates with estimated hyperparameters, while robust or mixture extensions could reduce borrowing when indications are poorly aligned.
Common Mistakes and Limitations
- Using the prior weights after observing data. The pooled posterior weights use the likelihood product across indications. In the no-pooling benchmark, each indication’s weights are updated using its own likelihood; neither calculation generally retains the initial weights.
- Confusing component likelihoods with posterior weights. Values such as 0.10 and 0.60 are probabilities of observed counts under a component. They must be multiplied by prior weights and normalized before they can be used to average posterior tail probabilities.
- Calling the posterior probability a probability that the null is true. The quantity here is \(P(p_j>0.30\mid\mathbf{x})\), conditional on the specified model and data. It is not a probability that a point null hypothesis is true.
- Assuming partial pooling always improves an estimate. Borrowing can stabilize an estimate when indications are suitably related, but can pull an indication in an inappropriate direction when the shared structure is misspecified.
- Interpreting the threshold as universal. The 30% benchmark is hypothetical. Its clinical meaning depends on the disease, available treatments, endpoint, and decision context.
Check Your Understanding
Answer each question, then compare your reasoning with the brief solutions.
- Why are the three indication-specific response rates not equal under the shared-component model?
- What are the pooled posterior weights for the three components in the hypothetical example?
- Calculate the pooled posterior probability that B’s response rate exceeds 0.30.
- Why must C’s no-pooling weights be updated from their prior values?
- Name one assumption that could make borrowing across indications inappropriate.
Solutions. (1) Each \(p_j\) is a separate draw conditional on the shared \(K\); sharing \(K\) links their distributions but does not set the rates equal. (2) The weights are \(1/6,2/3,1/6\), obtained by normalizing \(0.0045,0.0180,0.0045\). (3) B’s pooled probability is \((0.52822+4(0.83692)+0.96922)/6=0.80752\), or approximately 0.8075. (4) In a no-pooling analysis, C’s own likelihood updates its component probabilities by Bayes’ rule; its weights are \(6/13,6/13,1/13\). (5) Borrowing could be inappropriate if the endpoint, follow-up, eligibility, or response-generating process differs materially across indications.