Summary: ABC analysis in inventory management ranks every SKU by its annual value (units sold × unit cost) and splits the catalog into three classes. A items are the few SKUs that make up about 80% of value, B items the next 15%, and C items the long tail. Each class then gets its own stock, counting, and reorder rules.
Most ecommerce brands treat every SKU the same way. The same reorder review, the same safety stock rule, the same once-a-year count. That feels fair, but it means your team spends as much time on a $0.40 sticker pack as on the skillet that pays the rent. ABC analysis fixes that by telling you where attention, cash, and accuracy matter most.
This guide goes further than the usual three-step explanation. You will get a full worked example for an online store, spreadsheet formulas you can copy, the policy each class should get, how to combine ABC with XYZ demand variability, and the mistakes that make ABC analysis mislead ecommerce teams. If you are new to the wider topic, start with our ecommerce supply chain management guide.
What is ABC analysis in inventory management?
ABC analysis is an inventory classification method based on the Pareto principle: a small share of items usually accounts for most of the value. You calculate the annual consumption value of each SKU, rank SKUs from highest to lowest, and use cumulative percentages to assign each one to class A, B, or C.
The core formula is simple:
Annual consumption value = annual units sold × unit cost
The typical split looks like this:
| Class | Share of annual value | Typical share of SKUs | Level of control |
|---|---|---|---|
| A | ~70–80% | ~10–20% | Tight: frequent review, high accuracy, close supplier management |
| B | ~15–25% | ~30% | Moderate: periodic review, standard rules |
| C | ~5% | ~50% | Light: simple rules, automation, minimal handling |
These ranges are rules of thumb, not laws. Your own catalog will produce its own curve, and that curve is the useful part. ABC analysis does not tell you which products are good; it tells you where a mistake costs the most.
Why does ABC analysis matter for ecommerce brands?
Inventory is usually the largest use of cash in a product business. Two things go wrong when every SKU gets equal treatment: cash gets trapped in slow, low-value items, and the high-value items that drive revenue run out because nobody watched them closely enough.
For an online store, ABC analysis helps you:
- Protect revenue. A stockout on an A item hurts sales, ad efficiency, and marketplace rankings at the same time. On Amazon, running out can also cost you organic position that takes weeks to rebuild.
- Free up cash. C items often tie up more money and warehouse space than their sales justify. Seeing them as a group makes it easier to cut order sizes or discontinue them.
- Focus a small team. Most brands do not have a full-time planner. ABC tells a lean team which 50 SKUs deserve a weekly look and which 500 can run on autopilot.
- Improve inventory accuracy. Cycle counting A items more often catches the errors that matter before they turn into oversells or cancelled orders.
- Negotiate better. Knowing which suppliers carry your A items tells you where to push for shorter lead times, better terms, or a backup source.
How do you do ABC analysis step by step?
- Export 12 months of SKU-level data. You need SKU, units sold, and unit cost. Twelve months smooths seasonality; a newer brand can use six months and annualize.
- Use landed cost, not just purchase price. Include freight, duties, and inbound fees so imported items are not undervalued. Our guide to landed cost and true COGS shows how to calculate it.
- Calculate annual value for each SKU. Units sold × unit cost.
- Sort from highest to lowest annual value.
- Calculate each SKU’s share and the cumulative share. Running total ÷ grand total.
- Assign classes. Cumulative share up to 80% = A, above 80% up to 95% = B, the rest = C.
- Write a policy for each class and put it into your inventory system. This is the step most teams skip, and without it the analysis changes nothing.
What does an ABC analysis example look like for an online store?
Here is a worked example for a hypothetical direct-to-consumer kitchenware brand with 12 active SKUs. The numbers are illustrative, but the method is exactly what you would run on your own catalog.
| Rank | SKU | Unit cost (landed) | Units sold / year | Annual value | % of total | Cumulative % | Class |
|---|---|---|---|---|---|---|---|
| 1 | Cast-iron skillet 12in | $34.00 | 4,200 | $142,800 | 26.6% | 26.6% | A |
| 2 | Chef knife 8in | $22.00 | 5,100 | $112,200 | 20.9% | 47.5% | A |
| 3 | Nonstick pan set | $58.00 | 1,500 | $87,000 | 16.2% | 63.7% | A |
| 4 | Dutch oven 6qt | $41.00 | 1,600 | $65,600 | 12.2% | 75.9% | A |
| 5 | Cutting board, walnut | $14.00 | 3,000 | $42,000 | 7.8% | 83.8% | B |
| 6 | Knife sharpener | $9.50 | 3,200 | $30,400 | 5.7% | 89.4% | B |
| 7 | Silicone spatula set | $4.20 | 5,200 | $21,840 | 4.1% | 93.5% | B |
| 8 | Measuring cup set | $3.80 | 3,800 | $14,440 | 2.7% | 96.2% | C |
| 9 | Oven mitts (pair) | $3.10 | 3,100 | $9,610 | 1.8% | 98.0% | C |
| 10 | Pan scraper | $0.90 | 6,100 | $5,490 | 1.0% | 99.0% | C |
| 11 | Replacement handle cover | $1.60 | 2,400 | $3,840 | 0.7% | 99.7% | C |
| 12 | Spice jar labels | $0.40 | 4,000 | $1,600 | 0.3% | 100.0% | C |
Total annual value is $536,820. The result:
- Class A: 4 SKUs (33% of the catalog) make up 75.9% of annual value.
- Class B: 3 SKUs (25%) take the cumulative share from 75.9% to 93.5%.
- Class C: 5 SKUs (42%) make up the last 6.5%.
Notice what the ranking reveals. The pan scraper sells more units than anything else in the catalog (6,100 a year), yet it is a C item because each unit is worth less than a dollar. The nonstick pan set sells only 1,500 units but is the third most valuable SKU. Ranking by units or by unit price alone would have given you the wrong priorities.

