Inventory Fundamentals

ABC Analysis for Inventory: A Practical How-To (With a Worked Example)

7 min readBy Inventoros Team
ABC Analysis for Inventory: A Practical How-To (With a Worked Example)

ABC analysis for inventory is how you stop treating a $3 zip tie with the same care as a $220 flagship unit. It ranks every SKU by the annual dollar value that flows through it, then splits your catalog into three buckets so your attention, your counting effort, and your cash all go where they actually move the needle. If you carry more than a few dozen SKUs and you're managing them all with one reorder rule, you're either overstocking cheap junk or running your best sellers dry. This is the fix, and you can run the first pass in an afternoon.

What ABC analysis actually does

It's the Pareto principle applied to stock. A small slice of your items drives most of the value, so you give that slice tight control and let the long tail coast.

  • A items: roughly the top 70 to 80% of annual value, usually only 10 to 20% of your SKUs. Your revenue and your working capital live here.
  • B items: the next chunk of value, the middle of the pack.
  • C items: the bottom 5% or so of value, often half your catalog by count. Cheap, plentiful, low stakes.

The percentages are guidelines, not law. The point is the shape: a handful of items matter enormously, and most barely register.

The formula

One number drives the whole thing, annual consumption value (sometimes called annual usage value):

Annual consumption value = annual demand (units) x unit cost

That's the entire trick. You are not ranking by unit price alone. A cheap part you burn through 40,000 times a year can easily outrank an expensive one you sell twice. You rank by the total value that passes through the SKU over a year.

Then:

  1. Calculate annual consumption value for every SKU.
  2. Sort the list from highest to lowest.
  3. Work out each item's share of the total, plus a running cumulative share.
  4. Draw two lines. Everything up to about 80% cumulative is A, up to about 95% is B, and the rest is C.

A worked example

Say you run a small warehouse with 10 SKUs. Here's the annual usage, unit cost, and resulting value, already sorted from highest to lowest.

SKU Annual units Unit cost Annual value % of total Cumulative Class
Widget-Pro 1,000 $220.00 $220,000 38.7% 38.7% A
Cable-X 5,000 $30.00 $150,000 26.4% 65.1% A
Hub-9 800 $110.00 $88,000 15.5% 80.6% A
Mount-K 2,000 $18.00 $36,000 6.3% 86.9% B
Clip-S 12,000 $2.50 $30,000 5.3% 92.2% B
Screw-M4 40,000 $0.40 $16,000 2.8% 95.0% B
Label-Roll 3,000 $4.00 $12,000 2.1% 97.1% C
Foam-Pad 6,000 $1.20 $7,200 1.3% 98.4% C
Sticker-Y 10,000 $0.50 $5,000 0.9% 99.3% C
Zip-Tie 20,000 $0.18 $3,600 0.6% 100% C

Total annual value is $567,800. Look at what falls out:

  • 3 A items (30% of SKUs) carry 80.6% of the value.
  • 3 B items (30% of SKUs) carry 14.4%.
  • 4 C items (40% of SKUs) carry 5%.

Notice Screw-M4: 40,000 units a year at 40 cents lands it in B, not C. Volume matters, not just price tag. That's exactly the insight a gut-feel sort would miss.

What to do with each class

Classifying is pointless unless the class changes how you manage the item. Assign a control policy per bucket and the effort sorts itself out.

Class Cycle count Safety stock Reorder approach
A Monthly or weekly Lean, watched closely Frequent review, tight reorder points, close supplier contact
B Quarterly Moderate Automated reorder points, occasional review
C Once or twice a year Generous (holding it is cheap) Bulk buy, set and forget

The logic behind each row:

  • A items tie up most of your money, so you keep less of it sitting idle. Count them often, hold thin safety stock, and stay tight with suppliers so a stockout never surprises you. A one-day outage on Widget-Pro costs more than a year of babysitting Zip-Tie.
  • B items get sensible automation. Set reorder points, let the system fire purchase orders, and glance at them each quarter.
  • C items are where people waste the most effort for the least return. Buy them in bulk, carry a fat cushion because the carrying cost is trivial, and count them once or twice a year. Do not build weekly cycle counts around a $3.60-a-year zip tie.

Pushing it further with XYZ

ABC ranks by value. It says nothing about how predictable demand is. XYZ analysis grades that: X is steady demand, Y is variable, Z is erratic. Overlay the two and an AX item (high value, steady) can run lean, while an AZ item (high value, spiky) needs a real buffer. You don't need XYZ on day one, but it's the natural next step once ABC is running.

How to run ABC analysis for inventory without the spreadsheet grind

The afternoon-in-a-spreadsheet version is fine for a first pass. The problem is that it's a snapshot. Demand shifts, a C item goes viral and quietly becomes an A, and your neat classification is stale within a quarter. The durable version is automated, so it re-runs on live data and never drifts.

The steps are the same either way:

  1. Pull 12 months of usage per SKU (sales, issues, or consumption).
  2. Multiply by current unit cost to get annual consumption value.
  3. Sort descending and compute cumulative share.
  4. Apply your A/B/C thresholds and tag each item.
  5. Attach a cycle-count cadence and reorder policy to each class.
  6. Re-run it on a schedule so the tags stay honest.

This is where a system beats a spreadsheet. Inventoros tracks usage and cost per SKU across multiple locations already, so the raw data for step one is sitting there. You can pull it through the REST and GraphQL API, score it however your business defines A/B/C, and write the class back onto each item as a field or tag. Wire that into a scheduled job and your classification recalculates on its own, with cycle-count cadence following the class automatically. The full setup for querying stock and automating jobs is in the documentation.

Here's the honest tie-in: Inventoros won't spit out an ABC report with one click today. What it does out of the box is give you clean, queryable usage and cost data over open APIs, self-hosted on your own server, MIT licensed, so you own the numbers and can build the exact scoring your operation needs without paying per seat or shipping your inventory data to someone else's cloud.

Run the classification once and you'll wonder why you ever counted zip ties on the same schedule as your flagship SKU.

FAQ

What percentage of items should be A, B, and C? A common split is A at 70 to 80% of value (10 to 20% of items), B at 15 to 25% of value, and C at about 5% of value (often half your SKUs). Treat these as starting lines, not rules. Sort by cumulative value first, then draw the boundaries where the natural breaks appear in your own catalog.

How often should you redo ABC analysis? Quarterly is a good default for most businesses, or semi-annually if your demand is stable. Rerun it sooner after a big seasonal shift, a new product launch, or a major cost change from a supplier. Items drift between classes over time, and an automated recalculation on live data keeps the tags from going stale.

What's the difference between ABC and XYZ analysis? ABC ranks items by value (how much money flows through them). XYZ grades items by demand predictability (X steady, Y variable, Z erratic). ABC tells you what deserves attention. XYZ tells you how much buffer that attention needs. Combine them for a nine-box grid that guides both control effort and safety stock.

Can you run ABC analysis on something other than dollar value? Yes. Annual consumption value is the standard input, but you can rank by any metric that reflects importance: gross margin, sales frequency, lead time, or criticality (a cheap part that halts your whole line is an A regardless of its price). Some teams run two classifications, one by value and one by criticality, and manage to whichever is higher.