Storekeeper

ABC vs XYZ Analysis: The Difference and How to Combine Them

Practice · 9 min read

Nothing you paste is stored.

SKU On hand Cover Status

A live preview of Storekeeper's forecasting engine on fictional sample dataon the rows you pasted. The full product connects to your POS and store and runs this continuously.

ABC analysis ranks inventory by value, splitting items into A (roughly 20% of SKUs driving 80% of value), B and C. XYZ analysis ranks the same items by demand variability: X sells steadily, Y moves in a predictable seasonal pattern, Z is erratic. Combining them gives a nine-box grid that tells you both how much an item matters and how hard it is to forecast. The pairing is what makes each classification useful.

Run on its own, ABC tells you where the money is but not where the risk is. A high-value item you can forecast within a few percent needs a very different policy from a high-value item that swings 60% month to month, even though ABC calls them both "A". XYZ supplies the missing half.

What ABC analysis does

ABC analysis sorts every SKU by annual consumption value, which is unit cost multiplied by annual units sold, then cuts the sorted list into three bands. A items are typically the top 20% of SKUs carrying about 80% of the value. B items are the next 30% carrying about 15%. C items are the remaining 50% carrying about 5%. The exact cut points are yours to set; the Pareto shape is what matters.

The payoff is attention allocation. A items justify tight counts, close supplier management and careful reorder levels. C items justify the opposite: bigger, less frequent orders and less scrutiny, because the cost of managing them closely exceeds what the precision saves. It is the same 80/20 lens finance teams apply to the handful of line items driving most of the monthly spend before they bother with the long tail.

What XYZ analysis does

XYZ classifies items by how predictable their demand is, usually measured with the coefficient of variation: the standard deviation of periodic demand divided by mean demand. X items have low variation and sell at a steady rate. Y items vary more, but in a pattern you can see and plan around, typically seasonality or a clear trend. Z items are irregular, with sporadic orders and no reliable pattern.

Class Typical variation Demand pattern Forecast accuracy
X Low (roughly under 0.5) Steady, week after week High, simple methods work
Y Moderate (roughly 0.5 to 1.0) Seasonal or trending Fair, if the pattern is modeled
Z High (roughly above 1.0) Sporadic, lumpy, one-off orders Poor, plan with buffers instead

Those thresholds are conventions, not laws. Set them from your own data by looking at where the distribution of variation naturally breaks, and keep them stable long enough to compare periods.

ABC vs XYZ: the difference in one line

ABC answers "how much does this item matter to my money?" XYZ answers "how confidently can I predict it?" The first is about value concentration, the second about forecastability. They use different inputs (annual consumption value versus demand variability) and they change at different speeds: ABC bands are fairly stable, while an item can slide from X to Z in a quarter if its demand pattern breaks.

The ABC-XYZ matrix

Cross the two and you get nine cells, each with a sensible default policy. This is where the analysis stops being an academic exercise and starts changing what you order.

Cell Profile Sensible policy
AX High value, steady demand Your best candidates for lean, frequent replenishment and low safety stock
AY High value, seasonal or trending Forecast the pattern explicitly, build ahead of the peak, review weekly
AZ High value, erratic The hardest cell: shorten lead times, hold buffer, consider made-to-order or supplier consignment
BX / BY Mid value, predictable enough Automate with reorder points and review monthly
BZ Mid value, erratic Modest buffer, watch for items sliding into dead stock
CX / CY Low value, predictable Order in larger, infrequent batches; automate fully and stop thinking about them
CZ Low value, erratic Candidates to discontinue, stock minimally, or order only against a customer order

How to run an ABC-XYZ analysis

Pull at least twelve months of demand history by SKU so seasonality is visible. For ABC, multiply annual units by unit cost, sort descending, take the running share of total value and cut at your chosen thresholds. For XYZ, break the same history into equal periods (weeks or months), calculate the mean and standard deviation of demand per SKU, divide to get the coefficient of variation, and band the result. Then join the two labels per SKU and count how many items land in each of the nine cells.

Two practical cautions. Use demand, not shipments: if you were out of stock, the sale you never made is missing from the history and the item looks calmer than it is. And exclude one-off bulk orders from the variability calculation, or flag them separately, because a single large contract order will push an otherwise steady item into Z.

How often should you reclassify?

Quarterly is a reasonable cadence for most businesses, with an annual deep review. ABC bands move slowly, so rerunning them monthly mostly creates churn in your policies. XYZ classes are more volatile and worth watching more closely for items that have jumped a band, since that jump is an early warning that either your safety stock is now wrong or something changed in the market.

The catch with any periodic classification is that it is a snapshot of the past applied to the future. That works fine for stable catalogs and poorly for fast-moving ones. The alternative is to recalculate demand variability continuously and let each SKU's safety stock and reorder point move with it, so an item drifting toward erratic gets a bigger buffer before it causes a stockout, not after.

What to do with the results

Turn cells into rules. AX items get the leanest stock and the tightest supplier relationships, because predictability lets you run thin safely. AZ items get the most management attention and the most creative supply arrangements, because you cannot forecast your way out of genuinely erratic demand. CZ items get culled or made to order. The value of the exercise is not the classification, it is the different treatment.

Want to see where your own catalog lands? Run your stock and sales history through the live stock scan at the top of the site. It flags the high-value SKUs holding too much cash and the ones about to run short, which are usually the A items you were classifying by hand. Our inventory control software page covers how these policies get enforced day to day, and inventory optimization puts the whole method in context.

See this math run itself

The free stock scan computes cover, safety stock and verdicts per SKU on sample data or rows you paste. No signup.

Run the stock scan

More from the stockroom

Early access · launching soon

Reading about it is step one

Step two is a system that does this arithmetic for every SKU, every day. Join the early-access list.

One confirmation email, no spam, no card.