Finance

Dead Stock: What It Is, What It Really Costs and 9 Ways to Clear It, Ranked by Margin Recovered

Thomas Gleeson · 8 min read
Shopify logo above the headline Dead stock is cash on a shelf

Dead stock sits on your balance sheet at cost while it quietly costs you 20–30% of its value a year to hold. Here's how to spot it early, value it properly and clear it through the route that brings back the most cash, including when ads are worth it.

On this page
  1. What is dead stock?
  2. What dead stock really costs
  3. How to find dead stock
  4. How to get rid of dead stock, ranked by margin recovered
  5. How to stop dead stock coming back

Dead stock is inventory that has stopped selling and isn't going to start again on its own: last year's gift set, the colourway nobody wanted, the 2,400 extra units you took to hit a supplier's minimum order. It sits on your balance sheet at what you paid for it, which is exactly why it's easy to ignore, and it costs you money every month it stays there.

Most guides stop at "forecast better". This one covers the other half: which clearance route brings back the most cash, how much you can spend on ads to move it, and when to stop hoping a line will come back.

What is dead stock?

Dead stock is product you've bought or made but can't sell. Shopify defines it as inventory that hasn't sold for a long period and is unlikely to sell at full price. In practice, a SKU becomes dead stock when it hasn't sold for a set number of days and there's no realistic reason to expect demand to come back.

There's no official number of days. Set a threshold per category: 90 days for fast-moving fashion, 180 for most DTC catalogues, 12 months for slow sellers like furniture. Then check one thing first: did it sell in the same window last year? Christmas stock in September is out of season, not dead.

Dead stock vs slow-moving, overstock and obsolete inventory

These terms get used interchangeably, but they're different problems, and they tend to happen in order.

TermWhat it meansTypical testWhat to do
Slow-moving inventoryStill sells, but slower than plannedSell-through below target for its ageStop reordering deep and watch it weekly
Overstock (excess inventory)More units than you can sell in the time you haveDays of cover above your limit, e.g. 120 daysPush it while it still sells: ads, bundles, email
Dead stockHas stopped sellingNo sale within your threshold, e.g. 180 daysClear it through the route that recovers the most margin
Obsolete inventoryCan never sell at full price againExpired, discontinued or replaced by a new versionWrite it down to net realisable value, then clear or dispose of it
Four cards defining slow-moving inventory (still sells, slower than plan), overstock (days of cover above a limit such as 120 days), dead stock (no sale within a threshold such as 180 days) and obsolete inventory (expired, discontinued or superseded, written down to net realisable value)
Dead stock vs slow-moving, overstock and obsolete inventory. The day thresholds are examples: set your own per category.

Every step costs you margin. The cheapest dead stock to fix is the overstock you spotted three months earlier.

What dead stock really costs

Your balance sheet shows what you paid. The real cost has five parts, and only one of them is on that line.

  1. Cash tied up. $12,000 of dead stock at cost is $12,000 you can't put behind the products and ads that are working.
  2. Carrying costs. Storage, insurance, handling, shrinkage and the cost of capital. Shopify's guide to inventory carrying costs works an example out at 26% of inventory value a year. Yours: total annual carrying costs ÷ average inventory value.
  3. Storage and 3PL fees. Dead stock pays rent every month, and some 3PLs charge more as stock ages.
  4. Write-downs. Under IAS 2 and US GAAP (ASU 2015-11), stock is valued at the lower of cost and net realisable value. Once a line will only sell at clearance prices, the loss belongs in this year's numbers. Your accountant decides when to book it.
  5. Opportunity cost. The space, attention and cash that could be backing your best seller. Often the biggest cost, and it's on no report.

A worked example

Illustrative numbers: 600 units of a gift set, $20 landed cost, $48 full price. That's $12,000 at cost, and nothing has sold for 180 days.

Option A: wait a year. At a 25% carrying cost that's $3,000 a year. Then a liquidator pays $5 a unit, so $3,000 comes back. You've lost the lot.

Waterfall chart for one illustrative SKU: $12,000 of stock at cost, minus a $9,000 write-down to liquidation value, minus $3,000 of carrying cost over 12 months at 25%, leaving $0 of value after a year
What a year of waiting costs: 600 units at $20 landed cost, held for 12 months, then liquidated at $5 a unit. Illustrative numbers, not client data.

Option B: act now. Send a private 20% offer to buyers of the related hero product and bundle the rest with it. If 360 units go that way at about $28.50 each after fulfilment, and the last 240 go to a liquidator at $5, you get about $10,700 back after three months of carrying cost. Same stock, roughly $10,700 better off.

How to find dead stock

