Why selling dead stock at 50% off beats holding it at 0% off (and how to count all three hidden costs)

Dead stock isn't free to hold. Storage fees compound monthly. Working capital is locked up. And the same dollars could be financing hero SKUs that actually turn — that third cost is the one founders most consistently miss, and it's often the biggest of the three.
Best viewed on desktop This article is built around full-width charts and data tables. On mobile they may appear truncated. For the complete picture, open this page on a desktop or tablet in landscape mode.

The Problem with Treating Dead Stock Like It Will Sell Eventually

When founders look at dead stock — inventory that has not moved in 90 days or more — the instinct is to wait it out. The product cost was paid months ago; surely it will sell at the right time, the right season, the right campaign. The brand holds, and holds, and holds.

The trouble is that dead stock is not really inventory in the way founders think about it. The original cost has been spent, the goods are sitting in a warehouse you are paying to use, and every additional month of waiting widens the gap between what you could have recovered and what you actually will.

A correctly-priced clearance, designed properly, recognises three things about dead stock that the wait-it-out approach ignores:

  • Dead stock costs you money every month: Inventory sitting at the Third-Party Logistics (3PL) facility accrues storage fees of $0.30 to $0.60 per unit per month. On top of that, the capital tied up in non-moving inventory cannot be redeployed on faster-moving items — it is a real opportunity cost. Both costs grow the longer you hold.
  • Dead stock gets harder to clear over time: Seasonal items go further out of season. Last-year colourways date. Trends move on. The discount required to move the inventory grows every quarter. Many brands end up writing off entirely what could have been recovered at clearance prices six months earlier.
  • The original Cost of Goods Sold (COGS) is sunk and does not matter for the decision: What matters is INCREMENTAL contribution — the revenue you get from selling, minus the per-order costs you would have to pay today to make the sale happen. The original COGS has already left your bank account. At the incremental-contribution lens, a 50 percent discount that looks brutal on paper recovers far more than holding does — and infinitely more than writing the inventory off.

The math runs on the same six profit levers as any other campaign:

The Six Profit Levers in Ecommerce
  1. Product cost What you paid to have it made and shipped into your warehouse.
  2. Discounts Often used to convince strangers to buy from you because you do not have a big brand yet.
  3. Returns Not only the money the customer gets back, but also the cost of getting the item back into your warehouse and re-stocked.
  4. Warehousing and outbound shipping to the customer 3PL storage allocation, pick, pack, and the courier cost to the customer’s door.
  5. Ad spend to drive traffic to the online store Google Ads, Meta, and the rest of your paid channels.
  6. Payment processor and channel fees Combined at the platform’s rate — approximately 3% on Shopify and similar direct ecommerce, 15% on Amazon, Walmart and other marketplaces.

On dead stock, the Product cost lever is already sunk — the money has been spent and cannot be recovered. The remaining five levers still apply on every clearance sale, but they now apply to revenue you would otherwise never see. This article will show you how to price the inventory so the remaining recovery is as large as possible.

1. Example showing you the numbers

Imagine you sell premium coffee accessories on Shopify — sauté pans, drinkware, and mugs. Eight months ago you launched a matte-black coffee carafe with handcrafted wooden handles at $80 retail. The carafe photographed beautifully and your supplier required a 300-unit Minimum Order Quantity (MOQ). Eight months in, 100 units have sold; 200 units remain at the 3PL accruing holding fees. The per-month sales rate has dropped to single digits. The remaining inventory is dead. The story walks through two paths for those 200 units: hold them and hope, or clear them now at a meaningful discount.

You leave the 200 dead carafes in the 3PL warehouse and hope demand returns. For 12 months you pay $0.50 per unit per month in storage fees — $1,200 of holding cost burned with nothing to show for it.

At month 12 you accept reality and clear the remaining inventory at 50% off ($40 paid). Per unit you recover $27 of incremental contribution from the sale, then deduct $6 of accumulated holding cost — leaving $21 of net contribution per unit.

Across 200 units the total recovery is $4,200. The hold-and-hope decision cost you $1,200 in delayed recovery versus clearing at 50% off today, even before counting the opportunity cost of the capital that sat locked for a year.

Per-unit math after holding 12 months

Sold at 50% off after a year of waiting. Original COGS treated as sunk.

Selling price (50% off retail)+$40
Ad spend (per order)−$5
3PL pick and pack−$5
Returns−$2
Payment processor and channel fees (≈3%)−$1
Accumulated holding cost (12 × $0.50)−$6
Hold-then-clear contribution$21

