Key takeaways
- Shrink has five main sources: theft, checkout errors, spoilage, restock and admin mistakes, and payment failures. Each leaves a different signature in the data.
- Some shrink is paper shrink: counting and recording errors that look like loss but never left the building.
- Diagnose in order: discards, restock variance, data errors, payment logs. Whatever is left is behavior.
- Locks and cameras fix only the theft bucket. Forecasting, pre-kitting, pricing and payment settings fix the rest, often for less.
Shrink arrives as one number. You put $10,000 of product into a fleet, you got paid for $9,300 of it after allowing for what’s still on the shelves, and the gap is “shrink.” The trouble starts when that number gets treated as one problem with one cause. The usual reflex is to assume theft and buy cameras. Sometimes that’s right. Often the biggest slice turns out to be a tote that left the warehouse four cans short, a sandwich that expired on a Saturday, or a card that declined after the door had already opened. Cameras fix none of those.
First, define it precisely
Shrink is the difference between what your books say should be on the shelf and what’s actually there:
Expected on-hand = last count + units delivered − units sold (as recorded)
Shrink = expected on-hand − counted on-hand
Value it at cost for your P&L and at retail when you explain it to a location host. Express it as a percentage of sales so sites of different sizes compare fairly. And compute it per device, per SKU and per period between visits. A fleet-wide monthly number hides every pattern you need to see.
The five sources
| Source | What it is | Data signature | Primary fix |
|---|---|---|---|
| Theft | Unpaid takes, skipped scans at the kiosk, tampering | Concentrated in high-value, pocketable SKUs and unsupervised hours; doesn’t reverse | Locked formats, kiosk placement, host engagement |
| Checkout errors | Missed or wrong charges by the device or kiosk | Paired variances: one SKU short while a look-alike runs over | Sensor fusion, planogram separation |
| Spoilage | Expired or temperature-abused product thrown away | Matches discard logs; peaks after weekends and holidays | Forecast-based ordering, markdowns, temperature monitoring |
| Restock and admin errors | Miscounts, unrecorded deliveries, wrong kit contents, bad product data | Appears right after visits; follows a route or driver; sometimes reverses | Pre-kitting, restock reconciliation, blind counts |
| Payment failures | Declines after access, failed offline transactions, chargebacks | Shows up in payment logs, not inventory logs | Pre-authorization sizing, offline limits, retries |
There’s a sixth source nobody likes to discuss: internal loss. It’s uncommon but real, and it usually looks like restock error with a pattern that doesn’t go away after retraining. Handle it with the same data, and the same discretion, you’d want applied to yourself.
Paper shrink: the loss that never happened
A surprising share of shrink is a recording artifact. Four classics:
- The short tote. The pick list says 24 cans for a machine. The warehouse was short and packed 20. The driver loads all 20 and confirms the stop. The system books 24 delivered, and 4 cans “vanish” at the next count.
- Units versus cases. Someone records “2” meaning two cases of 12. The book is now 22 units off in the other direction, and next week’s shrink is mysteriously negative.
- The quiet transfer. A driver moves six salads from a slow cooler to a busy one on the same floor. Sensible, but unrecorded: one device shows a loss and the other a gain.
- Bad product data. A yogurt 4-pack is set up in the product master as a single cup. Every 4-pack sold books one unit, so the system “loses” three cups each time.
Paper shrink is cheap to fix and expensive to ignore, because it poisons every downstream number, including the forecast that decides what gets delivered next week.
A worked example
Here’s an illustrative month at a single open micro market with $8,000 in sales and a measured variance of $560 at retail, or 7%. Work through it in order:
- Discards. The driver’s pull log shows $190 of expired fresh food. That’s spoilage, and it belongs on its own line.
- Restock variance. Comparing kit lists with restock counts finds $120 of variance that appears within an hour of service visits. Half of it reverses at the next count. That’s process error and paper shrink.
- Data errors. The yogurt 4-pack problem above accounts for $90.
- Payment logs. $60 in transactions declined after the shopper already had the product.
- What’s left. $100, concentrated in energy drinks between 7 p.m. and 6 a.m. That’s the theft bucket.
So a “7% shrink problem” breaks into roughly 2.4% spoilage, 2.6% process and data errors, 0.75% payment failures and 1.25% likely theft. Only the last slice responds to a lock or a camera. Moving the energy drinks into a locked cooler is probably the right call. Buying a camera system for the whole room probably isn’t.
At a smart cooler, add one more step between 3 and 4: look for opposite-sign variances on look-alike SKUs. One flavor running short while its twin runs over is the fingerprint of a recognition swap, not missing product.
Fixes by source, cheapest first
Spoilage
Order to a forecast, not to habit, and plan for the calendar: at a Monday-to-Friday site, the effective expiry of a Thursday sandwich is Friday afternoon. Use expiry-aware markdowns to sell the tail instead of binning it. Keep fresh food at or below 41 °F, the FDA Food Code cold-holding limit for time/temperature control for safety (TCS) foods, and discard anything that has been out of range. That last part is food safety, not shrink management, and it’s not negotiable.
Restock and admin errors
Pre-kit from telemetry so the warehouse, not the driver at the machine, decides quantities. Verify totes before they leave the building. Let the device detect the restock itself, so “delivered” means “arrived on the shelf.” Audit the product master whenever a new pack size arrives. Run blind counts right after restocking on a rotating sample of devices.
Checkout errors
Pick sensing that suits your assortment (our comparison of vision, weight and RFID covers the trade-offs), and never shelve same-shape, same-weight variants side by side. At kiosks, make sure unpackaged items such as fruit and pastries are easy to identify correctly, not just quickly.
Payment failures
Size the pre-authorization to a realistic maximum basket for that device, not a token amount. If the hold is smaller than the basket, the difference has to be collected separately, and that’s where declines happen: a cooler stocked with $9 salads and $4 drinks shouldn’t hold the same amount as a snack machine. Every 8Kava device buffers transactions for up to 72 hours when it loses connectivity, which keeps sites selling, but buffered transactions are authorized late and some will fail. Set an offline ceiling on basket size and on how long the device keeps accepting unfamiliar cards while offline. Retry soft declines before writing them off.
Theft
Change the default from “pay if you remember” to “pay before the door opens” for the items that walk. Across our deployments, shrink fell 62% when sites moved from open honor-system micro markets to Kava Coolers with locking doors. Lighting, a kiosk placed on the natural exit path and a location host who actually reads the monthly report all help too. You don’t need to lock everything: chips and apples rarely justify a door.
The monthly diagnostic checklist
Run this per site, every month:
- Shrink at retail and at cost, as a percentage of sales, per device
- Discards with reason codes (expired, damaged, temperature)
- Variance within an hour of a service visit, by route and driver
- Product-master changes since last month (new pack sizes, new barcodes)
- Opposite-sign variances on look-alike SKUs
- Declined-after-access transactions and offline failures
- Remaining variance by SKU and by hour of day
- Trend against the previous three months, and what changed
Assign each line to an owner. Spoilage belongs to whoever sets orders, restock variance to the warehouse and route lead, payment failures to whoever manages the processor relationship, and theft to the conversation with the location host. Shrink that belongs to everyone belongs to no one.
Talking to the location host
Shrink conversations go badly when they open with “your people are stealing.” They go well when they open with the breakdown. Show the host the five buckets, say which ones are yours (spoilage, restock, data, payments) and what you’ve already fixed, then bring the remaining slice with its timing: “Most of the unexplained loss is energy drinks after 7 p.m.” That’s specific enough to act on. The host may know that an evening contractor crew started last month, or that a side door gets propped open for deliveries.
Agree on one change at a time, such as moving high-value items into a locked cooler, improving the lighting or relocating the kiosk, and review the number together a month later. Hosts who watch an operator fix their own share first are far more willing to help with the rest. And if the loss is concentrated in a handful of items, offer to change the assortment before anyone mentions cameras.
How 8Kava approaches this
We built our tooling around this split. Vision AI fuses cameras with per-shelf weight and reconciles every restock event, so process errors and recognition errors show up as what they are rather than as theft. Forecasting & Auto-Replenishment and pre-kitting attack spoilage and short totes before they become variance. And a Kava Cooler auto-locks and alerts if its internal temperature stays above 41 °F for 30 minutes, so temperature abuse becomes an alert instead of a write-off discovered on the next visit.