You need numbers per SKU, valued at cost. Five formulas do the job:

  • Days since last sale = today − date of the last order with the SKU.
  • Days of cover = units on hand ÷ average units sold per day. Shopify's "Days of inventory remaining" report shows N/A for variants with no sales in 28 days. Start there.
  • Sell-through rate = units sold ÷ (units sold + units on hand), as in Shopify's inventory reports.
  • Dead stock % = the value at cost of SKUs past your threshold ÷ total inventory value at cost.
  • Annual carrying cost = inventory value at cost × your carrying cost rate.
Formula card listing five dead stock formulas: days since last sale, days of cover (units on hand divided by average units sold per day), sell-through rate (units sold divided by units sold plus units on hand), dead stock percentage and annual carrying cost (inventory value at cost times carrying cost rate)
Five numbers that find dead stock. Sell-through and days of cover follow the definitions in Shopify's inventory reports.

A simple dead stock report

  1. Export units on hand and cost per item for every variant, plus each variant's last sale date and units sold in the last 30 days.
  2. Grade each SKU: dead if days since last sale is past your threshold, overstocked if days of cover is above your limit, slow if sell-through is below target.
  3. Sort by value at cost, not units, and check last year's same window so seasonal stock isn't called dead.

Here's what the output looks like, with illustrative SKUs:

SKUOn handUnit costValue at costDays since last sale30-day sell-throughDays of coverStatus
Gift set, Cedar600$20$12,0001840%N/ADead stock
Linen shirt, XXL420$14$5,88093%970Overstocked
Wool throw, Sage310$31$9,610212%220Overstocked
Hero serum, 50ml1,900$6$11,400038%49Healthy

The linen shirt is the one to watch. It still sells, so it never trips a "no sale in 180 days" alert, but 970 days of cover is dead stock in all but name.

StoreHero builds this view automatically from your Shopify data: every product graded from stockout to dead stock, valued at cost, with seasonal stock separated out. Because it sits next to your margin and ad spend, it also shows which overstocked, high-margin lines to push with ads and which ads to pull. See how the inventory checks work, or run the free Daily inventory actions prompt in Claude or ChatGPT.

How to get rid of dead stock, ranked by margin recovered

The money you paid is gone whatever you do. Judge every option on the cash it brings back after its own costs, not on what you paid. A sitewide sale is usually the most expensive route, because it discounts customers who'd have paid full price (when and how to discount). Ranked using the same example, with $8 of fulfilment per order:

Horizontal bar chart ranking clearance options by cash back per unit against a $20 unit cost: email or SMS to the right segment $29, bundle with a hero product $28, retargeting ads $18, marketplace or outlet $16, off-price or wholesale buyer $13, liquidator $5, and gift with purchase, donation and write-off $0
Clearance options ranked by margin recovered. Cash back per unit after each route's own costs. Illustrative assumptions: your prices, fees and ad costs will differ.
OptionMargin recovered (example)SpeedBrand risk
Email or SMS to the right segmentHighest: about $29 per $20 unitDaysLow: a private offer
Bundle with a hero productHigh: about $28, rides on demand you already haveWeeksLow
Retargeting ads to past viewersMedium: about $18 after ad costDays to weeksLow to medium
Marketplace or outletMedium to low: about $16 after feesWeeksMedium: the discount becomes public
Off-price or wholesale buyerLow: about $13One dealMedium: you lose control of where it's sold
LiquidatorVery low: about $5FastMedium to high
Gift with purchaseNo cash, but can replace a discountWeeksLow
DonationNo cash, tax relief depends on where you areFastPositive
Write-offNone, booked as an expenseImmediateNone
The rule

The cost is sunk. Pick the clearance route that brings back the most cash after its own costs, and decide within weeks, not at year-end.

1. Email and SMS to the right segment

Don't blast your whole list. In Klaviyo, segment people who bought the related hero product or viewed this one, and send them a private offer. It moves stock without resetting the price everyone else sees.

2. Bundle it with a hero product

Pair the dead SKU with your best seller so it rides on demand you already have, and it ships in the same box. On Shopify, product bundles need a bundles app. Don't attach it to a hero that's about to sell out.

3. Retargeting ads to people who've already shown interest

On Meta, put only clearance SKUs in a product set and run Advantage+ catalog ads to people who viewed or carted them. On Google, tag them with a Merchant Center custom label so you can bid on them separately.

Use a clearance break-even, not your usual one. A $36 sale at 25% off, less $8 fulfilment, leaves $28. Against the $20 book cost that's a break-even ROAS of 4.5, but the $20 is sunk and the alternative is $5 from a liquidator, so you can spend up to $23 a sale: a break-even ROAS of about 1.6 (break-even ROAS calculator). Keep it to retargeting, cap the budget and set an end date.

4. Marketplace or outlet

