Why Check a Calibrated Design by Simulation?
Group sequential boundaries are calibrated so that, under the null hypothesis, the probability of first crossing at each look matches the intended alpha spending. Numerical calibration can be accurate and still be implemented incorrectly in software: a simulation check provides an independent way to examine the resulting boundary vector and the code that applies it. It is a check, not a replacement for calibration or a guarantee that the study will have its planned operating characteristics under every possible data-generating process.
This tutorial focuses on a null simulation for an efficacy design. It checks whether simulated first-crossing probabilities agree with the theoretical targets and whether their cumulative total agrees with the intended type I error. The simulation must reproduce the design’s information times, null distribution, boundary rule, and stopping rule. A mismatch in any of these can make an apparently precise simulation answer the wrong question.
Model, Targets, and Simulation Events
Consider \(K\) planned looks at increasing information times \(0<t_1<\cdots<t_K=1\), with an upper efficacy boundary \(b_j\) at look \(j\). Under the canonical large-sample null model, the standardized test statistics have mean zero, variance one, and correlation \(\operatorname{Corr}(Z_i,Z_j)=\sqrt{t_i/t_j}\) for \(i<j\). Equivalently, the underlying information-scaled process has independent increments. This model presumes the information times and analysis rule in the simulation are the ones used to calibrate the design. A one-sided upper-boundary rule stops for efficacy at the first look with \(Z_j\ge b_j\); no futility rule is included here.
The increment \(\delta_j\) is an unconditional probability under the null, not the probability of crossing at look \(j\) given survival to that look. The first-crossing events are mutually exclusive: one simulated trial can contribute to at most one look-specific event. A path that has crossed stops contributing at later looks, even if the simulated statistic would subsequently fall below a boundary.
One convenient simulation generates independent standard normal increments. With \(Z_1=\varepsilon_1\), where \(\varepsilon_1\sim N(0,1)\), generate for \(j\ge2\)
Each \(Z_j\) is standard normal under \(H_0\), and the recursion gives the canonical correlation structure. In \(N\) independent simulated paths, define \(I_{rj}=1\) if path \(r\) first crosses at look \(j\), and \(I_{rj}=0\) otherwise. The estimated first-crossing probability is \(\hat{\pi}_j=N^{-1}\sum_{r=1}^N I_{rj}\). Its Monte Carlo standard error is estimated by \(\sqrt{\hat{\pi}_j(1-\hat{\pi}_j)/N}\). This quantifies simulation noise in the estimated probability; it does not measure uncertainty in the design’s clinical assumptions or in the theoretical model.
Worked Example: Checking a Three-Look Design
Worked Example: Comparing Look-Specific Results With Spending Targets
Suppose a hypothetical three-look design has information times \(t=(0.25,0.60,1.00)\). Numerical calibration gives cumulative spending \(A(t_1)=0.010\), \(A(t_2)=0.025\), and \(A(t_3)=0.050\). Thus the first-crossing targets are \(0.010\), \(0.015\), and \(0.025\). For this check, the boundary vector is fixed at the values produced by that calibration. A hypothetical simulation of \(N=100{,}000\) independent null paths produces 1,014, 1,478, and 2,526 first crossings at looks 1, 2, and 3, respectively.
The estimates are \(1{,}014/100{,}000=0.01014\), \(1{,}478/100{,}000=0.01478\), and \(2{,}526/100{,}000=0.02526\). For look 2, for example, the estimated Monte Carlo standard error is
The corresponding standard errors for looks 1 and 3 are approximately \(0.000317\) and \(0.000496\). The differences between estimates and targets are \(0.00014\), \(-0.00022\), and \(0.00026\). Each difference is less than one estimated Monte Carlo standard error in magnitude, so these results show no conspicuous discrepancy from the incremental targets.
For a cumulative check, the first two counts sum to \(2{,}492\), giving \(0.02492\) through look 2, compared with the target \(0.025\). All first crossings sum to \(5{,}018\), giving \(0.05018\) overall. The estimated standard error for this final cumulative probability is
The cumulative difference, \(0.00018\), is small relative to that Monte Carlo standard error. The conclusion is limited: this run is consistent with the targets within its simulation precision. It does not prove the design is calibrated exactly.
Why the Monte Carlo Standard Error Applies
For a fixed look \(j\), each simulated path either belongs to \(E_j\) or does not. Under independent simulation, \(I_{rj}\) is a Bernoulli random variable with probability \(\pi_j=P(E_j\mid H_0)\). Therefore \(E(\hat{\pi}_j)=\pi_j\), and
Replacing the unknown \(\pi_j\) by \(\hat{\pi}_j\) gives the estimated standard error used above. The same argument applies to a cumulative event, such as “crossed by look \(j\),” by using one indicator per path. In contrast, look-specific first-crossing indicators from the same path are not independent: they are mutually exclusive and their estimates are negatively related. Do not treat the separate look-specific estimates as independent when interpreting their joint pattern.
Worked Example: Interpreting a Small First-Look Difference
Worked Example: Monte Carlo Precision With 10,000 Paths
In a hypothetical null simulation, 92 of \(N=10{,}000\) paths first cross at look 1. The estimated probability is \(\hat{\pi}_1=92/10{,}000=0.0092\). Suppose the calibrated first-look target is \(0.0100\). The estimated Monte Carlo standard error is
The estimate is \(0.0092-0.0100=-0.0008\) below target, or about \(0.0008/0.000955=0.84\) standard errors below. Such a difference is quite compatible with ordinary Monte Carlo variability. It is not persuasive evidence by itself that the boundary is wrong. If the discrepancy persisted over larger independent runs, or appeared alongside other diagnostic failures, further investigation would be warranted.
Worked Example: Checking the Dependence Between Looks
Worked Example: The Correlation Implied by Information Times
Suppose a hypothetical design has \(t_1=0.20\), \(t_2=0.55\), and \(t_3=1.00\). Under the canonical null model, the expected correlations are
A useful diagnostic is to generate many null paths before applying boundaries and compare the simulated correlations with these values. They will not match exactly in a finite run, but large systematic departures suggest a problem with the increment recursion, information-time inputs, or random-number generation. In particular, generating a fresh independent \(N(0,1)\) statistic at every look would give correlations near zero, contrary to the assumed joint null distribution. Boundary-crossing estimates from such independent statistics would not validate the intended spending design.
Designing a Useful Simulation Check
The number of paths should be chosen in light of the probability being checked and the precision needed. For a target probability near \(p\), the approximate standard error is \(\sqrt{p(1-p)/N}\). For example, to target an estimated standard error of at most \(0.0005\) for an overall crossing probability near \(0.05\), use
This is a planning approximation; the realized standard error can be reported using the simulated probability. Very small incremental targets may need many more paths for a comparably precise estimate. If no paths cross at a look, the plug-in standard error is zero, but that does not establish that the true probability is zero. Increase \(N\), or use an appropriate interval for a binomial probability, rather than interpreting zero observed crossings as certainty.
For a sound check, use the same boundary direction, exact stopping rule, information times, and null model as in calibration. Simulate independent trial paths, record the first crossing only, and retain the no-crossing category as well. The category counts, including no crossing, should sum to \(N\). Report both incremental and cumulative results: incremental checks can reveal that error is allocated to the wrong look even when the final total happens to be close to \(\alpha\).
Theoretical numerical integration and simulation answer related but distinct checking needs. Numerical integration evaluates crossing probabilities under the specified joint distribution without Monte Carlo sampling error, subject to integration accuracy. Simulation is flexible and can independently test the implementation of a path generator and stopping rule, but its estimates have Monte Carlo error and can miss small discrepancies if \(N\) is too low. Agreement between the two is reassuring; disagreement calls for checking the model inputs, event definitions, calibration tolerance, and simulation code before drawing a conclusion.
Common Mistakes and Limitations
- Comparing the wrong quantities. Compare first-crossing probability at look \(j\) with the incremental target \(\delta_j\), and compare probability of crossing by look \(j\) with cumulative spending \(A(t_j)\). Do not compare both quantities with the same target.
- Simulating independent test statistics at different looks. The statistics are correlated under the canonical model. Use independent increments to generate the path, not independent \(Z_j\) values.
- Ignoring Monte Carlo uncertainty. A small difference from target is expected in a finite run. Report standard errors or intervals and assess the difference against the simulation precision.
- Counting repeated crossings. The design stops at the first crossing. Counting a path again at later looks changes the estimand and can inflate the apparent total.
- Using the wrong null model or analysis schedule. A check under a canonical fixed-information model does not automatically verify a design with different information-time behavior, a different test statistic, or additional stopping rules.
Simulation is therefore a diagnostic, not a universal proof of error control. It checks the operating characteristics of the simulated design under the chosen null model; it cannot establish that the model is appropriate, that a clinically relevant alternative has adequate power, or that unmodeled operational features have no effect.
Check Your Understanding
Answer each question, then compare with the solutions below.
- A design has cumulative spending \(0.008\), \(0.020\), and \(0.050\) at three looks. What are the incremental first-crossing targets?
- Why is a simulation that generates independent standard normal \(Z\)-statistics at all looks generally unsuitable for a canonical group sequential design?
- In \(N=40{,}000\) simulated paths, 800 cross by look 2. Estimate the cumulative probability and its Monte Carlo standard error.
- Why can a zero estimated probability at one look not be treated as proof that the true first-crossing probability is zero?
Solutions. (1) The increments are \(0.008\), \(0.020-0.008=0.012\), and \(0.050-0.020=0.030\). (2) The canonical statistics are correlated, with \(\operatorname{Corr}(Z_i,Z_j)=\sqrt{t_i/t_j}\); independent statistics impose the wrong joint null distribution and can change crossing probabilities. (3) The estimate is \(800/40{,}000=0.020\), and its estimated standard error is \(\sqrt{0.020(0.980)/40{,}000}=0.000700\). (4) A finite simulation can miss a rare event by chance. The zero plug-in standard error is not evidence of zero true probability; more paths or an interval for the probability are needed.