Talk to a CFO
Eightx Talk to a CFO
← All Insights

eCommerce

Inventory Turns and Dead Stock: The DTC Cash Trap

·By Matt Putra, Managing Partner ·15 min read

Inventory turns is COGS divided by average inventory. Most DTC brands should run 3-6x per year (60-120 days on hand); below 3x is where cash gets trapped. Dead stock then costs 20-30% of its value annually to hold, so recovering cash through a markdown today usually beats waiting for a full-price sale.

Inventory Turns and Dead Stock: The DTC Cash Trap

Key Takeaways

  • Inventory turns vary 2.7x across DTC verticals. Warby Parker runs 5.4x per year (eyewear/accessories), while e.l.f. Beauty runs 2.0x and home goods runs ~2.3x. Below 3x per year (120+ days on hand) is where DTC cash starts dying.
  • Every $1 of dead stock costs 20-30 cents a year to hold. At a 25% carry rate, four years of holding equals the original inventory value. Capital cost and obsolescence risk are the two biggest components, not warehouse storage.
  • Turns is COGS divided by average inventory, not revenue. The single most common error we see is founders dividing revenue by inventory, which inflates turns by the gross margin factor and hides the problem.
  • The markdown waterfall recovers the most cash when you work it top-down. A 20-30% DTC clearance recovers ~93% of COGS; a bulk liquidator recovers ~33%; donation ~23%. Exhaust the high-recovery channels first.
  • The cut-versus-hold rule is arithmetic. If today's net recovery plus 90 days of carry cost beats your realistic recovery in 90 days, cut now. Waiting on dead stock almost always loses to a markdown today.

Inventory is the single largest place cash goes to die in a direct-to-consumer (DTC) business, and it kills quietly. It sits on your balance sheet labeled as an asset, which makes it feel safe. But the moment a unit stops moving, it behaves like a depreciating liability: it drains capital you could deploy elsewhere, racks up storage and insurance, and loses resale value every week. This post gives you the three numbers that expose the trap. Inventory turns tells you if you overbought. Carrying cost tells you what the mistake costs while you sit on it. And the markdown waterfall tells you how to get the cash back without torching your brand.

When I talk to founders running brands in the $5M to $50M range, the pattern is almost always the same. Revenue looks fine, the P&L looks fine, but there is no cash in the bank. Nine times out of ten, the cash is on a pallet in a 3PL, and nobody has run the turns math to see how bad it is.

How to calculate inventory turns (and why your first instinct is usually wrong)

Inventory turns is one formula: cost of goods sold divided by average inventory, both at cost. If your COGS for the year is $2M and your average inventory is $500K, you turn 4x per year. Convert that to days on hand by dividing 365 by your turns: 4x is about 91 days of stock sitting on the shelf.

The most common mistake, and I mean the one I see on the majority of first calls, is dividing revenue by inventory instead of COGS by inventory. Revenue includes your gross margin, so if you run a 60% gross margin, revenue-based turns overstate the real number by 2.5x. A brand that thinks it turns 10x is actually turning 4x. That single error is why so many founders are genuinely surprised when we tell them they are sitting on four months of stock.

The second mistake is using ending inventory instead of average inventory. If you took a big receipt right before the period closed, ending inventory spikes and understates your turns. Use the beginning and ending balances and average them. It is a small correction, but on a fast-growing brand that is constantly building stock ahead of demand, it matters.

MetricFormulaWorked example
Inventory turnsCOGS / average inventory$2,000,000 / $500,000 = 4.0x
Days on hand365 / turns365 / 4.0 = 91 days
Average inventory(beginning + ending) / 2($450,000 + $550,000) / 2 = $500,000
Sell-through rateunits sold / units received3,500 / 5,000 = 70%
Source: standard inventory accounting; illustrative example.

DTC inventory turns benchmarks by vertical

There is no single "good" turns number, because turns are driven by category economics. Slow-turning does not automatically mean broken, but it does mean more cash is tied up per dollar of sales. Here is what the public filings and Census data actually show.

