In this article
Inventory accuracy is the share of your stock records that matched the shelf, and there is no single formula for it. One count of 200 variants scores 86%, 97.9%, 98.4% or 99.7%, depending on the method. Use record match to judge your habits and value weighted to judge the money. Never trust a ratio of totals on its own.
The count we will score#
After a stocktake (some people write stock take), you hold two numbers for every line: what Shopify said and what you counted. The formulas below all use one count, so you can see how far they disagree.
Say you counted 200 variants. "Book" stock means the quantity your records say you hold, which here is Shopify's number. A shortage is a line where you counted fewer units than the book. An overage is a line where you counted more.
| Result | Lines | Units |
|---|---|---|
| Matched exactly | 172 | 0 |
| Shortages | 20 | 41 |
| Overages | 8 | 27 |
Two more facts about the count. The book total across all 200 lines is 4,310 units, worth $58,900 at cost. If you value each of the 28 wrong lines at cost and add them up as positive amounts, you get $1,240. What you physically counted is the book total, minus the shortages, plus the overages:
4,310 - 41 + 27 = 4,296 units
Method 1: record match#
Count the lines that matched and divide by the lines you counted.
Record match = matching lines / lines counted = 172 / 200 = 0.86 = 86%
This is the strictest score and the easiest to explain. Fourteen lines in every 100 were wrong. It answers one question: how often is a record right?
It does not care how wrong. A line off by 1 unit and a line off by 100 units count the same. It is also hard on small lines. A line with 2 units on the book and 1 on the shelf is a full miss, exactly like a line with 400 on the book and 300 on the shelf.
Method 2: ratio of totals, and why it lies#
Add up every counted unit, add up every book unit, and divide.
Ratio of totals = counted total / book total = 4,296 / 4,310 = 0.9967 = 99.7%
That reads as excellent. Yet 28 of 200 lines were wrong. The overages cancel the shortages, so the net difference is only:
-41 + 27 = -14 units
Fourteen units look small against 4,310. A small version shows the flaw faster. Line A has 10 on the book and 7 on the shelf. Line B has 5 on the book and 8 on the shelf.
Book total = 10 + 5 = 15
Counted total = 7 + 8 = 15
Ratio of totals = 15 / 15 = 100%
Record match = 0 of 2 lines = 0%
Both lines are wrong and the score is perfect.
Here is how this goes in practice. A team scores its count by ratio of totals, sees 99.7% and skips the recount. Twenty of the wrong lines are shortages, which means Shopify is offering stock that is not on the shelf. Those become oversold orders. Any screen that shows only a net difference has the same flaw, so check what yours adds up.
Methods 3 and 4: count every error, in units and in money#
The fix is to treat an overage and a shortage as the same kind of mistake. Add both as positive numbers.
Wrong units = 41 + 27 = 68
Error rate = 68 / 4,310 = 0.0158 = 1.58%
Accuracy by units = 100% - 1.58% = 98.4%
Units treat every item alike, and your items are not alike. Method 4 weights each error by what it costs. Take the $1,240 from the setup and divide by the book value.
Error rate = 1,240 / 58,900 = 0.0211 = 2.11%
Accuracy by value = 100% - 2.11% = 97.9%
The difference matters when prices differ. Say line A is a $0.50 item that is 30 units off, and line B is a $300 item that is 1 unit off.
Line A: 30 x 0.50 = $15
Line B: 1 x 300 = $300
300 / 15 = 20
In units, A looks 30 times worse. In money, B is 20 times worse. Value tells you which mistake to chase first.
One count, four answers#
| Method | Calculation | Score | It answers |
|---|---|---|---|
| Record match | 172 / 200 | 86.0% | How often is a line right? |
| Ratio of totals | 4,296 / 4,310 | 99.7% | Is the grand total close? |
| Accuracy by units | 100% - 68 / 4,310 | 98.4% | How many units are wrong? |
| Accuracy by value | 100% - 1,240 / 58,900 | 97.9% | How much money is wrong? |
The count did not change. Only the question did. A score without its method name tells you nothing, so write the name next to the number every time.
Which formula to use#
For your own habits, use record match. It is the only score that drops when a single line is wrong, so it shows whether your receiving, returns and adjustment routine works. When you fix the way deliveries are booked, this is the number that should climb.
For what the misses cost, use value weighted. It answers the question a shop owner actually has on a Tuesday: how much money is on the book that is not on the shelf?
Accuracy by units sits between them. If every item costs about the same, it is enough, and you can skip value.
Ratio of totals has one use. If it comes out low, something large went missing, such as a whole pallet. Never use it to declare a count good.
One condition flips this. If most of your lines hold 1 to 3 units, record match swings on a single unit and will look worse than the stock deserves. Lean on units or value there.
What target to set#
We do not quote a benchmark. We have no neutral source for what a Shopify store of your size should reach, and a number borrowed from somewhere else may not fit your shelves.
Use your own history instead. Treat your first score as the baseline. Then write a target that names the method and the scope. Say your first score is 86% record match on the back room. A target of 92% record match on the same back room at the next count is something you can check. "Be more accurate" is not.
Count the same scope each time. Our guide to cycle count schedules shows how to split a catalog so each slice comes round on a fixed date, and our stocktake guide covers the count itself.
Two traps that fake a good score#
A different scope each time. Count the tidy shelf by the door and your score rises. Count the lines you already suspect and it falls. Neither says anything about your habits. Compare like with like.
A stale book number. Say a count starts at 9:00 and Shopify shows 12 for a line. At 10:00 two units sell, and Shopify shows 10. At 11:00 you count the line and find 10.
Against the 9:00 number: 10 - 12 = -2, a false shortage
Against the 11:00 number: 10 - 10 = 0, a match
Compare each line with what Shopify said when you counted that line. Our article on counting while the store keeps selling covers it in full.
Where the numbers come from in a Shopify count#
You need four things from a finished count: lines counted, lines wrong, units short and over, and the value of the difference. Pull them from the count itself, not from memory. Check that your tool gives each line's difference and not only a net total.
In a spreadsheet, two formulas cover most of it. Put the Difference column in D2 to D201:
Units short: =SUMIF(D2:D201, "<0")
Units over: =SUMIF(D2:D201, ">0")
The first is negative, so drop the minus sign when you add the two. One limit applies to every score here: a score describes the lines you counted, not the whole store. If you counted half the catalog, you scored half the catalog.
Score your last count all four ways. If the four numbers sit close together, your errors are small and spread evenly. If record match is far below the other three, you have many small misses, and our page on why Shopify does not match the shelf is the place to start looking for them.
Frequently asked questions#
How do you calculate inventory accuracy?
Pick one method and write it down. The strictest is record match: lines that matched the book quantity divided by lines counted. If 172 of 200 lines matched, accuracy is 172 / 200 = 86%. Methods based on units or money give higher scores for the same count, so never compare a score from one method with a score from another.
What is a good inventory accuracy percentage?
We do not quote a benchmark, because we have no neutral source for what a store like yours should reach. Set your own target from two counts of the same shelves. Write it with the method, for example 92% record match on the back room.
Why can inventory accuracy show 100 percent when SKUs are wrong?
A ratio of totals lets overages cancel shortages. Two lines can each be off by 3 units, one over and one under, and the grand total still matches. Score at line level, or add every difference as a positive number, to see the errors.
Should I measure inventory accuracy by SKU or by value?
Measure both, for different reasons. By SKU (record match) shows whether your receiving, returns and adjustment habits work. By value shows how much money the misses represent. A cheap item 30 units off and an expensive item 1 unit off look very different in each.



