Blog · 3 September 2026

How much of your catalogue is out of stock right now?

You are reading one of twelve guides in The Operator's Guide. Next article: One word in the ad filtered out a quarter of the applicants →

Most owners can name a product that is out of stock. Almost none can name the share of their catalogue a buyer cannot buy, and the two numbers are very far apart.

In late August we read the public product feeds of 104 live US ecommerce stores and counted, for each one, how many of its buyable options a customer could not actually buy that day. Across all of them there were 173,092 buyable options and 22,322 of them were unavailable, which is 12.9 percent. The middle store in the set sat at 11 percent.

That is the whole finding. The rest of this article is the method, the spread behind the median, and the reason the number is close to invisible from inside a store.

What was read, and how

Every Shopify store publishes an open feed of its products unless the owner turns it off. It lists each product, each variant, and whether that variant is available. We read that feed and nothing else. No logins, no accounts, no private data, no scraping of anything behind a password.

The unit is the variant, not the product, because the variant is what a customer clicks. A shirt in five sizes and three colours is one product and fifteen variants, and a buyer who wants a medium in navy does not care that the other fourteen are in stock.

The set is 104 US stores that came out of our own prospecting, not a random sample of Shopify. They skew toward stores with real catalogues: the middle store had 155 products and 430 variants. Read the numbers as a description of stores like these, not as a national average.

The stores are not named, and they will not be. They did not agree to be measured and publishing a league table of other people's out of stock rates would be a cheap way to make a point at their expense.

The spread matters more than the median

An average hides the shape of this. Here is the whole set.

Share of options unavailableStores
Under 10 percent49
10 to 19 percent15
20 to 29 percent16
30 to 39 percent7
40 to 49 percent6
50 percent or more11

Fifteen of the 104 stores were at zero, which is worth saying plainly: this is a solvable state, not a law of retail. At the other end, 40 stores had at least a fifth of their catalogue unbuyable and 24 had at least a third.

One store read at 100 percent on 16 variants. That is almost certainly not a store with nothing to sell, it is a store that does not track inventory, so every variant reports as unavailable. It is left in the counts above and called out here rather than quietly deleted, because deleting the inconvenient row is how a number stops being checkable. Removing it moves the median from 11.5 to 11.0 and changes nothing else.

Free, and no email: the store check runs this same count on your own store in about ten seconds. Paste your address and it reads your live feed, tells you how many of your buyable options are unavailable right now, and shows two other findings. No account, no card, nothing stored.

Why the number is invisible from inside

Nobody hides this. It is genuinely hard to see from the admin side, for three reasons that compound.

The admin thinks in products, the buyer meets variants. A product page with fourteen of fifteen variants in stock looks healthy in a product list. To the customer who wanted the fifteenth, the store simply did not have it.

Nothing generates a complaint. A customer who cannot buy does not email you, does not open a ticket, and does not appear in any report. They leave, and the only trace is a page view with no add to cart, which looks exactly like ordinary browsing.

The rate drifts up, it does not jump. One discontinued colour a month is invisible. Thirty months of that is a third of the catalogue, and no single day was the day it broke.

What we could not find

We went looking for a public, checkable dataset of variant level out of stock rates for small ecommerce stores, and we did not find one. Figures circulate. An eight percent average across ecommerce categories is widely repeated, as are very large global loss estimates. The versions we could reach traced back to secondary summaries rather than to a published method and sample, so we are not standing behind them and we are not repeating them as if they were established.

That is why the numbers above are our own, and why the method is written out before the finding rather than after it. Disagree with the sample and the number changes. That is the point of showing it.

We also cannot tell you what this costs you, and neither can anyone who has not seen your data. Turning an unbuyable variant into lost revenue needs its demand, its margin and how many buyers substituted something else instead of leaving. Any number produced without those three is a guess wearing a dollar sign.

Three cases that look identical in a report

A single out of stock figure bundles three different problems, and they need three different fixes.

Discontinued. The variant is never coming back. It should be unpublished or redirected, not left as a permanent dead end that takes search traffic and returns nothing.

Temporarily out. It is coming back. The page should say when, and take an email if the customer wants telling. This is the only one of the three where the page still has a job to do.

Never tracked. The variant is available in reality and reports as unavailable because inventory tracking was never switched on. This is a settings problem that costs real sales, and it is the one that produces the extreme readings.

Splitting your own list into those three is most of the work, and it is work nobody does until they see the count.

What to do this week

  1. Get the count, not an impression. Run the free check above, or open your own products feed and count the variants marked unavailable. Ten minutes either way.
  2. Sort them by traffic, not alphabetically. An unbuyable variant on a page nobody visits costs nothing. The list you care about is the dead variants on pages that still get visitors.
  3. Split the top twenty into the three cases above. Discontinued, temporarily out, never tracked. Twenty is enough to find out which case dominates, and it usually is one of them.
  4. Fix the never tracked ones first. They are a settings change and the inventory is already sitting in your warehouse.
  5. Put the count on a recurring note. Monthly is enough. The rate drifts, so the only defence is measuring it on a schedule rather than when somebody happens to notice.

None of this is advice about your specific business, and the figures above describe 104 stores that are not yours. Your own count is the only one that decides anything, and it is ten minutes away.

If the count comes back small, you have your answer and you can stop. If it comes back large and the reason you have not fixed it is that nobody has the hours, that is the lane an Opsbench operator takes off your week: catalogue and listings kept correct, on your hours, month to month.

Read next

Or point the free store check at your own store. It reads your live catalogue, the pages a first time buyer looks for, and your server speed, and gives you three findings in about ten seconds. No account, no card, nothing stored.

Next articleOne word in the ad filtered out a quarter of the applicants

All articles · All free tools

Comments

No comments yet. Yours would be the first.

Comments appear after a quick review. First name and date only.

From $1,650 a monthNo card, nothing due until day one
Email us the role