Skip to contents

Define the decision

Start with the decision the forecast will support:

  1. What question must it answer?
  2. Who will use the result?
  3. What action could change because of it?
  4. How far ahead must the forecast remain useful?

A forecast needs a clear user and time horizon. If the result would not change a decision, an analysis of past data may be more useful.

Choose a forecast or scenario

Approach Question Example
Forecast What is likely under current conditions? How many influenza hospital admissions are likely over the next four weeks?
Scenario What could happen under a stated assumption? How would admissions differ under 30% and 50% vaccine coverage?

Use a forecast for short-term operational planning. Use a scenario when the result depends on an intervention, policy or other explicit assumption. The Scenario Modeling Hub provides examples of longer-term scenario projections.

Define the target

Specify three elements:

  • Pathogen: for example, influenza, COVID-19 or RSV.
  • Target: the quantity to predict, such as hospital admissions, deaths or emergency department visits.
  • Spatial unit: for example, country, state, county or hospital system.

Use the finest spatial unit that has stable, timely data. Forecast locations together when they share one target and cadence. Run separate workflows for different pathogens or targets.

Check existing forecasts

An existing forecast hub may already answer the question. These hubs publish standardised forecasts and observed target data:

See the hubverse hub list for other projects. Use RespiLens to view respiratory forecasts.

Check the data

The observed data must match the pathogen, target, spatial unit and cadence of the forecast. Before modelling, check that:

  • reporting dates follow a regular cadence;
  • each series uses the same reporting calendar and end date;
  • enough history is available before the first evaluation date;
  • historical snapshots or revisions are retained; and
  • recent observations are complete enough to use directly.

Use get_data() for supported US respiratory hospital data. For other sources, use check_data() and follow vignette("external_data").

If recent observations are revised as reports arrive, retain the full revision history and use get_ncast() before forecasting.

Start the workflow

Once the question and data are suitable:

  1. Fetch or validate the data with get_data() or check_data().
  2. Correct reporting delays with get_ncast() when revision history is available.
  3. Compare models with get_cv().
  4. Produce the forecast with get_fcast().

See vignette("insight.cast") for a complete example.