Skip to content

ABC-XYZ Analysis Tool

Most of your inventory value sits in a small share of SKUs, yet most teams manage every SKU the same way. Paste usage by SKU to rank items by value and demand variability, then get a stocking policy for each of the nine classes.

  • Pareto ABC
  • XYZ variability
  • 9-box policy matrix
  • CSV with policies

The vital few

27% of SKUs → 80% of value

60 SKUs · $3,859,481 consumed a year

Class A

16 SKUs

$3.1M · 80.5% of value

Class B

12 SKUs

$562K · 14.6% of value

Class C

32 SKUs

$191.6K · 5% of value

01Usage by SKU

Columns: sku, description, unit_cost then either annual_qty or one column per month (needed for XYZ).

60 SKUs · 12 months of usage

02Class boundaries

80% of value
95% of value
CV ≤ 0.50
CV ≤ 1.00

Above this is Z (erratic). CV = monthly σ ÷ mean.

03Pareto curve

0%25%50%75%100%0% of SKUs20% of SKUs40% of SKUs60% of SKUs80% of SKUs100% of SKUsSHARE OF SKUS, BY VALUEA · 27%B · 47%

04ABC × XYZ policy matrix

X · steadyY · variableZ · erraticABC

Select a class to filter the SKU list.

05All SKUs · 60

#SKUAnnual qtyUnit costAnnual valueCumulativeCVClass
1SKU-008Tipo 00 flour 50 lb4,363$94.65$412,95810.7%1.14AZ
2SKU-044Quat sanitizer 1 gal x 4 (site B)2,431$161.89$393,55520.9%1.29AZ
3SKU-010Jasmine rice 50 lb2,901$123.61$358,59330.2%0.08AX
4SKU-054Microgreens 1 lb (site B)1,932$159.47$308,09638.2%0.09AX
5SKU-053Truffle oil 250 ml (site B)3,872$74.16$287,14845.6%0.11AX
6SKU-030Butter 36 x 1 lb2,781$85.51$237,80351.8%0.08AX
7SKU-009Olive oil 3 L1,243$151.20$187,94256.6%0.10AX
8SKU-021Ice machine filter1,223$134.60$164,61660.9%0.08AX
9SKU-055Coffee beans 5 lb (site B)3,014$38.50$116,03963.9%0.07AX
10SKU-031Chicken breast 40 lb (site B)694$154.04$106,90466.7%0.75AY
11SKU-034Fryer oil 35 lb (site B)621$168.64$104,72569.4%0.08AX
12SKU-012Heavy cream 12 qt1,390$73.18$101,72072%0.70AY
13SKU-002Ground beef 80/20 10 lb656$136.31$89,41974.3%0.66AY
14SKU-007Crushed tomatoes #10 x 6735$120.17$88,32576.6%0.64AY
15SKU-016Paper towel rolls1,214$63.82$77,47778.6%1.20AZ
16SKU-005Romaine hearts 24 ct1,044$67.63$70,60680.5%0.08AX
17SKU-006Burger buns 8 ct x 121,128$57.84$65,24482.2%0.09BX
18SKU-059Eggs 15 dz (site B)2,736$23.64$64,67983.8%0.06BX
19SKU-036Burger buns 8 ct x 12 (site B)2,979$19.84$59,10385.4%0.09BX
20SKU-041Mozzarella 6 x 5 lb (site B)3,276$17.04$55,82386.8%0.12BX
21SKU-050Walk-in door gasket (site B)731$73.50$53,72988.2%1.28BZ
22SKU-032Ground beef 80/20 10 lb (site B)511$90.45$46,22089.4%1.15BZ
23SKU-025Coffee beans 5 lb2,078$21.54$44,76090.6%1.35BZ
24SKU-048Dish detergent 5 gal (site B)460$90.58$41,66791.6%1.74BZ
25SKU-027Lemons 115 ct4,035$8.95$36,11392.6%0.67BY
26SKU-011Mozzarella 6 x 5 lb5,012$6.45$32,32793.4%0.06BX
27SKU-043Nitrile gloves L (site B)1,354$23.20$31,41394.2%1.69BZ
28SKU-022Saffron 1 oz1,495$20.66$30,88795%0.69BY
29SKU-052Saffron 1 oz (site B)1,074$21.04$22,59795.6%0.08CX
30SKU-049Fryer thermostat (site B)1,504$14.83$22,30496.2%0.10CX
31SKU-047Trash liners 40-45 gal (site B)4,264$4.30$18,33596.7%0.09CX
32SKU-038Tipo 00 flour 50 lb (site B)189$89.86$16,98497.1%1.34CZ
33SKU-026Oat milk 12 x 32 oz415$36.99$15,35197.5%0.10CX
34SKU-028Avocados 48 ct160$85.84$13,73497.9%1.50CZ
35SKU-024Microgreens 1 lb1,058$8.71$9,21598.1%0.09CX
36SKU-015To-go clamshell 9 in851$8.99$7,65098.3%0.71CY
37SKU-003Salmon fillet 10 lb60$127.32$7,63998.5%0.12CX
38SKU-014Quat sanitizer 1 gal x 4568$12.49$7,09498.7%1.39CZ
39SKU-057Lemons 115 ct (site B)33$182.13$6,01098.8%0.66CY
40SKU-033Salmon fillet 10 lb (site B)145$37.41$5,42499%2.26CZ
41SKU-035Romaine hearts 24 ct (site B)71$65.91$4,68099.1%1.37CZ
42SKU-001Chicken breast 40 lb47$90.82$4,26999.2%0.68CY
43SKU-019Fryer thermostat480$8.19$3,93199.3%0.06CX
44SKU-039Olive oil 3 L (site B)316$12.31$3,89099.4%0.07CX
45SKU-029Eggs 15 dz385$10.03$3,86299.5%0.67CY
46SKU-046Paper towel rolls (site B)13$168.70$2,19399.6%1.50CZ
47SKU-040Jasmine rice 50 lb (site B)12$181.42$2,17799.6%0.00CX
48SKU-056Oat milk 12 x 32 oz (site B)24$88.52$2,12499.7%0.00CX
49SKU-020Walk-in door gasket11$177.68$1,95499.7%0.87CY
50SKU-023Truffle oil 250 ml12$158.15$1,89899.8%0.00CX
51SKU-017Trash liners 40-45 gal11$159.78$1,75899.8%1.50CZ
52SKU-060Butter 36 x 1 lb (site B)12$139.20$1,67099.9%0.00CX
53SKU-042Heavy cream 12 qt (site B)12$99.60$1,19599.9%1.21CZ
54SKU-018Dish detergent 5 gal14$63.92$89599.9%1.86CZ
55SKU-058Avocados 48 ct (site B)12$67.59$81199.9%0.00CX
56SKU-004Fryer oil 35 lb45$16.08$724100%1.08CZ
57SKU-037Crushed tomatoes #10 x 6 (site B)11$54.27$597100%0.87CY
58SKU-045To-go clamshell 9 in (site B)47$8.05$378100%0.68CY
59SKU-051Ice machine filter (site B)6$28.22$169100%2.49CZ
60SKU-013Nitrile gloves L12$6.37$76100%0.00CX