Warby Parker (WRBY, eyewear and accessories) turned inventory roughly 5.4x in FY2024 per its SEC EDGAR 10-K, about 68 days on hand. That is a naturally fast category with tight SKU discipline. At the other end, e.l.f. Beauty (ELF) turned only 2.0x in FY2025, roughly 181 days. That is not a broken business, it is a high-growth brand building inventory ahead of demand, compounded by a 71% gross margin that shrinks the COGS numerator. Lululemon (LULU) sits in between at about 2.8x, and home goods runs slowest of all, near 2.3x implied from Census data. The lesson: benchmark yourself against your own vertical.

CategoryTurns (typical)Days on handPublic reference
Apparel / accessories4-8x46-91Warby Parker 5.4x FY2024 (EDGAR)
Athletic apparel3-6x61-122Lululemon 2.8x FY2026 (EDGAR)
Beauty / cosmetics4-8x46-91e.l.f. 2.0x FY2025 (EDGAR; growth build)
Home goods / furniture2.5-5x73-146Census MRTS 2.3x implied (FRED)
General DTC ecommerce4-6x61-91Finaloop 2024
Source: SEC EDGAR 10-K filings; FRED Census MRTS series; Finaloop 2024 (home goods/general ranges).

The danger zone for most DTC brands is below 3x per year, or 120+ days on hand. That is also where days on hand starts to dominate your ecommerce cash flow forecast and squeezes everything downstream. When I talk to founders sitting there, the story is nearly always overbuy. One told me flatly, "all the extra cash flow right now just goes into inventory, maybe I'm over buying." He was. That instinct to pour every spare dollar into stock is how a healthy brand ends up cash-starved with a warehouse full of assets it cannot spend.

Returns are quietly eating your margin. See by how much.

Get our Real Cost of Returns calculator: plug in your numbers, see the true hit per return.

On its way.

Check your inbox. We'll send the Real Cost of Returns calculator shortly.

The true cost of dead stock: 20-30% a year is not a rounding error

Once stock stops moving, holding it is not free. The consensus carrying cost across the operations literature is 20-30% of the inventory's value, per year. Founders consistently underestimate this because they think of it as just storage, and storage is actually the smaller piece.

The largest component is capital cost: the 8-15% return you are not earning on cash frozen in unsold goods. Right behind it is obsolescence and write-down risk, 5-15%, which is the value the stock loses every month as it ages, styles change, or you eventually write it down. Storage runs 5-10%, and insurance and admin add 2-5%. Add it up and you land at 20-30% for a normal brand, and 40%+ for fast-moving or perishable categories.

Put a real number on it. Here is what $100,000 of dead stock costs you every year at three different carry rates.

Cost componentRate rangeAt 20%At 25%At 30%
Capital / opportunity cost8-15%$8,000$10,000$12,000
Warehousing / 3PL5-10%$5,000$7,000$8,000
Insurance and admin2-5%$2,000$3,000$4,000
Obsolescence / write-down5-15%$5,000$5,000$6,000
Annual total$20,000$25,000$30,000
Source: nventory.io, ShipBob, NetSuite, ImpactAnalytics carrying-cost frameworks, 2023-2024.

At 25%, four years of holding equals the entire original value of the goods. That is the math that beats the "I'll just hold it and sell it later" instinct. Waiting is not neutral. It is an active bet that costs you a quarter of the value each year, against stock whose resale value is falling at the same time.

Dead stock is not an asset waiting patiently to be sold. It is a liability compounding at 20 to 30 percent a year, and the resale value is dropping while the carrying cost climbs. The two curves move against you at once. That is why the right move is almost always to recover cash now, not to hold for a full-price sale that rarely arrives.

The markdown waterfall: sequencing cash recovery without torching the brand

Once you have decided a SKU is dead, the goal is to recover the most cash per unit without training your customers to wait for fire sales. This is where a disciplined apparel markdown strategy pays off: shallow, planned cuts triggered by sell-through beat one deep end-of-season blowout. The way to do that is a waterfall: start with the highest-recovery channel and only step down when the tier above stops clearing units.

The top of the waterfall is your own DTC channel at a mild 20-30% discount, which recovers around 93% of COGS because you keep the full retail-to-cost spread. Bundling dead SKUs with a hero product is next, moving stale units on the back of demand you already have. Then deeper DTC clearance at 40-60% off, then off-price and wholesale retailers, then a bulk closeout liquidator, and finally donation for the tax benefit when nothing else clears.

