Dead Stock: The Aged Inventory Quietly Eating Your Open-to-Buy

Dead Stock: The Aged Inventory Quietly Eating Your Open-to-Buy

Carrying dead stock costs 20 to 30% of its value a year. Get aging windows by category, the aged inventory share benchmark, and the transfer-or-liquidate decision.

See how Ward detects aged and dead inventory

Get a demo → Take the 3-minute assessment
Contents

Dead stock is cash you can't spend, sitting where you can't see it

Every dollar locked in inventory that is not selling is a dollar that is not in inventory that would. That is the whole case against dead stock, and it is more expensive than most operators treat it. The cash is real, the shelf it occupies is real, and the open-to-buy it consumes is the budget you needed for fresh product that actually moves.

The problem is that dead stock does not announce itself. A SKU that sold fine last spring quietly stops moving, and nothing in the daily reports flags it. It just sits. Most retailers do not find the full extent of it until annual physical count, by which point the markdown is steep and the season is long gone.

Dead stock is a slow leak, not a blowout. It does not show up as a bad day. It shows up as an open-to-buy that is always tighter than it should be and a backroom that is always more crowded than the sales justify.

This post is about finding it early, costing it honestly, understanding why it builds up, and deciding what to do with it before it is terminal.

How to define dead and aged stock

Start with a clear definition, because "old inventory" is too vague to act on. Dead stock is units with no sales over a defined window, commonly 60, 90, or 180 days depending on your category's normal turn. Aged stock is the broader pool: inventory that is moving far slower than its category should and is heading toward dead.

The cleanest way to operationalize this is aging buckets by SKU and store. Group on-hand units by how long they have sat without a sale: 0 to 30 days, 31 to 60, 61 to 90, 91 to 180, and over 180. The over-90 and over-180 buckets are where the money is trapped. Watching the buckets fill over time tells you the trend, not just the snapshot.

Pair the buckets with weeks of supply. A SKU with 40 weeks of supply and near-zero velocity is dead even if it sold one unit last month. Weeks of supply against actual recent velocity catches the slow bleeders that a pure zero-sales rule misses. A SKU does not have to hit absolute zero to be a problem, it just has to carry far more cover than its sales will ever consume.

Set the windows by category. Sixty days of no movement means something very different for fast fashion than for hardware or seasonal goods. The bucket logic stays the same, the thresholds flex by how the category normally turns.

The carrying cost stack is bigger than you think

Operators tend to see dead stock as a sunk cost they already paid for, so leaving it on the shelf feels free. It is not free. It carries a cost every month it sits, and that cost stacks from several sources.

First is capital. The cash you paid the supplier is trapped in that unit instead of earning a return or buying sellable goods. Second is space: every dead facing and every dead backroom case is square footage and handling labor spent on product that generates nothing. Third is obsolescence and shrink: the longer it sits, the more it ages out, gets damaged, goes out of style, or simply disappears.

Fourth, and the one that ends the story, is the eventual markdown. Dead stock almost never sells at full price. It sells at 40, 60, 80 percent off, or it gets liquidated for pennies. The realized loss was building the whole time it sat looking like an asset on your balance sheet.

Industry estimates put the annual cost of carrying inventory at roughly 20 to 30 percent of the inventory's value once you add capital, storage, handling, insurance, shrink, and obsolescence. On dead stock that number is effectively pure loss, because there is no sales velocity on the other side of the cost to justify it.

Why dead stock accumulates

Dead stock is rarely one bad decision. It is the residue of normal operations going slightly wrong in a few repeatable ways, and naming them helps you prevent the next batch.

Over-buying is the most common source. A volume discount, a vendor minimum, an optimistic forecast, and you commit to more units than the velocity supports. The excess never sells through, and what is left becomes the tail that sits.

Broken assortments are the second. You sell through the popular sizes, colors, or variants and you are left with the odd ends: the XS and XXL, the unpopular color, the off-flavor. The remaining units are technically in stock but functionally unsellable as a set, and they age in place.

See how Ward detects aged and dead inventory

Get a demo →

Phantom inventory is the quiet one. Your system shows units on hand that are not really there, or are there but mislocated, and that wrong count suppresses reordering and masks real demand. The flip side also bites: real units sitting dead in one store while the system treats total chain inventory as fine, so nobody acts on the local pile.

