Inventory

ABC Analysis in Inventory Management: How Shopify Merchants Should Prioritize SKUs

ABC analysis in inventory management is a method for ranking SKUs into three tiers, A, B, and C, based on how much value each contributes to the business. A-items are the small group of products that drive most of your revenue and deserve the tightest stock control. B-items get moderate attention. C-items get minimal oversight and simpler reorder rules.

The classic version of this method, described by NetSuite, ranks items purely by annual consumption value (units sold times cost). That works fine for a manufacturer with stable demand. It breaks down fast for a Shopify store, where a product can have high revenue but zero stock on hand, or high traffic but a conversion problem masking real demand. A Shopify-specific ABC analysis needs to layer in sales velocity and stockout risk, not just historical dollar value.

What A, B, and C mean for an ecommerce catalog

A-items are the SKUs a stockout would actually hurt you on. They typically make up 10-20% of your catalog and 70-80% of revenue, a distribution consistent with the Pareto principle that NetSuite's breakdown cites: roughly 10-20% of items generating 70-80% of value, a mid-sized group generating 15-20%, and a large tail contributing about 5%. These are your bestsellers and hero products. Every day one sits out of stock is lost revenue you can measure.

  • A-items: top revenue and velocity SKUs. Tight monitoring, frequent reorder review, priority supplier terms.
  • B-items: steady sellers with moderate revenue. Reviewed periodically, not daily.
  • C-items: long-tail, seasonal, or low-margin SKUs. Bulk or just-in-time ordering, minimal manual review.

The ratio won't be exact for every store. A boutique with 40 SKUs might see 30% of products carrying the A-label; a store with 2,000 SKUs might see closer to 8%. The point isn't hitting 80/20 precisely, it's separating the few products that move the P&L from the many that don't.

Why revenue alone doesn't work for a Shopify catalog

Revenue tells you what sold. It does not tell you what's about to sell out, what's getting traffic without converting, or what's a hero product buried three pages deep in a collection. A pure revenue-based ABC analysis, the version most supply-chain resources describe, misses three things that matter specifically to a Shopify merchant.

  • A product can rank as an A-item on trailing 90-day revenue and still be two days from a stockout, because sales velocity spiked after a viral post or influencer mention.
  • A product can generate solid revenue purely from paid traffic while converting below your store average, meaning ad spend is propping up a B-item's numbers.
  • A high-converting product can sit in a poorly merchandised collection position and never get the exposure its conversion rate deserves, understating its true A-item potential.

MRPeasy's guide on ABC analysis flags a related limitation directly: the method is "static," relying on historical data that "does not account for changing consumption patterns," and calls this especially risky "in e-commerce, where consumer preferences and demand patterns shift quickly". A Shopify merchant running ABC analysis once a year off a static export inherits that blind spot. Sales velocity and current stock coverage need to sit alongside revenue, not replace it.

How to run ABC analysis step by step on a Shopify store

Step 1: Export the product data you need

Pull, at minimum, 90 days of per-SKU data: units sold, net revenue, current inventory on hand, and average daily sales velocity. Shopify's built-in reports (Analytics > Reports > Sales by product) cover units and revenue; velocity and days-of-stock-remaining usually require a stock intelligence layer, since native Shopify reporting is retrospective rather than forward-looking.

Step 2: Rank SKUs by revenue and sales velocity

Sort by net revenue, descending, and calculate each SKU's cumulative percentage of total revenue. Draw the line for A-items where cumulative revenue hits roughly 70-80%. Then check velocity separately: a SKU with modest total revenue but sales accelerating week over week (a new product gaining traction) deserves an A-item review cadence even if it hasn't accumulated enough history to rank there on revenue alone.

Step 3: Flag A-items with stockout risk

For every A-item, calculate days of stock remaining: current inventory divided by average daily sales velocity. Any A-item with fewer days of cover than your supplier's lead time is a live risk, regardless of how healthy its revenue number looks. This is the step most generic ABC guides skip entirely, because they're written for warehouses with predictable replenishment cycles, not a Shopify store where a TikTok mention can double velocity overnight.

If you haven't formalized reorder timing yet, pair this step with a proper reorder point formula so the stockout-risk flag translates into an actual purchase order date, not just a warning.

Step 4: Set different review and reorder rules for A, B, and C items

  1. A-items: review weekly, set safety stock buffers, negotiate priority terms with suppliers, alert on any velocity spike or dip over 20%.
  2. B-items: review every 2-4 weeks, standard reorder points, no special supplier terms needed.
  3. C-items: review monthly or quarterly, order in bulk or just-in-time, deprioritize warehouse space and cycle-count time.

NetSuite's inventory guide frames this as assigning "service and labor levels at the same time" as classification, giving the example of spending equal review time (say, 10 hours) across 100 A-items versus 10,000 C-items. The ratio of attention per SKU should be dramatically lopsided in favor of A-items.

Common ABC-analysis mistakes Shopify merchants make

  • Classifying by units sold instead of revenue or margin, which inflates cheap, high-volume SKUs into A-status they don't deserve.
  • Running the analysis once a year and never revisiting it, missing new products, seasonal shifts, and A-items that quietly slide into B or C territory.
  • Ignoring stock coverage entirely, so an A-item can sell out for two weeks before anyone notices the revenue dip.
  • Applying the same reorder cadence to every SKU regardless of class, which wastes review time on C-items and under-monitors the products that actually matter.
  • Treating a product's collection placement as separate from its ABC class, when an underexposed A-item buried in a poorly ranked collection is losing revenue two ways at once.

Turning ABC analysis into a weekly stock-priority routine

A one-time spreadsheet exercise goes stale within weeks on a Shopify store, because velocity and stock levels change daily. Build ABC analysis into a recurring routine instead of a quarterly project:

  1. Re-rank SKUs by trailing 30- or 90-day revenue and velocity every week, not once a year.
  2. Auto-flag any A-item whose days-of-stock drops below supplier lead time.
  3. Auto-flag any A-item whose velocity has dropped for two consecutive weeks (early demand signal, not just a stock signal).
  4. Reclassify SKUs that cross a threshold, moving a rising B-item into A or a fading A-item into B, so review time follows current performance, not last quarter's.

Doing this manually in a spreadsheet across hundreds of SKUs is exactly the kind of repetitive, data-heavy task that eats an operator's week. A stock intelligence layer that continuously monitors inventory levels, velocity, and stockout risk can run this classification automatically and surface the reorder list, rather than requiring a manual export every Monday. Pair that with proactive inventory alerts so an A-item slipping toward a stockout reaches you days before it happens, not after the bestseller badge disappears from the product page.

Start with last week's top 20 SKUs by revenue. Check their current days-of-stock against your supplier lead times today. If any A-item is inside that window, that's your next purchase order, not next quarter's spreadsheet exercise.