# inventory.abc-classification ABC analysis ranks stock items by annual consumption value (annual quantity x unit cost) and splits the ranking into classes by cumulative share of the total, on the Pareto observation that a few items carry most of the value. Class A items get the tightest control and most frequent counts (see `inventory.cycle-count-schedule`). **Cut-offs** are cumulative basis points, ascending, each from 1 to 9999: `[8000, 9500]` is the usual 80/15/5 split into A, B and C. Pass more to get more classes, lettered A, B, C, D ... (up to 25 cut-offs). **Which class an item on a boundary falls in.** An item belongs to the class whose band its value *starts* in: it is in class A when the items ranked above it hold less than 80% of the total. So the item that carries the ranking across 80% is still an A item, the top item is always an A item, and an item that starts exactly at 80% is a B. (The other common rule, "cumulative share including the item is at most 80%", can leave class A empty when one item is most of the value.) Every comparison is on whole minor units, never on a rounded percentage; `cumulativeBasisPoints` is reported rounded half-up, for display. **Ties are deterministic.** Items of equal value are ranked by SKU, ascending (by character code; keep SKUs ASCII for the same order in every language). Items with no value fall in the last class. The result lists every item, highest value first. Errors: a duplicate SKU, a negative quantity or cost, items in more than one currency, cut-offs that are empty, out of order or outside 1..9999, and totals too large to multiply by 10000 within 2^53 - 1. Source: the method as described in APICS Dictionary ("ABC classification") and Silver, Pyke and Thomas, *Inventory and Production Management in Supply Chains*, 4th ed., section 2.3.