Cold-Start Forecasting for New Series
What to predict for a series with no history, why attribute-based pooling and pretrained priors are two answers to the same question, and how to evaluate a regime you cannot backtest in the usual way.
A retailer launches 400 products on the same Monday. None has a sales history, all need a replenishment forecast before the first delivery, and the classical toolkit has nothing to say: exponential smoothing needs a level to smooth, ARIMA needs autocorrelations to estimate, and a lag-feature table for a new SKU is a row of nulls. Cold start is not a corner case in large catalogues. In a business with high product churn, a large share of the SKUs being forecast in any given quarter did not exist the previous one.
Every answer is a form of borrowing
There are only three places the information can come from, and real systems combine them.
Borrow across series by attribute. A global model conditioned on static covariates (category, brand, price tier, store format, region) predicts a new SKU as the model's estimate of what series with those attributes do. This is the workhorse, and it is the main practical argument for global models over per-series models: a per-series model has literally nothing to fit. The quality of the cold-start forecast is then exactly the quality of the attribute encoding, which is a data-governance problem wearing a modelling costume.
Borrow across time by analogy. Find historical series with similar launches and align them at their launch date rather than at the calendar date. This is how fashion and consumer electronics forecasting has always worked, and it is a nearest-neighbour method in disguise: the forecast is a weighted average of the aligned launch curves of the \(k\) most similar past introductions, where similarity is over attributes and, once a few observations arrive, over the observed shape.
Borrow from a pretrained prior. Time-series foundation models give a distribution over plausible continuations learned from large corpora, and they need no fitting at all, which makes them applicable the moment there are a handful of points. Chronos was trained on tokenised series and evaluated for zero-shot forecasting on unseen datasets (Ansari et al., 2024, Chronos: Learning the Language of Time Series, TMLR, arXiv:2403.07815); Moirai was trained on the 27B-observation LOTSA archive with the same objective (Woo et al., 2024, arXiv:2402.02592). What they supply is a shape prior, not domain knowledge, and the distinction matters below.
The hand-off problem
Cold start is a regime, not a state, and the interesting engineering is the transition out of it. At \(t = 0\) the forecast is pure prior. At \(t = 200\) observations it should be pure history. In between, something has to interpolate, and a hard switch at an arbitrary cutoff produces a visible discontinuity in forecasts, which downstream planners notice and distrust.
Two mechanisms work. A hierarchical shrinkage formulation treats the attribute-group mean as a prior and shrinks the series' own estimate towards it with weight \(n/(n + \kappa)\), where \(n\) is observations available and \(\kappa\) is a tuned pseudo-count; the forecast moves continuously from group behaviour to individual behaviour as data arrives. A blended ensemble runs both the cold-start model and the history-based model throughout, with a weight that is a smooth function of history length, which is less principled and easier to debug because both components remain inspectable.
Either way, the switch point should be chosen by measured accuracy as a function of history length, not by a round number. Plotting scaled error against \(n\) for both models and reading off the crossing point is a half-day of work that usually moves the cutoff from someone's guess of 12 weeks to something quite different.
When it breaks
Attribute quality dominates and nobody owns it. Cold-start accuracy is bounded by how well the static covariates separate behaviour. If half the new SKUs are categorised as "Other", the model returns the catalogue average for them and the forecast is worthless in a way no metric on established series will reveal. Monitoring should report cold-start error separately, always.
Cannibalisation is invisible to the model. A new product that takes 30% of its volume from an existing one makes the new forecast plausible and the old one wrong. Cold-start models are almost always fitted per series and see no substitution structure, so launches degrade the accuracy of neighbouring established series, and the loss shows up in the wrong place.
Pretrained priors can be confidently generic. A foundation model handed twelve observations will produce a smooth, plausible continuation with well-behaved quantiles. That output looks the same whether the model recognised the pattern or fell back on its most common training shape, and it carries no signal distinguishing the two. Treat zero-shot intervals on very short histories as under-dispersed until measured otherwise on your own data.
Evaluation has a survivorship trap. Backtesting cold start by truncating established series measures the wrong population: series that survived long enough to be in your dataset are not representative of new launches, many of which are discontinued within a season. The unbiased version holds out genuine launches by launch date and accepts the smaller sample.
Promotional launch distortion is not the baseline. Most launches are supported by introductory pricing and placement, so the first weeks' sales are a promoted signal. A cold-start model fitted on those weeks and used for steady-state planning will over-forecast, and the error is systematic rather than noisy.
7 flashcards for this concept
Click a card to reveal the answer.