How to Find Out-of-Stocks in a Retail Chain, Store by Store

A chain report can show plenty of stock while one store's shelf has been empty since Saturday. Four checks on data you already have find those shelves store by store, including the ones the stock record says are full.

Key takeaways

  • Look for out-of-stocks per product and per store. A chain total adds one store's stock to another's and hides the empty shelf.
  • Zero stock on a product that sold recently is an out-of-stock you can see today. Price it by what the product makes on a day it sells.
  • Some empty shelves sit behind a stock record that says there are units on hand. A run of days without a sale, longer than the product's pace allows, gives them away.
  • Compare each store with the others: a product that sells everywhere but one store points to that store's shelf, not to demand.
  • Days of supply against the next delivery shows what will run out before stock arrives. After an out-of-stock, don't cut the next order.

An empty shelf rarely shows up in a chain report. The report adds up the stock of every store, and the total looks fine while one store has had nothing to sell since Saturday. In Italy, where the grocery trade measures this, shoppers met an empty shelf on 9.9% of their shopping trips and could not find 4% of the products they came for2.

You don't need shelf cameras to find those shelves. The till and the stock record already hold most of the answer, read store by store. Four checks find them, from the cheapest to the most work.

What an empty shelf costs

Not every out-of-stock is a lost sale. When ECR Italia had several hundred shoppers keep a diary of every product they could not find, a third of the time they took something else, and almost as often they went without2:

What shoppers did when a product was missing in the store

Bought a substitute
33%: another brand 22%, the same brand 11%
Bought it at another store of the same chain
8%
Asked someone else to buy it
8%
Bought it at a competitor or online
20%: a competitor 13%, online 7%
Gave up or put it off
31%
Reactions to 874 products missing in physical stores, from a four-week shopping diary in Italy, spring 2026.

The two outlined parts are sales the chain lost, and some of them are customers who just learned where else to shop. Substitution is not free either: the shopper who switched brands may have paid less, or picked a product with a thinner margin.

Check 1: zero stock on a product that sells

The first check is the one your data already shows. List every product with zero stock in a store where it sold in the last few weeks. Do it per store, never on the chain total:

Across the three stores42 units · 6 a day · 7 days of supply

Store A32 units1.5 a day

21 days of supply

Store B10 units2 a day

5 days: runs out this week

Store C0 units2.5 a day

Empty since Saturday

An illustration: one product in three stores. The chain line is what a report shows.

Then put a price on each line, because a list of two hundred empty shelves gets read from the top. Use what the product takes in that store on a day it sells, averaged over the last four weeks. An average over all days undercounts, since the days it was already out of stock pull it down. Multiply by the days the shelf has been empty and sort each store's list by that amount. The empty-shelf playbook covers what a day of absence is worth in more detail.

A negative stock figure belongs on this list too. It means the record has gone wrong somewhere, and the inventory shortage essay walks through how to find where.

Check 2: stock on paper, nothing at the till

The harder out-of-stocks are the ones the stock record does not show. The system says there are units on hand; the shelf is empty, or the units are in the back room, damaged or stolen. Because the record never reaches zero, the store does not reorder either.

This is common. When researchers counted about 500 products in each of 10 stores of dm, the European drugstore chain, 31% of them did not match the record, and records showing more than was on the shelf were the more frequent error in every store. Empty shelves behind a positive record ranged from 0.4% to 2.0% of products, depending on the store3. At a UK grocer, 39.4% of stock records showed more than was actually there4.

The till gives these shelves away. A product that sells about two a day goes a day without a sale now and then; four days in a row, with stock on the record, happens by chance about once in three thousand runs. A run that long means the product is not reaching the shopper:

Record: 14 on hand

1 Oct20 Oct

4 days, no sale

An illustration: units sold per day of one product in one store. A single day without a sale is normal; a run with stock on the record is not.

Italy's grocery industry measures availability this way for the whole market: GS1 Italy and Circana read sales per product, per store and per day from 2,524 stores, and count a product as out of stock on a day it sold nothing but was expected to sell1. In September 2025 that gave an out-of-stock rate of 3.4% and lost sales of 4.2%. Promoted products ran at 0.7%: when a store expects a spike, it fills the shelf.

Send these lines to the store as a list to count and check. It pays off: in the dm study, counting the 4% of products a zero-sales model ranked highest found 42% of the hidden empty shelves3, and at the UK grocer a full count lifted store sales by about 11% over the following two months, all of it on products whose record had shown more than was there4.

Check 3: the store against the others

A chain has an advantage over a single shop: the same product sells in other stores at the same time. If it sells everywhere this week except in one store, demand did not change; that store's shelf did. Researchers who built a detection method on this idea read the same product in other stores and other products in the same store, rather than one product's history alone5.

