An SKU — stock keeping unit — is one distinct sellable item: a specific size, shade, colour or pack format, with its own identifier, price and inventory position. An SPU — standard product unit — is the product that those variants belong to, grouping them under a single listing.
A lipstick sold in twelve shades is one SPU and twelve SKUs. A moisturiser sold in 30ml, 50ml and 100ml is one SPU and three SKUs.
The distinction sounds like bookkeeping. It decides the answer to a surprising number of commercial questions.
The two levels answer different questions#
| Question | Level |
|---|---|
| How many products does this brand offer? | SPU |
| Which variant actually sells? | SKU |
| How wide is the range? | SPU |
| What should be reordered? | SKU |
| Is the brand launching more than last year? | SPU |
| Where is volume concentrated within a product? | SKU |
| What is the average selling price? | SKU — an SPU has no single price |
That last row is worth pausing on. An SPU spanning three sizes has three prices, so any average computed at SPU level requires an assumption about which one represents the product. Different assumptions produce different answers, and the assumption is rarely stated. Price Band Analysis has to be done at SKU level for exactly this reason.
Why the wrong level inverts conclusions#
The ratio of SKUs to SPUs is not constant across brands, and that is what makes level-mixing dangerous rather than merely imprecise.
Consider two brands, each offering ten products. The first sells each in eight shades; the second sells each in two. At SPU level they carry identical range breadth. At SKU level the first has 80 listings and the second 20 — a four-to-one gap that reflects shade strategy, not assortment strategy.
Now read that as a competitive finding. "Brand A carries four times the range of Brand B" is false at SPU level and true at SKU level, and both statements will be made confidently by people reading the same dataset. The same reversal appears in launch-activity counts, in assortment-rationalisation work, and in any measure of how crowded a category is.
The rule: any statement about how many products exist is meaningless until the level is named.
Where volume actually sits#
Within a single SPU, sales are usually concentrated far more narrowly than the range suggests. A twelve-shade lipstick line commonly sees the majority of its volume in two or three shades; a multi-size skincare product usually has one size carrying most of the sales.
This has two consequences. First, range breadth and range productivity are different things, and a brand can add variants without adding meaningful sales. Second, an SPU-level view conceals it entirely — the product looks healthy while most of its variants are close to inactive. Any range-rationalisation decision needs SKU-level data, because the decision is precisely about which variants to remove.
Platform grouping conventions differ#
Platforms do not agree on what constitutes a variant rather than a separate product. They differ on:
- whether a colour or shade change creates a new listing or sits inside one
- whether pack sizes and multipacks group with the single unit
- whether a bundle is a product in its own right
- whether a seller-specific listing of the same goods is distinct
The same physical range can therefore appear as one listing on Tmall and several on Douyin, or the reverse. Cross-platform assortment counts consequently require a normalisation rule, and a count produced without one is largely a measurement of listing conventions. This is one of the cases where Data Coverage and Completeness's classification test earns its keep: take a product whose grouping is genuinely ambiguous — a gift set, a refill pair, a limited edition — and check where each platform's data puts it, and whether it does so consistently.
Practical guidance#
- Name the level on every count. "1,200 products" and "1,200 variants" are different claims.
- Do price work at SKU level. An SPU has no single price.
- Do range strategy at SPU level, range productivity at SKU level. They are different questions.
- Never mix levels inside one analysis — easy to do accidentally when data arrives from more than one source.
- Ask a vendor how they group variants, per platform, before comparing anything across platforms.
Where to look next#
For the sales value these units aggregate into, see GMV. For price distribution work, which depends on the SKU level, see Price Band Analysis. For how repeat behaviour is measured across a range, see Category Penetration and Repurchase. For testing classification consistency in a dataset, see Data Coverage and Completeness.
Common questions#
What is the difference between an SPU and an SKU?#
An SKU (stock keeping unit) is one distinct sellable item — a single size, shade, colour or pack format, with its own code, its own price and its own inventory. An SPU (standard product unit) is the product concept those variants belong to, grouping them under one listing. A lipstick sold in twelve shades is one SPU and twelve SKUs. The distinction matters because the two answer different questions: SKU-level data tells you which variant sells, which is what merchandising and inventory decisions need, while SPU-level data tells you how the product performs as a proposition, which is what brand and range decisions need.
Why does counting at the wrong level produce wrong conclusions?#
Because the count changes by a large multiple depending on the level, and the multiple is not constant across brands. A brand offering many shade variants generates far more SKUs per product than one offering few, so an SKU count makes the first look like it has a much wider range when the two may carry the same number of products. Conclusions about assortment breadth, launch activity and range rationalisation all invert depending on which level was counted. Any statement about "how many products" a brand has is meaningless until the level is named.
Which level should a category analysis use?#
It follows from the decision. Assortment and range planning work at SPU level, because the question is which products to carry. Inventory, pricing and merchandising work at SKU level, because that is the unit that is actually bought and stocked. Competitive benchmarking usually needs both — SPU to compare range strategy, SKU to see which variants carry the volume, which is frequently concentrated in two or three of a dozen. The failure mode is mixing them inside one analysis, which is easy to do without noticing when data arrives from more than one source.
How do platforms differ in how they group variants?#
Considerably, and the differences are not cosmetic. Platforms differ on whether a colour change creates a new listing or a variant within one, on whether pack sizes group together, and on how a bundle is represented. The same physical range can therefore appear as one listing on one platform and several on another. Any cross-platform count of products or variants needs an explicit normalisation rule, and any vendor supplying such a count should be able to state theirs. Without one, a cross-platform assortment comparison mostly measures the platforms' listing conventions.