Dead stock could be a listing problem. Not a buying problem.

| | 9 min read
pim, workflow, ecommerce

Last season ended with more clearance than expected. Sell-through was below target. Gross margin was thin. Dead stock is sitting in the warehouse. The postmortem lands on the buyer. Wrong trend. Bad forecast. Too much stock in the wrong colours. That is the story the reports told. Here is the question nobody asked: how long did it take to list those products after the stock arrived?

What your sell-through report is not showing you

Sell-through rate has a standard formula: units sold divided by units received. Simple. The denominator is the units that arrived in your warehouse.

Here is where a misdiagnosis can hide. Most ecommerce dashboards calculate sell-through from the date inventory was received, not the date the product went live for sale. If your reporting calculates from listing date, you are ahead of most operators, but listing lag still costs you the margin described below. For everyone else:

If a product sat unlisted for six weeks after arrival (while your team worked through the backlog, prepared the images, mapped the attributes) those six weeks are counted against it. The sell-through rate reflects a selling window that includes six weeks when the product was not available to buy.

A product that had four months of actual selling time is measured against a six-month inventory window. The rate looks poor. Gross profit on those actual sales looks thin because some of it ended up in clearance.

That looks exactly like a demand failure. Wrong product, wrong trend, missed the market. The buyer gets questioned. The vendor gets flagged. And the listing lag never gets investigated, because it is not visible in the same report.

The misdiagnosis recurs the following season. And the one after.

Sound familiar?

What it is actually costing you

Before a product goes live, every day it sits in a warehouse is costing something real.

Storage costs money. Capital is tied up. The business bought that stock and is waiting for it to work. Warehouse space is not unlimited: a new season's delivery is coming and the space is occupied.

Then there is the margin destruction. Retail full price is typically 2 to 2.2 times purchase cost. A 50% clearance discount brings the sale price to roughly purchase cost. When a product misses its full-price window, or goes live so late that discounting starts immediately, the gross margin is not reduced. It is gone. A product expected to deliver 50% gross margin at full price delivers zero gross profit at cost-recovery clearance.

In manufacturing, lost machine hours eat the bottom line without appearing as a cost line. They show up as missing profit at the end of the period. A similar mechanism can operate here. Listing delay does not appear as a cost line on the profit and loss account. It appears as margin that should have existed and doesn't. Months after the operational decisions that caused it, by the time the signal is visible, the delay has already compounded.

That is why the industry talks about hours saved and errors reduced. Those metrics are visible at operator level. The margin cost is not. It stays hidden until it materialises in a clearance rail or a dead-stock problem.

The diagnostic you are probably not running

Listing lag (the time between a product arriving in your warehouse and going live for sale) does not appear in standard ecommerce dashboards. But you do not need a data exercise to find it. Ask your listing team: when did the last collection land, and when did the first product go live? They will likely know. The answer will tell you more than any report.

If you run it, you will see one of two things.

A proactive team has zero days between arrival and live. Products are prepared before stock exists (using samples, order confirmations, and supplier data) so when goods arrive, the listing is ready to activate. For most product categories, vendor samples and order confirmations contain enough to build the listing before stock ships — arrival day becomes activation day, not start day.

A reactive team has variable lag. Days for some products. Weeks for others. Months for the ones that slipped through the cracks. The gap between their number and zero is the commercial cost: selling window lost, full-price margin never captured, sell-through that looks like a demand problem but may have been an operations problem.

Run the comparison on last season. The number will tell you whether you have a problem worth solving, and how large it is.

The fix is structural, not heroic

Getting to zero lag typically requires two things working together.

First, a team structure where new product work happens independently of seasonal priorities. The function chain model: each person owns a stage of the production process, applied across all products regardless of which season the team is focused on. New products enter the chain and move through it. They do not wait for a seasonal event to pass.

Second, a system that triggers the workflow automatically when a new stock keeping unit is created. Without the auto-trigger, new products still depend on someone deciding to start the work. With it, the chain begins the moment a product enters the system.

Some retailers try to sidestep this by making listing the vendor's responsibility. The supplier provides the content; the retailer publishes it. This gets products live faster, but the content is optimised for the vendor's brand positioning, not for conversion on the retailer's specific channel. Speed is gained; conversion quality is traded away. It is a valid choice, but it is a tradeoff, not a solution.

What changes when listing speed is fixed

When listing speed stops being the constraint, the metrics that looked wrong start correcting themselves. Sell-through improves because products have their full selling window. Gross margin improves because products reach the market at full price. Clearance volume falls because stock sold when buyers wanted it, not after they had moved on.

The things attributed to bad buying decisions, wrong trends, and poor forecasting can start to normalise. Not because the buying got better. Because the products were available to buy when demand existed.

And the capacity freed by not being in permanent catch-up mode becomes available for the work that actually grows the business: listing optimisation, new channel expansion, new markets.

Run the number

The formula is simple: average annual sales per stock keeping unit, divided by two, multiplied by the number of delayed stock keeping units. That is the revenue at risk from a six-month delay. For the margin version: full-price gross margin per stock keeping unit minus clearance recovery, multiplied by units across all delayed products.

Pick one range from last season. Run the number. Most operators who do this for the first time find it is larger than expected, and has been running longer than they realised.

The industry measures product operations in hours saved and errors reduced. Those are real and worth tracking. But the number that belongs on the business case is the margin recovered when products go live on time, complete, and ready to sell.

Frequently Asked Questions

Ask an Expert

Struggling with product enrichment, global rollouts or platform limitations? We'll walk you through how OneSila solves these problems, and give you clear advice on scaling product data, wherever you're selling.