You drop the price to $40 (50% off the $80 retail) for a fixed 30-day clearance window. The deeper discount plus the urgency framing drives the inventory to sell through within the window.

Per unit you recover $27 of incremental contribution — the $40 selling price minus the per-order costs ($5 ad, $5 3PL, $2 returns, $1 payment). The original COGS is sunk; this is the recovery on top of what was already spent.

Across 200 units the recovery is $5,400 — $1,200 more than the hold-and-clear option. The capital that was locked is freed, the holding cost is stopped, and the brand can redeploy the working capital onto faster-moving SKUs.

Per-unit math at immediate clearance

30-day window at 50% off. No accumulated holding cost.

Selling price (50% off retail)+$40
Ad spend (per order)−$5
3PL pick and pack−$5
Returns−$2
Payment processor and channel fees (≈3%)−$1
No holding cost accumulated$0
Clear-now contribution$27

The Dead Stock Model

Five scenarios side by side. The first is Business as usual (BAU) at the standing 10% sitewide discount — what would have happened if the inventory had moved on time. The next four are dead-stock options: clear at three progressively deeper discounts, hold 12 months and clear, or write off entirely.

Per-unit incremental contribution across BAU and four dead-stock options

Incremental contribution treats the original $28 of COGS as sunk and not recoverable. The only costs that matter are the per-order costs you would have to pay TODAY to make the sale happen, plus any accumulated holding cost.

Line Item BAU full retail (10% sitewide) Clear at 30% off Clear at 50% off Hold 12 months then clear at 50% Write off
Selling price$72$56$40$40$0
Original COGS (sunk on all scenarios)$28$28$28$28$28
Ad spend (per order)−$5−$5−$5−$5$0
3PL pick and pack−$5−$5−$5−$5$0
Returns−$2−$2−$2−$2$0
Payment processor and channel fees (≈3%)−$2−$2−$1−$1$0
Accumulated holding cost (12 × $0.50)$0$0$0−$6−$3
Incremental contribution per unit+$58+$42+$27+$21−$3
Across 200 dead unitsn/a$8,400$5,400$4,200−$600
Strategic reframe

The original cost of dead stock is sunk and irrelevant. The only number that matters is incremental contribution — and any positive incremental contribution beats holding, which beats writing off.

Clearing at 50% off today recovers $27 per unit. Waiting twelve months and clearing at the same price recovers only $21 per unit, because accumulated holding cost has eaten the difference. Writing off recovers nothing AND burns whatever holding cost was paid before the decision. The discipline is to decide on the clearance early, price it for fastest sell-through, and free the capital to redeploy on faster-moving SKUs.

Incremental contribution per unit across the five scenarios

The BAU bar is the contribution that would have been earned if the carafe had sold on time. The two clearance bars (green) recover positive contribution. The hold-then-clear bar (amber) is eaten by accumulated holding cost. The write-off bar is the only negative result — recovering nothing AND burning whatever was held before the decision.

2. How to price dead stock for fastest clearance

Dead stock is not so much a discounting problem as it is a capital allocation problem. Every month of holding is a month the locked capital could have been earning contribution on faster-moving inventory. The right discount is the one that clears the inventory fastest while recovering positive incremental contribution.

Six steps to clear dead stock without losing more than you have to.

  1. Identify dead stock with a hard trigger. Inventory that has not moved in 90 days, or that has more than 12 months of supply at current sales rate, is dead. The trigger should be mechanical, not judgement-based. Set up the 3PL or inventory system to flag dead-stock SKUs automatically each month.
  2. Calculate the holding cost honestly. Add the 3PL storage fee (typically $0.30 to $0.60 per unit per month) to the opportunity cost of the locked capital. If your working capital is funding a 10 percent annual return on faster-moving inventory, holding $28 of original COGS per unit for 12 months represents another $2.80 of foregone earnings per unit on top of the storage fee. The full holding cost is meaningfully higher than the 3PL invoice shows.
  3. Calculate incremental contribution at each discount tier. Strip out COGS — it is sunk. What remains is selling price minus the per-order operating costs that would apply today. Any positive number is a recovery; any negative number is a loss to avoid.
  4. Set the clearance discount at the tier that maximises BOTH speed AND incremental contribution. Deeper discounts move inventory faster but earn less per unit. There is a sweet spot — typically between 40 and 60 percent off — where the units clear in 30 days at a positive incremental contribution. Below 40 percent off the units tend not to move fast enough; below 30 percent of recovery they may not clear at all and you accumulate more holding cost.
  5. Enforce a strict 30-day clearance deadline. Open-ended sales drag out, but hard closing dates trigger consumer urgency. After the deadline, take the remaining inventory off the website and route it to a donation partner, a third-party clearance buyer, or a write-off — and remove the SKU from the catalogue entirely.
  6. Build a no-dead-stock SKU launch process. The cheapest way to handle dead stock is to never accumulate it. Use launch templates that require pre-launch demand modelling, conservative initial production runs, and an option to reorder rather than over-order on day one. The carafe in this article would not have become dead stock if the initial run had been 100 units with a reorder trigger at 50 sold, instead of 300 units shipped in on day one.