Amazon or an outlet page keeps clearance prices off your main site. Fees eat margin, so give it an end date.

5. Off-price or wholesale buyers

One deal clears the lot. Fast, but you lose control of where your product turns up and at what price.

6. Liquidation

Pallet buyers pay a small fraction of retail. Use it once the better routes have had a time-boxed go.

7. Gift with purchase

Swap a discount you'd run anyway for a free dead-stock item. 10% off a $60 order costs $6; a product with a $48 price tag costs you about the $5 a liquidator would pay, and feels like more. Shopify's buy X get Y discount won't add the gift to the cart automatically without an app.

8. Donate it

It clears space and does some good, and the tax treatment depends on where you are: see HMRC's guidance in the UK and section 170(e)(3) in the US. Check with your accountant.

9. Write it off

Write it down to zero (or disposal value) and dispose of it. At least the carrying cost stops.

How to stop dead stock coming back

  • Buy smaller first runs. A higher unit price on a test run is cheaper than writing off the extra units.
  • Set reorder points from real lead times. Average daily sales × lead time in days + safety stock.
  • Plan stock alongside your ad spend. Units needed depend on spend behind them. Use our ad spend forecast guide and free forecast template.
  • Track inventory turnover monthly. It shows whether the catalogue is speeding up or slowing down (how to calculate inventory turnover).
  • Review stock weekly, at cost, and push high-margin overstock with ads before it goes stale.
  • Check seasonal lines before Q4 against last year's sell-through (see our Black Friday profit plan).
  • Judge SKUs on contribution margin, not revenue. A line that loses money after fulfilment and ads is dead stock waiting to happen (contribution margin per product).
See your dead stock valued at cost, every day

Grade every product from stockout to dead stock, value it at cost, and see which ads to pull and which overstocked, high-margin lines to push. Free prompt for Claude, ChatGPT or any MCP-compatible AI tool.

Get the free prompt

Key takeaways

  • Dead stock is inventory that has stopped selling. There's no official day count, so set a threshold per category (for example 90, 180 or 365 days) and check last year's season first.
  • Its real cost is more than the number on the balance sheet: cash tied up, carrying costs of roughly 20–30% a year, storage fees, write-downs and opportunity cost.
  • Find it per SKU, valued at cost: days since last sale, days of cover, sell-through rate and dead stock %.
  • The cost is sunk. Clear it through the route that recovers the most cash after its own costs: owned channels and bundles first, liquidation last.
  • Clearance ads need their own break-even, measured against the next best option (such as a liquidator), not the original cost.
  • Stop it recurring with smaller first runs, reorder points from real lead times, and a demand forecast built alongside your ad plan.

Frequently asked questions

What is a dead stock?

Dead stock is inventory a business has bought or made but can't sell. A product usually counts as dead stock once it hasn't sold for a set number of days (often 90 to 365, depending on the category) and there's no realistic reason to expect demand to return.

How to identify dead stock?

Check every SKU for days since its last sale, days of cover (units on hand divided by average daily sales) and sell-through rate, then value the results at cost. Anything past your no-sale threshold is dead stock. Before you act, compare with the same window last year so seasonal stock isn't mistaken for dead stock.

What are some examples of dead stock?

Common examples are last season's colourways and odd sizes, gift sets and limited editions after their date, products replaced by a new version, old packaging after a rebrand, leftovers from supplier minimum orders, returns that can't be resold as new, and stock that is close to its expiry date.

Is it deadstock or dead stock?

Both spellings are used. In inventory and accounting, dead stock (usually two words) means stock you can't sell. In fashion and sneaker resale, deadstock (one word) means new, never-worn items in original condition, which buyers see as a plus.

What is another word for dead stock?

Dead inventory, unsold inventory and obsolete inventory are common alternatives. Obsolete inventory is the stricter term: stock that can never be sold at full price again because it has expired, been discontinued or been replaced.

What is the problem with overstock?

Overstock ties up cash, adds storage and carrying costs, and usually ends in discounting. Left alone, overstock turns into dead stock, so the cheapest time to act is while it still sells, through ads, bundles or email to the right customers.

What do stores do with unsold inventory?

Stores typically email or text a targeted offer, bundle it with best sellers, run retargeting ads, list it on marketplaces or outlet pages, sell it to off-price buyers or liquidators, give it away as a gift with purchase, donate it, or write it off. The best order is by how much cash each route brings back after its own costs.

Sources

Thomas Gleeson has spent the last four years looking at ecommerce profit numbers. At StoreHero he helps brands connect their Shopify, Meta, Google, Klaviyo and cost data to see what is happening with their profit, and he built the Q4 Profit Playbook.

Stop reading about profit. Start tracking it.

See your real contribution margin in ten minutes with StoreHero. No credit card needed.