It was 2 a.m. on a night shift last October. I was squatting at the end of aisle A, watching two guys on the count team go down the same row of racking for the third time. The system said 3,200 units of our top-selling SKU. The first count came back at just over 2,700.
If you run a warehouse long enough, somebody will ask you: what is a good inventory accuracy percentage? For years my answer was 95%, because that was the number on our KPI sheet. That night, staring at a 500-unit gap in the middle of peak season, I realized I had been answering the wrong question.
What Is a Good Inventory Accuracy Percentage? Ours Was 95% — and It Lied
Those 400-plus oversold orders went out over the next three days. We scrambled: emergency transfers from another site, cancelled orders, refunded shipping. An eight-person count team worked until 4 a.m. The next morning I pulled three months of cycle count reports, and the numbers told a story that made me sick: we had hit our target every single month. Warehouse-wide accuracy sat comfortably at 95 to 96%. And yet the oversells, the stockouts, the pickers standing in aisles staring at empty slots — none of it had stopped.
Here's the honest truth: 95% was an average, and averages lie. We ran 20,000-plus SKUs under one flat target. A bag of cheap screws off by a few hundred counted the same as a $4,000 electronic component off by ten. Slow-moving C items sat in their slots getting counted perfectly every time, while our A-list bestsellers were a mess. Average it all out and you still get 95%. That target was wallpaper.
The second punch came in March. A batch of electronic components — one SKU, off by 12 units. At that unit price, 12 units was over $40,000. The system calculated 98.6% accuracy for the month. Green light. Target met. And we were out forty grand. I stared at that report for a long time before it clicked: the target itself was broken.
We Raised It to 99%. The Warehouse Nearly Broke.
After two disasters, I made the call: raise the whole warehouse to 99%. Felt like the responsible thing to do. It wasn't.
The count team went from 2 people to 5, all pulled off the pick lines during the day. Peak season hit, picking ran short-handed, outbound slipped, and customer complaint calls started landing on my phone. The worst day, counting and picking fought over the same aisle, a driver waited three hours at the dock, and he nearly got into it with our lead. End of month: accuracy hit 99.1%. Overtime was up, throughput was down, customer satisfaction was down.
For weeks I kept asking myself: who exactly was that 99% for?
Classifying SKUs: We Got It Wrong the First Time
Once we committed to tiered targets, the first question was: how do you decide what's A, B, or C?
Our first attempt was by sales revenue. Simple. And wrong. It put expensive but dead-slow machine parts into A — my veterans counted them weekly, counted them perfectly, and it meant nothing, because those parts ship twice a year. Meanwhile, cheap accessories that sold hundreds a day landed in C because their revenue didn't rank. They got counted once a quarter. And of course they oversold every peak season.
Guys, if you classify by gut feel, you'll classify wrong. Our rule now is three criteria together: unit value, sales velocity, and expiry. High value goes to A. Fast movers go to A. Anything with an expiry date goes to A. Hit any one of the three and you're in. C is only for stuff that's cheap, slow, and doesn't go bad. B is everything in between.
There's a people story here too. Old Zhang, one of my veteran leads, mentors a rookie named Xiao Wang. Back in the flat-target days, Zhang dragged Wang all over the building counting everything — they'd count Christmas decorations three times while the bestsellers sat uncounted, because the report only cared about the total. Now Zhang owns A SKUs only, and Wang works B and C until he's ready. Zhang told me: "We count less now, but everything we count actually matters. I can sleep at night." Morale matters in this job. Put your veterans on the SKUs that decide whether you make money.
One more note on expiry goods. We have a food client whose products must ship within 90 days of expiry. They used to sit in C, counted quarterly. One quarter we found expired cases — a whole batch written off, and the client fined us. Expiry goods go straight to A now, counted weekly, with a separate near-expiry list. If you run food, supplements, or cosmetics, copy that line directly.

A Good Inventory Accuracy Percentage by Tier: 99.5 / 98 / 95
After half a year of trial and error, this is the scorecard we run today. The whole philosophy fits in one sentence: different SKUs, different rulers.
| Tier | What goes in | Accuracy target | Tolerance | Cycle count frequency |
|---|---|---|---|---|
| A | High value, bestsellers, expiry-sensitive | 99.5% or better | Zero — one unit off is a miss | Weekly minimum; bestsellers daily in peak |
| B | Regular movers | 98% | ±1 unit | Monthly |
| C | Low value, slow movers | 95% | ±2% | Quarterly |
Three things we learned the hard way:
First, A's tolerance is zero. Don't tell me "close enough" — one missing high-value unit is real money, one missing bestseller unit can trigger an oversell. A SKUs get counted by veterans, period. New hires start on C and earn their way up. We rotate every six months. Somebody has to truly own the A list.
Second, frequency beats precision. We used to shut the whole building down for a full physical inventory twice a year — three days, zero outbound, drivers lined up cursing at the gate. Now we cycle count two hours a day in the gaps between pick waves, never competing with outbound for labor. The math: 3,000 A SKUs weekly, 7,000 B monthly, 10,000 C quarterly works out to roughly 800 to 1,000 SKUs a day. Two people, two hours in the morning, done. A warehouse where counting fights picking for labor does both badly. That's a rule.
Third, 95% for C is not laziness — it's arithmetic. C items are cheap and slow; some move twice a year. Counting them weekly costs more in labor than the goods are worth. 95% with a ±2% tolerance is plenty. Every hour we save on C goes straight into A.
The Counterintuitive Part: 99% Can Be Worse Than 95%
Here's the part that gets me in trouble with other managers: a warehouse at 99% accuracy is not necessarily better than one at 95%.
That 99% might be burned out of labor — five people counting all day, throughput slipping, overtime climbing, customers leaving anyway. A 95% warehouse with A SKUs at 99.8% and C relaxed to 93% can be perfectly healthy and profitable. Don't judge the average; judge the tiers. Don't judge the target; judge what's actually happening on the A list.
And don't set the target at 100%. Going from 95% to 98% is mostly process. Going from 99% to 99.5% is headcount and frequency. That last half point costs several times what the first five points cost. The marginal cost climbs steeply, guys.
So what is a good inventory accuracy percentage, really? One number can't answer that question — and anyone who hands you a single number is selling you something. What you need is a tiered answer: a strict line for the SKUs that make or lose your money, and a forgiving one for everything else. Accuracy you can't justify on a spreadsheet is vanity.
We've paid for aiming too low: oversold orders, refunded shipping, cancelled lines, lost customers — one bad peak season wipes out every labor dollar you saved on counting. And we've paid for aiming too high: slower throughput, ballooning overtime, exhausted people. The tiered targets above are the balance point we found after two disasters and six months of experimenting. Your mix is different, so your balance point will be different — but the tiered thinking holds.
One last reminder, and I mean it: don't touch your target yet. Go build your A list first. You'd be surprised how many warehouses can't even name their A SKUs. A target without an A list is just wallpaper.
By Chen Feng, Warehouse Operations Manager







