Slow Moving Inventory vs Dead Stock: Which Costs More
Dead stock is obvious. Slow movers sell just enough to get reordered while margin and expiry erode. Here's how to band them FSN-style and act on each.
ShelfLifePro Editorial Team
Inventory management insights for retail and pharmacy
Why dead stock is the easy problem
Dead stock is easy to spot. You see the carton of cough syrup nobody has touched in months, or the case of imported pasta sauce behind the counter, on every shelf walk. It bothers you, and sooner or later you deal with it: return it, bundle it, or write it off. The dead stock liquidation playbook covers that part.
Slow movers are a different problem. They do sell. Not much, but enough that nobody flags them. And because they sell, they get reordered. That's the trap.
How a slow mover hides in plain sight
Picture a typical grocery store's reorder routine. The owner or the distributor's salesman walks the aisle, spots a gap or a thin facing, and adds the item to the order. If a product sold a few units this week, it looks alive. Nobody checks how many units came in on the last order or how long the rest will take to sell.
So the item keeps getting topped up. The shelf never looks empty. A second carton sits in the godown, and the older stock behind the front row gets closer to its date. Add a case-pack minimum or a "take two, get one free" scheme and a slow item turns into a heavy one.
Dead stock is a mistake you make once and can see. A slow mover is a mistake you repeat and can't see. That's what slow moving stock really means. It isn't "stock that doesn't sell". It's stock that sells more slowly than you buy it.
What a slow mover actually costs
Three things leak at the same time:
- Cash. Money sits on the shelf instead of paying for the next order of something that sells quickly.
- Margin. The units that finally move often go out on a discount, a free-with offer, or a scheme you agreed to just to get the case.
- Expiry. For anything with a date on it, slow sales mean the last units of each batch run into expiry. You mark down or write off the end of every batch, cycle after cycle.
Worked example: say you stock a premium muesli with a landed cost of ₹180 and a selling price of ₹240, so ₹60 margin per unit. The distributor sells it in cases of 24, and each case arrives with about 90 days of shelf life left. It sells about one unit a week, roughly 0.15 a day. Over 90 days that's about 14 units at full price, which is ₹840 of margin. The other 10 are near expiry. You mark 4 down by 40% to ₹144, losing ₹36 each, or ₹144. The last 6 get written off at ₹180 each, which is ₹1,080. That case loses ₹384, even though the item "sells".
For example, carry the same case forward: the shelf never looks empty, so you reorder a case every quarter. Four cases a year adds up to ₹1,536 in losses, plus ₹4,320 of cash tied up each cycle in a product that loses money. A dead case of the same item would hurt once and then be gone. The slow one does it again next year, and the year after, until someone looks at the numbers.
Not sure how much you're losing to expiry?
Run a free inventory waste audit, find your bleeding SKUs in 60 seconds. No sign-up required.
Run free auditSlow moving vs non moving inventory
The FSN method splits stock into three bands: Fast, Slow, Non-moving. In its classic warehouse form it's based on how often an item is issued. For a retail shelf, two changes make it far more useful.
First, band by days of cover: stock on hand divided by average daily sales. It tells you how long today's stock will last at today's pace. Second, compare days of cover with days to expiry on the oldest batch. If an item will take longer to sell than it has left to live, it's in trouble whatever band it's in.
For example, a store could start with cut-offs like these, using average daily sales over the last six to eight weeks:
- Fast: under 30 days of cover, with cover comfortably inside the shelf life left.
- Slow: 30 to 90 days of cover, or any item whose cover is longer than its days to expiry.
- Non-moving: no sale in the last 90 days.
For example, sort each band by stock value at cost (units on hand × landed cost) and you'll see why ranking by money matters: a slow mover worth ₹200 can wait, while one worth ₹20,000 with a near date can't. The inventory turnover guide explains the math behind cover if you want to calculate it for a whole category.
A recommended action for each band
Once an item has a band, the next step is usually obvious.
Fast movers: reorder based on sell-through, not on how the shelf looks. The risk here is running out, not expiry. The sell-through reorder point method shows how to set the trigger.
Slow, with cover inside the shelf life:
- Cut the next order quantity. Skip a cycle if the godown already has a case.
- Ask the distributor for a smaller pack or a split case. Stop taking this item on scheme.
- Give it one facing instead of two, and use the freed space for something that sells.
Slow, with cover longer than the shelf life: this is the urgent band. Mark it down now, while there are weeks left, not in the last three days when nobody wants it. A small discount early clears more units than a big one late. The thinking behind that is in dynamic markdown pricing for near-expiry products.
Non-moving: stop reordering it completely. Check whether it can still be returned to the supplier, then liquidate or write off. Don't let it take shelf space while you hope.
Running the banding by hand
You can do all of this in Excel. Export item-wise sales and current stock from your billing software or Tally, add a landed cost column, and work out daily sales, days of cover, and stock value. The steps are laid out in dead stock analysis from a sales export. For dates, the expiry-tracking spreadsheet template gives you a batch-wise layout to put next to the sales sheet.
Be honest about what the manual version can handle. Once a month is realistic. Once a day isn't. The banding goes stale between runs, and slow movers do their damage between runs: the reorder goes out on Tuesday, but you only spot the problem at month-end. Expiry also has to be tracked batch by batch. An item-level sheet that shows "18 units, earliest expiry next month" can hide the 10 units that won't sell in time.
If you only do one thing, add a single column to your next reorder list: days of cover. Anything over 60 doesn't get reordered without someone deciding it should.
Where a daily agent fits
This is the job ShelfSense by ShelfLifePro is built for. Once a day it reads a store's stock, batch, cost and expiry records and flags slow movers that are losing margin. For each one it gives a recommended action and the expected recovery, ranked by money at risk and with the arithmetic shown. It sizes reorders from sell-through, and it flags at-risk batches days ahead with a suggested markdown. It recommends, and a person approves. It never changes a price or places an order itself.
You can start with a CSV export of your stock and expiry dates. From Tally, export to CSV today; a direct connection is available on request. ShelfSense's free audit reads one CSV export, no account needed. If you'd like to try it, start on the ShelfSense page and see which of your "selling fine" items are the slow ones.
ShelfLifePro Editorial Team
The ShelfLifePro editorial team covers inventory management, expiry tracking, and waste reduction for pharmacies, supermarkets, and retail businesses worldwide.
See what batch-level tracking actually looks like
ShelfLifePro tracks expiry by batch, automates FEFO rotation, and sends markdown alerts before stock expires. 14-day free trial, no credit card required.
Get the monthly expiry brief
One short email a month, only when there is something worth reading. FEFO tactics, markdown math, and stories from Indian retailers. No spam.
No spam. Unsubscribe in one click. Email only, no WhatsApp spam.
Get expiry tips on WhatsApp
Leave your number and we say hello on WhatsApp, then share expiry-tracking tips for Indian retail now and then — FEFO, markdowns, monsoon stock. No broadcast lists; reply STOP any time.