Aniruddha Biswas AI Supply Chain Intelligence
Clinical Trial Supply Chain IntelligenceLife Sciences & Clinical Operations

Clinical Enrollment Forecasting & Site Risk Intelligence

Where enrollment is heading, and how much to trust it

Every enrollment report answers a question about the past. The question that actually drives planning is the one nobody has measured yet: at the current rate, where does this trial land — and how much weight should anyone put on that number?

This experience owns the forward view. It projects enrollment over a six-month horizon, holds the projection against a deliberately naive baseline, evaluates both across successive historical forecast origins rather than one flattering split, and then names the sites contributing most to the risk of missing plan. The method is kept on screen, because a forecast whose evaluation is hidden is just an assertion.

Forward Enrollment OutlookForecast RiskRolling-Origin EvaluationBaseline vs ModelSynthetic Data
Synthetic clinical-trial data onlyNo real patient dataOperational planning, not clinical decisionsSynthetic-data evaluation onlyHuman review required

The Premise

Why forward enrollment intelligence is a separate discipline

Measuring recruitment and projecting recruitment are different jobs with different failure modes. The second one needs a horizon, a baseline, an evaluation and a stated confidence — none of which a performance report is built to carry.

Reporting is backward-facing by construction

An enrollment dashboard tells you what has already been banked. It cannot tell you whether the current trajectory closes the gap, which is the only question a planning decision actually turns on.

A forecast without a baseline is unfalsifiable

Any model produces a number. Whether that number is worth anything only becomes visible when it is scored against something deliberately simple — here, a three-month rolling mean.

One split flatters, many origins do not

A single train/test split can be chosen, consciously or not, to look good. Re-forecasting from successive historical origins removes that freedom and exposes how the method behaves over time.

Risk is a forward property, not a past one

A site that recruited well last quarter can still be the largest contributor to projected shortfall. Forecast risk has to be scored against where the trial is heading, not where it has been.

Scope Within the Family

The forward view is what this experience owns

This is the family’s single owner of forward enrollment forecasting, forecast risk and forecast methodology. Its neighbours own what comes before and after it, and this page deliberately stops at those edges.

This experience owns

  • Forward enrollment trajectory and horizon
  • Baseline-versus-model forecast comparison
  • Forecast methodology and rolling-origin evaluation
  • Model selection and its stated rule
  • Site-level contribution to forecast risk
  • Study-level enrollment exposure against plan
  • Forecast-driven intervention review

This experience does not own

  • Site selection, activation and operational productivity
  • Site profile deep-dives and site ranking
  • Dropout-risk operations and protocol-deviation risk
  • Data-quality monitoring as an operational workflow
  • Country and region operational performance
  • Kit-demand planning, depot inventory and resupply
  • Batch expiry, shipment and cold-chain planning

Upstream — current execution context

Clinical Trial Site Performance Intelligence

Observed site execution is the evidence this forward view is built on. Site ranking and selection, site profiles, dropout and protocol-deviation risk, data-quality monitoring and country or region intelligence live there. This page uses site signals only as forecast-risk inputs.

Downstream — who consumes this outlook

Clinical Supply Planning & Resupply Intelligence

The enrollment outlook produced here becomes a patient-demand signal that the supply experience consumes and translates into kit demand, inventory position and a resupply response. That translation, and everything after it, is not this page’s domain.

Reading this page correctly

Three things stay separate throughout. Observed values are the measured synthetic history. Forecast values are modelled projections beyond the last observed month. Evaluation figures describe how the methods behaved on held-out historical months of this synthetic dataset — they are not validated accuracy and say nothing about performance on a real trial. Site and country identifiers are generated synthetic labels, the dataset holds site-month aggregates rather than patient records, and no patient-level prediction is made or implied.

Decision Framework

Enrollment forecast decision journey