The common thread is that all three hide. Over-buys, broken assortments, and phantom counts do not trip any alarm. They accumulate below the level of the reports anyone actually reads, which is why they surface all at once at count.

Aging thresholds and dead stock benchmarks

The bucket logic is universal. The thresholds are not. A no-sale window that signals death in fast fashion is a normal quiet month in hardware. Set the windows from each category's normal turn, or the report will flag half your assortment and nobody will read it twice.

Category Dead stock window Aged watch window Healthy aged inventory share Problem line
Grocery, non-perishable 30 days no sale 14 days Under 2% Above 4%
Convenience 45 days 21 days Under 3% Above 6%
Fashion, in-season 60 days 30 days Under 5% Above 10%
Home improvement 120 days 60 days Under 6% Above 12%
Furniture 180 days 90 days Under 8% Above 15%
Specialty and hardline 120 days 60 days Under 6% Above 12%
Aged inventory share is the percentage of inventory value sitting past the dead stock window, measured at cost.

The metric to put on a scorecard is aged inventory share: inventory value past the dead window divided by total inventory value at cost. It is one number, it trends, and it is hard to argue with. Most mid-market chains that measure it for the first time land two to three times higher than they guessed.

Track it monthly by store and by category. The chain number tells you the size of the problem. The store-category cut tells you where it is, and it is almost never spread evenly. A handful of store-category cells usually hold a disproportionate share of the trapped capital, which is also what makes the transfer play work.

The liquidation decision

Once a SKU is genuinely dead, leaving it on the shelf is the expensive choice. The carrying cost keeps running and the realizable value keeps falling. The decision is not whether to clear it, it is how, and the right answer depends on where the unit is and whether demand exists somewhere.

Markdown cadence is the first lever. A disciplined, stepped markdown that starts earlier and moves faster usually recovers more total cash than a deep one-time clearance at the bitter end. The instinct to "hold for full price a little longer" is what turns a 20 percent markdown into an 80 percent one. Earlier and smaller beats later and brutal.

Inter-store transfers are the most overlooked move. A SKU dead in one store is often selling fine in another. Moving units from the dead location to the live one clears the carrying cost and captures a full-margin sale instead of a markdown loss. This only works if you can see the same SKU's velocity across all your stores at once, which is precisely the view most chains lack.

Jobbers and liquidators are the floor option for what genuinely will not sell anywhere in your network. You will recover pennies on the dollar, but pennies recovered plus the freed space and capital beats zero recovered while it rots. Reserve this for the over-180 bucket that has no transfer home and no markdown that will move it.

Prevention beats every liquidation channel

The cheapest dead stock is the unit you never bought. Tighten the open-to-buy discipline so a volume discount has to clear a sell-through bar, not just a margin bar. Cap exposure on slow categories and unproven items so a single optimistic buy cannot create a season of tail.

Then catch the aging early, while a markdown of 10 or 20 percent still moves the unit. The difference between prevention and liquidation is mostly timing. The same SKU costs you a small markdown at 60 days and a jobber's pennies at 200, and the only variable is how early you saw it.

How Ward surfaces this

The reason dead stock is found at annual count is structural. Velocity lives in one system, on-hand lives in another, and no single report puts the two together at the SKU-store level early enough to act. By the time the gap is obvious, the inventory is terminal.

Ward is a read-only observability platform for multi-store retailers. We watch the POS, ERP, and inventory data you already generate and tell you where cash is quietly getting stuck. We do not run your buying and we do not move your stock. The model is detect, decide, execute, audit.

Ward detects aging inventory by SKU and store while you can still do something about it, not at count. It watches the aging buckets fill and the weeks of supply climb against falling velocity, and it flags the units crossing from slow into dead. The most useful detection is the transfer candidate: the SKU that is dead in one store and selling in another, the single pattern that turns a markdown loss into a full-margin sale. You decide the move, because your team knows the stores. Your team executes the transfer or the markdown on your systems. Then Ward audits whether the liquidation actually worked, did the markdown clear the units, did the transfer sell through at the new store, or did you just relocate the problem.

