Guide

Dead stock has a color: how to spot it before it eats your margin

How fashion store owners can identify dead stock at the color family level before it becomes a margin problem, using order history and revenue attribution data.

Last updated: July 11, 2026

Dead stock is one of the most predictable problems in fashion retail, and one of the least-predicted. Not because the signals are not there, but because most stores look for them at the wrong level of detail.

The BoF-McKinsey State of Fashion 2025 report estimated that the fashion industry produced 2.5 to 5 billion items of excess stock in 2023, worth between $70 billion and $140 billion in sales. That number reflects a structural difficulty with fashion inventory, not just operational mistakes. Trend uncertainty, lead times, and the sheer variety of colorways, sizes, and styles make overbuy a persistent risk.

For a small or mid-size Shopify store, the scale is different. But the pattern is the same: inventory accumulates in certain corners of the catalog long before it shows up as a write-off.

Color is often where it accumulates first.

Why dead stock is a color problem

Buying decisions in fashion happen at the colorway level. You decide how many units to reorder in Black, how much to invest in the new season's Sage Green, whether to repeat a Navy that sold well or replace it with something fresher.

Those decisions determine your inventory mix. And when a color does not perform as expected, the inventory that results does not show up labeled as "dead stock." It shows up as a red dress in size 12, a khaki jacket in size 10, a beige tote in a colorway that stopped moving three months ago.

The problem is distributed across products. Each individual item might not look alarming in isolation. Taken together, they represent a color family that has stopped earning its place in your catalog.

If your reporting stops at the product level, you see slow-moving items. If it aggregates to the color level, you see the pattern.

The signal that appears before the product-level pain

Consider a simple scenario. Say you run a 350-product womenswear store. Over the past quarter, three different product categories (tops, dresses, and outerwear) are all showing lower revenue from the same color family. None of those products individually looks alarming. Sell-through for each is lower than usual, but within a range you might attribute to seasonality or a slow week.

At the product level, there is no obvious action to take.

At the color family level, a pattern is visible: one color is declining across multiple categories simultaneously. That is different from a seasonal dip in one product. It is a signal worth investigating before the next reorder.

The earlier you see that pattern, the more options you have. Slow the reorder. Adjust the promotion. Move earlier on markdowns while the stock is still fresh enough to sell at a reasonable discount rather than a write-off.

Momentum: the number that tells you where to look

Momentum, in color analytics, means the relationship between two numbers: how much of your catalog a color represents (catalog share), and how much of your revenue that color generates (revenue share).

A color with a revenue share above its catalog share is performing well relative to its presence in your assortment. A color with a revenue share below its catalog share is underperforming. The size of the gap tells you how much.

This is different from ranking colors by total revenue. A color can rank highly on total revenue simply because you stocked a lot of it. Momentum controls for that. It asks whether the color is earning its shelf space, not just whether it is generating volume.

Tracking this number over time adds another dimension. A color that was neutral three months ago and is now clearly underperforming is a trend, not a data point. That trend, caught early, is actionable. Caught late, it is already in your markdown queue.

Discount dependence as an early warning

One pattern that often precedes dead stock: a color starts selling, but only with a discount.

Full-price revenue for the family stays flat or declines. Discounted revenue holds up or increases. On a gross revenue report, the color looks stable. On a report that separates full-price from discounted sales, the picture is different.

Discount dependence matters as a leading indicator because it means demand for the color at its intended price point is weakening. The promotional price is doing the work. When you reduce the promotion or run out of promotional headroom, sell-through slows, and inventory begins to accumulate.

Catching this pattern before you reorder that color family at full cost is the difference between a manageable slow season and a write-off problem.

Returns as a leading indicator

Returns data adds a further layer to color-level analysis.

A color family with a higher-than-average return rate is not performing as well as its gross revenue suggests. Some of what appears to sell is coming back. Net revenue, after returns, looks different from gross revenue.

High return rates on a color family can indicate a photography or representation problem (the color looks different on screen), a quality pattern in a specific product line, or a fit issue that happens to be correlated with a colorway. Any of these is worth knowing before you expand that family in your next buy.

If you are working from gross sales data only, you are making color decisions without this information.

Turning the signal into an action

Identifying a color family at risk is useful. Knowing what to do about it is the step that follows.

The options depend on how early you caught the signal:

Early (declining momentum, not yet a stock problem): Slow or pause reorders for the family. Adjust the catalog share by reducing how much of the new season goes into that colorway. Monitor for three to four more weeks before making markdown decisions.

Mid-stage (discount dependence established, sell-through slowing): Begin a targeted promotion or markdown for the weakest products in the family. Prioritize products with the lowest remaining demand signal and the highest remaining inventory.

Late (stock accumulated, full-price demand gone): The window for proactive markdown has passed. The goal shifts to clearing inventory at a margin that limits the write-off, while using the data to avoid the same pattern in the next season's buys.

The earlier in that sequence you act, the more options remain available.

For Shopify stores, the color-level data to run this analysis is sitting in your order history. The question is whether your reporting aggregates it to the color family level, and whether it separates full-price from discounted revenue, and whether it tracks returns.

HueMetrics is color analytics for fashion stores on Shopify. It attributes revenue to 14 color families from your own orders, free and in full, then turns winners and laggards into Shopify collections and markdowns you approve before launch. Start free on the Shopify App Store.