- 09 September 2026
Dead stock in e-commerce — how to unlock sales of non-rotating SKUs and free up frozen capital
Dead stock in e-commerce can be cleared from the warehouse without a “minus 70%” fire sale — all it takes is product-role segmentation, automated repricing, and a deliberate reduction of the percentage margin during peak-demand windows. In one advisory project this strategy released PLN 500,000 of inventory value in 30 days and quadrupled weekly revenue within 3.5 months.
In most e-commerce stores with a catalogue of more than 20,000 SKUs the dead-stock conversation looks the same. The commercial team focuses on category A products, a dozen or so percent of the assortment delivers 80% of turnover, and the rest of the warehouse just sits there. Quarter after quarter. Working capital frozen, storage costs fixed, floor space occupied. Everyone knows it shouldn’t be that way — and nobody has time to fix it.
Below is a breakdown of a project in which a mature bathroom-equipment retailer on the DACH market moved from a stabilisation phase to an expansion phase in 3.5 months — without increasing the advertising budget and without a “minus 70%” fire sale. Source material: case study “Resuscitating the zombies” from the Pricing Doctor pricing-advisory project.
Discover all the features of our platform during a free online presentation.
Starting point: 35,000 SKUs, 6,000 dead stock, 90% of the assortment not rotating
The company sold taps, sanitary ceramics and bathroom accessories. The business model relied on maintaining a high percentage margin: profitability was predictable, but volume was low, and the catalogue — mostly dormant.
- 35,000 SKUs in the assortment
- 6,000 SKUs with no recorded sales over the entire year — classified as dead stock
- 90% of the assortment did not rotate within a quarterly cycle
- Natural focus of the team on category A — spreadsheets and manual monitoring of competitor prices consumed all their time
The problem lay neither in the team nor in the product. It lay in the scale of the operation, which people simply could not handle without automation. And in a strategic decision made years earlier — “we defend the percentage margin” — which with 35,000 SKUs could no longer scale on its own.
Four areas of implementation
The project launched four execution mechanisms in parallel, each with its own goal but wired into a single decision loop. Below is the map: what was deployed, what exactly it does in the store, and what business effect it produced.
| Area | What it does | Business effect |
| Product-role segmentation | Splitting 35,000 SKUs into four functional roles based on transactional data and GA4 | Each role has a separate pricing, campaign and warehouse policy |
| Unlocking dead-stock sales | A rule that aligns price to a competitive market level while preserving the minimum margin | 106 zombie SKUs recovered sales in 14 days |
| Automated repricing | Daily monitoring of competitor prices and price optimisation directly in the store | +50% overall increase in ROAS |
| Deliberate margin management | Controlled reduction of the % margin in peak-demand windows in exchange for market share | Black Week trend extended into January 2026 |
A product role is not a classification label. Each one triggers a separate pricing, campaign and warehouse policy, recalibrated on a weekly cycle.
Every SKU has its function
Segmentation was based on four roles — the last two of which were the key ones in this project:
- A — Traffic Builders. They build the first contact with the customer and generate traffic with high purchase intent. They require an attractive market price and a place in Google Ads campaigns.
- B — Basket Builders. Complementary products bought in the basket together with Traffic Builders — they build the margin of the transaction.
- C — Long Tail. Niche products, selling rarely but on a regular cycle. High margin, low volume — they are not promoted in paid campaigns.
- D — Dead Stock (zombie SKUs). No recorded sales for at least 12 months. Candidates for price reactivation or write-off.
Zombie SKUs do not automatically go to a fire sale. They first go through repricing, which checks whether the price is even competitive against the market. In the bathroom category it turned out that some products had prices significantly deviating from the market average — simply because no one had touched them for a long time. Bringing the price down to the market level (without going below the minimum margin) was enough to unlock sales.
Lower percentage, higher volume — a deliberate trade-off
During windows of increased demand (Black Week, the Christmas season) the company deliberately lowered its percentage margin in exchange for a fight for market share. This is a strategic decision, not an operational one — accepting a lower % at a significantly higher volume produced three effects at once:
- Price perception. In the consumer’s mind the store established a reputation for having some of the most attractive prices in the bathroom category.
- Activation of zombie SKUs. Price-elasticity analysis unlocked sales of some items previously classified as dead stock.
- The boomerang effect. Customers acquired during the promotion came back in subsequent weeks for further purchases — this time at the standard margin.
The standard in e-commerce is a sales drop after peak seasons. Here the trend was reversed — one of the first weeks of January 2026 turned out to be the second-best sales week ever on this market. A customer who bought a shower mixer on promotion came back for a mirror, towels and accessories — at full price.
Results — from stabilisation to expansion
Progression of weekly volume and gross margin mass (baseline = average week of September 2025):
| Month | Volume | Gross margin mass |
| September 2025 (baseline) | 1.0× | 1.0× |
| October | +15% | +10% |
| November | 2× | +50% |
| December | 3× | +90% |
| January 2026 | 4× | 2.5× |
Dead-stock reactivation in numbers:
- After 14 days: out of the pool of 6,000 dead-stock SKUs, 106 SKUs recorded sales, with gross revenue of EUR 4,500.
- After 30 days: zombie SKUs accounted for 36% of total revenue and 28% of gross margin mass — an effect comparable to a cyclical Black Friday.
- The warehouse value of the sold dead stock exceeded PLN 500,000 in 30 days.
- Additional gross profit: around PLN 140,000.
A quote from the company’s representative after 30 days of cooperation captures the weight of this effect: “We would have been satisfied even if the sale of these products had taken place without profit. Releasing capital and warehouse space is a value in itself. In practice, we additionally achieved PLN 140,000 of gross profit.”
Why it worked — three mechanisms under the hood
The results look like a marketing slogan until you break them down.
- Segmentation changed the starting point of the pricing decision. Without product roles every pricing decision is an individual question: “do we lower it or not?”. With roles the decision has already been made at the strategy level. For a Traffic Builder the gate is “it has to be in the market top 3”. For Dead Stock — “it has to be competitive against the average, if the margin still holds”. Nobody sets this from scratch every week.
- Repricing executed without delay. Manually updating the price list in a company with 35,000 SKUs takes weeks. With AI-based price automation, rules are executed every day, across the entire catalogue, with hard margin bands. There is no gap between decision and execution.
- A deliberate percentage-margin cut unlocked volume. In demand weeks the company deliberately gave up on percentage margin, knowing that gross margin mass (actual cash) would be higher at higher volume. The trade-off was accepted at board level, not negotiated daily in sales meetings.
Google Ads — the scaling barrier broken by a profitability matrix
Along with unlocking the assortment, the company also opened up its advertising budget. Google Ads campaigns were based on two decision axes:
- Axis 1 — price attractiveness vs. conversion. In Google Shopping the cost is paid for every click. That is why ads for products below a set price-competitiveness threshold were automatically paused. You do not promote products that you will not convert on anyway.
- Axis 2 — product roles vs. profitability. Budget was concentrated on Traffic Builders. Long Tail and Dead Stock were reactivated on price or in other channels, but not promoted in Google Ads.
- The “demand ceiling” model. When a product reaches its natural demand limit, the budget surplus is automatically redirected to the next one in the profitability hierarchy. We don’t burn — we shift.
Results:
- +50% overall increase in ROAS
- +115% ROAS for Traffic Builders (the products on which the focus was placed)
- 2.5× more product-card impressions in December (GA4)
The broader context of product-role segmentation, and how Dead Stock fits into the portfolio of Traffic Builders, Basket Builders and Long Tail, is described in our article on product roles in e-commerce.

