- Lost demand is the gap between forecasted demand and actual sales on days when inventory constraints — not real demand shifts — suppressed purchases.
- MySales builds a clean demand forecast immune to stockout distortion, then isolates the shortfall caused by empty shelves.
- Lost demand feeds directly into order calculations, forecast corrections, and availability KPIs — it is not merely a reporting metric.
- The system applies conservative guardrails to prevent overestimation, including analog-based limits and confidence adjustments.
Lost demand represents revenue that never materialized — not because customers stopped wanting a product, but because the product was not on the shelf when they arrived. MySales quantifies this invisible shortfall by comparing a statistically robust demand forecast against actual sales on days when inventory was depleted.
Understanding how this calculation works is essential for supply chain teams that want to move from reactive replenishment to demand-driven ordering.
The Core Principle
MySales begins by constructing a clean demand forecast — an estimate of what sales would have been if the product had remained continuously available. This forecast is deliberately insulated from the distortions that stockouts introduce into raw sales data.
The system then evaluates three variables for every SKU-store-day combination:
- Forecasted demand — the modeled expectation of customer purchases
- Actual sales — what was recorded at the register
- Product availability — the inventory level and out-of-stock status
When the product was unavailable and the forecast exceeds actual sales, the difference is classified as lost demand.
Trigger Conditions
MySales does not flag lost demand indiscriminately. The calculation activates only when all of the following conditions are met simultaneously:
- Forecasted demand exceeds actual sales
- Inventory is at zero, or below the minimum threshold required for the product to be available for sale
- There are no signs of artificial demand limitation — such as store closures, SKU delisting from the assortment, or data quality errors
If a product was physically available on the shelf but did not sell, MySales records zero lost demand. The system treats this as genuine low demand, not a supply failure. This distinction prevents false inflation of lost-demand figures.
The Calculation Formula
For any given day and SKU-store combination, the logic is straightforward:
- If inventory = 0 and forecast > actual sales: Lost Demand = Forecast - Actual Sales
- Otherwise: Lost Demand = 0
The elegance of this approach lies not in the formula itself, but in the quality of the forecast that feeds it.
What Drives the Demand Forecast
MySales deliberately excludes out-of-stock days from its definition of "ground truth." Treating zero-sales days caused by empty shelves as real demand signals would teach the model to expect — and perpetuate — stockouts.
Instead, the forecast incorporates:
- Seasonality and trend patterns extracted from in-stock history
- Price and promotional effects
- Weather data (when enabled)
- Sales history restricted to days when the product was genuinely available
- Analog data from similar SKUs or comparable stores
By training exclusively on in-stock periods and enriching with external signals, the forecast remains stable through prolonged stockout episodes. A conventional model would progressively lower its predictions during extended out-of-stock windows, masking the true demand and reducing future order quantities — a vicious cycle that MySales is designed to break.
Guardrails Against Overestimation
Overstating lost demand is as dangerous as ignoring it — inflated figures lead to excess inventory and waste. MySales applies several conservative filters:
- Extended stockouts — when a product has been out of stock for an unusually long period, the system attenuates the estimated impact to account for customer substitution behavior
- New SKUs — for products with limited sales history, the model relies on constrained analog-based forecasts rather than extrapolation
- Unstable demand patterns — when historical sales are highly volatile, the model lowers its confidence interval
- Zero demand despite availability — if a product consistently recorded zero sales even when it was in stock, lost demand is set to zero
Practical Application Across the Supply Chain
Lost demand is not a passive dashboard metric. It is an active input into four critical system functions:
- Forecast correction — demand is restored to its true, unconstrained level so future predictions reflect actual customer intent
- Order calculation — replenishment quantities account for the demand that was missed, reducing the probability of repeat stockouts
- Availability KPIs — on-shelf availability (OSA) and related metrics incorporate lost demand to give a complete picture of service-level performance
- Model training — the system learns that the product genuinely sells at the forecasted rate, preventing the downward spiral of shrinking orders
Consider a single SKU in one store over four consecutive days:
| Day | Forecast | Sales | Inventory | Lost Demand |
|---|---|---|---|---|
| Mon | 10 | 10 | > 0 | 0 |
| Tue | 12 | 5 | 0 | 7 |
| Wed | 11 | 0 | 0 | 11 |
| Thu | 9 | 9 | > 0 | 0 |
On Monday and Thursday, inventory was available and sales met the forecast — no lost demand. On Tuesday, the shelf ran dry partway through the day; 5 units sold before stock was exhausted, leaving 7 units of unmet demand. On Wednesday, the product was completely unavailable for the entire day, and all 11 forecasted units are classified as lost demand.
Over this four-day window, 18 units of demand went unserved — revenue that was left on the table due to inventory gaps.
The Boundary Between Sales and Lost Demand
One final clarification deserves emphasis: MySales never adds lost demand to actual sales figures.
Actual sales remain an immutable record of what was transacted. Lost demand exists as a separate analytical layer that serves two purposes:
- It explains the gap between forecast and recorded sales on out-of-stock days
- It improves future ordering decisions by ensuring the replenishment engine works from unconstrained demand rather than artificially suppressed sales
This separation preserves the integrity of financial reporting while giving the planning engine the signal it needs to prevent future stockouts.
Why This Matters
Every unit of lost demand represents a customer who walked away without the product they intended to buy. Some of those customers substituted a competitor's product; others left the store entirely. In either case, the retailer absorbed a margin loss and a loyalty risk that never appeared in any sales report.
By surfacing and quantifying this hidden shortfall, MySales transforms lost demand from an invisible cost into an actionable planning input. The result is a replenishment system that orders based on what customers actually wanted — not just what happened to sell on days when inventory was available.