Operators do this constantly once they build the muscle. One clearance-focused founder told me, "we fire sale every month, we do a clearance event to try to get through aged" stock. Another, facing a category he could not move through his own channel, was pointed toward the off-price route: "there might be a place to connect with some of those off-price retailers where you could just offload your stuff that's not turning." The waterfall is not theory, it is what disciplined brands actually run.

The floor is worth knowing because it sets your walk-away number. In an asset-based lending context, a lender described the net orderly liquidation value this way: "for branded items that value is 57 cents on the dollar, for private label it's 49 cents on the dollar." If a liquidator is offering you materially less than that, and your own channels can still move units, keep working the top of the waterfall.

When to cut versus hold: the three-question rule

The decision to cut or hold dead stock is arithmetic, not emotion, even though it feels emotional because writing down inventory feels like admitting the buy was a mistake. When I talk to founders here, the resistance is real. One operator, advised to clear aging stock, kept circling back to whether there was any way to avoid the write-down. There usually is not a good one. Run these three questions instead.

First: what is my carry cost per day on this stock? Take the inventory value, multiply by your carry rate, divide by 365. On $100,000 at 25%, that is about $68 a day, or roughly $6,200 over 90 days.

Second: what is my net recovery if I move it today? Pick your realistic waterfall tier and multiply the value by that recovery rate.

Third: what is my realistic recovery in 90 days if I wait? Be honest that stale stock recovers less over time, not more.

The rule: if today's recovery plus the 90-day carry cost you would otherwise pay is greater than your expected recovery in 90 days, cut now. In practice, because carry cost compounds and aged stock keeps losing value, the arithmetic points to cutting far more often than founders expect. The brands that stay liquid are the ones that treat this as a monthly ritual, not an annual reckoning.

Building an inventory health dashboard

You cannot manage what you do not measure monthly. Three KPIs belong on every DTC operator's dashboard: inventory turns by SKU tier, sell-through rate per period, and days on hand overall and by tier. Sell-through is your early-warning metric here. A healthy general target is 70-80% per period, with fashion running 60-80% and premium brands lower by design. Below 50% sell-through on a buy is a flashing signal that you overbought, mispriced, or misjudged demand.

The practical way to run this is an ABC tier policy, where you set different days-on-hand targets and action triggers by how much each SKU tier contributes. One apparel operator I spoke with ran exactly this, holding "8 weeks on B, 12 weeks on A," with the long tail on a much shorter leash. The point is that a hero SKU and a dead-weight SKU should never get the same buying rules.

TierDefinitionTarget days on handAction trigger
A (hero SKUs)Top 20% by volume and margin60-90 days>120 days: reforecast buy
B (supporting)Next 30% by contribution90-120 days>150 days: reduce next PO
C (long tail)Bottom 50%, low velocity30-60 days>90 days: markdown or exit
Dead stockNo movement 90+ daysTarget 0Any balance: run the waterfall
Source: Eightx advisory framework.

One more warning from the field: SKU proliferation makes all of this worse. A large-assortment brand operator put it plainly: when you carry thousands of SKUs, it forces up your safety stock and is "somewhat inefficient" by nature. Every SKU you add is another line that can turn into dead stock. The brands that turn fastest tend to be the ones that stay disciplined about how many SKUs they carry in the first place.

Related reading. For dead-stock and markdown rates by vertical, see the benchmark data. For how we free up cash trapped in inventory, see our fractional CFO work.

Related reading. For the physical count that keeps COGS honest at year-end, see the year-end inventory-count SOP.

Sources and methodology

Inventory turns computed from SEC EDGAR 10-K filings. Turns were calculated as implied COGS (revenue multiplied by one minus gross margin) divided by period-end inventory, then converted to days on hand. Companies referenced: Warby Parker (CIK 0001643953), Lululemon (CIK 0001397187), Figs (CIK 0001757715), and e.l.f. Beauty (CIK 0001600033). Snapshot turns using period-end inventory run slightly higher than true average-inventory turns; treat these as directional category markers. Filings are searchable at the SEC EDGAR full-text search and the Warby Parker filing index.

Category inventory-to-sales ratios from the US Census Bureau MRTS via FRED. Clothing and accessory stores (series MRTSIR448USS) ran an inventory-to-sales ratio of roughly 2.19-2.32 across 2023-2025, implying about 5.0-5.5x annual turns. Furniture and home furnishings (series MRTSIR4423XUSS) ran 1.56-1.66, implying roughly 2.3x. Census MRTS covers store-heavy retail and is used here as an industry floor reference, not a DTC-only benchmark.