Eight stages, each tagged with what kind of thing it is. The evaluation stage sits deliberately between the forecast and the risk view — because which forecast is operational is decided by evidence, not by preference.

  1. Stage 01Observed enrollmentTwelve historical months of per-site monthly enrollment, screening and dropout activity across the synthetic trial — the measured record, not a projection.Observed
  2. Stage 02Current trajectory vs planEnrolment to date is placed against the trial target so the size of the remaining gap is established before any forward view is drawn.Observed
  3. Stage 03Forecast horizonA six-month forward window is declared explicitly. Everything beyond the last observed month is a projection and is drawn as one.Forecast
  4. Stage 04Baseline forecastA naive per-site three-month rolling mean, held flat across the horizon. Deliberately unsophisticated — its job is to be the thing a model has to beat.Forecast
  5. Stage 05Model forecastA gradient-boosted regressor rolled forward recursively, using its own predictions as the lags for each subsequent month.Forecast
  6. Stage 06Rolling-origin evaluationOne-step-ahead backtesting across successive historical origins, scoring both series on identical held-out rows, with mean absolute error selecting which one becomes operational.Evaluation
  7. Stage 07Site forecast riskSites are scored on six weighted signals — including forecasted target-miss probability — and banded, so the drivers of projected shortfall are named rather than aggregated away.Forecast
  8. Stage 08Intervention reviewRule-derived, reason-carrying recommendations are ranked for review. Every one of them stops at a qualified person; nothing here acts on a site.Human

Functional Coverage

Eight working screens over one seeded scenario

The prototype contains eight screens running against a single reproducible synthetic study. Five are presented as motion showcases below; all eight are listed here so the actual breadth is visible rather than inflated.

Outlook & forecast
  • Executive Overview
  • Enrollment Forecast
Risk & response
  • Risk Dashboard
  • Recommendations
Context & evidence
  • Site Performance (forecast context only)
  • Synthetic Data Explorer
  • Demo Narrative
  • About / POC Positioning

Showcase 01 · Study position

Executive Study & Enrollment Outlook

Observed to dateProjected at horizonExposure counts

Observed / forecast / evaluation context

Observed: enrolled to date and the historical trajectory. Forecast: the projected total at the end of the horizon and the estimated completion month. The two are labelled separately on the screen itself.

Business question

Where does the study stand today, and where is enrollment exposure beginning to emerge?

Recorded from the running prototype on synthetic data. Site, country and trial identifiers are generated labels; no real study, sponsor or investigator site is represented.

Key signals on the screen

  • Enrolled to date against the trial target, expressed as an attainment percentage
  • Projected total at the end of the forecast horizon, held visually apart from the actual figure
  • A trial-level expected completion month, marked on screen as a global estimate that is not scoped to the active filters
  • Sites at risk split across high and medium bands, plus a written executive summary and cumulative trajectory chart

Decision supported

Whether the trial is currently tracking to plan, and how much of the remaining gap the forecast expects to close without intervention.

Captured synthetic state

643 patients enrolled to date across 50 of 50 sites (64.3% of a 1,000-patient target), a projected total of 1,123 at horizon from a further 480 forecast enrollments over six months, an expected completion month of 2026-10-01, and 13 sites at risk — 4 high and 9 medium.

Interpretation & human-review boundary

Projected totals and the completion month are modelled outputs on synthetic data. They are planning signals for review, not commitments, predictions of a real trial, or evidence of enrollment performance.

Showcase 02 · The forward view

Forward Enrollment Forecast

Observed vs forecastSelected vs comparisonPer-site detail

Observed / forecast / evaluation context

Observed history runs to the last actual month; everything after it is projection. Both the selected forecast and the non-selected comparison series are drawn — labelled as such — so the operational number is never confused with the alternative.

Business question

Where is enrollment heading over the forecast horizon, at trial level and per site?

Recorded from the running prototype on synthetic data. Future months are modelled projections, not measurements.

Key signals on the screen

  • Monthly enrollment with observed actuals ending at the last historical month and forward months drawn as separate series
  • Both forward series carried side by side and named — the selected forecast and the retained comparison model
  • An actual-versus-predicted line built from out-of-fold rolling-origin predictions rather than in-sample fit
  • Per-site forecast detail behind a site picker, so trial-level projection can be traced to an individual site

