Method

ABC analysis: the classification is the easy part.

Rank your products by revenue, cut at 80 and 95 percent, label the three groups A, B and C. That is the whole method, it takes about five minutes, and it is where almost every article on the subject stops. Which is a shame, because the classification on its own changes nothing. What you do differently with each class is the entire value of the exercise.

A = the products making up your first 80% of revenue. B = the next 15%. C = the remaining 5%.
Rank by revenue, take a running total, and read off where each product's cumulative share lands.

Written August 2026. Shopify's native report behaviour was checked against its documentation in August 2026, and Proviand's classification against the production code at the same time.

The verdict first

Do the classification once, then use it to decide how often you think about a product, not how much you like it. A-class products earn a weekly look and tight stock control. C-class products should be bought rarely, in bulk, and then ignored, because the time you spend optimising them costs more than the stock they tie up.

The most common mistake is treating ABC as a scoreboard. It is not a ranking of which products deserve to exist. It is a budget for your own attention, which is the scarcest thing in a small store.

How to run it

Take a period long enough to be meaningful and short enough to be current. Twelve months if you are seasonal, so no season is missing. Three to six months if you turn over quickly.

  1. Export product, units sold and revenue for the period.
  2. Sort by revenue, descending.
  3. Add a running total, and a column for running total divided by total revenue.
  4. Everything up to 80% is A. From there to 95% is B. The rest is C.

A worked example on a small catalogue. Twelve products, 100,000 in revenue for the year.

Four products carry 79% of the business. Four more carry 16%. The last four, a third of the catalogue by count, carry 5% between them. That shape is typical, and seeing it laid out is usually the moment the exercise pays for itself.

Why margin is often the better axis

Standard ABC ranks by revenue. For a small store, ranking by gross margin is frequently the more useful cut, and almost nobody says so.

Revenue tells you what money passes through a product. Margin tells you what money stays. Those diverge badly whenever your catalogue has a spread of cost structures, which most catalogues do.

Take the example above. The gift box does 12,000 of revenue at a 22% margin, so 2,640 of gross profit. The chilli flakes do 4,000 at a 68% margin, so 2,720. By revenue the gift box is an A and the flakes are a B, and the gift box looks three times more important. By margin the flakes are worth slightly more to the business, and they tie up a fraction of the cash doing it.

Rank by revenue when you care about cash flow and volume through the warehouse. Rank by margin when you are deciding what to protect, promote and never run out of. If you only do one, and you are a small store where profit rather than turnover is the constraint, do margin.

Doing both and comparing is better still. The interesting products are the ones that change class between the two lists: high revenue and low margin is something you should stop working so hard for, and low revenue with high margin is usually something worth pushing.

What to actually do with each class

This is the section that matters, and it is the one that changes how you buy.

A-class: tight control, frequent review

These few products are your business. A stockout here is not an inconvenience, it is a bad month.

B-class: normal cycle, watch for movement

The middle. Solid, unremarkable, and mostly fine on autopilot.

C-class: buy rarely, buy deep, then stop thinking about it

The long tail, and the class people get most wrong in both directions. Some stores agonise over optimising products that carry 1% of revenue. Others cut them entirely and lose the reason customers came.

Put simply: spend money to avoid stockouts on A products, and spend time to avoid overordering on nothing at all. C products should cost you almost no attention, and if they are costing you attention your system is misconfigured.

The C-class product that is secretly an A

The classification is arithmetic and it is blind to why a product exists. Some low-revenue products are load-bearing.

Gateway products. The cheap thing people buy first. It might carry 2% of revenue while being the entry point for half your customers. Judged on its own revenue it is a C. Judged on what follows it, it is critical, and running out of it costs you customers you never see.

Spare parts and consumables. The replacement filter, the spare strap, the refill. Barely register in revenue, and being out of one turns a happy customer into someone who feels stranded with a product they cannot use. These are stocked for availability, not for turnover, and the ABC list will always argue against them.

Set completers. The one item people need to finish a collection, or the size that anchors a range. Low volume, disproportionate effect on whether the rest sells.

None of these show up in the maths. Before you act on a C list, walk it and ask which ones are there because something else depends on them, and mark those by hand. That judgement is not automatable and it is the most valuable ten minutes in the whole exercise.

What Shopify gives you natively

Shopify has an ABC analysis by product report built into the admin, under Analytics, Reports, Inventory. It grades products A, B and C on the same 80/15/5 revenue bands described above, and it lets you filter out newly added products so a product launched last week does not land in C for the wrong reason. On the Basic and Lite plans it is not included and you would need an app for it.

What it does not do, as of August 2026: it grades on retail revenue excluding discounts, and cost does not enter the calculation at all. So the margin axis this page argues for is not available natively. It also stops at the classification. It will tell you a product is a C. It has no opinion about buying it differently as a result, which is the part that saves money.

To be straight about it: Proviand's own ABC report classifies on revenue too, with the same 80/95 cumulative cut, so on that axis it agrees with Shopify's. The margin-based version is something I think is more useful for a small store and have not shipped yet. Until I do, the honest answer is that you can get it out of a spreadsheet with a cost column, and I have described how above.

When not to bother

Under about 30 SKUs, skip it. You already know which products carry the business, and formalising it into three letters adds ceremony without adding information.

It is also close to useless on a catalogue that turns over completely each season, because by the time the classification is meaningful the products are gone. The same applies to a store built on drops. ABC assumes a stable catalogue you buy repeatedly, and where that assumption does not hold, neither does the method.

Going further

Proviand classifies your catalogue by revenue against your own Shopify history and shows sell-through alongside it, so the classification arrives next to the buying decision rather than in a separate report you have to act on later.

Install Proviand

Want help splitting your catalogue by margin rather than revenue? Email [email protected] and I will take a look at your export.