Hierarchical Forecasting at Scale

Olivier Sprangers, Wander Wadman, Sebastian Schelter, Maarten de Rijke
10/19/2023
cs.LG

Official code: elephaint/hfas (17 stars, Apache-2.0, last commit 2024-03-18).

Abstract

Existing hierarchical forecasting techniques scale poorly when the number of time series increases. We propose to learn a coherent forecast for millions of time series with a single bottom-level forecast model by using a sparse loss function that directly optimizes the hierarchical product and/or temporal structure. The benefit of our sparse hierarchical loss function is that it provides practitioners a method of producing bottom-level forecasts that are coherent to any chosen cross-sectional or temporal hierarchy. In addition, removing the need for a post-processing step as required in traditional hierarchical forecasting techniques reduces the computational cost of the prediction phase in the forecasting pipeline. On the public M5 dataset, our sparse hierarchical loss function performs up to 10% (RMSE) better compared to the baseline loss function. We implement our sparse hierarchical loss function within an existing forecasting model at bol, a large European e-commerce platform, resulting in an improved forecasting performance of 2% at the product level. Finally, we found an increase in forecasting performance of about 5-10% when evaluating the forecasting performance across the cross-sectional hierarchies that we defined. These results demonstrate the usefulness of our sparse hierarchical loss applied to a production forecasting system at a major e-commerce platform.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

Hierarchical Forecasting at Scale

171PythonMay 4, 20222 years agoApache-2.0
forecasting

Similar Papers

Cite this paper

@article{sprangers2023hierarchical,
  title  = {Hierarchical Forecasting at Scale},
  author = {Olivier Sprangers and Wander Wadman and Sebastian Schelter and Maarten de Rijke},
  year   = {2023},
  eprint = {2310.12809},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2310.12809v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2310.12809.svg)](https://codeofpaper.com/paper/2310.12809)

Discussion