The availability failures that persist are the ones where the perpetual record says you have stock, because the replenishment trigger is driven by that record and never fires. Kang and Gershwin called this inventory freezing in 2005, and a small undetected loss rate is enough to cause it. Your out of stock report cannot see the condition, since it is built on system stock reaching zero and system stock never does. The detector that works is a zero sales test with a window sized from each item's own demand rate, roughly twelve divided by units per day, which gives three days on a four a day item and forty on a slow mover. Fast movers can be caught statistically and slow movers have to be counted.
A colleague walks the aisle with a handheld, finds a gap where a 500ml shampoo should be, and scans the shelf label. The screen says four on hand. There is no order to raise, because the system believes the store has stock and the replenishment run agrees. The gap is still there the following week, and the week after. Nine weeks later somebody does a count for an unrelated reason, corrects the record to zero, and the item ships on the next delivery.
Nothing in that sequence produced an alert. The item never appeared on an out of stock report, because those reports are built from system stock hitting zero and this one sat at four the whole time. It never appeared on a lost sales report either, since there were no sales to compare against. Nine weeks of nothing, and the only trace was a flat line that looked like a slow item behaving normally.
This is the part of on shelf availability that does not respond to more stock or a better forecast. The chain has the units. The store has a delivery arriving twice a week. The mechanism that decides whether the shampoo goes on that delivery is reading a number that is wrong, and no amount of upstream improvement reaches it.
Where the missing units went
The perpetual record drifts for a small set of reasons, and they behave differently.
Unrecorded loss. Theft, damage written off informally, and consumption in store. The record stays high and the shelf empties. This is the direction that breaks availability.
Receiving error. A case booked in that never arrived, or a case counted twice on the way in. The first inflates the record, the second deflates it, and the second self-corrects when the shelf runs out and someone reorders.
Unit of measure confusion. A case of twenty four booked as twenty four eaches, or the reverse, usually on items where the pack changed and the master data did not. This produces record errors that are large multiples rather than small offsets.
Misplaced stock. The units exist, in the backroom or on a promotional display three aisles away. The record is correct at store level and wrong at shelf level, a different problem with the same symptom.
Only the first three are record error in the strict sense. Misplaced stock is an execution problem the count will not fix, since a count that includes the backroom confirms the record and leaves the shelf empty. Both routes end at the same place: a shelf with no product and a system with no reason to act.
The reorder that never fires
Take an item with a reorder point of five and a case pack of twelve. True shelf stock is zero. System stock is four, because four units left without scanning at some point over the past two months. The replenishment run compares four against five, and four is below five, so it should order. Say instead the record reads six. Six is above five, no order is raised, and the item cannot sell, so no sales are recorded, so the record never moves. The position is stable forever.
That stability is what makes the condition expensive. An ordinary stockout is self-correcting: demand arrives, stock falls, the trigger fires, product ships. A phantom stockout removes the feedback that drives that correction, and the item sits at a permanent zero until a human touches it.
Kang and Gershwin modelled this in IIE Transactions in 2005 and named it inventory freezing. The loss rate required to cause it is small: a rate too low to register as a shrink problem in any financial review is enough to drive automatic replenishment into a state where it stops ordering an item entirely. The effect is disproportionate, because a percent of units disappearing acts on the trigger rather than on the balance.
Why the out of stock report cannot see it
Most store availability reporting takes one of two forms: the system counts item-store combinations where recorded stock is zero, or it counts delivery lines that were not filled. Both miss this by construction. Recorded stock is positive, and no delivery was ever requested.
The measurement that would catch it is a physical shelf audit, and audits are expensive enough that most chains run them on a sample of stores a few times a year. A sample gives you the rate rather than the four thousand item-store combinations to fix on Monday.
The practical detector uses the one signal that is always available and always honest, which is scan data. If an item has positive recorded stock and has sold nothing for long enough, either it genuinely sells that slowly or it is not on the shelf. Separating those cases is arithmetic rather than data, and worth doing properly, because a badly tuned version of this test throws so many false alarms that stores stop working the list within a fortnight.
Setting the alarm on the item's own demand rate
Treat sales at a store-item level as a Poisson count with rate lambda per trading day. If the item is genuinely available, the probability of observing zero sales across a window of n days is exp of minus lambda times n. Choose the false alarm rate you can tolerate, then solve for the window.
At exp of minus twelve, roughly six in a million, the window is twelve divided by lambda. An item selling four a day needs three consecutive zero days before you flag it. An item selling one a day needs twelve. An item selling 0.3 a day needs forty.
Two things fall out of that immediately. The first is that the window has to be per item. A single chain-wide rule of the form flag anything with no sales for seven days will fire constantly on slow movers and will take a week too long on the fast ones, which are the items where a week of unavailability costs real money. The second is that the test stops being useful below about half a unit a day, since forty days is not an operational alarm. Slow movers have to be caught by counting rather than by inference, which is why a targeted count programme and a statistical detector are complements.
Check the false alarm volume before you deploy it. A store carrying thirty thousand active item-shelf combinations, tested daily at six in a million, produces around one false flag every five days, which is a list a colleague will actually walk. Loosen the threshold to one in a thousand and the same store generates thirty flags a day, the list gets ignored, and the programme is dead in a month.
Two refinements pay for themselves. Suppress items outside their selling season, since a seasonal line with no sales in February is not a phantom. And rank the list by lambda times days elapsed, so the colleague works the highest lost-unit items first.
Which causes planning owns
Gruen, Corsten and Bharadwaj published the widest study of retail out of stocks in 2002 for the Grocery Manufacturers of America and the Food Marketing Institute, covering multiple countries and categories, and found an average shelf out of stock rate of 8.3 percent. Corsten and Gruen published the academic treatment in the International Journal of Retail and Distribution Management in 2003. The finding that matters for where to spend effort is the cause split: the large majority of shelf out of stocks originated in store ordering and shelf replenishment practices rather than in upstream supply. Product that the chain owned, in the building or one delivery away, failing to reach the shelf.
They also measured what shoppers do, and roughly a third go to a different store. For the retailer that is a lost transaction rather than a lost line, which is why the value of an availability point is much larger than the margin on the missing item suggests.
The part of that store-level share planning can move is narrower than the whole. Order sizing and trigger settings are planning levers that belong with the ordering discussion, and whether the shelf holds what the plan says it holds is a compliance question. What is left here is record integrity and detection, which is where the freezing condition lives.
Counting the right thousand items
DeHoratius and Raman examined nearly 370,000 inventory records at a retailer for a paper in Management Science in 2008 and found that over 65 percent did not match the physical count. That figure gets quoted as a scandal and is more useful as a design input: if most records are wrong by a small amount, counting everything is unaffordable and counting by value aims at the wrong items.
Conventional cycle counting is driven by ABC classification, so expensive items get counted often. Availability damage follows the product of demand rate and record error probability, which has very little to do with unit cost. A two pound item selling six a day with a small case pack is worth far more attention than a forty pound item selling one a week, and the standard policy has that backwards.
A better count priority for availability purposes ranks item-store combinations by expected units lost before the next scheduled count, which is roughly the demand rate multiplied by the days since the last count multiplied by the probability the record is wrong. You can estimate that third term empirically from your own count history by item category, which most chains have several years of and never analyse. Chuang and Oliva reviewed the causes of inventory record inaccuracy in the Journal of Operations Management in 2015 and found that error rates vary systematically by product and process characteristics, which means the prior is learnable rather than uniform.
The detector and the count programme feed each other. Every flag produces a count, every count says whether the flag was right, and a few months of that gives you a per-category calibration of which parts of the range actually drift.
Where this stops
The number this work produces is an estimate and will stay one. You cannot observe the sales that did not happen, so any statement about lost units rests on a counterfactual demand rate estimated from a history carrying the same censoring. A shelf audit gives you a defensible availability rate for a sample of stores on one day, and converting that into an annual revenue figure involves assumptions worth stating out loud. How the rate itself should be defined and reported is its own question.
The detector has a floor. Below roughly half a unit a day the required observation window is longer than the problem, and a large share of a supermarket range sits below that line. For those items the honest answer is a physical process: gap scanning on a walk route, a count triggered by the first sale after a long silence, or acceptance that some slow lines will be missing for weeks and that the cost of finding them exceeds the cost of the loss.
Detection technology changes the economics without changing the argument. Shelf cameras and item-level tagging give you the truth directly, and they raise the same question the count programme raised, which is whether the cost per item-store-day clears the value of the units at risk. On a two pound item that arithmetic is still hard.
One direction of causality is worth respecting. Ton and Raman found in Production and Operations Management in 2010 that higher product variety and higher store inventory both increased misplaced product and, past a point, were associated with lower sales. Adding range and adding stock are the two instincts that follow an availability complaint, and both can make the shelf worse. The availability case for a range extension deserves to be argued rather than assumed.
Run the detector once, by hand, before building anything. Take yesterday's store-item file for a single store, keep the rows where recorded stock is positive and the last three trading days show zero sales and the item averages more than four units a day, and walk that list down the aisle this week. The hit rate on that first walk will tell you whether this is worth a programme.
More on this in retail on the DemandLabs platform.



