Predictive analytics

Predict tomorrow’s demand

A practical path from time-series data to forecasts that support operational decisions.

Application guide4 min readEdition: 25 September 2026

The decision comes first

Short-term forecasts can inform pump schedules, storage targets and anomaly thresholds. They do not replace long-term population and land-use scenarios. Choose the forecast horizon and update frequency to match the operational decision.

A reproducible workflow

  1. Align demand, weather and calendar data. Record missing values, clock changes and abnormal operating periods.
  2. Establish a seasonal naive baseline, such as the corresponding hour from the previous week.
  3. Compare regression, tree-based methods and, where justified, sequence models.
  4. Validate chronologically using information that would have been available at prediction time.
  5. Report error by season, horizon and high-demand periods, then monitor drift.

Choose metrics that matter

Mean absolute error is interpretable in the demand unit. Peak timing and underprediction may matter more than average performance. Percentage error becomes unstable near zero. Test forecast intervals for coverage before using them to define operating buffers.

Evidence statusPublished studies demonstrate forecasting methods in specific datasets. A successful paper does not establish transferable accuracy for a new utility.

From research to implementation

Read the Wrocław demand forecasting study for one approach to seasonality. Our machine learning workflow explains data leakage and time-aware validation. Keep a fallback forecast for missing inputs or model failure.

Match the forecast horizon to the decision

An hourly forecast can support pumping and reservoir operation, while an annual growth scenario supports infrastructure planning. Their inputs, error consequences and validation methods differ. A model trained to predict tomorrow from yesterday cannot independently predict a new development’s demand twenty years from now.

State the forecast origin, lead time, interval and geographic boundary. For a one-hour-ahead forecast made at 10:00, identify exactly which meter readings and weather forecasts are available by that time. Delayed telemetry can make a theoretically valid feature unavailable in practice. Reproduce those delays during evaluation.

Design a comparison that a simple model can win

Compare the candidate against persistence, yesterday’s corresponding interval and an appropriate seasonal baseline. Use the same holdout timestamps and missing-data treatment for every method. A complex model that receives cleaner inputs or future observations has not been given a fair test.

Keep a final chronological period untouched while selecting features and model settings on earlier data. Consider separate evaluation across seasons, restrictions, public holidays and abnormal industrial operation. A random split of neighbouring hours often tests interpolation within familiar conditions more than genuine future performance.

Read errors in engineering units

MAE = mean(|prediction − observation|); bias = mean(prediction − observation)

Report demand units and the evaluated horizon. The bias sign follows this stated convention.

If hourly demand is represented by interval-average m³/hour, an error of 20 m³/hour sustained for six hours corresponds to 120 m³, or 0.12 ML, of cumulative volume error. Its effect depends on available storage, inflow flexibility and other uncertainties. A percentage error by itself does not show that operational consequence.

Inspect peak-period underprediction, cumulative daily-volume error and rare but consequential events. MAPE becomes unstable when actual values approach zero, so choose a metric suited to the data. Report performance against the baseline and its variation across important operating states.

Develop a useful operational pilot

Run forecasts in shadow mode and compare predicted demand with observed outcomes without automatically changing control. Log the information available at each forecast origin, version the model and record operator interventions. This distinguishes prediction error from changes caused by unusual operation.

Agree when stale or missing inputs trigger a fallback, who reviews persistent bias and when retraining is appropriate. Do not retrain simply because a schedule says so if the labelled data or operating context is unsuitable. Monitor both data quality and decision usefulness.

Follow the complete on-site experiment

The machine-learning tutorial provides the full Python script, a 56-day synthetic dataset, expanding chronological validation and two seasonal baselines. It reports row-level predictions, peak-period error and expected results. The data-audit exercise precedes it with duplicate and completeness checks.

Use that workflow as a reproducible starting point, then redesign the evidence requirements for the actual utility and horizon. A successful exercise does not establish real-world accuracy or authorise automatic pump control.

Sources & further reading

Source findings are distinguished from editorial interpretation. Apply current local criteria and project evidence when making engineering decisions.