TL;DR & Quick Summary
"How much data do we need?" is usually the first question in a forecasting project, and the most common answer, "at least two to three years", is only partly right. How much history you need depends on four things: whether your demand is seasonal, how far ahead you forecast, how complex the model is, and how much your market has changed. Sometimes eight months is plenty. Sometimes five years is worse than two.
Seasonality is the hard requirement: you need the seasonal pattern to repeat at least twice
Model complexity has to match the data: every parameter the model estimates costs observations
Relevance beats length: data from before a structural change can make the forecast worse
New products borrow history from similar items, the category, or the whole catalogue
Data quality matters more than quantity: one year of clean demand beats five years of raw transactions
Key Takeaway: Don't ask how many years you have. Ask how many years still describe the market you're forecasting, and whether you've corrected for the things that hide true demand.
Get Started: Not sure your data is ready for a forecasting project? Schedule a strategy call with Cogniq AI or review our predictive analytics services. A data-readiness review is usually our first step.
Why There Is No Magic Number
The most widely used forecasting textbook, Hyndman and Athanasopoulos's Forecasting: Principles and Practice, answers this directly in its section on very long and very short time series. There is no easy answer. The requirement depends on how many parameters the model estimates and how much randomness is in the data. The authors also reject the "30 observations" rule of thumb that often gets cited, and say there is no justification for it.
The only strict requirement is that you have more observations than parameters. Anything more than that is judgement, and the way to exercise that judgement is to test on your own data rather than trust a rule of thumb.
What you can do is work out a sensible minimum from the four factors below.
Factor 1: Seasonality Sets the Floor
If your demand has an annual pattern, such as heating parts in winter, garden products in spring or retail peaks at year-end, the model has to see that pattern more than once to tell it apart from noise. With one year of data, a December spike could be seasonality, a one-off promotion or a large customer order. With two years, the model can check whether it happened again.
This is a hard constraint, not a preference. Classical seasonal decomposition in the widely used Python library statsmodels refuses to run on fewer than two complete cycles.
| Seasonal pattern | Minimum to estimate it | Comfortable |
|---|---|---|
| Annual (monthly data) | 24 months | 36+ months |
| Annual (weekly data) | 104 weeks | 156+ weeks |
| Weekly (daily data, day-of-week effects) | 2 weeks, in principle | 3–6 months, to separate from other effects |
| None detectable | No seasonal minimum | 6–12 months for a stable level and trend |
Three years of weekly data is where annual seasonality becomes reliable. A single unusual year then no longer defines the pattern.
Factor 2: Forecast Horizon
The further ahead you forecast, the more history you need to estimate the slower-moving parts of demand, especially trend. Forecasting next week's demand mostly depends on recent levels. Forecasting next year's requires a view of the trend and how stable it is, and that needs a longer window.
A practical approach is to match the history to the decision:
- Replenishment forecasts (days to a few weeks ahead): recent months matter most, and older history adds little
- Purchasing and supplier commitments (one to six months ahead): at least a full year, and two if demand is seasonal
- Capacity and budget planning (a year or more ahead): several years, with structural changes flagged
Factor 3: Model Complexity
Each thing a model learns costs data: a trend, a seasonal index for each month, the effect of a promotion, the effect of price. A simple exponential smoothing model estimates very few parameters and can work with limited history. A model with twelve monthly seasonal terms, a trend, price elasticity and promotion effects needs far more before its estimates can be trusted.
For short histories the textbook's advice is to choose models with a criterion such as AICc, which penalises complexity and so favours simpler models when data is scarce. In practice:
- Under a year of history: simple smoothing, or a naive seasonal benchmark borrowed from similar items
- One to two years: exponential smoothing with trend, and seasonality only if it's clearly visible
- Two to three years or more: full seasonal models, and models with promotion and price effects if those are recorded
Machine learning changes the calculation in one important way, covered below. More complex doesn't mean more data per item if the model learns across items.
Factor 4: Relevance Beats Length
This is the factor most often ignored. History is only useful if it still describes the demand you're forecasting. Data from before a structural break can make a forecast worse:
- A new sales channel, such as moving from wholesale-only to direct ecommerce
- A major pricing or assortment change
- Gaining or losing a customer that made up a large share of volume
- Supply constraints that capped sales below demand for an extended period
- The 2020–2022 pandemic years, for most categories
The options are to start the history after the break, to down-weight older periods, or to model the break explicitly with a flag the model can learn from. Which is right depends on whether the old pattern might come back. Dropping data is the most common mistake in the other direction: it discards seasonal information you'll later need.
The Data Beyond Sales History
A long sales history with problems in it is worth less than a shorter clean one. In our experience these fixes matter more than adding years:
- Stockout flags. When an item is out of stock, sales are zero but demand isn't. Without flags the model learns that demand drops whenever you run out, and it lowers the forecast, which causes more stockouts. This is the single most damaging data problem in inventory forecasting.
- Promotion and price history. A promotional spike treated as normal demand inflates the baseline for the following year.
- Returns separated from sales. Netting returns against sales hides both the real demand and the return rate.
- Lifecycle dates. Launch and discontinuation dates stop the model from treating a ramp-up or phase-out as a trend.
- Consistent units of measure. Cases in one year and eaches in another is a surprisingly common source of fake trend.
These are also the questions we ask first in any predictive analytics project. The answers usually decide the timeline more than the modelling does. Our AI demand planning and inventory forecasting guide covers the wider pipeline these inputs feed.
Items With Little or No History
New products, new locations and newly listed SKUs have the least data. They are often the items the business most wants to get right. They can still be forecast, by borrowing history from elsewhere.
Analogous (Like-Item) Forecasting
Choose one or more past products similar to the new one, by category, price point, channel or customer segment, and use their launch curves as the starting forecast. This is the most common approach and works well when a genuinely similar predecessor exists. The main risk is choosing analogues by gut feel, so document why each one was chosen.
Attribute-Based Models
Train a model on the whole catalogue to learn how product attributes relate to demand, then apply it to the new item's attributes. This is more systematic than picking analogues by hand and scales to large launches. It needs clean, consistent product attribute data, which many businesses don't have.
Top-Down Allocation
Forecast the category, which has plenty of history, and give the new item an expected share based on comparable launches. This is simple, easy to explain, and keeps the total realistic even when the item-level estimate is uncertain.
Blending as Sales Arrive
Whichever method you start with, shift weight from the borrowed estimate to the item's own sales as data comes in. Ideally this happens automatically. After eight to twelve weeks of real sales, the item's own history usually deserves most of the weight for short-term replenishment.
Where Machine Learning Changes the Answer
A global machine learning model is one model trained across many products at once. It changes the data question from "how long is each item's history?" to "how many related items and attributes do we have?". Because it learns shared patterns, such as how promotions lift demand, how price changes shift it and how day-of-week effects vary by category, it can forecast items with short histories better than any model fitted to that item alone.
This is what the M5 competition showed on Walmart data: the leading entries were models trained across many series together. But the advantage depends on breadth. A catalogue of a few dozen products doesn't give a global model much to learn from, and classical methods will often do as well at a fraction of the complexity.
If much of your catalogue sells irregularly, the data problem is different again. Our guide to intermittent demand forecasting with Croston, SBA and TSB covers methods designed for sparse series.
A Practical Test: Does More History Help?
You don't have to argue about this in theory. Test it:
- Choose a representative sample of items across your main categories
- Set aside the most recent 3–6 months as a test period
- Fit the same model using 1 year, 2 years, 3 years and all available history before the test period
- Compare accuracy with a volume-weighted metric and bias, as described in forecast accuracy metrics
- Use the shortest window that performs as well as the best
Often accuracy improves up to two or three years and then flattens or drops. The drop is a sign that older data no longer represents current demand. The test takes a few days and saves you from deciding on assumptions.
You May Not Need More Data. You May Need Better Data.
If you've been delaying a forecasting project until you have "enough history", the delay may not be necessary. Most businesses with a year of reasonably clean sales data can build a forecast that beats their current spreadsheet method, and improve it as more data arrives. The businesses that struggle usually don't lack history. They have history that hides true demand behind stockouts, promotions and inconsistent records.
Conclusion
The amount of data you need is set by seasonality, horizon, model complexity and relevance, not by a universal number of months. Start with the seasonal floor, match the history to the decisions the forecast supports, choose a model whose complexity fits the data, and test whether older data actually helps. Fix stockout and promotion distortions first. For new products, borrow history in a structured way and shift to the item's own data as it arrives.
Schedule a strategy call with Cogniq AI for a data-readiness review of your sales history, or explore our predictive analytics services.

