What the shopper buys when you are out of stock
The missed sale is the small half of a stockout. The larger half is what the shopper learns about living without you, and that varies enormously by category and by channel.
- The cost of a stockout is set by what the shopper does next, and a substitution that repeats twice usually stops being a substitution.
- A shopper facing an absence can wait, switch brand or switch category, and urgency of need plus visibility of the alternative decides which.
- Switching is fastest on quick commerce, where the substitute is one tap down the same screen, and slowest where the shopper has to make a second trip.
- Availability effort should be concentrated on the SKUs with the highest substitution risk rather than spread evenly across the range.
Most stockout arithmetic stops at the missed sale. Units that would have sold, times price, times days absent. That number is easy to produce and it is the smaller half of the problem, because it treats an absence as a one-off loss when it is often the moment a buyer finds out that a different brand is acceptable.
What the shopper does in that moment is not random. It follows the category, the channel and how urgent the need was, and it is measurable enough to plan around.
The cost is what the shopper learns
Only one of the three things a blocked shopper can do costs you a single sale. If the substitute performs, the next purchase in that category does not start with a search for you, it starts with a reorder, and on quick commerce the reorder is a literal button. A substitution that repeats twice has become the new default.
A second cost runs through the platform rather than the shopper, which is ranking and visibility decay while you are absent, covered in marketplace inventory planning and availability as a growth lever. This post is about the buyer.
Wait, switch brand, or switch category
Three responses, and the one you get is largely decided before the shopper ever sees the empty slot.
- Wait. The buyer defers, reorders later, or goes to another channel to find you. This happens when the need is not urgent, the brand is functionally specific, and the buyer has a history with you. A specific shade, a preferred infant formula, a flavour someone in the household insists on. Waiting costs a delay and some goodwill, not the relationship.
- Switch brand. The buyer takes the nearest comparable thing. This is the default when several close alternatives are visible in the same view, price gaps are small, and the product is judged mostly on function. Most of the risk in a typical FMCG range sits here.
- Switch category. The buyer solves the need differently. No shampoo bar, buy the bottle. No cold brew, buy the instant. This one is invisible in competitor tracking because the volume did not go to a rival, it left the category.
Urgency, the visibility of alternatives at the moment of decision, and how much the buyer has invested in you decide between them. Urgent need plus visible alternative equals switch, nearly every time.
One tap away, or one shelf away
The same stockout produces different behaviour on different channels, so a single national out-of-stock number tells you very little.
- Quick commerce. The worst case. The substitute sits directly below you in the same scroll, the need is immediate, and the platform surfaces an in-stock alternative in place of the greyed-out one. Absence converts to a switch faster here than anywhere else, which is why the dark store availability score is a commercial input and not a warehouse metric, as in availability score versus ad spend.
- Marketplace. More forgiving in the short run. The buyer may wishlist it, wait for restock, or buy the same item from another seller. But the listing loses rank and review velocity while it is down, so recovery is slower than the behavioural damage suggests.
- Physical shelf. Modern trade behaves like quick commerce with less choice in view. General trade adds the shopkeeper, who recommends a replacement and has a margin reason to prefer one.
Some categories forgive an absence and some do not
Forgiveness tracks how specific the product is to the buyer. Categories where the buyer has a strong reason to want this exact item, such as skin and hair with a known reaction, baby and pet, medical adjacent, and anything with a household taste preference, tolerate an absence and produce waiting. Categories judged on function and price, such as staples, cleaning and basic personal care, produce switching almost immediately.
The second variable is purchase frequency. A weekly-purchase category punishes an absence more than a quarterly one, because the shopper gets more chances to discover that the substitute is fine. High frequency plus low differentiation is the dangerous combination.
Finding out what your buyers actually did
You do not need panel data to get a usable answer. Use what you already have.
- Match your absence log to the demand. Keep out-of-stock hours per SKU per store, then look at what your sales did in the same PIN codes in the four weeks after the gap closed. Volume back to its previous index within two weeks is a wait. Volume back at a lower level is a switch.
- Use glance views against units on marketplaces. Traffic that held up while units collapsed, and then a conversion rate that never recovered to its prior level, is the visible fingerprint of buyers who found something else.
- Read repeat rate, not total sales. Split buyers who ordered in the ninety days before a stockout into those who hit the gap and those who did not, and compare their next-purchase rate. This is the single most direct measure available to a brand, and it uses the same cohort machinery as repeat rate and retention levers.
- Search with no result. On your own site, queries that returned nothing or an unavailable item record demand you refused, and the rest of the session says whether they bought something else of yours or left.
- Ask. A short question to buyers who came back after an outage settles the wait-versus-switch split faster than inference does.
Rank availability by substitution risk
Most brands chase one service level across the whole range, which spreads scarce attention evenly over SKUs that do not deserve it evenly. Score each SKU on substitution risk, using close alternatives on the same screen, urgency of the need, purchase frequency and share of volume from repeat buyers. Set service levels against that score rather than revenue rank alone, using the tiering in safety stock and reorder points and the supply-side discipline in fill rate and OTIF.
A high-risk SKU deserves buffer stock, a tighter reorder trigger and an escalation path. A low-risk SKU can run leaner, and the capital released is better spent on the first group. Line this up against your category demand calendar, because substitution risk peaks when demand does, and against your launch reads, since a SKU that was simply absent is not evidence of cannibalisation.