Decision supported

How much enrollment to plan for month by month, and which individual sites the trial-level projection is actually resting on.

Captured synthetic state

Twelve observed months rising from single digits to roughly 80 patients per month, followed by six forecast months in the high-70s to mid-80s, with the actual-versus-predicted backtest series spanning December 2025 to May 2026.

Interpretation & human-review boundary

Forward values are modelled projections on synthetic data. No forecast certainty, production predictive performance or real-trial enrollment outcome is claimed.

Showcase 03 · The differentiator

Forecast Methodology & Rolling-Origin Evaluation

Baseline vs modelRolling originMAE selectionBaseline selected

Observed / forecast / evaluation context

Evaluation, kept distinct from both observation and forecast. These figures describe how the two candidate methods behaved on held-out historical months of the synthetic dataset — not how either would behave on a real trial.

Business question

Which method should drive the operational forecast, and on what evidence was that decided?

Recorded from the running prototype on synthetic data. All error figures are evaluation results on this synthetic demonstration dataset only.

Key signals on the screen

  • The selection outcome stated in plain language, with the selection metric, origin count and evaluated row count alongside it
  • MAE, RMSE and MAPE reported for the ML model and the naive baseline on the same held-out rows
  • The prototype's own written conclusion that results are mixed and further validation would be required before preferring the ML model
  • Both models explicitly retained — the non-selected forward series is kept for comparison rather than discarded or blended

Decision supported

Whether to trust the ML forecast or the naive baseline as the operational projection — and, in this scenario, the honest answer was the baseline.

Captured synthetic state

Baseline selected by rolling-origin MAE across 6 origins and 300 evaluated rows. XGBoost recorded MAE 0.46, RMSE 0.63 and MAPE 30.7%; the 3-month baseline recorded MAE 0.46, RMSE 0.65 and MAPE 29.9%. The baseline matched on MAE and was lower on MAPE, so the tie-break rule selected it; XGBoost improved RMSE only marginally.

Interpretation & human-review boundary

These are synthetic-data evaluation results for this demonstration dataset. They are not validated accuracy, not evidence of generalisation, and not a claim that either method would perform this way on a real trial.

Showcase 04 · Drivers of forecast risk

Site Risk as Forecast-Risk Drivers

Composite scoreSix weighted signalsMiss probability

Observed / forecast / evaluation context

Forward-looking risk, not current-state site operations. A quarter of the composite weight is forecasted target-miss probability, which is what makes this a forecast-risk view rather than a performance review.

Business question

Which sites are contributing most to the risk of missing the enrollment plan?

Recorded from the running prototype on synthetic data. Site identifiers are generated labels and do not correspond to any real investigator site.

Key signals on the screen

  • Sites banded low, medium and high against fixed score edges, with the band definitions printed on screen
  • An on-screen statement that the band calibration is a synthetic-POC calibration and not a clinical or production threshold
  • The distribution of composite risk scores across the site population, so the shape of the tail is visible
  • A normalised driver heatmap decomposing the riskiest sites into screen-failure rate, dropout rate, startup delay and forecast miss probability

Decision supported

Which sites warrant forecast-risk attention, and which specific driver is producing that risk at each one.

Captured synthetic state

50 sites in scope with 37 low risk (0–40.9), 9 medium (41.0–51.9) and 4 high (52.0+), and a driver heatmap covering the top 15 risky sites across four normalised drivers.

Interpretation & human-review boundary

Site signals are used here strictly as inputs to forward forecast risk. Site ranking, selection, operational productivity, dropout management, protocol-deviation and data-quality workflows are not this experience's domain.

Showcase 05 · Intervention review

Recommendations & Intervention Review

Rule-derivedReason attachedHuman decision

Observed / forecast / evaluation context

The end of the chain. Each recommendation carries the observed signal that triggered it and the qualitative impact it aims at — and stops at a person.

Business question

Which forecast-driven enrollment risks deserve operational review first?

Recorded from the running prototype on synthetic data. Recommendations are review candidates for a qualified person, not actions taken.

