Uncover Hidden Dead Stock on Shopify: A Community-Backed Guide to Inventory Cleanup

Hey store owners! Let's talk about something that quietly eats away at your profits and ties up valuable capital: dead stock. It's that inventory sitting on your shelves, gathering dust, not moving, and often going unnoticed. I recently saw a fantastic discussion in the Shopify community that really highlighted how easily these zero-sale products can slip through the cracks, even when your overall sales reports look stellar.

As @Report_Pundit1 wisely pointed out, your sales reports are built from orders. If a product hasn't sold, it simply doesn't show up in those reports. This means you can have a significant chunk of your catalog that hasn't moved in months, still tying up cash and shelf space, and you'd never know it by just glancing at your top-line numbers. It’s a classic case of what you don’t see *can* hurt you.

The Community's Method: How to Find Your Zero-Sellers

The core idea, as shared by @Report_Pundit1, is to compare your *entire* product catalog against what has *actually* sold over a specific period. It sounds straightforward, but there's a crucial detail that fellow community member @ecom-4all brought up, which is absolutely vital for accuracy.

Why Your SKUs Need a Clean-Up First

Before you even think about comparing lists, @ecom-4all dropped a truth bomb: SKUs in Shopify can be optional, and duplicate SKUs only earn you a warning. This means if you have variants with blank SKUs, or multiple variants sharing the same SKU, your comparison (using an

XLOOKUP
function, for example) can give you false zeros. You might think a product hasn't sold when it actually has, but its SKU was either missing or duplicated, making the join inaccurate.

So, the first, non-negotiable step is to ensure your product export has clean, unique SKUs for every variant. If your zero count shrinks after this cleanup, you'll know your initial data was misleading.

Step-by-Step: Pinpointing Your Dead Stock

Let's put all these insights together into a clear, actionable plan to identify those slow-movers and non-sellers in your Shopify store:

  1. Export Your Full Product Catalog:
    • Go to Products → Export in your Shopify admin.
    • Select "All products" and choose the CSV format. This file gives you every single variant SKU you have.
  2. Clean Up Your SKUs (Crucial Step!):
    • Open the exported product CSV in a spreadsheet program (like Google Sheets or Excel).
    • Focus on the "Variant SKU" column.
    • Fill any blank SKUs: Assign a unique SKU to any variant that's missing one. You can use a combination of product handle and option values (e.g., TSHIRT-BLUE-SMALL).
    • Deduplicate SKUs: Identify and correct any duplicate SKUs. Each variant needs a truly unique SKU for accurate tracking. This might involve creating new, unique identifiers for variants that currently share an SKU.
    • Save this cleaned product file.
  3. Export Your Sales Data:
    • Go to Analytics → Reports in your Shopify admin.
    • Find a sales report "by product variant SKU."
    • Set the date range to the "Last 90 days" (or whatever period makes sense for your business, but 90 days is a good starting point for identifying slow-movers).
    • Export this report.
  4. Combine and Compare in a Spreadsheet:
    • Open both your cleaned product catalog file and the sales report in the same spreadsheet program.
    • In your product catalog sheet, create a new column next to your SKU column, perhaps named "Units Sold (Last 90 Days)."
    • Use an
      XLOOKUP
      formula to pull in the sales data. If your product SKUs are in column A of your product sheet, and your sales report has SKUs in column A and units sold in column B of a sheet named "Sales", the formula would look something like this:
      =IFERROR(XLOOKUP(A2, Sales!A:A, Sales!B:B), 0)

      This formula looks for the SKU in your product list within the sales report. If it finds a match, it pulls the units sold. If it doesn't find a match (or there's an error), it correctly assigns a 0, indicating no sales.

  5. Filter and Refine Your List:
    • Now, filter your "Units Sold (Last 90 Days)" column to show only the 0 values. This is your initial list of zero-sale products.
    • Important considerations from @Report_Pundit1:
      • Net Sales: Remember, the sales report counts *net* items sold. A product that sold and was then returned might show 0. Keep this in mind.
      • Recently Added Products: Filter out any products you've added very recently, as they naturally wouldn't have had time to sell.
      • Drafts and Archived Items: Exclude products that are drafts or have been archived. You're interested in active, sellable inventory.
    • Prioritize by Frozen Cash: As @ecom-4all suggested, once your zero-sale list is clean, sort it by "Inventory Stock" (or "Variant Inventory Quantity" from your product export) in descending order. This immediately shows you where your biggest chunks of frozen cash are sitting.

Leveraging Shopify's Built-in Reports for a Deeper Dive

While the spreadsheet method is fantastic for finding absolute zero-sellers, Shopify's built-in reports offer complementary insights, as @Report_Pundit1 highlighted. They won't directly show you products with *no* sales, but they're great for spotting items that are *slowing down*:

  • ABC Analysis by Product: This report grades your products A, B, or C based on their revenue contribution. It's excellent for seeing your top performers and where to focus, but remember, zero-sale products won't appear here because they generate no revenue.
  • Product Sell-Through Rate: This shows what percentage of your available stock actually sold. A low sell-through rate is a big red flag that a product is losing steam, even if it's still making a few sales. Again, it only includes variants that sold at least once.
  • Products by Days of Inventory Remaining: This estimates how long your current stock will last. If you see a very high number, you're likely overstocked. For products with *no* sales, this report will often show N/A, making it a useful cross-check against your zero-sales list.

What to Do Once You Have Your List

Finding the dead stock is half the battle; the other half is deciding what to do with it. The community suggested a few great strategies:

  • Bundle them: Pair slow-movers with best-sellers at a discount.
  • Run a clearance sale: A dedicated "dead stock clearance" can move items quickly.
  • Check with suppliers: Can you return unsold inventory? It's always worth asking.
  • Stop reordering: This is a no-brainer for items that just aren't moving.

This whole exercise isn't just about clearing space; it's about optimizing your cash flow and ensuring you're investing in products that truly resonate with your customers. It's a proactive step towards healthier inventory management on your Shopify store.

Speaking of timeframes, @Report_Pundit1 posed an excellent question: What cutoff do *you* use for dead stock? Is 90 days right for your business, or do seasonal products, for instance, need a longer window? Thinking about these nuances is key to a truly effective inventory strategy.

Keep those discussions going in the community! It's how we all learn and improve our stores together.

Share:

Start with the tools

Explore migration tools

See options, compare methods, and pick the path that fits your store.

Explore migration tools