The simple version fits in a spreadsheet. For every product in every store, compare this week's sales with that store's own average for the last ten weeks, and flag the lines that fell below half, the rule those researchers tested on a retailer's data5. Then drop the products that fell in every store: that is demand, a season or a price change. What is left is a list of shelves to look at.

Check 4: what runs out before the next delivery

The first three checks find shelves that are already empty. The fourth finds the ones about to be. Divide each product's stock in each store by its average daily sales over the last month: that is its days of supply. Any line with fewer days of supply than the days until the store's next delivery will run out before stock arrives. The dead-stock guide uses the same number from the other end, to find stock that will not sell.

One habit makes this worse. After an out-of-stock, the sales history shows a quiet week, because nothing was there to sell. A study of a supermarket chain's automated ordering found that managers were more likely to cut the proposed order after a stock-out, which made the next stock-out more likely6. The quiet week was the empty shelf, not the demand.

One list per store, every morning

The four checks belong in one list for each store, in this order, so the store manager sees the most money first:

  1. Zero stock on a product that sold in the last month, priced and sorted

  2. Stock on the record and a run of days without a sale: count it

  3. Selling elsewhere in the chain but not here this week

  4. Fewer days of supply than days to the next delivery

  5. The store's list for today

    A product that fits none of the four stays off the list

All four checks depend on the stores' data being comparable: the same product code in every store, sales dated by business day, stock read after the last sale of the day. The guide to consolidating POS data across stores covers that groundwork.

How marql finds out-of-stocks

marql reads sales and stock from a chain's POS and ERP. After every stock sync it lists, store by store, the products at zero that sold in that store in the last 30 days, and raises one card per store with the eight that cost the most and the sales at risk per week across all of them. Each product is priced by what it takes on a day it sells, over the last four weeks. Warehouses are left out.

Pick a store in Analyze, under Products and Stock, and every product shows its days of supply from the last 30 days' sales: critical under three days, low under seven, with the revenue at risk from both.

  1. GS1 Italy (2025-11-04). 3,4%: il tasso di out-of-stock a settembre 2025. Tendenze. Method: GS1 Italy webinar, 29 October 2025. tendenzeonline.info
  2. ECR Italia, GS1 Italy and NIQ (2026). Il peso dell'Out-of-Stock: il punto di vista dello shopper e gli impatti per Industria e Distribuzione. PDF
  3. DeHoratius, N., Holzapfel, A., Kuhn, H., Mersereau, A. J., and Sternbeck, M. (2023). Evaluating count prioritization procedures for improving inventory accuracy in retail stores. Manufacturing & Service Operations Management, 25(1), 288-306. doi.org
  4. Rekik, Y., Oliva, R., Syntetos, A. A., and Glock, C. H. (2026). Inventory record inaccuracy in grocery retailing: impact of promotions and product perishability, and targeted effect of audits. Journal of Business Logistics, 47(3), e70079. doi.org
  5. Farias, V. F., Li, A. A., and Peng, T. (2024). Fixing inventory inaccuracies at scale. Manufacturing & Service Operations Management, 26(3), 1102-1118. doi.org
  6. Özdemir, B. and Tenhiälä, A. (2026). Discretion in Automated Supermarket Replenishment: Censorship Bias and Self-Inflicted Stockouts. Manufacturing & Service Operations Management, articles in advance, 5 August 2026. doi.org

TopicsOut-of-stocks, On-shelf availability, Phantom inventory, Retail chains

Written by

Maxim T.

CMO, marql

Follow marql on LinkedIn

All articles

Blog

Frequently asked questions

Combine sales and stock per product and per store. Zero stock on a product that sold recently is a visible out-of-stock. A run of days without a sale, longer than the product's usual pace allows, points to an empty shelf the stock record does not show. Comparing the store with the rest of the chain separates a shelf problem from a drop in demand.

Stock the system shows but the shelf does not have: units lost, damaged, stolen or left in the back room. Because the record stays above zero, no reorder is triggered and the product can stay off the shelf for days. Studies of European and UK chains found records showing more than is there to be the most common kind of error.

Take what the product sells in that store on a typical day it sells, over the last few weeks, and multiply by the days the shelf was empty. Averaging over all days, including the days it was out of stock, undercounts the loss. Some shoppers substitute or buy at another store of the chain, so treat the figure as sales at risk rather than sales certainly lost.

Stock on hand divided by average daily sales, per product and per store. If a product has fewer days of supply than the days until the store's next delivery, it will run out before stock arrives.

Most of them. Till and stock data find the empty shelves the record shows and flag the likely hidden ones; a count in the store then confirms the flagged lines. Counting only the lines a model flags finds far more hidden out-of-stocks than counting at random.

Ready to see
the euros it found?

Connect your POS, stock and accounting in a day. Read-only access, no POS replacement, €200 a month per location and less as you grow.

0
Replacement of stack
1
Chat. Whole business.