ABC analysis for ecommerce inventory
ABC analysis ranks your SKUs by how much value each one contributes and sorts them into three classes, so the few items that matter most get the most attention. This guide shows how to calculate it, walks through a worked example with made-up numbers, and explains how to manage each class.
What ABC analysis is
ABC analysis is an inventory classification method based on the Pareto principle: in many catalogs a minority of items accounts for a large share of the total value. Each SKU lands in one of three classes:
- A items: the highest-value SKUs, which get the tightest control
- B items: the middle group, which gets moderate control
- C items: the long tail of low-value SKUs, which gets simple, low-effort rules
The class boundaries are a choice you make, and the share of SKUs in each class is an output of the analysis, not a target. The method works whether your catalog follows a neat 80/20 pattern or not, because it shows you your own pattern.
Why it is useful
Treating a fast-moving best seller and a niche accessory the same way wastes effort. Classification lets you differentiate:
- Capital: put more of your purchasing budget behind the items that carry the most value, instead of spreading it evenly.
- Reorder discipline: A items justify tighter reorder points, more frequent review and a higher service level. C items can be reviewed less often.
- Warehouse layout: classify by units sold per day (see velocity-based classification below) and keep the fastest movers closest to packing stations so the most frequent picks are the shortest.
- Forecasting effort: careful demand forecasting pays off most on A items. For C items, simple rules are often enough.
How to do it, step by step
Step 1: Gather a year of sales data
Export units sold per SKU or variant, plus unit cost, to a spreadsheet. Use at least twelve months if you can, so seasonal items are not judged on an unrepresentative stretch.
Step 2: Choose a value measure
The traditional measure is annual consumption value, which shows how much inventory investment each SKU represents:
You can instead rank by revenue (units × selling price) or by gross profit (units × (price − cost)). Each answers a different question, so pick one and use it consistently. Running two and comparing the results is often informative.
Step 3: Rank and accumulate
Sort SKUs from highest to lowest value. For each one, calculate its share of the total, then the running (cumulative) share as you move down the list:
Step 4: Assign classes
A common convention uses cumulative cutoffs of 80% and 95%:
- A: the SKUs that make up the first 80% of cumulative value
- B: the SKUs that take the cumulative total from 80% to 95%
- C: the remaining SKUs, from 95% to 100%
Other cutoffs, such as 70/90/100, are equally valid. To decide boundary cases, class each SKU by where the cumulative total stands before you add it. The item that carries the total across a cutoff stays in the higher class.
Worked example
Say a store has ten SKUs. Units sold and unit cost are hypothetical. Annual consumption value is units × cost, and the total across all ten is $100,000.
| SKU | Units sold | Unit cost | Annual value | Share | Cumulative | Class |
|---|---|---|---|---|---|---|
| 1 | 1,500 | $30 | $45,000 | 45% | 45% | A |
| 2 | 500 | $50 | $25,000 | 25% | 70% | A |
| 3 | 400 | $30 | $12,000 | 12% | 82% | A |
| 4 | 300 | $20 | $6,000 | 6% | 88% | B |
| 5 | 200 | $20 | $4,000 | 4% | 92% | B |
| 6 | 100 | $30 | $3,000 | 3% | 95% | B |
| 7 | 100 | $20 | $2,000 | 2% | 97% | C |
| 8 | 150 | $10 | $1,500 | 1.5% | 98.5% | C |
| 9 | 50 | $20 | $1,000 | 1% | 99.5% | C |
| 10 | 25 | $20 | $500 | 0.5% | 100% | C |
Using the rule above, SKU 3 is an A because the total is only 70% before it is added. SKU 7 is a C because the total has already reached 95%. The result:
- A: 3 SKUs (30% of SKUs), $82,000 (82% of value)
- B: 3 SKUs (30% of SKUs), $13,000 (13% of value)
- C: 4 SKUs (40% of SKUs), $5,000 (5% of value)
The average A item carries $82,000 ÷ 3 ≈ $27,333 of value, and the average C item carries $5,000 ÷ 4 = $1,250, so an A item represents about 22 times as much investment. If you have limited time for inventory review, the three A items should get most of it.
Managing each class
This table is an example policy, not a rule. Adjust the frequencies and service levels to your products, suppliers and cash position.
| Policy | A items | B items | C items |
|---|---|---|---|
| Review frequency | Frequent, for example weekly | Periodic, for example monthly | Infrequent, for example quarterly |
| Service level target | Highest | Moderate | Lowest |
| Safety stock | Calculated from demand variability and lead time | Calculated, at a lower service level | Simple minimum and maximum levels |
| Forecasting | Most effort, reviewed regularly | Moving average or exponential smoothing | Simple rules, or order when stock runs low |
| Cycle counts | Most often | Less often | Least often |
| Suppliers | Backup supplier, priority terms | Standard terms | Consolidate orders to reduce ordering cost |
For how a service level turns into a buffer, see the safety stock formula and the reorder point formula.
Common mistakes
- Ranking by revenue alone. A high-revenue item with a thin margin may matter less than a mid-revenue item with a fat one. Run a gross profit ranking alongside and compare. Items that are A on both are your core range.
- Classifying new products too early. A product with only a few weeks of sales has no meaningful history. Hold it in B, or a separate "new" group, until it has enough data.
- Setting it and forgetting it. Items move between classes as demand shifts. Reclassify on a regular schedule, for example quarterly.
- Treating every C item as disposable. Some C items complete a product line, accompany A items at checkout or serve a loyal niche. Check whether a C item supports A sales before cutting it. For items that really have stopped selling, see dead stock management.
- Ignoring seasonality. An item can be a C for most of the year and an A in peak season. Run separate analyses for peak and off-peak periods. See seasonal inventory planning.
Adding demand variability: ABC-XYZ
Standard ABC ranks by value only. A second dimension, how erratic demand is, separates items that are easy to plan from those that are not. Measure variability with the coefficient of variation:
Both are measured over the same periods, for example weekly units, so the CV has no unit. Common illustrative cutoffs are X for CV below 0.5 (stable), Y for 0.5 to 1.0 (variable) and Z above 1.0 (erratic). Tune them to your catalog.
Say two SKUs each sell 160 units over eight weeks, an average of 20 per week.
- SKU P: 20, 22, 18, 21, 19, 23, 17, 20. The squared deviations from 20 sum to 28, so the sample standard deviation is √(28 ÷ 7) = 2. CV = 2 ÷ 20 = 0.10, which is X.
- SKU Q: 0, 40, 0, 5, 60, 0, 15, 40. The squared deviations sum to 3,850, so the sample standard deviation is √(3,850 ÷ 7) ≈ 23.5. CV ≈ 23.5 ÷ 20 ≈ 1.17, which is Z.
Same average demand, very different planning problem: P needs little buffer, while Q needs a large one or a different supply approach.
Combining the two gives nine groups. An AX item is high value and predictable, so you can hold it tightly. An AZ item is high value and erratic, so it needs more safety stock and closer monitoring. A CZ item is low value and erratic, which makes it a candidate for made-to-order, drop shipping or removal from the range.
Velocity-based classification
If your goal is warehouse layout or pick-path planning, classify by units sold per day instead of by value. High-velocity items should be easy to reach regardless of their dollar value.
Implementation checklist
- Export twelve months of units sold and unit cost per SKU.
- Calculate annual consumption value, or revenue or gross profit if you prefer.
- Sort from highest to lowest and calculate cumulative shares.
- Assign A, B and C using your chosen cutoffs.
- Set a review frequency, service level and reorder method for each class.
- Reclassify on a schedule and watch new products and seasonal items.
- Optionally add the XYZ dimension once the basics are running.
Once classes are in place, track how fast each group sells through using the inventory turnover ratio, and see what holding each group costs in inventory carrying cost.