What is the sales history? What does it take to make an accurate prediction?
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.
Correcting the history of your biases rather than simply accepting them—that’s what BOOPER’s AI-powered sales forecasting tool enables: alerts for stockouts and anomalies before they skew the next forecast.

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 sales forecasts, “Sales Forecasting with AI: Method and KPIs,” which briefly touches on historical data and granularity as part of a broader methodology. This guide revisits that specific point and goes further: the depth required 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 do not have the same need for historical data; the question must be addressed on a category-by-category basis, 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 similar items that have already been sold, not on historical data that does not exist—a different exercise, discussed below.
Products in Structural Shortage
There is a long history, but it describes a market that no longer exists. The sheer volume of data does not compensate for its obsolescence, which is also discussed below.
Maintaining the appropriate weighting by category helps avoid two common mistakes: underweighting a seasonal product based on a 12-month history, or overweighting a stable product based on a five-year history that offers no additional insight beyond the last 12 months.
The Censored Request: What an Out-of-Stock Situation Hides in Your Order History
This is the most subtle and systematic bias of all, because it isn't reflected in the numbers. An empty shelf on a Tuesday afternoon doesn't show up as a missed 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 is self-perpetuating: the less inventory ordered, the more stockouts, and the more skewed the data becomes 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 correction via latent demand recovery 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 wonders 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 beneath it
A stockout is not the only event that renders part of the transaction history unusable without flagging it. 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 that replaces the old one under a similar name: the system continues to track a single 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 recur 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 with a 30% discount 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 are deliberate decisions. Along with the purchasing department, 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 (37 U.S. retailers, nearly 370,000 References Tracked) 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.
References Tracked s showed a discrepancy between the inventory recorded in the system and the inventory physically present on the shelves, according to a study of nearly 370,000 inventory counts from 37 U.S. retailers. This discrepancy becomes particularly pronounced during periods of change, 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 when contextual changes occurred—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 a history is structurally inadequate, regardless of its length or clarity.
Launching a Product with No Track Record
By definition, a new listing has no past sales to review.
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 is based 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—all of these make some historical data misleading rather than useful.
The data is accurate, complete, and properly dated. It simply describes 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 historical data in the forecast, and account for this explicitly rather than letting a model continue to weight a past that no longer serves as a reference.
Ensuring the reliability of historical data before using it for forecasting
Mapping Past Disruptions
Identifying, on a line-by-line basis, the periods when inventory fell to zero is a 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 placement; 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 stable and seasonal products; the required depth is not a constant across the company—it varies by category.
Handle cases with no prior history separately
Product launches and structural market shifts cannot be addressed by looking for more historical data; they require an approach based on analogy or scenario analysis, not a longer historical record.
GENIUS Predict and GENIUS Monitoring: A History That’s Monitored, Not Endured
GENIUS Monitoring centralizes alerts regarding price anomalies, stockouts, and competitor price discrepancies, thereby limiting the amount of suppressed demand that silently accumulates in the history log 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 lumping them together.
A reliable historical record is only 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 exact opposite of the proper order of priorities.
A pricing and sales data analysis—such as the one Booper offers through its price optimization software—almost always begins with this question: How much can we trust historical data before building anything on it?
Sales activities themselves—including promotions and marketing campaigns —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 on the key page of this report 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 experienced 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 data appropriate for each category, or is it the same for the entire catalog?
- Are products with no sales history or that are structurally out of stock 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; there is no universal rule. Six to twelve months of clean historical 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 time series—but one corrected for biases, particularly the censored demand associated with stockouts—is better than a long time series that has never been cleaned, which artificially caps the estimated demand for the relevant SKUs. For a seasonal product, the appropriate time series window is consistent 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 shift 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-food 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 poor sales forecasting.
This bias perpetuates itself over time: less inventory is ordered based on an underestimated demand, leading to more stockouts, which in turn skews the historical data even further 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: a SKU that “never sells well,” according to the 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 improvement method presented in the article.
Does a change in the product lineup or shelf arrangement 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 highlighting, 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 References 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, 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 similar 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 for testing pricing strategies.
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 accurately 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, according to the article’s analogy, 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 reference.
See also in this feature
- 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 overview), booper.fr
- Booper, internal product data (`context/socle_booper.md` §3), GENIUS Predict, GENIUS Monitoring.

The model is the easy part. A recommendation engine can be up and running in a few months; what takes years is the knowledge base, competitive matching, the rule set, explainability, and compliance. According to Exclaimer (2025), 71% of in-house developments are eventually abandoned, and 83% in regulated sectors: the breaking point is almost never deployment—it’s maintenance.
The hidden cost is a cost of continuity: an in-house tool relies on two or three people, and if they leave, the asset becomes a liability. The build remains useful within a narrow and stable scope, as a complement to a solution rather than a replacement for it. The deciding factor isn’t the team’s expertise; it’s their ability to last ten years.

Data and context are two distinct assets: data describes what happened, while context explains what we are allowed to do and what would be absurd. This context is implicit by nature: it has never been written down because there was never a need to do so as long as decisions were made by humans who shared it.
Four categories cover the essentials: price benchmarks, relational constraints, unwritten rules, and commercial objectives by category. Formalizing them provides lasting value, because the context outlasts the models: algorithms are replaced every two or three years, but a written context remains a company asset.

A business case for a pricing solution combines two types of return on investment that are completely different. Friction ROI refers to the hours saved: easy to measure, but capped. Decision ROI refers to the margin points gained from better-set prices: difficult to measure, and unlimited.
Confusing the two explains the gap identified by IBM in 2025: 66% of executives report productivity gains from AI, but only about one in five has met their return on investment (ROI) goals. The ROI of a decision isn’t measured by comparing “before” and “after,” but rather against a control group; otherwise, seasonal factors, inflation, or a competitor’s actions will be credited to the tool. The test to apply to a business case: if you remove all the “time saved” lines, is the project still profitable?
.avif)