Inventory Fundamentals

Inventory Shrinkage: How to Measure It and Actually Cut It

7 min readBy Inventoros Team
Inventory Shrinkage: How to Measure It and Actually Cut It

Inventory shrinkage is the gap between the stock your records say you have and the stock actually sitting on your shelves. Every unit in that gap was paid for and never sold, so it comes straight out of your margin. Most businesses know they lose stock. Far fewer know the number, and you cannot fix a number you do not track.

Here is what shrinkage is, how to calculate it, and the handful of changes that move it in the right direction.

What inventory shrinkage actually is

Shrinkage is any loss of stock that is not a sale. You bought 1,000 units, you sold 940, and your records say you should have 60 left. You count, and there are 48. Those 12 units are shrinkage. They walked out the door, got damaged, were miscounted at receiving, or were quietly written off by someone who should not have had the access.

The important part: shrinkage is invisible until you physically count. Your system will happily show 60 units in stock while the shelf holds 48, and it will keep showing 60 until a count corrects it. That is why shrinkage tends to accumulate. The longer you go between counts, the bigger the surprise.

The inventory shrinkage formula

Two numbers, one subtraction:

Shrinkage = recorded (book) inventory - actual (counted) inventory

That gives you the loss in units or dollars. To make it comparable across periods and against benchmarks, turn it into a rate. The standard is shrinkage as a percentage of sales:

Shrinkage rate = shrinkage value / total sales for the period

You can also express it against inventory value, which tells you a different story (how leaky your stock is versus how leaky your revenue is). Both are useful. Pick one and stay consistent so the trend line means something.

A worked example

Say you run a single warehouse and you are closing out the year.

  • Your system says you should hold $520,000 of inventory at cost.
  • You do a full physical count and find $508,000.
  • Your sales for the year were $1,000,000.

Plug it in:

Shrinkage = 520,000 - 508,000 = $12,000

Shrinkage rate (of sales)     = 12,000 / 1,000,000 = 1.2%
Shrinkage rate (of inventory) = 12,000 / 520,000   = 2.3%

So you lost 1.2 cents of every sales dollar to shrink. For context, retail shrinkage typically runs around 1.4% to 1.6% of sales, so 1.2% is respectable but not free. On a million in sales, closing even half that gap is $6,000 a year back in your pocket.

What causes shrinkage

Shrinkage is not one problem, it is four, and they need different fixes. Rough industry splits look like this:

Cause Share of shrinkage What it looks like
External theft ~36% Shoplifting, organized retail theft, break-ins
Internal theft ~29% Staff pocketing stock, fake returns, sweethearting
Admin and process errors ~27% Miskeyed counts, receiving mistakes, pricing errors
Supplier fraud and damage ~8% Short shipments, spoilage, breakage in transit

The thing people miss: nearly a third of shrinkage is paperwork, not crime. Someone receives a pallet as 100 units when 96 arrived. Someone fat-fingers an adjustment. Someone ships an order and never decrements the count. That bucket is the cheapest to fix because it needs process and software, not cameras and locks.

How to actually cut shrinkage

You reduce shrinkage by finding it faster and by removing the opportunities that create it. In order of return on effort:

  1. Count more often, in smaller batches. A single annual count tells you shrinkage happened but not when or where. Cycle counting (counting a slice of your SKUs every week on a rotating schedule) surfaces variances while the trail is still warm. Count your high-value and fast-moving items most often.

  2. Tighten receiving. Most process shrinkage is born at the dock. Count what arrives against the purchase order before you sign, not after. A four-unit short on a pallet you accepted blind becomes shrinkage you will blame on theft three months later.

  3. Lock down stock adjustments. Every manual quantity change should require a reason and leave a record of who did it and when. If anyone can zero out a SKU with no trail, you have handed internal theft a clean exit. Role-based permissions plus an audit log turn "the numbers are off" into "here is exactly what changed."

  4. Reconcile per location. If you hold stock in more than one place, roll-up totals hide the problem. Warehouse A can be bleeding while B masks it in the combined figure. Track and count each location on its own.

  5. Investigate variances, do not just absorb them. When a count comes up short, the lazy move is to adjust the system to match and move on. Do that and you have thrown away the one signal that tells you where your process is broken. Log the variance, tag the likely cause, and watch for repeats on the same SKU or the same shift.

  6. Automate the boring reconciliation. The more of your stock movement that flows through connected systems (sales, receiving, transfers) instead of manual entry, the less room there is for a keystroke to become a discrepancy. A REST and GraphQL API lets your point-of-sale, storefront, and counting apps write movements directly, so the record moves when the stock moves.

Shrinkage vs spoilage: not the same thing

People use these interchangeably and then can't figure out why their fixes miss. Spoilage (and damage) is stock you still physically have but can no longer sell: expired food, broken units, obsolete goods. You know about it and you write it off deliberately. Shrinkage is stock that is simply gone and unaccounted for. Spoilage is a known loss you record. Shrinkage is the mystery you only discover by counting. Track them separately, because a spoilage problem points at ordering and rotation, while a shrinkage problem points at security and process.

Where Inventoros fits

Cutting shrinkage comes down to counting often, controlling who can change stock, and keeping a clean record per location. Inventoros handles that out of the box: multi-location stock tracking, cycle-count support, role-based permissions, and a full audit trail on every adjustment, so a short count is traceable instead of anonymous. It is open source and self-hosted, so your inventory data stays on your own server and you own it outright. The documentation walks through install on cPanel, a VPS, or Docker if you want to try it against your own numbers.

FAQ

What is a good inventory shrinkage rate? For most retail and distribution, anything at or under roughly 1% to 1.5% of sales is healthy, since the industry average sits near 1.5%. High-theft or high-perishable categories run higher and that can still be normal. The number that matters most is your own trend: flat or falling is good, climbing means something in your process or security has slipped.

How do I calculate my shrinkage rate? Subtract your counted inventory from your recorded (book) inventory to get the loss, then divide that by total sales for the same period. For example, a $12,000 loss on $1,000,000 in sales is a 1.2% shrinkage rate. Use cost values consistently on both sides so you are comparing like with like.

What is the difference between shrinkage and shrink? None. "Shrink" is just the shorter, common trade term for the same thing: inventory that is unaccounted for between what your records show and what you physically have. You will hear "shrink rate" and "shrinkage rate" used to mean the identical calculation.

Can inventory software actually prevent shrinkage? It cannot stop someone from stealing a box, but it removes most of the process shrinkage (which is roughly a quarter of the total) and it exposes the rest far faster. Permissions stop unauthorized adjustments, audit logs make internal theft traceable, and frequent cycle counts catch variances while you can still investigate them. Software turns shrinkage from an annual surprise into a signal you can act on.