Inventory & Channel Sync

ABC classification for DTC

Using ABC analysis to focus your counts and reorder attention on the SKUs that matter most.

Last updated September 16, 2026

ABC is not one list. It is three questions that happen to share letters.

Three ABC cuts, not one

Sales-value ABC is the sum of sale-line amounts over a lookback, not list price times units. That number is where the money is. Net inventory value, on-hand qty times unit cost, is what is sitting on the shelf. Unit velocity, or picks per location, is what you slot near the pack bench. Reusing one class for all three is how a cheap swatch becomes A and the real A component never gets counted.

Work the disagreement on one kit. A lip-balm kit sold 400 units in 90 days at $24 a line, $9,600 of sales, so the finished good is A. The empty tube on the BOM costs $0.40. You hold 8,000 tubes, $3,200 of inventory. Sales-ABC marks the tube C. Inventory-value ABC marks it A or B. Pick-velocity ABC marks it C, because it almost never leaves a pick face on its own. Count by sales class and you skip the tube. The salable SKU is A. The part that can stock you out is C.

Set cutoffs and the lookback window

Cut where the catalog says, not where the textbook says. 80/15/5 is convention. 70/20/10 is common on a narrow line. 365 days hides a seasonal brand: last December's hero is still A in July, and this month's launch has no class at all. 90 or 180 days tracks the trend you are in. Recalculate. New SKUs have no class until they sell, so they vanish from cycle counts if you filter A/B/C. Give launches a temporary A, or they never get touched.

Controls and slotting by class

A items get tight records, frequent counts, golden-zone bins, and a real reorder point. C items get the simplest control, rare counts, deep storage, bigger buys, and a slower review. Do not classify every size as its own universe. Plan apparel by style and color. A 12-size run will mint twelve fake A's from one style. Keep system ABC as a reference if unit volume keeps lying, and maintain your own fast-mover flag. A $0.50 swatch that moved 2,000 units is A by unit velocity and C by sales value. Slot it like a C. Count it like a C.

Count by class and zone

Count by class, by zone, with a SKU cap. Snapshot the expected qty when the count starts, or live sales become fake variance. Count when the floor is quiet.

Slotting and safety stock are not in the class field. After each refresh, move the new A's forward and reset cover. Classifying once a year is how last year's hero still sits in the golden zone. Unchecking every class in a count filter means nothing is included, not everything.

Run this with AI

Connect Claude or ChatGPT to your Fulfil data with the Fulfil MCP, then run this prompt on your own numbers.

You are the inventory lead for a DTC brand.
Here is: sku, parent_style, is_component, is_kit, last_90d_units, last_90d_sales_amount, on_hand, unit_cost, pick_count_90d, current_abc, days_since_launch.
[paste]

Produce:
1. Sales-value ABC, inventory-value ABC, and pick-velocity ABC. Show where they disagree.
2. Kits where the finished good is A and a component is C.
3. SKUs with no class (new or no sales) that would drop out of a count.
4. A recommended count cadence and slot zone per class.
Do not treat every size as its own A if the parent style is the planning unit.

See it run on
your data.

Fulfil runs inventory, fulfillment, purchasing, and accounting for scaling DTC brands in one system.