Key signals on the screen

  • Recommendation counts split across high, medium and low priority, with priority mirroring the site's risk band
  • An on-screen rule inventory separating active domain rules from a coverage fallback and from rules deliberately disabled
  • Per-site cards naming the site, region, risk score, triggering signal and the comparison that produced it
  • An expected-impact line marked explicitly as qualitative and illustrative rather than a predicted outcome

Decision supported

Which sites to put in front of clinical operations first, and what specific question to open with at each one.

Captured synthetic state

25 recommendations across 6 high, 9 medium and 10 low priority, drawn from 5 active domain rules plus 1 coverage fallback, with 2 further rules disabled. The highest-scoring site carried a risk score of 66.8 with a screen-failure rate of 34.7% against a 23.6% median, a dropout rate of 4.94% against a 2.89% median, and a 90-day startup delay against a 60-day target.

Interpretation & human-review boundary

Recommendations are review candidates only. Nothing here contacts a site, changes a protocol, directs an investigator, alters recruitment, or executes any operational action.

Method, Stated Plainly

How the forecast is built and how it was tested

A forecast is only as credible as the procedure that produced it. Every entry below reflects what the prototype actually implements.

Forecast model
XGBoost gradient-boosted regressor (Random Forest fallback if XGBoost is unavailable), inside a pipeline with median imputation
Baseline method
Naive per-site three-month rolling mean, held flat across the forecast horizon
Rolling-origin evaluation
Implemented — one-step-ahead backtest across successive historical origins, up to six, with a hard minimum of four
Fold construction
Each origin trains only on months strictly earlier than its test month; the test month is held entirely out of fit, and a fresh pipeline is fitted per fold
Evaluation metrics
MAE (primary selection metric), RMSE and MAPE — MAPE computed only over non-negligible targets to avoid division by near-zero
Selection rule
Lowest MAE wins; the simpler baseline wins ties. Fixed in advance, not chosen after seeing results
Forecast horizon
Six months forward, from twelve months of observed history
Model features
Lagged enrollment and screening, rolling enrollment means, months since activation, calendar and seasonal-dip flags, one-hot region, and site metadata covering startup delay, PI experience, capacity, historical performance, screen-failure rate and dropout rate
Deliberately excluded features
The synthetic generator's own recruitment-rate and enrollment-target parameters were removed from the feature set so the model cannot learn the data-generation recipe instead of the signal

What the evaluation actually concluded

In the shipped synthetic scenario the naive baseline was selected. Across 6 rolling origins and 300 evaluated rows, XGBoost recorded MAE 0.46, RMSE 0.63 and MAPE 30.7% while the 3-month baseline recorded MAE 0.46, RMSE 0.65 and MAPE 29.9% — the baseline matched on the selection metric and was lower on MAPE, so the tie-break rule chose it, and XGBoost’s only edge was a marginal RMSE improvement. Both series are retained and labelled. This is reported rather than smoothed over: on this synthetic dataset the machine-learning model did not earn the operational forecast, and an evaluation that could only ever confirm the model would not have been an evaluation. Nothing here should be read as validated accuracy, generalisable performance, or evidence about a real trial.

Supporting Intelligence

The remaining screens, and one deliberate boundary

These are implemented and run against the same seeded scenario, but they are not presented as showcases here — in one case because the capability belongs to a sibling experience rather than to this one.

Site Performance — used only as forecast context

The prototype includes a site-performance screen with top and bottom performers, country attainment and a region summary. On this page it is treated purely as background to forecast risk. Current-state site execution, ranking and selection, dropout and protocol-deviation risk, data-quality monitoring and country or region operational intelligence belong to Clinical Trial Site Performance Intelligence, not here.

Synthetic Data Explorer

Direct inspection of the dataset feeding the model — site metadata, monthly enrollment and trial metadata across the 50-site synthetic study — so any figure on the other screens can be traced back to the rows behind it.

Demo Narrative

An internal walkthrough script for presenting the prototype. It is presentation material, not an application capability, and notably instructs the presenter to show the model evaluation honestly rather than to claim the ML model won.