A practical checklist — what to do in your store in the next 30 days
- ☐ Pull from your ERP the list of SKUs with no sales for ≥12 months. Calculate their warehouse value — that is your frozen capital.
- ☐ Segment the assortment into four roles: Traffic Builders, Basket Builders, Long Tail, Dead Stock — based on transactional data and GA4.
- ☐ For each role define a pricing rule and a minimum margin below which the product does not go.
- ☐ For Dead Stock set the rule: match the price to the market average, provided the minimum margin is preserved. If it cannot be squared — a write-off decision.
- ☐ Launch daily monitoring of competitor prices — without it your pricing rules have no input.
- ☐ Focus the Google Ads budget on Traffic Builders. Pause the promotion of products that do not fit price-wise.
- ☐ In the demand window (Black Week, holidays) deliberately lower the % margin on key roles — with the minimum margin written into the rule.
- ☐ Measure gross margin mass, not only the percentage margin. That is the goal.
-
Dead stock refers to products with no recorded sales for at least 12 months. Slow-rotating items sell rarely, but on a cycle — these are usually Long Tail, on which you keep a high margin. Zombie SKUs are potentially eligible for price reactivation. Long Tail usually does not require intervention.
-
No, if in exchange the gross margin mass grows. Percentage margin is an indicator — the goal is the amount of profit generated in the period. In the described project the margin dropped locally in demand windows, but the margin mass grew 2.5–3× across the quarter. These are two different levels of analysis.
-
Role segmentation and the first pricing rules — 2–4 weeks from the moment you have transactional data and GA4 in order. First effects on dead stock are visible in 14 days. The full cycle — from stabilisation to expansion — took 3.5 months in the described project. This is not a year-long project.
-
No. Some zombie SKUs are dead not because of price, but because the product has left the market (outdated technology, discontinued category). Repricing will not change that — those SKUs go to write-off and warehouse-space release. The key point: separate one group from the other after a price-elasticity analysis.
-
Product-role segmentation and price automation start paying off at a few thousand SKUs. At 500 items, manual work in Excel still holds up. At 5,000 it no longer does — and every uncorrected week is either a wasted margin or an unprofitable promotion.