SynForecast library offers controlled synthetic time series for forecasting

SynForecast: Controlled Synthetic Time Series for Forecasting Research

Machine Learning

Summary

Forecasting models often need synthetic (computer-made) time series data to learn patterns, but existing synthetic data tools have limitations. The authors created SynForecast, a free Python toolkit with many generators that can be turned on and off in controlled ways to better mimic real world behaviors. They tested this toolkit with popular forecasting models and found that adding certain synthetic features helps improve predictions, especially when little real data is available. However, larger amounts of real data usually work better, and some synthetic tweaks only help under specific conditions.

What this means in practice

  • For time series model developers: Use SynForecast to generate customizable synthetic training data for benchmarking and improving forecasting models under various controlled scenarios.
  • For data science platform engineers: Integrate SynForecast as a data augmentation tool to enrich training datasets when real time series data is limited or incomplete.

Authors

Olivier Sprangers, Cristian Challu, Jan Rathfelder, Han Wang, Max Mergenthaler Canseco

Abstract

Synthetic time series constitute a substantial share of the training corpora of several recent forecasting foundation models. Existing studies report benefits at small data budgets and modest synthetic proportions, but each evaluates individual combinations of model and generator. Studying these benefits systematically requires generators that support controlled configuration, perturbation, reproducibility and mechanism-level ablation, and the 11 existing generators we review show gaps in this combined support. We present SynForecast, an open-source Python library with 32 generators, 19 of which implement named mechanisms with a published source in econometrics, quantitative finance, statistical physics and point-process theory. Perturbations and mechanism families can be varied while everything else is held fixed, output comes in the long format that forecasting libraries accept, and output does not depend on the number of parallel workers. We evaluate SynForecast on M4 at five frequencies with a neural network and a gradient-boosted ensemble. A classical baseline attains the lowest error in nine of ten frequency-history combinations. A synthetic prior outperforms the same network trained from scratch at a fixed budget by up to 34% with a few dozen observations, but loses to it at full history at every frequency, and none of three pre-specified rescalings of history predicts where the sign changes. At the hourly frequency, where the prior fails at every history, the corpus lacks daily cycles; adding them reduces zero-shot error by 43 to 63% for both models. Fine-tuning outperforms training from scratch by up to about 15%, but at short histories a fixed 300-step fine-tune is worse than the pretrained model used as is. Removing the classical mechanism family costs about 2% for both models; every other family has a smaller effect outside the hourly frequency.