About / POC Positioning

Scope, problem framing, feature inventory and the standing disclaimer that all data is synthetic and reproducible from a seed, and that outputs are demonstration-only and not validated for production decisions.

Capabilities

What each capability does, decides and uses

Forward enrollment forecasting

What it does

Projects per-site monthly enrollment across a six-month horizon and aggregates it to a trial-level trajectory and completion estimate.

Decision supported

How much enrollment to plan for, and when the target is projected to be reached.

Evidence used

Recursive multi-step forecasting in which each projected month becomes the lag input for the next.

Baseline construction

What it does

Builds a deliberately naive per-site three-month rolling mean and holds it flat across the horizon.

Decision supported

Whether any modelling effort is justified at all.

Evidence used

Per-site historical means computed only from months strictly prior to the month being predicted.

Rolling-origin evaluation

What it does

Re-fits and re-scores both methods from successive historical origins, one step ahead, on identical held-out rows.

Decision supported

Which method earns the right to drive the operational forecast.

Evidence used

A fresh preprocessing and model pipeline per fold, so imputation statistics are learned only from that fold's training window.

Rule-based model selection

What it does

Selects the operational forecast by mean absolute error, with the simpler baseline winning ties.

Decision supported

Which forward series is operational and which is retained for comparison.

Evidence used

A selection rule fixed in advance rather than chosen after seeing the results.

Site forecast-risk scoring

What it does

Blends six normalised signals into a 0–100 composite and bands each site against fixed edges.

Decision supported

Which sites carry the most forward risk to the enrollment plan.

Evidence used

Weighted signals across recruitment speed, screen failure, dropout, activation delay, historical performance and forecasted target-miss probability.

Risk driver decomposition

What it does

Breaks the composite score back out into its normalised contributing drivers per site.

Decision supported

Which specific lever to consider at a given site rather than a generic escalation.

Evidence used

A per-site normalised driver view covering screen failure, dropout, startup delay and miss probability.

Explainable intervention recommendations

What it does

Applies driver-keyed rules to produce named recommendations, each carrying the observation that triggered it.

Decision supported

Which sites to review first and what to open the conversation with.

Evidence used

Active domain rules keyed on observed per-site signals, plus a separately labelled coverage fallback for at-risk sites with no driver-specific trigger.

Reproducible synthetic scenario

What it does

Regenerates the full study, its history and its models deterministically from a seed.

Decision supported

Whether a result can be reproduced and inspected rather than taken on trust.

Evidence used

A seeded generator producing 50 sites across 4 regions and 14 countries with 12 months of history.

System Design

Architecture and data basis

A seeded pipeline from synthetic study generation through feature preparation, a baseline and a model, an honest evaluation, forecast-risk scoring and a recommendation layer — ending at a person.

  1. Layer 01Synthetic study & site generationA seeded generator produces 50 sites across 4 regions and 14 countries with site metadata, activation dates and a 1,000-patient trial target. All values are simulated and reproducible.
  2. Layer 02Observed enrollment historyTwelve historical months of per-site monthly screening, enrollment, randomisation and dropout activity form the measured record the rest of the pipeline reads.
  3. Layer 03Feature preparationA per-site, per-month panel with lagged enrollment and screening, rolling means, months since activation, calendar seasonality flags and one-hot region encoding.
  4. Layer 04Baseline forecastA naive per-site three-month rolling mean, projected flat across the horizon — the reference every model result is measured against.
  5. Layer 05ML forecast modelA gradient-boosted regressor inside a pipeline with median imputation, rolled forward recursively across the horizon using its own predictions as lags.
  6. Layer 06Rolling-origin evaluation & selectionOne-step-ahead backtesting across successive origins, scoring both methods on identical rows and selecting the operational forecast by mean absolute error.
  7. Layer 07Site forecast-risk scoringA weighted composite over six normalised signals, banded against fixed edges, with per-site driver decomposition retained for explanation.
  8. Layer 08Recommendation layerDriver-keyed rules producing reason-carrying recommendations, with a separately labelled coverage fallback and rules disabled where their trigger conditions were never observed.
  9. Layer 09Application & evidence surfaceAn eight-screen Streamlit application with global filters, a synthetic data explorer and downloadable exports, carrying its synthetic-data notice on every screen.
  10. Layer 10Human-review boundaryEvery output terminates at a qualified reviewer. The prototype proposes, ranks and explains; it never acts.

