Grocery store shrink is the stock a store paid for and never sold: food that spoiled or passed its date, goods damaged, stolen, or never delivered, and mistakes in the paperwork. Some of it is known, because someone threw it away and wrote it down; the rest is unknown, the gap between what the books say should be there and what the count finds. Shrink % = (recorded losses + book inventory − counted inventory) ÷ sales, all at cost. In the example below, a Philadelphia grocery's October shrink is $5,013 at cost, 2.8% of sales; most is produce, deli and bakery food thrown away, and the part nobody can explain sits in the aisles where small, valuable items walk out. A six-step plan saves $990 each month. Below is the formula, the month, where shrink comes from, the plan, and a free workbook.
The short version
- Known shrink: losses recorded as they happen, expired, spoiled, damaged.
- Unknown shrink: book inventory − counted inventory, found at the count.
- Shrink % = all shrink ÷ sales, at cost; work it out by department.
- Perishables lose the most to spoilage; aisles of small, valuable items lose the most to theft.
- Unknown shrink also hides deliveries short at the door and paperwork errors.
- Cut it department by department: order smaller, make to a plan, mark down early, check deliveries, lock up what walks.
- TaroStack records every loss with a reason, by item and site, and shows what a count variance is worth. More below.
An example: a Philadelphia grocery's October
Riverwards Grocery, a made-up independent grocery store in Philadelphia, Pennsylvania, I use in these examples, sells $180,000 in October, records its losses, and counts every department at the end of the month:
| Department | Sales | Recorded losses | Unknown shrink | All shrink | Share of sales | Unknown, share of shrink |
|---|---|---|---|---|---|---|
| Grocery: center store | $72,000 | $420 | $300 | $720 | 1.0% | 41.7% |
| Produce | $21,600 | $1,236 | $60 | $1,296 | 6.0% | 4.6% |
| Meat and seafood | $25,200 | $802 | $80 | $882 | 3.5% | 9.1% |
| Dairy | $14,400 | $258 | $30 | $288 | 2.0% | 10.4% |
| Frozen | $10,800 | $132 | $30 | $162 | 1.5% | 18.5% |
| Deli and prepared foods | $12,600 | $988 | $20 | $1,008 | 8.0% | 2.0% |
| Bakery | $7,200 | $494 | $10 | $504 | 7.0% | 2.0% |
| Beer and wine | $9,000 | $5 | $40 | $45 | 0.5% | 88.9% |
| Household, health and beauty | $7,200 | $18 | $90 | $108 | 1.5% | 83.3% |
| The store | $180,000 | $4,353 | $660 | $5,013 | 2.8% | 13.2% |
The store knows where 87% of its shrink went: produce, deli and bakery food thrown away, $2,718 of the $5,013. The $660 it can't explain falls in a different place: beer and wine and household, health and beauty, where nearly all the loss is unknown, and the center store, where a vendor's case invoiced but never delivered looks exactly like theft at the count. How a count variance is worked out is in inventory variance formula.
Where shrink comes from
| Cause | Known or unknown | Where | What catches it |
|---|---|---|---|
| Spoilage and dates | Known, if recorded | Produce, deli, bakery, meat, dairy | Smaller orders, markdowns |
| Damage | Known, if recorded | Center store, dairy | Careful stocking, vendor credits |
| Theft by customers | Unknown | Health and beauty, beer and wine, meat | Placement, locked cases, counts |
| Theft by staff | Unknown | Anywhere, often at the register | Counts, register reports |
| Deliveries short | Unknown | Route vendors' items | Counting at the door |
| Paperwork errors | Unknown | Anywhere | Checking invoices and prices |
A loss thrown in the bin without being written down turns known shrink into unknown, so the first fix costs nothing: write every loss down, with its reason.
A plan to cut it
| Action | Department | Shrink now | Target | Saving each month |
|---|---|---|---|---|
| Order to what sells a day; buy half cases of slow items | Produce | 6.0% | 4.5% | $324 |
| Make to a daily plan from last week's sales; mark down at 4 p.m. | Deli | 8.0% | 6.0% | $252 |
| Bake to the day's plan; a day-old rack | Bakery | 7.0% | 5.5% | $108 |
| Mark down two days before the date; grind trim the same day | Meat | 3.5% | 3.0% | $126 |
| Count route deliveries at the door; lock up small valuable items | Center store | 1.0% | 0.8% | $144 |
| Move razors, batteries and medicine behind the counter | Health and beauty | 1.5% | 1.0% | $36 |
| All six | $990 |
$990 each month is $11,880 over twelve months, and it comes straight off the bottom line: the store's month leaves $4,305 before the owner's pay, so the plan adds 23% to it. Shrink would fall from 2.8% to 2.2% of sales. How to rotate dated food is in FEFO vs FIFO, and what to do with stock past its date in what is expired stock.
How often to count
Perishable departments weekly, the rest monthly or by section, and the whole store once or twice a year. Unknown shrink found a week after it happened can still be traced to a delivery or a shift; found at the year-end count, it's only a number. A form for counting a few items every day is in cycle count form.
Get the workbook
Download the grocery store shrink workbook. Two sheets: shrink by department, where you type each department's sales, recorded losses, and book and counted inventory at cost, and the unknown shrink, all shrink, its share of sales and how much was unknown fill in; and a plan, where you type each action with its department's sales, shrink now and a target, and the saving each month and over twelve months fill in. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
A department's shrink is a total, typed in once a month. It can't say which items went in the bin, whether the center store's $300 was a short delivery or theft, or which shift's counts came up short. By the time the month is closed, the delivery and the shift are weeks old.
How TaroStack does it
TaroStack records every loss with a reason, by item and site, and shows what a count variance is worth.
Losses as they happen. Every adjustment carries its reason, expired, spoiled, damaged, lost or found, so known shrink is reported by reason, item and site, and food thrown away without a record stops turning into unknown shrink.
Counts that find it. Counting on a phone by barcode suggests what to count first, by what it would cost to be wrong, and shows what a variance is worth before you post it. Every movement is a permanent record of who, when and why.
Dates before they go by. Dated food is received with its dates, the oldest goes first, and an alert comes before a date runs out, so it's marked down instead of thrown away.
| The job | Workbook | In TaroStack |
|---|---|---|
| Known shrink | Typed in once a month | Recorded with each loss, with its reason |
| Unknown shrink | Found at the count | Counts by risk, variances valued |
| Food near its date | Found on the shelf | An alert before the date |
| Who changed what | Not recorded | Who, when and why, on every movement |
Counts, losses by reason, expiry and alerts are on every plan, from $49 a month, with no limit on items; TaroStack connects to Square. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.
