What is the sales history? What does it take to make an accurate prediction?
Ines Amor
PhD in AI and Data Science
August 20, 2026
A Booper article already online sums up the data needed for a forecast in one sentence: “sales history + granularity.” That’s true, but it says almost nothing about what makes that history useful —or misleading. How many years do you really need, and is the answer the same for yogurt as it is for a swimsuit? Does a stockout from six months ago still skew your model today? Does a change in department render part of the historical data unusable without anyone noticing? This guide addresses these questions one by one.

The right question isn't "how many years," it's "how much trust"
How many years of historical data are needed to make accurate forecasts? This is the question asked every time a forecasting tool is deployed, and it almost always elicits a cautious expert response: “It depends.”
The answer is true, but it hides a more useful question—one that determines whether a two-year sales history is better than a six-month sales history: Does this sales history reflect actual demand, or just what the store has managed to sell?
A long history is no guarantee if some of that data is silently misleading. Conversely, a short but clean history may be sufficient for an accurate forecast based on a stable benchmark.
The bottom line: Depth matters. Reliability matters even more.
Booper has already published a comprehensive article on the mechanics of calculating a sales forecast— Sales Forecasting with AI: Method and KPIs —which addresses historical data and granularity in a single sentence, as part of a broader methodology. This guide revisits that specific point and goes further: the necessary depth depending on the category, data gaps that skew historical data without indicating it, changes in context that invalidate part of the past, and cases where historical data is simply no longer sufficient.
The required depth depends primarily on the category
A yogurt sold year-round and a swimsuit sold for six weeks don't have the same need for historical data—the issue is considered category by category, not store by store.
Everyday Products
Six to twelve months of clean sales data is often enough to gauge sales trends. The main risk isn't the time frame; it's recent data that has been skewed by a stockout or a supplier issue.
Seasonal products
It takes at least two to three full seasonal cycles—one year is not enough to distinguish a normal season from an exceptional one. A single observed peak is not a confirmed peak; it is simply a data point.
New Products
There is no specific historical data available yet. The forecast is based on comparable items that have already been sold, not on historical data that does not exist—a different exercise, discussed below.
Products Undergoing Structural Change
There is a long history, but it describes a market that no longer exists. The sheer volume of data does not make up for its obsolescence —a point also discussed below.
Maintaining the appropriate depth by category helps avoid two common mistakes: underweighting a seasonal product based on a 12-month history, or overweighting a stable product with a five-year history that offers no additional insight beyond the last 12 months.
The Censored Request: What an "Out of Stock" Message Hides in Your Order History
This is the most subtle and systematic bias of all—because it doesn’t show up in the numbers. An empty shelf on a Tuesday afternoon doesn’t register as a lost sale.
The point-of-sale system records “0 sales” even though actual demand continued to exist. This unrecorded sale is not the absence of a signal: it is a false signal, indistinguishable from a genuine decline in demand if no one corrects it.
Researchers call this phenomenon “censored demand ”: the observed sales history does not represent actual demand; rather, it represents actual demand capped by what was available on the shelves. A forecasting model trained on this uncorrected history learns a consistent falsehood—it systematically underestimates demand for SKUs that have been out of stock, and therefore recommends restocking levels that are still insufficient.
The bias perpetuates itself: fewer units ordered, more stockouts, and an even more skewed history the next time around.
a systematic downward bias in estimated demand when past stockouts are not identified and corrected in the historical data—a discrepancy that the latent demand recovery correction reduces to nearly zero. Study based on 50,000 time series from 898 stores and 863 fresh food SKUs (arXiv, FreshRetailNet-50K: A Stockout-Annotated Censored Demand Dataset, 2025).
The practical consequence is not merely theoretical. A sales history that has never been corrected for its discrepancies artificially caps all the forecasts based on it—until someone asks why an item that “never sells well” is systematically allocated too little inventory to prove otherwise.
History is reliable only if the context has not changed around it
A stockout is not the only event that renders part of the transaction history unusable without any notification. Four context changes—which are very common but rarely documented in point-of-sale systems—have the same effect:
- A change in the product lineup. A product that was discontinued and then reintroduced, modified packaging, a new line replacing the old one under a similar name: the system continues to track a single, continuous sales series even though there are actually two different products.
- A point-of-sale promotion or product highlight. A spike in sales resulting from an end-cap display or an in-store promotion is not a normal level of demand. If the historical data does not distinguish between weeks with and without promotions, the model will learn a sales pattern that will not be replicated without the same marketing effort.
- A change in shelf placement. When a product is moved from a shelf at eye level to a less visible location, sales volume declines without any disruption or price change to account for the drop in the data.
- An unrecorded price change. A sales history that does not track past price changes—increases, decreases, promotional offers—is just as unreliable as one that ignores stockouts. A sale at the regular price and a sale at 30% off do not reflect the same level of demand; a model that treats them as equivalent learns a false signal.
These changes don’t just happen out of the blue: they’re deliberate decisions. Along with the purchasing team, the pricing team is one of the main sources of this uncharted context—every price increase, decrease, or promotional launch deserves to be dated and documented with the same rigor as a stockout, precisely because it obscures the historical record in the same way.
This is not a rare anomaly. A landmark study of inventory data—covering 37 U.S. retailers and nearly 370,000 tracked SKUs—measured the extent to which on-the-floor data diverges from the physical reality of the shelf as soon as something moves on the floor without being tracked in the system.
In a study of nearly 370,000 inventory counts from 37 U.S. retailers, tracked SKUs showed a discrepancy between the inventory recorded in the system and the inventory physically present on the shelves. This discrepancy becomes particularly pronounced during periods of change—such as promotions, restocking, and shelf replenishment (DeHoratius & Raman, “Inventory Record Inaccuracy: An Empirical Analysis,” Management Science, INFORMS, 2008).
The lesson isn't to throw everything out. It's to be able to pinpoint changes in context—such as a simple log of sales transactions, planogram changes, and known stockouts—so that the forecasting model (or the person overseeing it) knows which weeks in the historical data are comparable to one another, and which are not.
When History Is No Longer Enough
There are two situations in which the history is structurally inadequate, regardless of its length or how well-organized it is.
Launching a Product with No Track Record
By definition, a new product has no past sales to analyze.
The forecast should therefore be based on comparable products that have already been sold—a comparable product line, a similar price point, and similar seasonality—rather than waiting several months to collect data before producing an initial usable figure.
This exercise is different from reading historical data: it relies on assessing similarity, not on calculating a time series.
The Structural Disruption of the Market
A lasting change in purchasing behavior—a new consumer habit, the arrival of a competitor that changes the local landscape, or an economic shock that redefines the purchasing power of a trade area—makes some of the historical data misleading rather than useful.
The data are accurate, complete, and properly dated. They simply describe a market that no longer exists in this form.
Continuing to train a model using data from the past three years is like trying to predict the future using a map of a territory whose borders have changed.
In both cases, the best approach is the same: reduce the weight of past data in the forecast, and make this adjustment explicitly rather than allowing a model to continue weighting a past that no longer serves as a reference.
Ensuring the reliability of historical data before using it for forecasting
Mapping Past Disruptions
Identify, line by line, the periods when inventory fell to zero—this is the prerequisite for applying a censored demand adjustment rather than interpreting gross sales as the actual level of demand.
Dating Changes in Context
Keep a simple log of changes to the product assortment, in-store displays, and shelf layout—without this record, no one can distinguish a typical week from an exceptional one in the historical data.
Segment depth by category
Do not apply the same historical data window to both a stable product and a seasonal product—the required depth is not a company-wide constant; it varies by category.
Handle cases with no prior history separately
Product launches and structural market shifts cannot be resolved by looking for more historical data—they require an analogy-based or scenario-based approach, not a longer historical record.
GENIUS Predict and GENIUS Monitoring: A History That’s Monitored, Not Endured
GENIUS Monitoring centralizes alerts for price anomalies, out-of-stock situations, and competitor price discrepancies—which limits the amount of suppressed demand that silently accumulates in the history before being processed. It also tracks price changes and promotions—one of the key features of our price optimization software —so that the forecast can distinguish between “full-price” demand and “promotional” demand rather than confusing the two.
A reliable history is just a starting point
A historical record that has been properly adjusted for disruptions and changes in context provides a solid basis for forecasting—but it says nothing about what will happen next week if an event outside the store changes the situation: weather, a floating holiday, current events, or a competitor’s actions. This is a topic in its own right, covered in another article in this series devoted to exogenous events.
Key takeaway: The quality of the history remains the foundation.
An organization that invests in a sophisticated forecasting module without first addressing its stockouts or documenting its assortment changes is building an accurate forecast on a flawed foundation—the opposite of the right order of priorities.
A pricing and sales data analysis, such as the one offered by Booper through its price optimization software, almost always begins with this question: How much can we trust historical data before building anything on it?
Sales campaigns themselves—including promotions and marketing activities —should be tracked with the same rigor as a price change, precisely because they are one of the most common causes of a history that is misleading without saying so. This is also the point made in the key article of this series on the overall governance of sales forecasting: the quality of input data is never a purely technical issue; it is a matter of organization and collective discipline.
A Checklist Before Relying on Your Sales History
- Do you know, by SKU, which periods have had stockouts in the last twelve months?
- Are your historical sales figures adjusted for suppressed demand, or are they treated as they are—as an actual level of demand?
- Is there a log detailing changes to the product assortment, in-store displays, and shelf placement?
- Is the depth of the history used appropriate for each category, or is it the same for the entire catalog?
- Are products with no sales history or that are out of stock due to structural issues handled using a dedicated method, or are they forced into the same model as the rest?
Want to know if your sales history is ready for a reliable forecast?
Spend 30 minutes with our team to identify what factors in your current data are skewing your forecasts—factors that no one has spotted yet.
Frequently Asked Questions
How many years of sales data are needed for a reliable forecast?
It depends primarily on the category, not on any universal rule. Six to twelve months of data are often sufficient for a stable product with low seasonality, whereas a seasonal product requires at least two to three full annual cycles to distinguish a normal season from an exceptional one.
The article emphasizes a point that is more important than duration: reliability. A shorter history—but one corrected for biases, particularly the censored demand associated with stockouts—is better than a long history that has never been cleaned, which artificially caps the estimated demand for the relevant SKUs. For a seasonal product, the appropriate historical window also aligns with the logic outlined in our article on forecasting remaining inventory and seasonality.
For a new product with no sales history, or for a market undergoing structural disruption, historical data is no longer sufficient in any case, regardless of how extensive it is: in such situations, it is necessary to switch to a method based on analogy or scenario analysis rather than seeking to accumulate more historical data.
What is “censored demand” in sales forecasting?
Censored demand refers to the phenomenon in which a recorded historical sale underestimates actual demand because the product was out of stock at the time a customer could have purchased it. The point-of-sale system records “0 sales” even though demand still existed—a false signal that is indistinguishable from a genuine decline in demand if no one corrects it.
The scale of the phenomenon is quantifiable: a study of 50,000 time series from 898 stores and 863 fresh produce SKUs found a systematic downward bias of 7.37% in estimated demand when out-of-stocks are not identified and corrected—a discrepancy reduced to nearly zero by a “recovery” correction for latent demand (arXiv, FreshRetailNet-50K, 2025)—a mechanism detailed in our article on the link between stockouts and inaccurate sales forecasting.
This bias perpetuates itself over time: less inventory is ordered based on an underestimated demand, leading to more stockouts, which in turn further skews the historical data for the next forecast—a cycle that must be broken by explicitly correcting for stockout periods before any calculations are made.
How does a past stockout skew a future forecast?
A model trained on historical data that has not been corrected for out-of-stock events learns an artificially low level of demand for the relevant SKUs, since it treats “0 sales” associated with out-of-stock events as a true absence of demand rather than as a censored signal.
The operational consequence is direct: this model recommends insufficient restocking, which causes further stockouts and exacerbates the bias in the next forecast. This is exactly the self-perpetuating mechanism described in the article—an SKU that “never sells well” based on historical data continues to receive too little inventory to prove otherwise, a symptom of a broader problem that we detail in our article on data quality as the glass ceiling of AI pricing.
Breaking this cycle requires mapping, reference by reference, the periods during which inventory fell to zero over the past twelve months, in order to apply a censored demand adjustment rather than interpreting gross sales as the actual level of demand—the first step in the reliability enhancement method presented in the article.
Does a change in the product lineup or shelf placement invalidate the entire history?
No, not the entire sales history—only the relevant periods, provided they are identified. The article lists four changes in context that produce this effect: a change in product assortment, a point-of-sale promotion or product highlight, a change in shelf placement, and an unrecorded price change.
Without a log detailing these changes, the forecasting model cannot distinguish between a typical week and an exceptional one, and treats both as equivalent—a spike related to a promotional display is then interpreted as a normal level of demand that will not recur without the same marketing effort, an issue of signal prioritization addressed in our article on which internal and external data to prioritize for pricing.
A landmark study of inventory data—based on nearly 370,000 counts from 37 U.S. retailers—found that 65% of the SKUs tracked had a discrepancy between the inventory recorded in the system and the inventory physically present on the shelves, a discrepancy that becomes particularly pronounced during periods of change—such as promotions, restocking, and shelf replenishment (DeHoratius & Raman, Management Science, 2008).
How can you forecast sales for a product with no sales history, such as a new product launch?
The forecast should be based on comparable products already sold, a comparable product line, a similar price point, and similar seasonality, rather than waiting several months to collect data before producing an initial usable figure.
This is a fundamentally different exercise from traditional historical analysis: it relies on assessing the similarity between the newly launched product and already known benchmarks, not on calculating a time series that does not yet exist. The article explicitly distinguishes this from structural market disruption, another scenario where traditional historical data is no longer sufficient—in both cases, testing the impact of a price before launching it remains useful, as detailed in our article on pricing simulation to test your pricing strategy.
For a retailer, using a dedicated method to handle product launches avoids the common mistake of forcing a new product into the same statistical model as the rest of the catalog, which would result in an arbitrary forecast due to a lack of actual data to work with.
What should you do when a structural shift in the market renders historical data obsolete?
According to the article, best practice involves explicitly reducing the weight of historical data in the model rather than allowing it to carry the same weight as if nothing had changed. Clean, complete, and well-dated historical data that describes a market that no longer exists remains misleading despite its apparent quality.
Forecasting must therefore rely more on recent signals and scenarios than on the average of past years—continuing to train a model on the previous three years amounts to, as the article illustrates, to predicting the future using a map of a territory whose borders have changed—much like what we discuss in our article on the importance of up-to-date competitive data for pricing decisions.
This situation differs from the case of a product with no historical data in terms of its cause—a lasting change in the market rather than a lack of data—but calls for the same approach: explicitly acknowledging the limitations of the available historical data, rather than allowing a model to continue weighting a past that no longer serves as a valid reference.
Also in this series
- Sales Forecasting: Methods, AI, and Best Practices (Feature Article)
- External Events: How to Incorporate Them Into a Sales Forecast
Sources
- arXiv, FreshRetailNet-50K: A Stockout-Annotated Censored Demand Dataset, 2025 — arxiv.org
- Nicole DeHoratius, Ananth Raman, “Inventory Record Inaccuracy: An Empirical Analysis,” *Management Science*, INFORMS, 2008 — pubsonline.informs.org
- Booper, AI-Powered Sales Forecasting: Methodology and KPIs (Supplementary Article, Technical Details) — booper.fr
- Booper, internal product data (`context/socle_booper.md` §3) — GENIUS Predict, GENIUS Monitoring.
Automating pricing doesn’t take decision-making away from humans; it eliminates the need for manual data entry. Two independent studies highlight the issue: AI-driven retailers see a 5 to 10% increase in gross margin (BCG), but 60% of AI projects not supported by AI-ready data will be abandoned by the end of 2026 (Gartner). The key difference between the two: a governance framework—including business rules, a designated owner, and a pilot category with a control group—established before automation, not after.

Not all AI systems are created equal when it comes to pricing. Statistical rules, predictive machine learning, and generative AI: these three technologies are often lumped together, even though they address different needs and inform different decisions.

Deciding and executing are two different things in AI pricing. Most reliable systems either carry out actions that have already been approved or make recommendations—they do not make decisions on their own in high-stakes cases.
The balance is struck by weighing the stakes and scope of each decision. Organizations that succeed in their AI projects are those that have established clear human oversight, not those with the most sophisticated model.
.avif)