UgurKeser.art

Forecasting demand when stockouts distort sales history

Separate observed sales from availability-constrained demand, build explicit ranges and test forecast decisions with appropriate uncertainty.

Uğur Keser4 min read

Sales history records what customers bought under the availability conditions that existed. It does not directly record everything they would have bought if every item had been available. When stockouts are frequent, a forecast trained or calculated from raw sales can learn the supply constraint instead of the underlying demand.

The solution is not to replace every unavailable day with a confident estimate. It is to preserve the difference between observed sales, availability, and inferred demand, then test how sensitive the purchasing decision is to that uncertainty.

Reconstruct availability at the decision level

Start with the product variant and location or channel that matters for replenishment. A product family can appear available while its most requested size is absent. A total inventory count can also conceal that stock was not available to the relevant online channel.

Record the periods when the item could actually be purchased and fulfilled under the intended promise. If availability history is incomplete, label that gap. Current inventory cannot reconstruct every past state reliably.

Include price and promotional context. Available days during a promotion are not automatically representative of ordinary demand. A forecast built from only those days can overstate the next period even while correcting for stockouts.

Classify the missing signal

A fully unavailable item, a partially available variant family, and an item with a delayed-delivery promise produce different observations. Customers may leave, choose a substitute, postpone, or buy elsewhere. The resulting sales pattern should not be interpreted with one universal correction factor.

Look for supporting signals such as out-of-stock product visits, requests for notification, customer questions, and substitution patterns. These are imperfect indicators. A notification request is not a guaranteed future order, and product-page traffic may contain people with little purchase intent.

Keep those signals alongside sales rather than adding them directly as if each represented one lost sale. The conversion from interest to demand needs evidence and may vary by product.

Build an explicit range

One practical starting point is to estimate sales intensity during comparable available periods, then apply a range to the unavailable period. State which days are comparable and why. If the comparison is weak, widen the range rather than hiding uncertainty in a precise average.

For a hypothetical item, a low scenario might assume limited lost demand, while a higher scenario reflects stronger interest and observed substitution. The scenarios should be grounded in available evidence, not selected to justify a desired purchase quantity.

The forecast table should retain observed sales, estimated unavailable-period demand, and the resulting range separately. A later reviewer must be able to distinguish the data from the judgment layered onto it.

Test the method where the answer is observable

Use earlier periods with reliable availability and temporarily withhold part of their sales history in the analysis. Compare the method’s estimate with the sales that actually occurred. This kind of retrospective check can expose systematic overstatement or understatement under conditions resembling the intended use.

It does not prove that demand during a real stockout behaves identically. Customers may react differently when availability disappears, and market conditions can change. Treat the check as evidence about the method’s limitations, not certification of perfect demand recovery.

Compare a simple baseline with the more complicated correction. If the elaborate model does not improve decisions or explain its assumptions, additional complexity may not be worthwhile.

Connect the forecast to a bounded purchase

The decision also depends on lead time, minimum order quantities, cash, storage, and the cost of excess stock. A wide demand range may justify a smaller initial purchase with a faster review rather than a large commitment based on its midpoint.

Record what new observation would change the next order. Once stock returns, compare actual sales and remaining interest with the forecast. Watch for a short backlog surge followed by normal demand; that pattern should not be extrapolated indefinitely.

For new products with no reliable history, use explicit scenarios and a limited pilot. Do not present a model-generated number as measured demand merely because it has several decimal places.

Preserve the learning

Store forecast versions and the evidence available at the time. Otherwise, later edits can make the model appear more accurate than it was when the purchase decision occurred. Evaluate both forecast error and the resulting stock outcome with consistent scope.

The aim is a replenishment process that understands its blind spots. For broader stock and fulfillment boundaries, see the Noveniq diagnostic plan. For preventing misleading aggregate interpretations, read revenue per visitor and customer mix.