In a real catalog with hundreds or thousands of SKUs, the curve is usually much steeper. A small share of SKUs carries most of the value, and a long tail of variants, accessories, and spare parts sits in class C.
How do you run ABC analysis in Excel or Google Sheets?
For most brands with fewer than a few thousand SKUs, a spreadsheet is enough. Assume column A holds the SKU, column B the unit cost, column C the annual units, and your data runs from row 2 to row 500:
| Column | What it holds | Formula (row 2) |
|---|---|---|
| D | Annual value | =B2*C2 |
| — | Sort the table by column D, largest first | Data → Sort range, or =SORT(A2:D500,4,FALSE) |
| E | Share of total | =D2/SUM($D$2:$D$500) |
| F | Cumulative share | =SUM($D$2:D2)/SUM($D$2:$D$500) |
| G | Class | =IFS(F2<=0.8,"A",F2<=0.95,"B",TRUE,"C") |
Put the 0.8 and 0.95 thresholds in their own cells and reference them, so you can test different cut-offs without rewriting formulas. Most inventory tools, including ERPs and many Shopify inventory apps, can also tag ABC classes automatically once the logic is agreed.
How should you manage A, B, and C items differently?
The classification is only useful when each class gets different rules. Here is a starting policy for an ecommerce brand. Adjust it to your margins, lead times, and team size.
| Policy | Class A | Class B | Class C |
|---|---|---|---|
| Forecast review | Weekly, SKU level, with promo and ad plans | Every 2–4 weeks | Monthly or quarterly; automated reorder rules |
| Target service level (in-stock) | Highest, e.g. 97–99% | Middle, e.g. 93–96% | Lower, e.g. 85–92% |
| Safety stock | Calculated from demand and lead-time variability | Calculated, reviewed less often | Simple rule (e.g. fixed days of cover) or none |
| Cycle count frequency | Monthly or more | Quarterly | Once or twice a year |
| Supplier management | Scorecards, backup supplier, lead-time negotiation | Standard terms | Consolidate suppliers; accept longer lead times |
| Order frequency | Smaller, more frequent orders | Regular cadence | Larger, less frequent orders to cut admin |
| Warehouse placement | Closest to pack stations | Middle zones | Upper or back locations |
| Owner | Named planner or senior operator | Planner, exceptions only | Automated, with periodic clean-up |
Two ideas sit behind this table. First, the higher the class, the more it costs you to be wrong, so the more effort and safety stock it deserves. Second, the higher service level for A items is paid for by accepting a lower one on C items. You cannot afford 99% availability on everything, and you do not need it.
For the safety stock maths behind the service level targets, read our guide to demand forecasting and safety stock. To see whether the policy is working, track inventory turnover ratio by class: A items should turn fastest, and C items with very low turnover are candidates for markdown or discontinuation.
What is ABC-XYZ analysis, and when should you use it?
ABC tells you how valuable a SKU is. It says nothing about how predictable its demand is. XYZ analysis adds that second dimension using the coefficient of variation (CV), which is the standard deviation of demand divided by the average demand over the same periods, usually weekly or monthly.
- X: stable demand, low CV (a common starting cut-off is below 0.5).
- Y: variable demand, medium CV (for example 0.5 to 1.0), often seasonal or promo-driven.
- Z: erratic demand, high CV (above 1.0), such as new launches, viral spikes, or lumpy wholesale orders.
Combining the two gives a nine-box matrix with a clear action for each cell:
| X (stable) | Y (variable) | Z (erratic) | |
|---|---|---|---|
| A | Automate replenishment tightly; keep safety stock lean because demand is predictable | Forecast with seasonality and promo calendar; review weekly | Highest risk: plan manually, hold strategic buffer, secure flexible supply |
| B | Standard reorder point rules | Periodic review with seasonal adjustment | Review exceptions; consider make-to-order or pre-orders |
| C | Automate fully; order in larger batches | Automate with conservative caps | Minimise stock; consider dropship, bundling, or discontinuing |
AZ items deserve special attention. They are valuable and hard to forecast, which is exactly where stockouts and overstock both hurt the most. CZ items are the opposite: low value and unpredictable, so they rarely justify holding much stock at all.
What are the most common ABC analysis mistakes?
- Ranking by units or by price instead of value. As the example shows, a cheap fast mover and an expensive slow mover can both be misclassified.
- Using a single snapshot forever. Products move between classes as you launch, discount, and sunset SKUs. Re-run the analysis at least quarterly, and monthly in fast-moving catalogs.
- Ignoring new products. A launch with three weeks of sales will look like a C item. Tag new SKUs separately for their first 90 days and plan them manually.
- Mixing channels without thinking. A SKU can be an A item on Amazon and a C item on your own site. If channels are stocked from different pools, such as FBA versus your 3PL, run ABC per pool as well as overall.
- Treating C items as unimportant. Some C items are critical: a replacement part, a required accessory, or the item that completes a bundle. Flag these as exceptions so they do not run out.
- Stopping at the label. The analysis is worth nothing until the class drives different forecast cadence, safety stock, counts, and purchase orders.
- Counting variants inconsistently. Decide whether you classify at parent or child (size, colour) level. Replenishment happens at child level, so that is usually where ABC belongs. Clean SKU data helps here; see our SKU management best practices.
Should you rank by revenue, COGS, or gross profit?
The classic method uses cost value (units × unit cost), because the goal is controlling the money invested in inventory. Ecommerce teams often run a second view by revenue or gross profit, because those answer different questions.
| Ranking basis | Question it answers | Best used for | Watch out for |
|---|---|---|---|
| Cost value (units × landed cost) | Where is our inventory cash tied up? | Purchasing, safety stock, cycle counts | Can underweight high-margin items |
| Revenue (units × selling price) | Which SKUs drive the top line? | Stock priority for marketing and marketplace ranking | Discount-heavy SKUs look better than they are |
| Gross profit or contribution | Which SKUs actually make us money? | Range decisions, ad budget, discontinuation | Needs reliable cost and fee data per SKU |
| Order lines / pick frequency | Which SKUs create the most handling work? | Warehouse slotting and pick paths | Says nothing about value |
A practical approach is to classify on cost value for inventory policy, then cross-check with contribution margin. An A item with thin or negative margin is a pricing or sourcing problem, not just a stocking one.
How often should you update your ABC classification?
Quarterly is a good default for most ecommerce brands. Use a rolling 12-month window so seasonal items are judged fairly. Re-run sooner after a major launch, a big catalog change, a pricing change, or a shift in channel mix. Some teams also add a buffer rule, such as only moving a SKU between classes if it stays in the new class for two consecutive reviews, so items near the cut-off do not flip every quarter.
Who should own ABC analysis on a lean ecommerce team?
ABC analysis is not hard, but it needs someone to run it consistently: pull the data, clean the SKUs, update the classes, and turn them into purchase orders and count schedules. In many growing brands that job falls between the founder, an operations generalist, and a 3PL, so it happens once and then decays.
The options are to give it to an in-house planner, ask your 3PL or ERP partner for reports, or use a dedicated offshore operations team that runs planning as a weekly routine. The right choice depends on SKU count, channel complexity, and how much buying risk you carry.
How AcquireX helps you put ABC analysis to work
AcquireX’s supply chain management services give ecommerce brands a dedicated team that runs inventory planning every week, not once a year. That includes:
- Building and maintaining your ABC and ABC-XYZ classification from Shopify, Amazon, Walmart, and 3PL data.
- Setting class-based service levels, safety stock, and reorder points, then turning them into purchase order recommendations.
- Cycle count schedules, inventory reconciliation, and stock health reports by class.
- Supplier follow-up on A-item lead times, alongside our procurement and sourcing team when you need backup suppliers or better terms.
If stockouts on your best sellers or cash stuck in slow movers sound familiar, book a call with AcquireX and we will walk through your SKU data with you.
Key takeaways
- ABC analysis ranks SKUs by annual value (units × unit cost) and splits them at roughly 80% and 95% cumulative value.
- Use landed cost and 12 months of data, and classify at the SKU level you actually replenish.
- Give each class its own forecast cadence, service level, safety stock, count frequency, and supplier approach.
- Add XYZ demand variability to separate predictable A items from risky ones.
- Re-run quarterly, treat new launches and critical C items as exceptions, and cross-check against margin.
Frequently asked questions
What is ABC analysis in simple terms?
ABC analysis sorts your inventory into three groups by how much value each item represents over a year. A items are the few most valuable SKUs, B items are in the middle, and C items are the many low-value SKUs. You then spend the most time, money, and control on A items.
What is the formula for ABC analysis?
For each SKU, annual consumption value equals annual units sold multiplied by unit cost. Sort SKUs from highest to lowest value, calculate each SKU’s cumulative share of the total, then assign A up to about 80% of cumulative value, B up to about 95%, and C to the remainder.
What percentage of SKUs are usually A items?
A items are commonly around 10–20% of SKUs and about 70–80% of annual value, but it varies by catalog. Small catalogs with a few hero products can have a larger share of A items, while large catalogs with many variants often have a smaller share.
What is the difference between ABC and XYZ analysis?
ABC analysis classifies SKUs by value, while XYZ analysis classifies them by how predictable demand is, using the coefficient of variation. Combining them shows which valuable items are also hard to forecast, so you can give those AZ items the most careful planning and buffer stock.
How often should I redo ABC analysis?
Most ecommerce brands should update their ABC classes quarterly using a rolling 12-month window. Fast-moving or highly seasonal catalogs may update monthly. Re-run it after major launches, pricing changes, or channel shifts, and consider requiring two reviews in a row before moving a SKU between classes.
Should I use revenue or cost for ABC analysis?
Use cost value, meaning units multiplied by landed unit cost, for inventory policies such as safety stock and purchasing, because it reflects where your cash is invested. Run a revenue or gross profit view alongside it to guide marketing priority and range decisions.
Can ABC analysis work for a small Shopify store?
Yes. A store with even 30 to 50 SKUs benefits, because the analysis shows which few products need close stock monitoring. A spreadsheet with five formulas is enough, and the results can be used to set reorder reminders or rules in your inventory app.
What are the limitations of ABC analysis?
ABC analysis looks only at past value. It ignores demand variability, margin, lead time, and how critical an item is to other sales. New products are often misclassified, and classes go stale if not updated. Pair it with XYZ analysis, margin checks, and manual exceptions for critical or new SKUs.