How to Reduce Out-of-Stock at Retailers: A Data-Driven Playbook
Last month a distributor in Sharjah told me his hero SKU was out of stock in 38% of the outlets his reps had visited that week. Visited. As in, the rep was physically standing there and didn't flag it.
That's the real OOS problem. Not the warehouse. Not the forecast. The blind spot at the shelf.
I've spent the last four years building Zivni alongside FMCG teams in the UAE, Saudi, Pakistan, and now the UK, and if there's one number that quietly bleeds revenue more than any other, it's out-of-stock rate at the point of purchase. Nielsen pegs the global average around 8.3%. In the markets we work in, I've seen it sit closer to 12-15% on fast movers during promotion weeks. That's not a rounding error. That's a quarter of your trade spend going to a competitor who happened to be on the shelf when yours wasn't.
So here's how I'd actually attack it. Not the textbook version.
Stop treating OOS as a supply chain problem
This is where most brands get stuck. They look at OOS, see "stock" in the name, and route it to the supply planning team. Then the planner pulls primary dispatch data, sees that 94% of POs shipped on time, and closes the ticket.
Meanwhile the shelf is empty.
The truth I learned the hard way (we built our first OOS dashboard around distributor stock — wrong layer entirely) is that retail OOS lives in the gap between three systems that rarely talk: your secondary sales data, your distributor inventory, and what the rep actually sees in the outlet. If you can't triangulate those three, you're guessing.
A quick way to test where your problem really sits: pull last month's data and ask which of these three buckets each OOS incident falls into.
- Distributor didn't have stock (replenishment failure)
- Distributor had stock, outlet didn't order (rep coverage or push failure)
- Outlet ordered, but the SKU wasn't on shelf when consumer walked in (merchandising failure)
In the playbook I'll walk through below, each bucket has a different fix. Lumping them together is why most OOS reduction initiatives die after six weeks.
The playbook (what actually moves the number)
1. Make the rep the sensor, not just the seller.
Your field rep visits the outlet anyway. The marginal cost of capturing OOS during that visit is roughly zero — if your app makes it stupid easy. We had to redesign the Zivni outlet check three times before reps actually used the OOS flag. The version that worked: a single tap on the SKU list, no required photo, no comment field. Friction kills data quality. A rep who has to fill four fields per missing SKU will stop logging them by day three.
Target: every productive call captures shelf availability for your top 20 SKUs. Not your full range. Your top 20. That's where 70-80% of revenue sits anyway.
2. Shelf photos + AI for what reps miss.
Reps lie. Sometimes. Mostly they're just tired and the store is chaotic. A rep covering 35 outlets a day in Karachi traffic isn't going to count every facing accurately, and that's fine. This is where shelf image recognition earns its keep. Snap one photo, get SKU presence, share of shelf, and competitor adjacency without the rep doing the counting. We've seen brands cut their reported-vs-actual OOS gap from 11 points down to under 2 once photo audits run on every visit.
3. Beat plans driven by OOS risk, not just frequency.
Here's the thing — most beat plans are static. Monday is Deira, Tuesday is Bur Dubai, repeat forever. But your OOS risk isn't static. An outlet that went OOS on your top SKU last Wednesday needs a visit Friday, not next Wednesday. Dynamic beat planning, where yesterday's OOS data reshuffles tomorrow's route, is probably the single highest-ROI change I've seen brands make. One of our customers in Riyadh reduced repeat OOS at their top 200 outlets by 41% in the first quarter just from this.
4. Tie distributor inventory to outlet demand signals.
If you know an outlet ordered 6 cases last month and the distributor only has 4 cases of that SKU left, that's an OOS event waiting to happen 10 days from now. You can see it coming. Most brands don't, because their distributor inventory sits in one ERP and outlet ordering history sits in the SFA, and nobody joined the tables. Joining them isn't hard. It's just nobody's job. Make it somebody's job.
5. Pay for the right behavior.
Look, reps optimize for what gets measured. If you only pay on primary order value, they'll push whatever the distributor wants to move, not what the outlet actually needs. Add an OOS reduction KPI to the incentive structure — even a small weight, 10-15% — and behavior shifts within a cycle. We've seen this work in Oman with a juice brand that was losing shelf space to a regional competitor. Three months in, OOS on their core 8 SKUs dropped from 14% to 6.2%.
What I'd ignore
Fancy demand forecasting models. Honestly. If your OOS rate is sitting at double digits, the problem isn't that your forecast is off by 3%. The problem is that nobody knows what's actually on the shelf. Fix the visibility first. Fix the forecast later. I've watched too many brands spend six months and a lot of money on a planning tool while the real leak — execution at the outlet — keeps draining.
Also ignore anyone selling you a "comprehensive OOS dashboard" that doesn't pull from rep-level visit data. A dashboard built on primary sales is a dashboard built on a lie. Or at least, a dashboard built on what left the warehouse, which is a very different question than what's on the shelf.
The brands that win on stock availability at retail aren't the ones with the smartest algorithms. They're the ones who turned every field visit into a data point, and then actually looked at the data on Monday morning.
Which brings me to the question I'd ask before any of this — when's the last time your sales ops lead and your supply planner sat in the same room and looked at the same OOS number?