Forecasting a Trial Before It Finishes

A Bayesian joint model that uses tumour scans as survival evidence

Karim Naguib

2026-07-30 (last updated 2026-09-21)

NoteThese results are updated as the model improves

The model is under active development, and the figures and numbers in this post are regenerated from its current version. They may shift slightly between updates and will not always match the preprint, which is updated less often. The “last updated” date above shows when this post was last regenerated.

We have a new paper out: PIONEER: Bayesian Joint Modelling of Mechanistic Tumour Growth and Time-to-Event Endpoints for Dynamic Prediction of Ongoing Oncology Trials. This post is the plain-language version. It covers what the model is, what we ran it on, and what it did.

The interim decision

Around the middle of a Phase 2 oncology trial, a team has to decide whether to keep going. The difficulty is structural. The decision rests on progression-free survival and overall survival. Both endpoints measure how long patients go without progressing or dying, so at an interim look most patients’ outcomes are still unfolding. A patient with nothing recorded yet is not known to be doing well. We have not followed them long enough to say. Any median is a long way off, and the primary endpoint may not read out for another year or more.

Waiting has a cost, and so does guessing. Teams use what is available: a p-value on immature data, a comparison against a historical control, or an assumed effect size and a conditional-power calculation. None of these fully answers the actual question, which is what the trial will look like when it finishes.

The evidence already in hand

This observation motivated the paper. At every interim cut-off, the trial holds a dense, information-rich record that a survival analysis almost entirely discards.

Patients are scanned on a schedule. Each scan yields a sum of longest diameters, a number for how much tumour is present. Over months, each patient accumulates a trajectory. A conventional interim analysis compresses that trajectory into a single fact: “progressed at week 14” or “not yet progressed”. Six measurements tracing a tumour shrinking, bottoming out, and starting to regrow become one event indicator and one date.

The shape of the trajectory indicates where a patient is heading. Consider a tumour still shrinking at last contact and one that bottomed out three months ago and has been climbing since. These two patients are in very different positions. A survival model that sees only “no event yet” treats them identically.

The model, in three pieces

The framework couples three components and fits them simultaneously, under a single posterior. The simultaneous fit is the central design choice.

Tumour dynamics. A mechanistic state-space submodel infers each patient’s latent tumour trajectory from their sparse, noisy scan measurements. It is a two-component decomposition: tumour burden is split into a treatment-responsive compartment that shrinks under therapy and a refractory compartment that does not. Growth is Gompertz-attenuated, so regrowth slows as burden accumulates instead of growing exponentially. The familiar shrink-then-regrow curve is not imposed. It emerges when the two compartments cross over.

Clinical events. A multistate proportional-hazard submodel handles the events that happen to patients: progression, death with and without prior progression, and dropout. It treats them as transitions between states, not as a single lumped endpoint. The latent tumour trajectories enter this submodel as time-varying covariates. The hazard therefore responds to where a patient’s tumour is going, in addition to their baseline risk factors.

One joint fit. Information flows in both directions. Latent trajectories drive the hazards, and the event data simultaneously sharpen the tumour dynamics through the shared likelihood. A patient who progresses tells the model something about their tumour trajectory.

This two-way flow distinguishes the approach from the standard two-stage pharmacometric workflow. In that workflow you fit tumour kinetics first, extract summary statistics (growth rate, time to nadir, week-8 burden), and plug them into a survival model as though they were measured without error. Two-stage inheritance discards the uncertainty in stage one and attenuates the association in stage two. Fitting jointly avoids both problems. The cost is a considerably harder posterior.

Every endpoint (PFS, OS, objective response rate) is then derived from that single joint posterior in one forward simulation pass. There are no separate models to reconcile after the fact. One model is simulated forward, with full parameter uncertainty carried through.

Figure 1: The three pieces and how they connect. Patient-level inputs on the left feed both submodels; the latent tumour states cross into the hazard as time-varying covariates (centre); every endpoint on the right comes off the same posterior. The dashed arrow back from the events is the joint likelihood. A two-stage workflow does not have this link.

The data

The case study is first-line extensive-stage small-cell lung cancer. It uses two completed trials obtained through Project Data Sphere, which makes de-identified trial data available to registered researchers, so the analysis can be checked independently.

Trial Role N
Target Lilly CXCR4 (I2V-MC-CXAC) the trial being forecast 78
Historical Amgen 20010145 (darbepoetin alfa) the trial borrowed from 419

The design is a retrospective replay. Both trials are finished, so we know the answer. The model is re-fit at successive historical cut-offs, given only the data that existed at that moment, and its forecast is compared against the mature result it had not yet seen. This is leave-future-out cross-validation. Adapting it to this setting is fiddly, so I wrote a separate post about it.

Figure 2: Observed tumour burden over time, both trials. The line is the median sum of longest diameters across patients in each six-week window; the band spans the middle half of patients. Windows with fewer than ten patients are not shown. Both trials show the same steep early decline and flattening. Later regrowth is less visible here than in individual patients, because patients who progress stop contributing scans. The shared shape is the empirical basis for pooling growth kinetics across the trials.

Nine patients cannot determine a survival curve on their own. The 419 historical patients fill that gap. Growth kinetics are partially pooled across both trials. The degree of borrowing is learned from the data, not fixed in advance. The target trial’s own patients still decide the final answer. The historical trial supplies the shape of the process.

