Shrinkage is the gap between the inventory your records say you have and the inventory you actually count on the shelf. Every operator hits it at year-end: the system says 5,000 units, the count says 4,850, and 150 units have quietly vanished with no sale to explain them. The dollars behind that gap are pure loss — you paid for the stock, and it isn't there to sell.
The formula itself is simple. The hard part is that a shrink number tells you the *size* of the leak but nothing about the *cause* — and for ecommerce brands, a surprising share of it isn't physical loss at all. It's data drift.
Inventory shrinkage in dollars is just:
Shrinkage = book (recorded) inventory value − physical count value
Both figures should be measured at cost, not retail, so you're comparing like with like. If your system says you're holding $250,000 of stock at cost and you physically count $243,000, your shrinkage for the period is $7,000.
From there, the standard retail shrink rate expresses that loss as a percentage of sales:
Shrink rate = shrinkage ÷ net sales × 100
On $600,000 of net sales over the same period, that $7,000 is a shrink rate of about 1.17% of sales. It's also useful to look at shrinkage as a share of your recorded inventory — $7,000 ÷ $250,000 = 2.8% of book value went missing — because that framing speaks to how much you can trust your on-hand numbers for reordering.
You can run all of this on your own figures with our free Inventory Shrinkage Rate Calculator — it also annualizes the loss if your count only covers part of the year.
The most-cited industry reference is the National Retail Federation's National Retail Security Survey, which in recent years has put the average U.S. retail shrink rate somewhere around 1.4–1.6% of sales. Treat that as a rough anchor, not a target: it's an all-retail blend, and the honest range for *your* store depends heavily on category, margin, and how you fulfill. High-theft physical categories run far higher; a tightly controlled DTC warehouse can run well under 1%. Set your own benchmark from your own history rather than chasing someone else's average.
In a physical store, shrinkage is dominated by external theft, employee theft, and damage. In a DTC or omnichannel operation, a large and under-appreciated slice is data shrinkage — the recorded count drifting away from reality because your systems stopped agreeing with each other:
None of these show up as an alert. You find them at the next count, months later, as an unexplained loss — which is the worst possible time, because by then you can't reconstruct which of thousands of transactions went wrong.
A shrink rate is a lagging indicator. Cutting it means catching divergence while it's still small and still traceable. Physical shrinkage needs physical controls — cameras, cycle counts, receiving discipline — and no software will fix theft. But data shrinkage is detectable in real time: if two systems that should agree start drifting apart, something is watching the wrong signal.
That's the narrow problem Ops Monitor is built for. It connects to your Shopify and Stripe with read-only API keys and continuously watches for the divergences above — sync drift, oversell risk, stalled movement — then alerts you by email or Slack the moment counts start pulling apart, instead of at year-end. It's read-only: it never writes to your store and never moves money, and it detects and alerts rather than prevents or guarantees. If you'd rather start with a single pass, the one-time $29 audit runs the full set of checks against your data once.
Measure your shrink honestly first — run the calculator — and if the number is bigger than you'd like, the next question is always the same: where did the count and the records stop agreeing?