Carrying cost component ranges. The 20-30% annual carrying cost figure and its four-part breakdown are drawn from published operations frameworks, including ShipBob inventory holding costs, cross-referenced with NetSuite and ImpactAnalytics carrying-cost guides.

Liquidation recovery and sell-through benchmarks. The markdown waterfall recovery rates draw on the ShipBob liquidation guide and DTC liquidation practitioner sources. The net orderly liquidation value figures (~57 cents branded, ~49 cents private label) come from an asset-based lending discussion with an anonymized multi-category operator and are directional, not a published dataset. Sell-through targets of 70-80% follow the ISM World monthly metric on sell-through rate, October 2024.

Operator voice. Anonymized operator perspectives reflect patterns across advisory conversations with DTC founders in the $5M-$50M revenue range. No client is named, and figures are used only where they illustrate a general pattern.

Frequently asked questions

what's a good inventory turns ratio for a dtc brand?

It depends heavily on your category. Apparel and accessories brands run 4-8x per year, athletic apparel and beauty run 2-6x, and home goods run 2.5-5x. As a general rule, below 3x per year (roughly 120+ days of stock on hand) is where cash starts getting trapped for most DTC brands. Compare yourself to your vertical, not to a single universal number.

how do i calculate inventory turns for my ecommerce store?

Divide your cost of goods sold for the period by your average inventory at cost for that period. Average inventory is (beginning inventory + ending inventory) divided by 2. The most common mistake is using revenue instead of COGS, which inflates the number by your gross margin. Turns times days in the period gives you days on hand.

what does dead stock actually cost me per year?

Roughly 20-30 cents for every dollar of stock, per year. That breaks into capital or opportunity cost (8-15%), warehousing and 3PL storage (5-10%), insurance and admin (2-5%), and obsolescence or write-down risk (5-15%). At a 25% carry rate, holding dead stock for four years costs you the full original value.

at what discount does it actually make sense to clear dead stock?

Run the arithmetic, not your gut. If today's net recovery plus the carrying cost you would pay over the next 90 days is more than your realistic recovery in 90 days, cut now. Because carry cost compounds and demand for stale stock keeps falling, a 40% markdown today usually beats holding for a hoped-for full-price sale that rarely comes.

how many days of inventory should a dtc brand carry?

Most DTC brands should target 60-120 days on hand, which is 3-6x turns, with category adjustments. Fast-moving accessories can run tighter at 45-90 days. When we see brands carrying 180-250+ days, that is almost always a primary driver of a long cash conversion cycle and the first thing worth fixing.

what's the difference between inventory turns and sell-through rate?

Turns measures how many times you sell and replace your whole inventory in a year, using COGS over average inventory. Sell-through measures what percentage of a specific buy or collection you sold in a period, using units sold over units received. Turns is the annual cash-efficiency view; sell-through is the early-warning signal on a specific product decision.

should i donate dead stock or liquidate it?

Liquidate first if you can recover meaningful cash, since even a bulk liquidator typically returns more than the tax benefit of a donation for most small brands. Donation makes sense at the bottom of the waterfall when liquidation offers are near zero, when storage cost is bleeding you, or when the brand risk of a fire sale is too high. The exact tax benefit depends on your entity and basis, so confirm it with your tax advisor before you decide.

how does inventory affect my cash conversion cycle?

Days on hand is the largest lever in the cash conversion cycle for most product brands. Your cycle is days inventory outstanding plus days sales outstanding minus days payables outstanding. If you carry 200 days of inventory, no amount of faster collections or slower payables will offset that. Cutting days on hand is usually the highest-impact cash move available.

About the Author

Matt Putra, Managing Partner

Matt is the Managing Partner of Eightx, a fractional and interim CFO firm managing $650M+ in revenue across 35+ ecommerce, DTC, and CPG portfolio brands across the US, Canada, Australia, and the UK. A former PE investor with $500M+ deployed, Matt specializes in benchmark-driven financial leadership for apparel, beauty, food and beverage, and household brands.

Sitting on stock that will not move?

Get a CFO read on your inventory before your next big buy

30-minute call. We will pull your turns, days on hand, and carry cost, and tell you what to cut versus hold.

Talk to a CFO