Built in Python with Streamlit, pandas, NumPy, scikit-learn, XGBoost and Plotly, running locally against a deterministically generated synthetic study. There is no connection to any clinical trial management, electronic data capture, or randomisation and trial supply management system.

Lab Standards

Explainability, governance and guardrails

The prototype carries its synthetic-data notice on every screen, prints its risk-band definitions and rule inventory in the interface, and states its own evaluation caveats rather than leaving them to a footnote. Forecasting here is operational enrollment planning intelligence and nothing beyond it.

  • Synthetic clinical-trial data only, reproducible from a fixed seed
  • No real patient data
  • No real trial, sponsor, site or investigator data
  • Site-month aggregates only — no patient-level records
  • Operational enrollment planning support only
  • No medical, treatment or patient-care decisions
  • No protocol decisions
  • No efficacy or patient-safety determination
  • No patient-level clinical prediction
  • No autonomous recruitment action
  • No autonomous site intervention or site activation
  • Not validated GxP or regulatory software
  • No live CTMS, EDC or IRT/RTSM integration
  • Forecast error figures apply only to this synthetic demonstration dataset
  • Risk-band edges are a synthetic-POC calibration, not clinical thresholds
  • Recommendations require qualified human review before any operational step

Honest Status

Current prototype maturity

The prototype runs locally against a seeded synthetic study. It is not deployed, not published as an application, and not available to run.

Working today

  • Synthetic trial-level and per-site forward enrollment forecasting over a six-month horizon
  • A naive baseline forecast constructed and scored on identical held-out rows
  • One-step-ahead rolling-origin backtesting with a minimum-origin guard
  • Automatic model selection by MAE with the simpler baseline winning ties
  • Both forward series retained and explicitly labelled — selected versus comparison
  • Site-level forecast-risk scoring across six weighted signals, with driver decomposition
  • Rule-derived recommendations carrying their triggering observation and a qualitative impact statement
  • A reproducible seeded scenario with a synthetic data explorer and downloadable exports

Intentionally not claimed

  • No validated forecast accuracy and no production predictive performance
  • No claim of generalisation beyond this synthetic dataset
  • No claim that the ML model outperforms the baseline — in this scenario it did not
  • No patient-level clinical prediction
  • No medical, protocol, efficacy or patient-safety judgement
  • No live CTMS, EDC or IRT/RTSM integration
  • No autonomous recruitment or site-intervention execution
  • No realized enrollment improvement in any real trial
  • No GxP validation or regulatory qualification
  • Not deployed, not published as an application, and not available to run

These are deliberate boundaries of a synthetic-data prototype, not pending features. The absence of a model-superiority claim in particular reflects what the evaluation actually found.

What This Demonstrates

Professional capability demonstrated

Building this experience exercised the following, end to end.

Framing forward uncertainty

Turning a backward-looking enrollment report into a forward planning question, and keeping observed, forecast and evaluation as three separate things throughout.

Evaluation discipline

Establishing a naive baseline, scoring it on identical rows, backtesting across successive origins, and fixing the selection rule before seeing the outcome.

Reporting an unflattering result

The naive baseline won. Publishing that, rather than quietly promoting the ML model, is the point — an evaluation that can only confirm the model is not an evaluation.

Explainable risk and boundaries

Decomposing a composite risk score into actionable drivers, disabling rules whose triggers were never observed, and holding the line between forecast risk and the siblings' domains.

Continue through the family

This experience sits between site execution and clinical supply in the Clinical Trial Supply Chain Intelligence family. The observed recruitment behind this outlook belongs to Site Performance Intelligence; the supply response it feeds belongs to Supply Planning & Resupply Intelligence.