3. Frequently asked questions

How do I know if I have dead stock?

Run a report against your inventory: any SKU with zero sales in the last 90 days, or any SKU with more than 12 months of inventory at current sales rate. Both are dead-stock triggers. Most ecommerce inventory systems can run this report directly; if yours cannot, the 3PL usually can. Flag the dead SKUs monthly and review them for clearance, donation, or write-off.

Will running clearance sales train customers to wait for them?

Only if you run them regularly and predictably. Make clearance sales unusual — once a quarter at most, and always positioned as a specific event (end of season, brand refresh, last-chance run) rather than a recurring price drop. Customers do not learn to wait for irregular events tied to specific inventory situations.

Can I bundle dead stock with regular SKUs to clear it?

Yes, and this can work well. Bundle a dead-stock item as a free gift with the purchase of a current-season hero product, or use it as the qualifying gift in a Gift with Purchase (GWP) campaign with a threshold above current Average Order Value (AOV). The dead stock clears, the customer perceives a generous offer, and the hero product earns its full margin. The carafe in this article could be bundled as a free gift with the purchase of a $60-plus drinkware set.

What about Amazon — can I clear dead stock through Amazon FBA?

Yes, and this is one of the best uses of Amazon for direct ecommerce brands. Amazon’s audience is broader, more discount-driven, and more willing to buy last-season inventory than your direct ecommerce audience. Push dead stock to Amazon at deep discounts to clear without eroding your direct brand pricing. Account for the Fulfilled by Amazon (FBA) fees in your incremental contribution math — they typically take an additional 15 percent off the selling price.

What about the tax treatment of write-offs?

Inventory write-offs are typically deductible against the year’s taxable income, but the rules vary by jurisdiction. Donations to qualifying charities can sometimes be deducted at the inventory’s basis plus a portion of the fair market value. Talk to your accountant before writing off — the tax position is often better than founders assume, but only with proper documentation.

How do I prevent dead stock in the first place?

Conservative initial production runs are the single highest-leverage move. Most brands over-order on new SKU launches because the per-unit cost falls at higher volumes. The hidden cost is the dead stock that accumulates when demand falls short of the order. A smaller initial run at a slightly higher per-unit cost beats a larger run that ends up partially written off. Set a hard MOQ trigger above which you cannot place an order without sign-off from someone tracking dead-stock metrics.

4. Quick reference: what to avoid and what to apply

What to Avoid
  • Anchoring the clearance decision on the original COGS — the money is already spent and cannot be recovered.
  • Holding dead stock indefinitely while you wait for demand to return — holding cost compounds every month and eats the recovery.
  • Writing off without trying a clearance sale first — any positive incremental contribution beats $0.
  • Open-ended clearance sales — hard 30-day deadlines drive urgency; open windows drift.
  • Running clearance sales regularly and predictably — customers learn to wait for them and your hero prices look like a bad deal.
  • Over-ordering on new SKU launches because the per-unit cost falls at volume — the hidden cost is the dead stock that builds when demand falls short.
  • Ignoring the opportunity cost of locked capital — it is real, even though it does not appear on the 3PL invoice.
What You Should Do
  • Flag dead-stock SKUs automatically each month with hard triggers (90-day no-sale, or 12+ months of supply).
  • Strip out the original COGS when modelling clearance — it is sunk.
  • Set the clearance discount at the tier that maximises both speed AND incremental contribution.
  • Enforce a strict 30-day clearance window with a hard deadline.
  • Route post-deadline inventory to a donation partner, third-party clearance buyer, or write-off.
  • Build conservative initial production runs into your SKU launch process.
  • Push dead stock to Amazon FBA for broader, discount-driven audiences when your direct channel cannot clear it.
