Abc Xyz Segmentation
npx claude-code-templates@latest --skill operations/abc-xyz-segmentation Content
ABC-XYZ Segmentation
Value tells you where the money is. Variability tells you whether forecasting, buffering or restructuring can work. Never output a classification without the policy consequences.
Required data
Per-SKU demand history (sku, period, qty) covering 12+ periods, plus unit value (unit_price or cost). Without unit value, ABC degrades to a volume ranking - say so and ask for prices before presenting conclusions about money.
Workflow
- ABC on annual value. Rank by annual consumption value; cumulative 80% = A, next 15% = B, rest = C. Report the actual concentration found (e.g. "15 SKUs = 80%"), not the folklore 20/80.
- XYZ on variability. CV = std/mean of period demand per SKU. Defaults: X < 0.5, Y 0.5-1.0, Z >= 1.0. These are conventions - check the CV histogram for natural breaks and state the thresholds used. SKUs with structural zero periods (intermittent) belong in Z regardless of CV arithmetic; mean-based CV understates their risk.
- Build the 9-box with SKU counts AND value share per cell. Value share is what makes managers act.
- Attach the policy per cell (adapt wording to context):
- A-X: tight forecasting pays; low buffer, frequent review, automate replenishment
- A-Y: forecast + healthy buffer; investigate variability drivers
- A-Z: do not chase forecasts - strategic buffer, lead-time negotiation, or make-to-order
- B-X / C-X: min-max autopilot; withdraw planner attention
- B-Z: buffer or longer promise dates; check if variability is self-inflicted (promotions, batching)
- C-Z: rationalization shortlist - kill, consolidate, or on-demand sourcing
- Name the reallocation. The deliverable is planner-hours and buffer money moving between cells - state explicitly which cells gain and lose attention.
- Validate. Sum of cell value shares must equal 100%; spot-check two SKUs' classifications against their raw series before presenting.
Pitfalls to check explicitly
- ABC computed on quantity while unit values vary 10x+ ranks the wrong items.
- Self-inflicted variability (order batching, month-end pushes, promotions) shows up as Z; flag it as a process fix, not a demand fact.
- Classifications rot - recommend re-running quarterly and tracking cell migrations.
- A dominant "C-Z is 60% of SKUs" finding usually signals assortment bloat, not a planning problem.
Output format
- The 9-box (counts + value share per cell)
- Policy table per occupied cell
- Attention-reallocation paragraph (from where, to where)
- Rationalization shortlist (top C-Z items by holding cost or shelf age, if data allows)
Worked example including a safety-stock stress test: https://github.com/gulmezeren2-byte/abc-xyz-inventory
Source: industrial-engineering-ai-skills by Eren Gulmez (MIT). The full method pack - entry skill, role agents, data-hygiene rules and artifact templates - lives there.