Blog

How to Find Shopify Products That Haven’t Sold in 90 Days

Shopify’s reports are built around what sold, so stock that never moves is easy to miss. Three ways to list it for the last 90 days, and what to do with it.

Shrikrishna Joisa, Founder, Enki StudiosPublished

A product that hasn’t sold in three months is easy to miss, because nothing about it changes. It doesn’t run out, it doesn’t show up in your orders, and it never comes up in a normal day. Meanwhile, the money you paid for it sits on a shelf.

Ninety days is long enough to rule out a slow week or a quiet month. Here’s how to get that list out of Shopify, where its reports fall short, and what to do once you have it.

Why Shopify’s reports don’t show this directly

Most of Shopify’s inventory reports start from sales, which is exactly what these products don’t have:

  • Products by sell-through rate and Products by percentage sold show how much of each variant’s stock sold in the period you choose. Finding the ones that didn’t sell means exporting and sorting them yourself.
  • Inventory remaining per product shows N/A for variants with no sales, but its daily average is based on the last 28 days, not 90. (More on that report in the 28-day math.)
  • ABC product analysis, where your plan includes it, grades variants by their share of revenue over the last 28 days, and that window can’t be changed.

None of these hands you a 90-day no-sales list as it is, and nothing in Shopify emails you one without setup. The three methods below get you there.

Method 1: the sell-through report, set to 90 days

This is the quickest way to catch products that used to sell and then stopped.

  1. From your Shopify admin, go to Analytics > Reports, filter by the Inventory category, and open Products by sell-through rate.
  2. Set the date range to the last 90 days.
  3. Export the report as a CSV and sort it by the Inventory units sold column. Reports show at most 1,000 rows on screen, and the export includes all of them.

Variants with 0 sold and stock left are your list. When we tested this on a Shopify store, the report listed variants that had sold before the period and variants that had never sold, each with a zero.

Keep two limits in mind:

  • Check it against your catalog. Shopify’s help page says these reports only include variants that sold at least once. If a product you know is slow is missing from your export, Method 2 catches it.
  • The data runs about two days behind. Shopify says the most recent date this report can return is roughly two days ago.

Products by percentage sold works the same way if you prefer it. Its units sold column also covers the period you choose.

Method 2: compare your stock with 90 days of sales

This takes longer, but it also catches products that have never sold.

  1. Export your stock. Go to Products > Inventory, click Export, and choose All locations. The Available format gives one row per variant with a column for each location, which is easier to add up. Shopify’s help page on exporting inventory walks through the options.
  2. Export your sales. In Analytics > Reports, open Total sales by product variant, set the date range to the last 90 days, and export it. It lists the variants that sold, with each one’s SKU and net quantity (units sold minus units returned).
  3. Match the two in a spreadsheet. Match on SKU if your variants have them, otherwise on the product title and the variant’s options. Any variant that has stock but doesn’t appear in the sales export, or shows a net quantity of 0, hasn’t sold in 90 days.

A few things can trip this up:

  • Renamed products. Shopify’s sales reports keep the product details from the time of each order. A product you’ve renamed, or a SKU you’ve changed, can appear under its old details and fail to match.
  • New products. Leave out anything you added in the last 90 days. It hasn’t had the full window to sell.
  • Stock spread across locations. Add up every location before deciding a product is overstocked. Ten units in each of three stores is thirty units of cash.

Method 3: ask Sidekick

In its June 2026 post on inventory, Shopify gives “What’s not moving?” as an example of the questions you can put to Sidekick, its built-in assistant. It’s worth trying as a quick first pass.

Ask for the exact window you mean, for example products with no sales in the last 90 days, and spot-check a few of the answers against the reports before you act on them.

What to do with products that haven’t sold

Start with the products holding the most units, or the most money if you’ve entered a cost per item for your products. Then, for each one:

  • Check why first. A winter product in July isn’t dead stock, it’s out of season. A product that’s hidden from your store, priced oddly or missing photos may just need fixing.
  • Discount it. A clear markdown with an end date turns stock back into cash while it can still sell.
  • Bundle it. Pair it with something that sells, so it rides along with demand you already have.
  • Don’t reorder it. The simplest decision, and the easiest to forget. Take it off your reorder list and tell whoever places orders.
  • Move it. If you have more than one location, it may sell better somewhere else.

Discounting and bundling get the cash back. Not reordering stops the problem from growing. Most stores need some of each.

Make it a monthly check

Products drift onto this list one at a time, so a single clean-up doesn’t stay clean. Running the check once a month catches each product while there’s still time to sell it at a decent price, and before anyone reorders it by habit.

StockDigest keeps this list for you. Its not-selling report shows products that are in stock but haven’t sold in a set window: 60 days by default, adjustable from 30 to 120, so 90 works once StockDigest has 90 days of your sales (it imports 60 when you install). Products added during the window are skipped, the biggest piles come first, and the email lists up to 5 with the rest on the dashboard. It’s included in both plans.