ABC Analysis Inventory: The 80/20 Method to Cut Stock Costs [2026] 2026
ABC analysis splits your SKUs into A, B, and C tiers so you spend more attention on the 20% of items that drive 80% of revenue. Here's the method, the maths, and a SEA multichannel worked example.
by OneCart Team
May 6, 2026
18 min read
If you’re holding more than a few hundred SKUs, you have a focus problem. Every item demands the same checks — counts, reorders, supplier reviews, photo refreshes — but only a fraction of them actually moves the P&L. ABC analysis inventory is the simplest tool in inventory management for fixing that focus problem. You sort SKUs into three tiers based on annual revenue contribution, then apply different policies to each tier: tighter controls and frequent counts on the few high-value items, lighter touches on the long tail.
Done well, ABC classification cuts stockouts on the items that actually matter, frees up working capital tied up in C-tier dead weight, and makes your team’s attention go where the dollars are. Done poorly, it becomes a one-off spreadsheet exercise that never feeds back into reorder rules. This guide walks through both — the maths, the playbook, the multichannel wrinkles SEA sellers hit when their A-items on Shopee are C-items on Shopify, and the mistakes that quietly erode the model.
What Is ABC Analysis in Inventory Management?
ABC analysis is a classification technique that divides inventory items into three categories — A, B, and C — based on their importance to the business, usually measured by annual usage value (units sold × unit cost or unit price). The idea is to apply differentiated management policies to each group rather than treating every SKU the same.
Standard reorder rules, monthly counts, periodic supplier reviews
C
50–70%
5–10%
Loose controls, quarterly or annual counts, batch ordering
The mechanism is straightforward: a small subset of your SKUs generates most of your revenue, and an even smaller subset generates most of your gross margin. By concentrating operational attention on that subset — rather than spreading it evenly across thousands of items — you get a better return on the same hours of warehouse and ops labour.
ABC analysis is also called the 80/20 rule in inventory contexts, after the underlying Pareto observation. It pairs with most of the other classification frameworks (XYZ for demand variability, FSN for movement speed, HML for unit cost) and is a precondition for cycle counting, which uses the A/B/C class to decide how often to count each SKU.
The 80/20 Pareto Principle Behind ABC Classification
Vilfredo Pareto observed in 1896 that roughly 80% of land in Italy was owned by 20% of the population. The pattern repeats throughout business: 80% of revenue comes from 20% of customers, 80% of complaints come from 20% of products, 80% of bugs come from 20% of code. Inventory is no exception.
In a healthy ecommerce catalogue, the same skewed distribution appears:
The top 20% of SKUs generate roughly 70–80% of revenue and gross margin.
The next 30% add another 15–25% of value.
The bottom 50%+ contribute the remaining 5–10% — often less than the cost of holding them.
The Pareto curve isn’t always 80/20 exactly. For a fashion seller it might be 75/15 (top 15% of SKUs do 75% of revenue) because of trend volatility. For a hardware reseller it might be 65/25. The point isn’t the precise ratio — it’s that the distribution is always non-uniform, and that means uniform management policies are always suboptimal.
Actionable Insight: Plot your trailing 12-month revenue by SKU on a cumulative chart. Sort SKUs descending by revenue, then plot cumulative revenue % against cumulative SKU count %. The curve will bend hard early — that bend is your A/B threshold, and it’s almost never at exactly 20%.
ABC Classification Thresholds: How to Set the Cut-Offs
The 80/15/5 split is a starting point, not gospel. Where you draw the cut-offs depends on your catalogue depth, margin profile, and how much operational bandwidth you have for tight controls.
Common threshold patterns
Strict 80/15/5 (default):
A: top 20% of SKUs, ~80% of value
B: next 30% of SKUs, ~15% of value
C: bottom 50% of SKUs, ~5% of value
This is the most-cited version. It works well for catalogues of 500–5,000 SKUs with a reasonably healthy long tail.
Long-tail compressed (large catalogues):
A: top 5% of SKUs, ~70% of value
B: next 15% of SKUs, ~20% of value
C: bottom 80% of SKUs, ~10% of value
Apparel sellers with 10,000+ SKUs and ERP-level catalogues often need this version because their long tail is enormous and a flat 50/30/20 split would put too many irrelevant items into B.
Margin-weighted:
A: top contributors to gross margin (not revenue)
B and C: same proportions as standard
Sellers with high price-point variance — e.g., a mix of S$10 accessories and S$300 electronics — may find revenue ABC misleads them. A slow-moving high-margin item might be an A in a margin-weighted classification but a C in a revenue classification. The right answer depends on whether the binding constraint is cash or attention.
The cut-off rule of thumb
For a first cut, sort SKUs descending by trailing 12-month revenue, then walk the cumulative-percent column:
The first SKU that pushes cumulative revenue past 80% ends Class A.
The first SKU that pushes cumulative revenue past 95% ends Class B.
Everything below is Class C.
You can refine the thresholds later. The biggest win is just getting the first split done.
How to Perform an ABC Analysis: 6-Step Playbook
Treat this as a quarterly process. The classification will shift as new SKUs launch, seasonal items rotate in and out, and old winners decline.
Step 1: Pull the right data
You need three columns per SKU:
SKU code (your internal identifier — not the marketplace listing ID).
Units sold over the past 12 months across all channels.
Unit cost or unit price depending on whether you’re optimising for revenue or margin.
The “all channels” point is critical. If you’re a multichannel seller and you only pull Shopify data, your A-class will be your Shopify bestsellers — which may or may not match your overall bestsellers. We’ll come back to this in the multichannel section.
Step 2: Compute annual usage value
For each SKU, compute:
Annual Usage Value (AUV) = Units Sold × Unit Cost (or Price)
Whether you use cost or price depends on the question:
Use price to optimise attention to revenue.
Use cost to optimise attention to working capital tied up in stock.
Use gross margin (price − cost) × units to optimise attention to profit.
Most sellers start with revenue (units × price), then re-run on margin once the basic model is in place.
Step 3: Sort and compute cumulative percentage
Sort SKUs descending by AUV. Compute three additional columns:
Rows with cumulative AUV > 80% and ≤ 95% → Class B
Rows with cumulative AUV > 95% → Class C
Tag each row with its class.
Step 5: Define the policy for each class
The classification is useless without policies attached. For each class, define:
Policy Lever
Class A
Class B
Class C
Cycle count frequency
Weekly or monthly
Quarterly
Annually
Reorder review
Daily
Weekly
Monthly or batch
Supplier negotiation
Quarterly review, alternate sources mapped
Annual review
None
Safety stock
Service level 98–99%
95%
90% or zero
Forecasting method
Statistical + manual override
Statistical only
Simple average
Photo and listing quality
Best-in-class, A/B tested
Standard
Minimum viable
Return acceptance
Generous, fast resolution
Standard
Strict, slower
The exact numbers vary by industry. The principle is constant: A items deserve more time and tighter limits; C items deserve less time and looser limits.
Step 6: Rebuild quarterly and feed it back
The classification is a snapshot, not a permanent assignment. SKUs migrate between classes for predictable reasons:
A new launch enters the catalogue as a C and climbs to A as it ramps.
A seasonal hero is an A in Q4 and a C in Q2.
A trend item is an A for 90 days and a C forever after.
Re-run the ABC analysis at least quarterly. Some operations re-run monthly during peak season. Each re-run should adjust:
Cycle count rotations (move an item that demoted from A to B from weekly to quarterly counts).
Safety stock targets (reduce on items that demoted to C).
Promotional allocations (don’t push a C-item ad budget to a SKU that’s lost relevance).
Actionable Insight: Track migration velocity — the percent of SKUs that change class each quarter. If you’re seeing >30% migration quarterly, your forecasting is unstable and your reorder rules are reacting to noise. If you’re seeing <5% migration, your catalogue is stagnant and you may be missing rotation opportunities.
Worked Example: ABC Analysis for a SEA Multichannel Seller
Let’s run the maths on a hypothetical SEA seller — call them NorthBay Living, a home-and-lifestyle brand selling on Shopee SG, Lazada SG, TikTok Shop, and a Shopify storefront. Trailing 12 months: 820 active SKUs, S$3.2M revenue, gross margin 38%.
After pulling unified order data and sorting by AUV, the distribution looks like this:
Class
SKU Count
% of SKUs
Revenue (S$)
% of Revenue
Cumulative %
A
142
17.3%
2,496,000
78.0%
78.0%
B
246
30.0%
544,000
17.0%
95.0%
C
432
52.7%
160,000
5.0%
100.0%
Total
820
100%
3,200,000
100%
—
The A/B cut-off lands at SKU #142 — a 17.3% / 78% split, slightly tighter than the textbook 20/80 because NorthBay has a few breakout heroes that compress the curve.
Operational implications
Before ABC, NorthBay’s ops team did monthly cycle counts of the entire catalogue — 820 counts per month, distributed evenly across two warehouse staff. After classifying:
Class A (142 SKUs): weekly counts → 568 counts/month
Class B (246 SKUs): quarterly counts → 82 counts/month equivalent
Class C (432 SKUs): annual counts → 36 counts/month equivalent
Total cycle counts per month drops from 820 to 686 — a 16% reduction in raw count volume. But the quality of the count regime improves dramatically: A-class accuracy rises from ~93% to ~99% because errors are caught within a week rather than four, and C-class drops to “good enough” without paying for over-precision.
Cash and stockout impact
NorthBay also re-tuned safety stock by class. Before: a flat 21-day safety buffer across the catalogue. After:
Class
Old Buffer
New Buffer
Service Level Target
A
21 days
14 days (with 99% service level)
99%
B
21 days
21 days (95%)
95%
C
21 days
7 days or zero (90%)
90%
Net working capital tied in safety stock dropped from S$420,000 to S$298,000 — S$122,000 freed. Stockout rate on A-items dropped from 4.2% to 1.1% over the next quarter, because the tighter cycle counts caught silent shrinkage faster and the higher service level absorbed demand spikes.
The combined annualised impact: ~S$60,000 saved on excess holding cost + roughly S$95,000 in stockout-driven lost sales recovered = ~S$155,000 in incremental contribution margin from a one-time analysis exercise. Nothing about NorthBay’s product mix changed.
Beyond ABC: Pairing With XYZ, FSN, and HML for Sharper Decisions
ABC alone classifies items by value, but it ignores demand stability. A high-revenue SKU with wildly volatile demand needs different rules than a high-revenue SKU with steady demand. That’s where overlay classifications come in.
XYZ analysis (demand variability)
XYZ classifies SKUs by coefficient of variation in demand:
Class
Coefficient of Variation
Demand Pattern
X
< 0.5
Stable, predictable
Y
0.5–1.0
Moderate variability
Z
> 1.0
Erratic, hard to forecast
Combine ABC and XYZ into a 9-cell matrix:
A
B
C
X
AX — high value, predictable
BX
CX
Y
AY — high value, moderate variance
BY
CY
Z
AZ — high value, unpredictable
BZ
CZ
AX items are the dream: high revenue and easy to forecast — automate replenishment hard.
AZ items are the nightmare: high revenue and unpredictable — manual oversight, large safety buffers, fast supplier lead times.
CX items are the long-tail steady — tiny revenue but predictable, batch reorder once per quarter and ignore.
FSN analysis (movement speed)
FSN classifies by movement frequency:
F (Fast) — sells every day or week.
S (Slow) — sells monthly to quarterly.
N (Non-moving) — no sales in 6+ months. Candidates for liquidation.
Cross-reference: C-class + N-class is your dead stock — write down or clear before the holding cost compounds. See our dead stock guide for the recovery playbook.
HML analysis (unit cost)
HML classifies by unit cost rather than total value:
H (High cost) — high per-unit, often few transactions.
M (Medium cost) — average.
L (Low cost) — high transaction frequency, low ticket.
Useful for sellers whose A-items are not the same as their high-cost items. A best-selling S$8 phone case is an A-class for revenue but L for unit cost — different storage, security, and counting rules apply than a C-class S$300 designer accessory.
Actionable Insight: Most ecommerce sellers don’t need all four classifications. Start with ABC. Add XYZ when demand volatility is breaking your forecasts. Add FSN when dead stock is eating margin. HML rarely matters until you cross 5,000+ SKUs with wide price-point spread.
Multichannel Reality: Running ABC Across Shopee, Lazada, TikTok Shop, and Shopify
Single-channel ABC is straightforward. Multichannel ABC is where most sellers get it wrong, because the same SKU performs differently on every marketplace.
The cross-channel mismatch problem
Take a real pattern from SEA sellers:
SKU
Shopee SG
Lazada SG
TikTok Shop
Shopify
All-Channel Class
Reusable water bottle
A
A
C
B
A
Designer phone case
C
B
A
A
B
Pet harness
C
C
A
C
B
Stainless tumbler
A
B
B
A
A
Yoga mat (basic)
B
B
C
B
B
A single-channel ABC view would tell each platform team something different — and lead to fragmented decisions. The Shopee team would prioritise the water bottle but ignore the phone case. The TikTok Shop team would do the opposite.
The right way: classify on unified demand
The correct approach is to aggregate demand across channels first, then run ABC on the consolidated picture. Each channel still needs its own forecast and safety stock (because lead times to each channel differ, and demand patterns differ), but the classification — which decides count cadence, supplier review priority, and management attention — should be unified.
Three things this requires:
A single SKU master that maps every channel listing to one internal SKU. Without this, you can’t aggregate. (This is what OneCart’s Item Master handles.)
A unified order log across channels. Reconciling Shopee/Lazada/TikTok Shop/Shopify exports manually is brittle; one missing day skews the classification.
Per-channel allocation logic for stock — once a SKU is classified A globally, you still need to decide how much of its safety stock sits in which warehouse for which channel. ABC tells you the priority; allocation tells you the geometry.
When to keep separate per-channel classifications
There’s one case where channel-level ABC still makes sense: when you treat marketplaces as separate SBUs with independent P&Ls and you make platform-specific allocation decisions (e.g., “TikTok Shop is our growth bet — A-list items there get extra investment regardless of unified rank”). Even then, run unified ABC first and use it as the baseline; channel ABC is the overlay.
Most ABC failures aren’t analytical — they’re operational. Six recurring mistakes:
1. Running it once and never re-running
ABC is a snapshot. Run it once, leave it for 12 months, and your A-class will be full of declining heroes while genuine new winners sit unrecognised in C. Quarterly is the floor; monthly during peak season is better.
2. Using revenue when margin is the binding constraint
Revenue ABC treats a high-volume, low-margin SKU as A-class. If your binding constraint is cash and gross margin (most SEA SMEs), revenue classification will misallocate attention. Run on margin instead, or weight by gross profit.
3. Ignoring lead time and supplier risk
A C-class item with a 90-day lead time and a single supplier in a tariff-exposed market is operationally risky despite its low revenue contribution. Pure ABC won’t flag it. Layer in supplier risk separately and override the C policy where lead time exposure warrants it.
4. Not feeding the classification into actual reorder rules
The classification only matters if it changes behaviour. The single biggest implementation failure is doing the analysis, producing the spreadsheet, then continuing to apply uniform reorder rules anyway. Either your reorder system reads the class tag, or the analysis is decoration.
5. Letting the long tail rot
C-class items are not “manage less” — they’re “decide whether to keep”. A meaningful slice of any C class should be discontinued each quarter. If your C-class only ever grows, you’re accumulating dead stock at the slow rate that compounds into shrinkage and write-downs.
6. Confusing ABC with priority rather than effort
A-items get more operational attention, not necessarily more promotional spend. The opposite mistake — over-promoting A-items at the expense of growing B-items into A-items — leads to portfolio concentration risk. ABC informs supply-side rules; demand-side prioritisation needs its own framework.
Software and Automation: Running ABC at Scale
Below ~500 SKUs, ABC works fine in Excel. Above that, three pain points push sellers toward dedicated tools:
Data unification. Pulling 12 months of order data from Shopee, Lazada, TikTok Shop, and Shopify into one consistent format is brittle and time-consuming. A single missing channel skews the classification.
Re-runs and history. Quarterly re-runs require keeping history so you can track migration velocity. Spreadsheets get messy fast.
Feed-back into reorder rules. Once classified, the class tag needs to flow into reorder logic, cycle counting cadence, and safety-stock targets. Manual translation is where the analysis dies.
A multichannel inventory platform like OneCart handles the data unification automatically — every order from every connected marketplace flows into the same Item Master, so the AUV column is always current and ABC can be re-computed on demand. The class tag then drives cycle counting cadence, safety stock targets, and reorder thresholds without manual translation. SEA SMEs running 1,000+ SKUs across 4–6 marketplaces typically save 15–25 hours/month just on the data prep that ABC, reorder point calculations, and EOQ modelling all share.
For sellers running smaller catalogues or earlier-stage operations, the right starting point is a clean monthly cadence in Excel — re-run the analysis, update reorder thresholds, walk the cycle count rota. The sophistication can come later. Don’t skip the discipline because the tools aren’t perfect yet.
Frequently Asked Questions
What is ABC analysis in inventory management?
ABC analysis is a classification technique that splits inventory items into three groups — A, B, and C — based on each item’s contribution to annual revenue or value. Class A items are the small group of high-value SKUs that drive most of the business (typically 10–20% of SKUs producing 70–80% of revenue). Class B is the moderate-value middle, and Class C is the long tail of low-value items. The goal is to apply tighter controls and more management attention to A items, where the dollars are concentrated, and lighter controls to C items.
How do you calculate ABC inventory?
To compute ABC inventory, multiply each SKU’s annual units sold by its unit price (or unit cost) to get annual usage value (AUV). Sort all SKUs descending by AUV. Compute cumulative percentage of total value. Items where cumulative value reaches 80% become Class A; the next 15% (cumulative 80–95%) become Class B; the remaining 5% become Class C. The cut-offs are flexible — many catalogues use 70/20/10 or even 65/25/10 depending on how skewed the long tail is.
What is the 80/20 rule of ABC analysis?
The 80/20 rule — also called the Pareto principle — observes that roughly 80% of outcomes come from 20% of causes. In inventory, it means about 20% of SKUs typically generate around 80% of revenue or margin. ABC analysis operationalises this: the top 20% becomes Class A and gets disproportionate operational focus. The exact ratio is rarely exactly 80/20 in practice; what matters is the principle that the distribution is non-uniform and management policies should be non-uniform too.
What is an example of an ABC analysis?
A SEA multichannel seller with 820 SKUs across Shopee, Lazada, TikTok Shop, and Shopify might find that 142 SKUs (17.3%) generate 78% of revenue — these become Class A. The next 246 SKUs (30%) generate 17% of revenue — Class B. The remaining 432 SKUs (52.7%) contribute only 5% — Class C. The seller then assigns weekly cycle counts to A-items, quarterly counts to B, and annual counts to C — typically freeing 15–25% of warehouse hours and reducing stockouts on the items that matter most.
How often should I rerun ABC analysis?
Quarterly is the floor for most sellers. Run monthly during peak season (BFCM, 11.11, CNY) when demand patterns shift fast. Track migration velocity — the percentage of SKUs that change class each cycle. Healthy operations see 5–15% migration; over 30% suggests forecasting is unstable, under 5% suggests the catalogue is stagnant.
Can ABC analysis be combined with other inventory classifications?
Yes — ABC pairs well with XYZ (demand variability), FSN (movement frequency), and HML (unit cost). The most common overlay is ABC × XYZ in a 9-cell matrix, where AX items get aggressive automation and AZ items get manual oversight. Most sellers should start with ABC alone and add overlays only when specific pain points (volatile forecasts, dead stock, wide price-point spread) make them necessary.
ABC analysis is one of the highest-leverage exercises in inventory management because it costs almost nothing to run and changes how every downstream decision is made — counts, reorders, safety stock, supplier reviews, even photo budgets. The discipline isn’t the maths; it’s the quarterly cadence and the willingness to let the classification actually steer behaviour.
If you’re running a multichannel ecommerce operation in Southeast Asia or beyond, OneCart unifies your Shopee, Lazada, TikTok Shop, Shopify, Amazon, and 20+ other marketplace data into a single Item Master — so your ABC analysis covers your whole catalogue, not just one platform. From there, the class tag drives cycle counting cadence, reorder thresholds, and safety stock targets across every channel automatically. Try OneCart free and run your first unified ABC analysis on real numbers, not exports.
Stop tracking inventory in spreadsheets
OneCart's Item Master keeps stock levels in sync across every marketplace you sell on, automatically.