SKU rationalization: a quarterly pruning routine for a small catalog
A quarterly SKU rationalization routine for small stores — the 4-question test per SKU, a worked decision on 5 SKUs, and what to do with freed cash.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
SKU rationalization is the decision, per product or variant, whether it still earns its place in your catalog — run on a schedule, before the numbers force it on you. Large retailers formalize this — SKU rationalization is a named, scheduled program in retail-operations practice (the assortment-review framing follows standard retail buying texts, e.g., Clodfelter, Retail Buying: From Basics to Fashion, accessed October 2026) — because carrying thousands of low-demand items quietly eats cash, storage, and attention; a 400-SKU store has the same problem at smaller scale, and usually more sentiment attached. The routine below is a quarterly, one-evening process: score your borderline SKUs against four questions, decide, and only then deal with the leftover stock.
The payoff of pruning isn't dramatic — it's the quiet reassignment of money and attention. Every SKU you retire stops ordering capital, stops occupying a reorder slot in your review routine, stops confusing your velocity data, and stops costing carrying cost. Multiply that by a dozen retired SKUs and the next buying cycle gets noticeably easier to fund.
The 4-question test per SKU
For each candidate SKU, answer four questions with data, in order:
- Does it sell? Velocity over the last 90 days (and the same 90 days a year ago, if seasonal). A SKU selling 1–2 units a month might be fine; one selling 2 units a year isn't carrying its weight.
- Does it make money? Margin per unit, and margin × velocity. A slow seller at a fat margin can survive; a slow seller at a thin margin is dead stock that hasn't admitted it yet.
- Does it cannibalize or complete something? If two variants split the same demand, keeping both doesn't double sales — it splits them and doubles your operational surface. Conversely, a C-class item (the grade the ABC analysis classification hands your low-revenue tail) that completes an A-class bundle or covers a long-tail search term has hidden value.
- What does it cost to keep? Carrying cost (capital, storage, obsolescence risk), counting and receiving overhead, and — the one nobody prices — your attention. A 400-SKU catalog reviewed monthly costs real hours; 380 SKUs cost slightly less.
Score the SKU on all four, because any single question can mislead: a zero-velocity SKU with huge margin may be a seasonal item mid-off-season; a fast seller at negative margin is a leak, not a win. The carrying-cost side of question 4 — the formula and its components — is covered in our carrying cost guide.
Worked decision: 5 borderline SKUs
Illustrative example — a dog-harness brand running its quarterly review. Five SKUs landed on the borderline list after an aging check (how to surface candidates systematically is covered in our inventory aging report guide):
| SKU | 90-day velocity | Margin | Notes | Verdict |
|---|---|---|---|---|
| HARNESS-TRAIL-M-OLV | 22 units | 58% | Steady; top-20 seller | Keep. Borderline on looks only. |
| HARNESS-CITY-S-PNK | 3 units | 61% | Good margin, tiny demand; no seasonal shape | Keep, downgraded. Thin buffer, reorder only against orders; recheck next quarter. |
| LEASH-ROPE-5FT-RED | 1 unit | 24% | Sells 4/year; five red leashes compete with navy's 31 units | Prune. Fails velocity and cannibalization — same buyer, same slot. |
| BOWL-TRAVEL-COLLAP | 6 units | 12% | Sold as add-on; margin collapses after fees | Prune. Velocity exists, margin doesn't. Keep only if it demonstrably lifts AOV elsewhere — it doesn't. |
| HARNESS-PUPPY-ADJ | 0 units | 55% | Launched 5 months ago; 14 in stock | Watch, don't prune. New SKU — grading it C would be premature; give it one season and a positioning fix first. |
Note what the table shows: three different verdicts from the same four questions. Rationalization isn't "delete everything slow" — the puppy harness fails question 1 only because of the new-SKU exception; the pink city harness survives on margin. The pruning test produces a ranked decision list, not a mass grave.
For the two pruned SKUs, the decision ends here — what happens to the 9 red leashes and 22 travel bowls physically (discount, bundle, donate, write off) is disposal, and it has its own playbook in our guide to getting rid of dead stock. Don't blur the two steps: prune on schedule, dispose on plan.
The routine: one evening per quarter
- Pull the candidates (30 min). From an aging report or a simple export: no sales in 60+ days, or sales below some units-per-quarter floor, or negative-margin rows. Cap the list at ~20 SKUs so the review actually happens.
- Score against the four questions (60–90 min). You have the data for all four in your admin and a spreadsheet. For anything genuinely ambiguous, check the SKU's gross-margin-return-on-inventory contribution — the metric and its formula are in our GMROI guide — before deciding.
- Decide and record (15 min). Each candidate gets one of: keep / keep-downgraded (thin buffer, reorder-to-order) / prune. Write one line of reasoning per decision. Next quarter's you will want the context.
- Execute (30 min). Pruned SKUs: discontinue the listing (or set to draft/archive if you're done selling it entirely), stop all reorder intentions, move stock to the disposal plan. Keep SKUs: adjust their reorder settings to match the verdict.
Two execution details worth flagging:
- Retire the listing properly. If the product is gone for good, archive or draft it rather than leaving a zero-stock listing active — its only remaining job is to confuse customers and pollute your catalog. If you're only killing one variant of a product, remove that variant and keep the parent listing intact; bulk variant cleanup is quickest through the bulk editor (methods in our Shopify bulk edit guide).
- Don't prune into an out-of-stock-shaped hole. Before retiring anything, confirm it isn't currently out of stock — zero sales because zero availability is a replenishment failure, not a demand verdict. Velocity computed only on in-stock days is the honest measure; counting the dark days as low demand is how good SKUs get wrongly killed.
What the freed cash and attention buy
The arithmetic that justifies the whole routine: retire 10 SKUs averaging $600 of tied-up inventory each (at cost) and you free roughly $6,000 of buying budget for the next cycle — which, pointed at your A-class items, is real stock of things that actually sell. The attention dividend is harder to price but usually bigger: fewer lines in every reorder meeting, fewer counts, fewer listings to maintain.
And the catalog gets cleaner for customers too — a smaller assortment of available, well-stocked items converts better than a long tail of zero-stock ghosts.
Common questions
What is SKU rationalization? It's the periodic review of your catalog to decide which SKUs to keep, downgrade, or discontinue, based on sales velocity, margin, cannibalization, and the cost of carrying each item. Retailers run it quarterly or annually. The goal is reallocating capital and attention toward the SKUs that actually drive profit, not running a bigger catalog for its own sake.
How often should a small store rationalize its SKUs? Quarterly works for most small catalogs — it catches dead weight before it accumulates without becoming a monthly chore. Seasonal stores may want a review right after each peak. Whatever the cadence, run it on a calendar date rather than "when things feel cluttered," because scheduled decisions actually happen.
What's the difference between SKU rationalization and dead stock cleanup? Rationalization is the decision layer — scoring borderline SKUs and deciding what stays in the catalog. Dead stock cleanup is the disposal layer — moving out stock you've already decided is gone, via discounts, bundles, donations, or write-offs. Rationalize first, then dispose; doing disposal first guarantees you'll reorder the same mistake.
How do you decide which SKUs to discontinue? Apply a consistent test: does it sell (velocity), does it profit (margin × velocity), does it duplicate or support another SKU, and what does it cost to keep. Any SKU failing most of the test is a prune candidate; exceptions for new launches and seasonally-shaped items. Record the reasoning so next quarter's review builds on it.
Will cutting SKUs hurt my SEO or sales? Usually the opposite for a small store. Retired listings can be removed or archived without touching healthy pages, and a tighter assortment concentrates demand and stock on better sellers. The main real risk is killing a slow-but-seasonal SKU at the wrong time of year — which the seasonal check in the four-question test is designed to prevent.
Next step
Set a recurring quarterly calendar block called "pruning review" — 2 hours, first week after quarter end. For the first pass, start with just the 10 oldest zero-sales SKUs from your inventory aging report and run them through the four questions; the first round teaches you where your data has gaps, and the second round gets faster.