Markdowns, POs, and transfers all stay in your hands. Ward names the units going dead, points at the ones that have a home in another store, and comes back afterward to say whether the clearance actually freed the cash you expected. The buyer who owns the open-to-buy makes every call in between.

You get insight cards, not another dashboard to monitor. One card, one SKU-store, the size of the trapped capital, and the move worth considering. That is something a buyer can act on this week, while the inventory is still worth more than pennies.

Key takeaways

  • Dead stock eats your open-to-buy. Every dollar trapped in inventory that won't sell is a dollar not in fresh product that would, and the cash, shelf, and backroom space are all real costs.
  • Define it with aging buckets and weeks of supply, by SKU and store. Group on-hand units by days without a sale and flag the over-90 and over-180 buckets, with thresholds that flex by how each category normally turns.
  • The carrying cost stack runs 20 to 30 percent of value a year. Capital, space, handling, obsolescence, and the eventual markdown all compound, and on dead stock that cost is effectively pure loss.
  • It accumulates from over-buying, broken assortments, and phantom inventory. All three hide below the reports anyone reads, which is why the full extent only surfaces at annual count when it is too late.
  • Set the windows by category. Dead means 30 days without a sale in non-perishable grocery, 60 in in-season fashion, 120 in home improvement and specialty, and 180 in furniture. One universal window flags half the assortment and gets ignored.
  • Put aged inventory share on the scorecard. Inventory value past the dead window over total inventory at cost. Healthy is under 2% in grocery and under 8% in furniture. Chains measuring it for the first time typically land two to three times higher than they guessed.
  • The liquidation decision is how, not whether. Earlier stepped markdowns beat a deep one-time clearance, inter-store transfers capture full-margin sales, and jobbers are the floor for what won't sell anywhere.
  • Transfer candidates are the most overlooked recovery. A SKU dead in one store and selling in another is a full-margin sale you only catch if you can see velocity across all stores at once.
  • The view only exists when velocity and on-hand meet at the SKU-store level. Ward detects aging stock before it is terminal, flags transfer candidates, and audits whether liquidation worked, read-only, lane assist not autopilot.

See how Ward detects aged and dead inventory

Ward monitors your stores 24/7 and delivers insight cards, not dashboards. First cards in 48 hours.

dead stock aged inventory liquidation working capital

Not sure where AI fits in your operation? Ten questions, about three minutes. Your score out of 100 appears on screen when you finish, with no email required.

Take the 3-minute assessment

Questions about aged and dead inventory.

Dead stock is units with no sales over a defined window, and the window has to flex by category. Use 30 days for non-perishable grocery, 45 for convenience, 60 for in-season fashion, 120 for home improvement and specialty, and 180 for furniture. Pair the no-sale rule with weeks of supply, because a SKU carrying 40 weeks of cover against near-zero velocity is dead even if it sold one unit last month.

Carrying inventory runs roughly 20 to 30% of its value a year once you add capital, storage, handling, insurance, shrink, and obsolescence. On dead stock that is effectively pure loss, because there is no sales velocity on the other side of the cost. The eventual markdown, usually 40 to 80% off or a liquidator price, is the realized loss that was building the whole time the unit looked like an asset.

Aged inventory share is inventory value past the dead stock window divided by total inventory value at cost. Healthy runs under 2% in grocery, under 3% in convenience, under 5% in in-season fashion, under 6% in home improvement and specialty, and under 8% in furniture. Roughly double those numbers marks the problem line. Most mid-market chains measuring it for the first time land two to three times higher than they expected.

Check for a transfer home first, because it is the most overlooked recovery. A SKU dead in one store is often selling fine in another, and moving it captures a full-margin sale instead of a markdown loss. That only works if you can see the same SKU velocity across all stores at once. Reserve jobbers and liquidators for the over-180 bucket with no transfer home and no markdown that will move it.

Your stores are generating data right now.

Ward turns it into decisions. First insight cards in 48 hours.

Read-only to start · your LLM keys · SOC 2 Type II underway · or book a call directly

Find out what your data has been hiding.

Tell us about your operation. We’ll show you the problems Ward catches, and the ones your current tools miss.

Step 1 of 3
What are your goals?
Step 2 of 3
About your operation
Step 3 of 3
Your contact info