SKU Rationalization: Find the Products Eating Your Profit
Most catalogs follow a steep curve: the top fifth of products funds everything, and a long tail burns cash on storage, returns and ad spend.
The shape of almost every catalog
Rank your products by contribution dollars and the curve is usually the same. A short head generates most of the profit, a long middle roughly breaks even, and a tail costs money to keep alive. The tail does not look scary on a revenue chart. It looks scary on a contribution chart, which is why most stores never see it.
The goal of a rationalization pass is simple: decide, for each product in the tail, whether to drop it, fix it or keep it on purpose. Doing it on a schedule is worth more than doing it perfectly once.
A sample store, ranked
The sample store, Cascade Supply Co., sells 28 products. Ranked by gross margin over 180 days of orders, they split cleanly:
| Group | Products | Gross margin |
|---|---|---|
| Top of the list | Trailhead Trucker Cap | 66.5% |
| Top of the list | Summit Beanie | 64.9% |
| Top of the list | Merino Hiking Sock | 62.8% |
| The other 23 in the healthy group | Ranging down to Ridgeline Mid Boot | 50.1% |
| Bottom of the list | Prior-Year Trail Tee | 20.1% |
| Bottom of the list | Last-Season Insulated Vest | 17.8% |
Twenty-six of 28 products keep half or more of each sale after product cost. Two keep about a fifth. The store's blended gross margin is 53.8%, so the average looks comfortable and hides both of them. This is the pattern to expect on your own store: a healthy average with a short list of products far below it.
Gross margin is only the first cut. It leaves out shipping, fees, discounts and ads, which means a product at 20% can already be underwater once those land. The contribution margin guide shows how much those costs take across the same store.
How to pick your floor
A floor is the margin below which a product needs a reason to stay. There is no universal number, because shipping, fees and returns differ by category. A workable method is to start from your costs: add up the share of each sale that goes to shipping, fees, returns and discounts across the store, then set the floor a little above that. A product whose gross margin is below the floor cannot cover those costs, let alone an ad.
The sample charts use 20% as the floor, and two of 28 products sit on or under it. If your own list has half the catalog under the floor, the floor is probably too high for your category, and the problem is the method. Adjust it until the flagged list is short enough to act on in one sitting.
The three-bucket pass
Take every product below your margin floor and put it in one bucket:
- Drop. Negative contribution after ad spend and returns, and no strategic role. It is not a gateway product or a bundle component. Stop reordering, clear what is left and move the ad budget.
- Fix. Thin or negative contribution with a cause you can name: a price set too low, a generous shipping subsidy, one bad supplier cost. Reprice or renegotiate, then measure again in 60 days.
- Keep. Positive contribution, or a measurable assist role, such as appearing in the first orders of your best repeat customers.
In the sample store, the two bottom products are named Prior-Year and Last-Season. Those names suggest leftover stock, and the sample file has no inventory counts, so treat that as a guess. If it is right, both belong in the Drop bucket by way of a clearance, and the dead stock guide covers when a clearance beats waiting.
The assist test
Some low-margin products are how customers find you. Before dropping one, look at what share of your repeat customers had that product in their first order. If it is above about 5%, it earns its place even at a thin margin. If it is close to zero, nothing is lost by dropping it.
tail_flag = sku_contribution < 0 AND assist_rate < 5%
Three mistakes that make a pass useless
- Ranking by revenue. A product can top the revenue list and sit at the bottom of the contribution list. Revenue ranks popularity, and a pass needs profit.
- Judging one month. A product launched three weeks ago, or hit by a one-time shipping spike, looks worse than it is. Use at least a quarter of orders, and 180 days when you have them, as the sample store does.
- Skipping the owner. Every flagged product needs one person who decides drop, fix or keep and writes down the date to look again. A list without owners gets read once and ignored.
What a pass is worth
Cutting a genuinely negative tail does three things at once. Contribution goes up, inventory carrying cost goes down, and your ad accounts stop bidding on products that lose money on each conversion. It is one of the few moves that improves the P&L and simplifies operations in the same step.
Run it on your own catalog
You need an order export with SKU, price, discount, shipping and refunds, plus a cost per SKU. ProfitFalcon ranks every product from that export and flags the ones under your floor, and you can open the sample store to see the ranking on the Cascade data. The per-SKU profit feature page shows the same view in more detail.
Repeat the pass every quarter. Costs drift, and yesterday's keeper becomes today's leak.
Upload your store export and see this for your own products, then decide.
Start 14-day trial14 days free. No card. Cancel anytime. Or open the sample store first.
BizFalcon AI