Weekly forecasts powered by the Epistorm Ensemble at Northeastern University
The Epistorm Ensemble produces weekly probabilistic forecasts of influenza hospital admissions for all 50 US states, Washington DC, and the US nationally. Forecasts are generated each week for horizons of 1 to 4 weeks ahead and submitted to the CDC's FluSight Forecast Hub.
This dashboard provides an interactive view of the ensemble's forecasts along with evaluation metrics that compare performance against a baseline model and other contributing forecasters.
The ensemble combines quantile forecasts from the individual models submitted to the CDC FluSight hub. Because the dashboard now includes past seasons, the full set spans more models than any single season: membership has grown from 4 models in 2023-24 to 7 in 2024-25 and 10 in 2025-26, and each week's ensemble uses whichever models submitted that week. The table below lists every contributing model and the seasons in which it participated.
| Model | Description | Seasons |
|---|---|---|
| CEPH-Rtrend_fluH | Renewal equation method using Bayesian estimation of Rt from hospitalization data | 2023-24 – 2025-26 |
| Gatech-ensemble_prob | Ensemble of deep learning attention-based probabilistic architectures with multiple time-series predictors | 2024-25, 2025-26 |
| Gatech-ensemble_stat | Ensemble combining ARIMA, ARGO, ARGO2, and LightGBM with Google Trends data | 2025-26 |
| MIGHTE-Joint | Weighted ensemble of LightGBM, ARIMA, and autoregressive models integrating Google Trends data | 2024-25, 2025-26 |
| MIGHTE-Nsemble | Adaptive ensemble combining ARIMA, LightGBM, and SVM with dynamically updated weights | 2023-24 – 2025-26 |
| MOBS-EpyStrain_Flu | Age-structured SLIR compartmental model with contact matrices, vaccination, and seasonal transmissibility | 2025-26 |
| MOBS-GLEAM_FLUH | GLEAM metapopulation model with age structure and human mobility data | 2023-24, 2024-25 |
| MOBS-GLEAM_RL_FLUH | Reinforcement learning (Q-learning) for selecting optimal GLEAM simulation trajectories | 2025-26 |
| NEU_ISI-AdaptiveEnsemble | Dynamic ensemble combining Flu Scenario Modeling Hub projections, rejecting divergent trajectories | 2024-25, 2025-26 |
| NEU_ISI-FluBcast | Stochastic age-structured compartmental model with behavioral feedback and risk-averse dynamics | 2024-25, 2025-26 |
| NU-PGF_FLUH | Branching process model using probability generating functions with Bayesian inference of Rt | 2025-26 |
| NU_UCSD-GLEAM_AI_FLUH | GLEAM mechanistic metapopulation model combined with AI/deep-learning components | 2023-24 |
The CDC's FluSight-baseline model is used as a reference for scoring but is not included in the ensemble. The FluSight-ensemble (CDC's own ensemble) is also tracked for comparison.
Two ensemble methods are available on the dashboard:
For each quantile level, the ensemble value is the median across all contributing models' predictions at that quantile. This is a modified form of the Vincent averaging technique (Vincent, 1912; Howerton et al., 2023). Using the median rather than the mean makes it robust to outliers and produces well-calibrated intervals.
The LOP method (Stone, 1961; Howerton et al., 2023) combines the full cumulative distribution functions (CDFs) of each model rather than individual quantiles. For a given value, each model's CDF is evaluated and the results are averaged, producing a blended probability distribution. This approach better captures multi-modal uncertainty and model disagreement.
Both methods produce forecasts at 23 quantile levels (0.01 to 0.99), which are used to derive prediction intervals, trend categories, and activity level classifications. The figure below illustrates how each method combines six example model distributions (colored lines) into a single ensemble forecast (blue).
The primary output is a set of quantile predictions for weekly influenza hospital admissions. These are visualized as fan charts on the dashboard, showing the median forecast along with 50% and 95% prediction intervals.
Trend forecasts classify the expected change in hospitalizations into five categories: large decrease, decrease, stable, increase, and large increase. These are derived from the quantile forecasts by computing the probability that the change relative to the most recent observation falls within horizon-specific thresholds based on per-capita rates.
Activity level forecasts classify the expected hospitalization level into four categories: Low, Moderate, High, and Very High. Thresholds are defined for each location using the moving epidemic method applied to historical influenza hospitalization data. Activity level probabilities are computed from the forecast CDF evaluated at each threshold.
The Weighted Interval Score (Bracher et al., 2021) is a proper scoring rule for quantile forecasts that measures both sharpness (how narrow the prediction intervals are) and calibration (whether observations fall within the predicted intervals at the expected rate). Lower WIS indicates better forecast accuracy.
For a single $(1-\alpha)$ prediction interval with lower bound $l$ and upper bound $u$, the interval score given an observation $y$ is:
$\text{IS}_\alpha(l, u, y) = (u - l) + \frac{2}{\alpha}(l - y)\,\mathbf{1}\{y < l\} + \frac{2}{\alpha}(y - u)\,\mathbf{1}\{y > u\}$
The first term rewards sharpness (narrower intervals), while the penalty terms penalize observations that fall outside the interval. The WIS aggregates this across $K = 11$ symmetric prediction intervals and the median forecast $m$:
$\text{WIS} = \frac{1}{K + \frac{1}{2}} \left[ \sum_{k=1}^{K} \frac{\alpha_k}{2} \cdot \text{IS}_{\alpha_k} + \frac{1}{2} \left| m - y \right| \right]$
The WIS ratio normalizes each model's score against the FluSight-baseline, computed as the ratio of mean scores: $\text{WIS Ratio} = \overline{\text{WIS}}_{\text{model}}\, / \,\overline{\text{WIS}}_{\text{baseline}}$. Values below 1.0 indicate the model outperforms the baseline.
Coverage measures calibration — whether prediction intervals contain the observed value at the expected rate (Cramer et al., 2022). For a given interval level $(1-\alpha)$, coverage is simply the fraction of forecasts where the observation falls within the interval:
$\text{Coverage}_{1-\alpha} = \frac{1}{N} \sum_{i=1}^{N} \mathbf{1}\left\{ l_i^{(\alpha)} \leq y_i \leq u_i^{(\alpha)} \right\}$
A well-calibrated 50% prediction interval should contain roughly 50% of observations, and a 95% interval roughly 95%. Points above the diagonal indicate underconfident intervals (too wide); points below indicate overconfident intervals (too narrow).
The evaluations page allows filtering by:
Forecasts are updated automatically every Thursday. The pipeline fetches the latest model submissions, creates the ensemble forecasts, computes evaluation scores, and deploys the updated dashboard.