This page describes how Sia turns the data so far into forecasts: the simulated trials, the two submodels, borrowing from historical trials, how a new indication is set up, and validation. The manuscript gives the full specification.
Each forecast comes from simulating every patient forward from the data so far, thousands of times, which gives thousands of simulated completed trials. A statement such as “a 70% probability the benefit exceeds 2 months” means that the benefit exceeds 2 months in 70% of the simulated trials. The result is the full set of simulated outcomes. The set is wide for two reasons: patients differ from each other, and the data so far is consistent with more than one set of parameter values.
Formally, the simulated trials are draws from the posterior predictive distribution.1
Most interim forecasting methods work on the endpoint directly. They estimate a hazard from the events observed so far2 and extrapolate the survival curve.3 Sia instead models each patient's disease burden over time and derives progression and death from it. A patient with four recorded assessments adds little to an event count, but a lot to an estimate of their burden trajectory.
The two submodels are fitted jointly, as in joint models for longitudinal and time-to-event data.4–6 The burden trajectory provides covariates for the multistate submodel, and the event data also informs the trajectory. Progression and death are states in the multistate submodel, so progression-free and overall survival come from the same simulated trials and are consistent with each other.7 When an indication includes a state for leaving the trial, that state is forecast as well. The overview diagram shows how the pieces connect.
The mechanistic submodel, drawn for one illustrative patient. At the start of treatment, a share of the disease burden shrinks at rate and the rest grows at rate . Their sum falls to a nadir and then regrows. Each patient has their own , and , partially pooled across patients, arms and trials. An indication can also be set up so that regrowth slows over time. In the small-cell lung cancer and colorectal case studies, the burden is the sum of the longest diameters of the target lesions. The prostate case study uses PSA, and the pancreatic case study fits tumor size and CA19-9 to one burden. In the small-cell lung cancer case study, progression on the target edge of the multistate submodel is the time the forecast burden passes 20% above its nadir. RECIST 1.1 uses the same 20% threshold, together with an absolute increase of at least 5 mm.8
The states of the multistate submodel and the transitions between them.9 A patient can progress in two ways. On the target edge, progression follows the RECIST rule applied to the forecast tumor burden of the target lesions. On the non-target edge, progression comes from a hazard that covers new and non-target lesions. Each indication sets which edges it uses. In the small-cell lung cancer case study, a progression can come from either edge. In the colorectal case study, both edges are hazards that follow the reader's recorded call, one for target lesions and one for non-target and new lesions, and a further state covers patients who stop treatment before progression. Each case study page shows its own states and transitions.
Each patient's disease burden follows a bi-exponential curve of decline and regrowth. It extends the bi-exponential form of Stein and colleagues.10 The current burden and growth rate enter the multistate submodel as time-varying covariates.
Parameters are partially pooled across patients, arms and trials.1 The amount borrowed from a historical trial is estimated from the data. When the trials disagree, Sia borrows less and the intervals are wider. Related methods include power priors, commensurate priors and robust meta-analytic-predictive priors.11–13
Each indication is described by a declaration: its states and transitions, its priors and how its data is read. Moving to a new indication or biomarker usually means writing a new declaration and new data handling rather than changing Sia's core code. Some indications also need new code, for example for several biomarker channels.
Forecasts are checked by leave-future-out validation.14 Sia is fitted at an earlier cut-off and scored against the data that arrived after it. The test suite also evaluates the log density at fixed parameter values and compares the result with recorded baselines. The tests flag any code change that alters it. Each case study's diagnostics page also compares survival replicated from each fit with the observed data, and shows a PIT histogram per endpoint and arm.