What we have seen is this: dead stock is rarely created by one terrible buying decision. It accumulates through optimistic forecasts, duplicated variants, late seasonal deliveries, minimum order quantities and products that remain technically available long after the team has stopped actively selling them. Shopify shows the units, but the commercial decision still needs a governed process.
Contact StoreBuilt if your Shopify catalogue and inventory reports do not provide one reliable view of ageing stock.
Table of contents
- Keyword decision
- Define dead stock before measuring it
- Build the decision dataset
- Choose a recovery route
- Run clearance without breaking the store
- Measure cash recovery and learn
- StoreBuilt point of view
Keyword decision
Primary keyword: Shopify dead stock. Secondary intents include slow-moving inventory Shopify, Shopify sell-through rate and ecommerce inventory clearance UK. Search intent is mid-funnel operational and commercial: the reader owns stock and needs a practical exit framework. Competitor content often defines ABC analysis or lists discount tactics; StoreBuilt can win by connecting inventory evidence, margin, storefront execution and the post-clearance SEO decision.
Define dead stock before measuring it
Do not label a product dead because it sold nothing last week. Agree a selling window by category. A Christmas line, replacement part and evergreen skincare product should not share the same ageing threshold. Separate newness, seasonality and planned campaign stock from inventory with no credible route to demand.
Shopify’s inventory reports can show sell-through, remaining quantity and ABC grades. These are useful signals, not a final verdict. ABC grades are based on revenue contribution; cost is not part of the grade. Add days since last sale, weeks of cover, stock age, unit cost, storage burden, return rate and whether the product remains strategically necessary.
| Signal | Question it answers | Common trap |
|---|---|---|
| sell-through | how much available stock moved? | ignoring late receipts |
| stock age | how long has cash been tied up? | using one threshold for every category |
| ABC grade | which variants contributed revenue? | treating C-grade as automatically unprofitable |
| weeks of cover | how long would current demand take to clear stock? | trusting a distorted short period |
| contribution | what remains after variable costs? | looking only at gross margin |
Build the decision dataset
Work at variant and location level. A product can be slow nationally while a particular size is healthy in one shop. Freeze a weekly snapshot with SKU, location, on-hand, available, committed and unavailable quantities. Join it to net sales, refunds, discounts, cost per item, fulfilment cost and campaign status.
An anonymous UK lifestyle retailer had labelled an entire colourway as slow. Variant-level review showed two sizes still sold steadily while the remaining sizes created most of the exposure. The answer was not a sitewide promotion. The team protected healthy variants, transferred a small quantity to the strongest location and used a controlled exit for the broken size curve. This is a qualitative example; no invented performance claim is attached to it.
Create an owner and decision date for every material exception. A dashboard without a next action merely watches working capital age.
Choose a recovery route
Use a ladder that protects value before reaching the deepest discount.
| Route | Best fit | Control required |
|---|---|---|
| improve discovery | viable product with weak merchandising | search, collection and PDP evidence |
| transfer | demand differs by location | stock and transport economics |
| bundle | item adds genuine value to a stronger product | component inventory and returns logic |
| targeted offer | identifiable customer segment has demand | audience and margin guardrail |
| supplier return | agreement permits recovery | approval, credit note and inventory trail |
| outlet or wholesale | brand permits a separate channel | channel pricing and product identity |
| donate or recycle | commercial recovery is unlikely | evidence, policy and accounting treatment |
Avoid hiding unwanted stock inside a bundle that makes the main product less clear. Avoid permanent sale pricing that trains customers to wait. If the item has a safety, expiry or compliance concern, quarantine it from sellable inventory; a discount is not a remedy.
Explore Shopify inventory integrations when ageing, cost and location data live in different systems.
Run clearance without breaking the store
Define eligible SKUs, customer groups, start and end times, maximum discount, channel exclusions and return treatment. Test automatic discounts against existing codes, bundles, subscriptions, gift cards and free-shipping thresholds. Confirm what happens when only one component of a bundle is returned.
Keep product pages accurate. State the genuine reason for reduced pricing only when appropriate, preserve material and care information, and do not manufacture urgency. Update paid feeds and affiliate rules so a clearance decision does not create a pricing mismatch across channels.
Plan the page after sell-out. If the product earned links or search demand, retain a useful page with replacement options and an appropriate canonical or redirect decision. If it has no continuing value, archive it cleanly and remove internal links. A blanket redirect to the homepage is usually poor for users and search engines.
Measure cash recovery and learn
Report cash recovered, contribution after discount, units removed, storage released and returns generated. Compare the result with the cost of holding the stock longer. Keep markdown cost visible rather than celebrating gross clearance revenue.
Then trace the cause. Was the forecast wrong, the receipt late, the range too wide, the product data weak or replenishment still active after demand faded? Feed that answer into purchase-order approval and range planning. Shopify can help reveal C-grade products and sell-through, but the learning loop belongs to the operating team.
Run a 30-day cycle: identify and validate in week one, approve routes in week two, launch controlled activity in week three, then reconcile stock, margin and page status in week four. Recheck the same category next month to confirm the cause did not recur.
Set markdown authority and stop rules
Give the clearance programme one commercial owner. Merchandising can propose the route, but finance should approve loss thresholds and brand owners should approve channel or presentation constraints. Warehouse and support teams need the same SKU list, dates and return treatment. Without one version of the decision, a product can be full price in one feed, discounted on site and blocked in the warehouse.
Define stop rules before launch. Pause when contribution falls below the approved floor, returns rise unexpectedly, a feed shows the wrong price, stock accuracy breaks or a healthy variant is being consumed by bundle demand. Record manual price changes and require an expiry. The ability to stop protects the team from turning a controlled recovery test into an open-ended sale.
After reconciliation, close every SKU decision. Mark whether it returns to normal trading, remains in a bounded outlet route, exits the catalogue or needs another review date. Remove obsolete discounts and collection placements. Share the cause with buying and range teams, because the most valuable clearance report is the one that prevents the same cash from freezing again next season.
Request a Shopify audit if slow inventory, discount logic and catalogue status are not reconciled.
StoreBuilt point of view
StoreBuilt believes dead stock is a decision-debt problem before it is a discount problem. The strongest merchants set an expiry date on indecision: they preserve evidence, choose the least destructive recovery route and change the buying or merchandising process that froze the cash in the first place.