Walk the center-store aisles of most grocery chains and you’ll find products the system swears are on the shelf and aren’t. Perpetual inventory says twelve units of a SKU are in stock; the shelf tag is empty and the backroom is bare.
That gap is phantom inventory, and in grocery it’s the reason on-shelf availability metrics can look fine on a dashboard while a shopper walks past an empty peg and buys the item at a competitor down the street.
A study led by Professor Aris Syntetos at Cardiff Business School, working with researchers from Emlyon Business School and TU Darmstadt, put a number on how fixable this actually is. Analyzing more than 1.3 million stock-audit records from six major grocery chains between 2018 and 2022, the team built a machine-learning model that runs entirely on data grocers already collect, without requiring new sensors, new hardware, or a change to how stores currently receive and scan product. It correctly identified genuine inventory errors roughly nine times out of ten, outperformed standard detection methods by about 19%, and flagged more than 80% of phantom inventory cases before they turned into lost sales.
That figure is specific to the grocery environment, where razor-thin margins, DSD SKUs that bypass the normal receiving flow, and high-velocity perishables make phantom inventory both harder to spot and more expensive to ignore than in almost any other retail vertical.
Table of Contents
Why Grocery Has a Different Problem Than Big-Box Retail
A general merchandise retailer that misreads its inventory by a few units on a slow-moving SKU has time to recover. Grocery doesn’t get that luxury.
Center-store and perimeter categories turn over multiple times a week, sometimes multiple times a day for top sellers. A phantom inventory error on a top-20 SKU in dairy or snacks doesn’t sit quietly for a month waiting to be caught at the next physical count. It shows up as an out-of-stock the same day, and by the time a store associate notices the peg is empty, the replenishment system has already skipped a reorder because its books say the stock is fine.
Layer DSD on top of that and the problem compounds. Vendor-managed categories like bread, snacks, and beverages are stocked directly by supplier reps rather than the retailer’s own receiving process, which means store-level inventory records for those SKUs are only as good as what gets scanned in the aisle that day. Nobody in the retailer’s own operation counted the product in, so nobody in that operation is well positioned to notice when the count drifts.
The Counting Treadmill
Grocery chains have historically responded to this the way most retailers do: count more often. Add cycle counts, add year-end physical inventories, pull more labor into inventory control during slow shifts.
Syntetos has argued that this instinct, while understandable, is increasingly the wrong lever to pull. Being smarter about where and when you count beats simply counting more.
The labor math explains why. Store-level headcount is already stretched across checkout, replenishment, and increasingly ecommerce picking for curbside and delivery orders, and asking teams to count more SKUs more often competes directly with the labor that’s supposed to be fulfilling online orders in the first place. A chain running click-and-collect out of its stores is effectively asking the same associate to both verify inventory accuracy and pick against it, often within the same shift, which means something has to give.
Targeted detection changes the math. Instead of auditing every SKU on a fixed schedule, a model trained on transaction velocity, receiving patterns, and historical variance tells a store’s inventory team which specific SKUs and categories are statistically likely to be wrong right now. A produce manager can skip recounting the whole department and instead check the three specific SKUs that pattern analysis, rather than gut feel, flagged as worth a look before the next order cycle runs.
What This Means for Online Grocery Specifically
Curbside pickup and delivery have made phantom inventory a customer-facing problem in a way it never was when grocery was purely an in-store business.
A shopper substitution or a canceled item in an online order is a service failure the customer experiences directly, often at the worst possible moment, when they’ve already planned a meal around an ingredient the app told them was available. E-grocery platforms pull from the same perpetual inventory record that drives in-store replenishment, so when that record is wrong, the picker walking the aisle for an online order runs into the identical empty shelf a walk-in shopper would. Except now it triggers a substitution algorithm, a customer notification, and in many cases a refund, all in the space of a few minutes.
Chains that have layered detection models onto their inventory systems are catching these mismatches before the picker ever gets the order.
Where This Leaves Category and Operations Teams
The Cardiff findings point toward a specific operational shift. Grocers running tight-margin, high-velocity categories should expect their inventory tooling to do three things a standard perpetual inventory system typically can’t: differentiate DSD SKUs from warehouse-replenished SKUs in how it weighs risk, flag discrepancies by transaction pattern instead of fixed audit schedule, and route those flags into the same work order queue store teams already use for cycle counts instead of creating a separate process nobody has time to run.
None of that requires ripping out existing systems.
It requires treating inventory accuracy as a detection problem with a known, measurable success rate, rather than a labor problem to be solved by counting harder. For grocery specifically, where a five-unit discrepancy on the wrong SKU shows up in a customer’s canceled delivery order the same afternoon, that distinction is the whole game.
