Skip to main content
This guide compares four leakage-safe workflows on the same M4 Monthly holdout: training on observed data, training on observed plus augmented data, zero-shot forecasting after pretraining only on independent synthetic series, and synthetic pretraining followed by fine-tuning on observed data. We use a fixed, stratified sample of 24 series from the M4 competition dataset, with four series from each domain category. Every selected training series has between 96 and 180 monthly observations. Evaluation uses the official 18-month M4 test horizon. The sample was drawn once with seed 42 from eligible M4 Monthly series. The data is downloaded from the official repository when this notebook is executed and is not redistributed with SynForecast. See Makridakis, Spiliotis, and Assimakopoulos, The M4 Competition: 100,000 time series and 61 forecasting methods.
For the augmentation workflow, SynAugment fits each training series independently and creates candidate counterparts. We retain one counterpart from each of the six M4 domain categories, so synthetic series make up only 20% of the combined panel instead of half of it. This category-balanced ratio is fixed before evaluation, and the official holdout is never passed to the augmenter. For synthetic pretraining, we deliberately avoid the generic balanced pool. The custom pool below contains monthly SARIMA, ETS, and seasonal processes with 12-step seasonality and training lengths comparable to the selected M4 histories. These synthetic series are generated independently of both the M4 training observations and the holdout.
For genuine pretraining, the next model sees only independently generated monthly series. predict(df=train_df) then applies those learned weights to the previously unseen M4 panel. Calling fit again with use_init_models=False retains the pretrained weights and fine-tunes them on the observed training split.
We report the mean sMAPE and seasonal MASE across series, giving each M4 series equal weight. MASE uses each series’ in-sample 12-month seasonal-naive error as its scale.
The conservative, category-balanced augmentation adds diversity without allowing generated histories to dominate the observed panel. Synthetic-only zero-shot forecasting remains the hardest setting, while fine-tuning adapts the pretrained model to the target domain. These scores illustrate the workflow, not an M4 benchmark: the sample and neural model are intentionally small, each fit uses only 100 optimization steps, and results can vary with the selected panel. For a model comparison, evaluate all M4 Monthly series over multiple seeds and report uncertainty. Choose augmentation ratios using validation data, and never fit SynAugment on the official holdout. When does synthetic data help? reports the multi-seed augmentation and pretraining results, including the history lengths where the pretraining edge reverses.