Definitions, modelling notes, and rate-basis disclosures Click to expand — benchmarks and assumptions used in the worked example above.
Definitions
  • Selling Price in this article is held at $80 per single unit (the matte-black coffee carafe) at full retail. The scenarios modelled are full retail with the standing 10% sitewide discount ($72 paid), and clearance discounts of 30% off ($56), 50% off ($40), and 70% off ($24). The brand’s hero range is coffee accessories — sauté pans, drinkware, and mugs; the carafe was a 2024 launch that did not clear.
  • The six profit levers in this framework: (1) Product (COGS), (2) 3PL and outbound shipping, (3) Ad spend, (4) Returns, (5) Discounts, (6) Payment processor and channel fees (combined).
  • Business as usual (BAU) in this article is the standing 10% sitewide discount applied to current-season inventory that is selling at expected velocity. The BAU column in the master table shows what the carafe would have earned if it had cleared at the original launch pace.
  • Dead stock is inventory that has not sold in 90 days, or for which there is more than 12 months of supply at the current sales rate. Both triggers are mechanical and should be set up to flag SKUs automatically.
  • Cost of Goods Sold (COGS) is the landed product cost per unit — manufacturing plus inbound freight plus customs duty. Held at $28 for the carafe in this teaching model (35% COGS at $80 retail, typical of handcrafted premium kitchenware).
  • Incremental Contribution is revenue minus the per-order operating costs (ad spend, 3PL, returns, payment processor), with the original COGS treated as sunk and not recoverable. This is the correct lens for any dead-stock decision.
  • Holding cost is the recurring monthly fee charged by the 3PL for storing inventory, plus the opportunity cost of capital tied up in non-moving inventory. In this teaching model the explicit 3PL holding fee is $0.50 per unit per month.
  • Third-Party Logistics (3PL) is the outsourced warehousing and fulfilment provider. Storage fees, pick-and-pack labour, and outbound shipping are all included.
  • Stock Keeping Unit (SKU) is a single distinct product line in the brand’s catalogue. The carafe is one SKU in the brand’s coffee accessories range.
  • Minimum Order Quantity (MOQ) is the smallest order size a supplier will accept. MOQs are one of the largest contributors to dead stock because they force brands to commit to larger production runs than demand may support.
  • Write-off is the disposal of inventory without recovery, treated as a tax-deductible loss against the year’s income. The recovery is zero; the holding cost already paid is irrecoverable.
Modelling notes
  • All dead-stock contribution figures in this article are stated as INCREMENTAL contribution — the original COGS is treated as sunk. This is the correct lens for any decision about already-purchased inventory.
  • The BAU full-priced column ($58 incremental contribution) shows what the carafe would have earned per unit had it sold on time at full retail with the 10% sitewide discount. The dead-stock scenarios are the alternatives that became relevant once the inventory failed to clear.
  • The holding cost is set at $0.50 per unit per month. Actual 3PL storage fees vary by warehouse, item dimensions, and storage type. A coffee carafe with ceramic body and wooden handles takes up modest shelf space.
  • The opportunity cost of locked capital is not included in the master table for clarity, but is real and meaningful. If your business could earn 10% annually on capital deployed on fast-moving inventory, holding $28 of original COGS per unit for 12 months represents another $2.80 of foregone earnings per unit on top of the storage fee.
  • The premium coffee carafe profile used here has 35% COGS at full retail. Different categories use different ratios; commodity drinkware and mass-market mugs may run at 20-25% COGS, while small-batch artisan items may run higher.
Rate-basis disclosures
  • Product (carafe COGS): $28 per unit at $80 retail (35% COGS). Treated as sunk on all dead-stock scenarios.
  • Ad spend: $5 per order, held flat across all scenarios.
  • 3PL pick and pack: $5 per order, reflecting the carafe’s heavier weight and fragile-item packaging requirements.
  • Returns: $2 per order. Premium coffee accessories have a moderately higher return rate than commodity drinkware because of fit-to-decor expectations.
  • Payment processor and channel fees: approximately 3% of revenue on Shopify (2.9% plus 30 cents per transaction). Rounded to the nearest dollar.
  • Holding cost: $0.50 per unit per month at the 3PL. Add opportunity cost on locked capital for the complete picture.