Results

The first result is one level below the survival curves. The mechanistic submodel produces a trajectory for each patient and continues it past the patient’s last measurement.

Figure 3: Model-inferred tumour burden for twelve patients still progression-free at their last scan, three from each arm of the two trials (rows). Teal is the model’s fit over the observed phase, up to each patient’s last measurement; terracotta is its forecast beyond it, fading out where the model expects progression. Bands are 50% and 80% credible intervals. The raw scan values and axis scales are omitted under the data-use terms; each panel runs from zero at the start of treatment.

The survival forecasts depend on this step. Each of these patients is censored (no progression recorded), so a conventional analysis says nothing about them beyond “still enrolled”. The model carries each one forward with an explicit uncertainty band. Those simulated trajectories drive the hazard, and the hazard produces the survival curve below.

The next figure shows the retrospective replay for progression-free survival. Each column is a cut-off, labelled with how many target-trial patients had enrolled by then.

Figure 4: Progression-free survival by treatment arm (rows). The first column is the forecast from the historical trial alone, before any target-trial patient is seen. The next three are successive cut-offs (months 4, 11 and 19), each labelled with the target-trial patients observed by then. The last column is the same estimand fit to complete data. The dashed line is the mature Kaplan-Meier curve.

The first column shows how much the historical trial contributes. With no target-trial patients at all, the forecast already runs close to the mature curve in both arms. The borrowed shape does much of the work.

At month 4, with nine patients enrolled, the forecast already follows the mature Kaplan-Meier curve, the dashed line. The model had not seen that curve and would not see it for another fifteen months. By month 11, at 39 patients, both arms track it closely. The medians make this easier to read:

Figure 5: Median PFS by arm at each cut-off. Vertical bar: the observed mature value.
Figure 6: Median OS by arm at each cut-off. Same encoding.

For median PFS, both month-4 intervals contain the mature value, and from month 11 the intervals are within about half a month of it. For median OS, both intervals contain the mature value at month 4 and at month 11, about eight months before OS read out. The OS intervals are wider than the PFS intervals throughout. This is expected. OS routes through progression, direct death, and dropout, and the forecast carries all three.

What this does and does not show

Coverage is not the same thing as a decision. The month-4 median intervals contain the truth, which says the model was not wrong. It does not say the model was useful at month 4. An OS interval running from about six months to two years is consistent with several conclusions at once. A decision needs an interval narrow enough to separate “keep going” from “stop”, and at month 4 the OS interval is not. Read properly, the month-4 result says to wait.

This behaviour is a property of the model, not an accident. Uncertainty about the tumour parameters, the hazards, and where each unfinished trajectory is heading is carried through the same posterior into the endpoint. Sparse or uninformative data therefore produce a wide band. The month-4 OS interval is the model reporting that nine patients do not determine a survival curve. The width of the band is the diagnostic, and it appears in the same picture as the answer.1

The value of the approach is knowing, at every cut-off, which conclusions the data currently support and which they do not. The model reports this on the endpoint’s own scale, in months of survival, instead of as a single probability of success.

The usual interim tools differ from each other on this point. Conditional power gives the chance of a significant result at the final analysis given an assumed treatment effect. That assumption then becomes the subject of debate, because the answer moves with it. Bayesian predictive probability of success improves on this. It integrates over the posterior for the effect instead of fixing it. Both methods, however, reduce the picture to one number relative to a pre-specified success threshold. Forecasting the mature curve keeps the estimate and the threshold separate. The model says where the endpoint is heading and how uncertain that is. The position of the go/no-go line remains an explicit statement of risk tolerance. That choice belongs to the stakeholder, not the model.

The main limitation is scope: one indication, two trials, one retrospective replay. This is evidence that the approach works. It is not evidence about how well it works in general. Extensive-stage SCLC is a fast-moving disease with a strong tumour-burden signal, which makes it a comparatively favourable setting.

The next question is whether the approach holds up elsewhere. A second application, in a different disease with a different set of trials, is in progress. Results will follow in a later post.

Where to go next

The paper has the full specification: the state-space formulation, the multistate hazard structure, the hierarchical priors, and the cross-validation methodology. For the cross-validation piece on its own, the LFO post works through what breaks when you take a method built for univariate time series into a setting with staggered enrolment and two different observation clocks.

I would be glad to hear from anyone working on something structurally similar: a latent mechanistic process generating both a longitudinal measurement stream and an event stream, with actors entering at different times. The same skeleton applies outside oncology.

Acknowledgment

This publication is based on research using information obtained from www.projectdatasphere.org, which is maintained by Project Data Sphere. Neither Project Data Sphere nor the owner(s) of any information from the web site have contributed to, approved or are in any way responsible for the contents of this publication.

Footnotes

  1. This has one important limit. Wide intervals reflect the uncertainty the model can see: parameter uncertainty and predictive variability given its structure. They do not reflect the possibility that the structure itself is wrong. A misspecified mechanism can be confidently mistaken, producing narrow bands around the wrong curve, and nothing internal to the posterior will show it. For that reason the retrospective replay above is important. It is an external check, on data the model had not seen, that the intervals mean what they claim.↩︎