60 SKUs · one site · one year

Classifying SKUs is the easy part. The value comes from running a different ordering policy for each class, at every site.

Bollard reclassifies each site’s catalog from live usage and applies class-specific reorder rules automatically: tight control for AX items, min/max for C items, and order-on-demand for CZ items.

See class-based reordering in Bollard

Method

How SKUs are classified

ABC: each SKU’s annual value is usage × unit cost. SKUs are ranked by value; a SKU is A if the cumulative value before it is under the A cut-off, B if under the B cut-off, and C otherwise.

XYZ: the coefficient of variation of monthly usage. CV up to the X limit is steady, up to the Y limit is variable, and above it is erratic. A SKU with no usage in a month counts as zero for that month.

Each of the nine classes comes with a recommended policy, from continuous review with lean buffers for AX items to order-on-demand or removal for CZ items.

Read the guide: ABC-XYZ analysis: which items deserve your attention, and how to stock each one

From one site to every site

Classes change as usage changes, and each site has different A items.

Bollard classifies every site’s catalog from live usage and applies class-specific replenishment rules automatically, so buyers spend their time on high-value items rather than the long tail.

  • ABC-XYZ classification per site, kept current
  • Reorder rules by class
  • Slow-moving and erratic items flagged for review
  • Network-wide view of where value sits
See Bollard in action

Questions

Frequently asked

What is ABC analysis?+

A way of ranking inventory by annual consumption value (usage × unit cost). A items are the few SKUs that make up most of the value, typically the top 80 percent; B items the next 15 percent; C items the long tail. It follows the Pareto principle: a small share of items accounts for most of the spend.

What does XYZ add?+

XYZ grades how predictable demand is, using the coefficient of variation (standard deviation ÷ mean) of monthly usage. X items are steady, Y items vary (often seasonally), and Z items are erratic. Combining the two gives nine classes, each suited to a different stocking policy.

What cut-offs should I use?+

The usual defaults are A up to 80 percent of cumulative value and B up to 95 percent, with X for a CV up to 0.5 and Y up to 1.0. Adjust them to your catalog. The sliders update the classes, curve and matrix instantly.

How many months of data do I need?+

ABC works with annual usage alone. XYZ needs monthly usage. Twelve months captures seasonality, and at least six is recommended. Columns other than sku, description, unit_cost and annual_qty are treated as months.

Should every site use the same classification?+

No. An item can be an A at a busy site and a C at a small one. Classify each site separately before setting reorder rules.

Is my data uploaded?+

No. The classification runs in your browser and the CSV is generated on your device.

Related tools

All tools

Free tools, no sign-up. Your figures are processed in your browser and are not uploaded to a server unless you ask us to email you a result. Results are estimates for planning and do not constitute financial, legal or tax advice.