Forecasting every SKU on its own looks like the rigorous choice. For most catalogs it is the opposite: below a certain volume, a SKU's sales history is mostly noise, and a model fitted to noise produces confident numbers that are wrong in both directions. The short answer is to forecast at the level where you commit money, and only push the forecast down to individual SKUs where the SKU has enough steady demand to carry a signal. For everything else, forecast the product family and split it by mix.
This article gives you the rule for choosing the level, the arithmetic that shows what false precision costs in safety stock, and the checks that tell you when the split has drifted.
The Decision You Are Actually Making
Most operators frame forecasting as a model choice: moving average, exponential smoothing, a machine-learning tool. The earlier decision is granularity — which level of your catalog you forecast at. The options are:
- Bottom-up: forecast every SKU (every colour, size, pack) and add them up.
- Top-down: forecast the product family, category or channel total, then split it down to SKUs using a mix percentage.
- Middle-out: forecast a middle level — often the style or family — then add up to totals and split down to SKUs.
The standard forecasting textbook, Hyndman and Athanasopoulos's Forecasting: Principles and Practice, states the trade-off plainly. Bottom-up's advantage is that "no information is lost due to aggregation"; its disadvantage is that "bottom-level data can be quite noisy and more challenging to model and forecast". Top-down approaches "seem to produce quite reliable forecasts for the aggregate levels and they are useful with low count data", but they cannot see individual series characteristics such as "time dynamics, special events, different seasonal patterns".
That is the whole decision in two sentences. The rest of this article is about knowing which side of it each part of your catalog sits on.
If you have already segmented your catalog into A, B and C items and picked a method per class, keep that work — it answers a different question. Inventory Forecasting: The Models That Actually Work covers which math each class gets. This article covers which level the math runs at.
Why SKU-Level History Is Mostly Noise
Low-volume demand is not a small version of high-volume demand. It behaves differently. Individual SKUs sell in lumps and gaps: three units one week, none the next, seven the week after. Some of that movement is real — a colour gaining ground — but most of it is randomness that averages out once you add SKUs together.
This is not only a small-brand problem. The M5 forecasting competition, run by the University of Nicosia's Institute For the Future on Walmart unit sales, covered 42,840 time series from item level up through departments, categories and stores in three US states. The organisers note that "the majority of the 42,840 time series display intermittency (sporadic sales including zeros)". If most item-level series in a hierarchy that large are intermittent, the low-volume SKUs in a smaller catalog deserve the same scrutiny before anyone forecasts them one by one.
A practical way to see which of your SKUs carry a signal is the demand classification developed by Syntetos, Boylan and Croston. It uses two measures:
- ADI (average demand interval): the average number of periods between sales. An ADI of 1 means the SKU sells every week.
- CV² (squared coefficient of variation): how much the size of each sale varies relative to its average.
The scheme's cutoffs are an ADI of 1.32 and a CV² of 0.49, which split demand into four types:
| Demand type | ADI | CV² | What it means for granularity | |---|---|---|---| | Smooth | below 1.32 | below 0.49 | Sells most periods at steady sizes. SKU-level forecasting is viable. | | Erratic | below 1.32 | above 0.49 | Sells often, sizes swing. Forecast the family; set SKU buffers from mix. | | Intermittent | above 1.32 | below 0.49 | Frequent zero weeks. Do not point-forecast weekly at SKU level. | | Lumpy | above 1.32 | above 0.49 | Rare, uneven orders. Reorder points or order-to-demand, not forecasts. |
One caution from forecasting researcher Ivan Svetunkov: "classification should serve a purpose". The scheme was built to choose between two intermittent-demand methods, not as a universal sorting machine. Use it here for one narrow job — spotting which SKUs have too little signal to forecast on their own — and not as a reason to buy a tool.
What Committing Stock at the Wrong Level Costs: A Worked Example
The forecast level matters because it drives the level at which you commit and buffer stock. The cost shows up in safety stock: safety stock is sized from demand variability, and variability behaves differently when stock is held SKU by SKU versus in one shared pool.
The standard safety stock formula is Safety stock = Z × σd × √L, where Z is the service-level factor, σd is the standard deviation of demand per period, and L is lead time in periods. At a 95% service level, Z is 1.65.
Illustrative assumptions (a single apparel style; adjust to your own numbers):
- One style in 5 colours × 4 sizes = 20 SKUs
- Each SKU averages 4 units a week with a weekly standard deviation of 3.4 units — a coefficient of variation of 3.4 ÷ 4 = 0.85, so CV² = 0.7225. On the table above these are erratic SKUs, the kind this article says not to forecast one by one.
- SKU demands are independent of each other (the next section shows what happens when they are not)
- Replenishment lead time 4 weeks; target service level 95% (Z = 1.65)
- Landed cost $14 per unit; annual carrying cost 25% of inventory value
Buffering every SKU separately:
- Safety stock per SKU = 1.65 × 3.4 × √4 = 1.65 × 3.4 × 2 = 11.22 units
- Across 20 SKUs = 11.22 × 20 = 224.4 units
Buffering the family as one pool:
When independent demands are added together, their variances add, not their standard deviations.
- Family variance per week = 20 × 3.4² = 20 × 11.56 = 231.2
- Family standard deviation = √231.2 = 15.21 units
- Family safety stock = 1.65 × 15.21 × 2 = 50.2 units
Buffering SKU by SKU carries 224.4 ÷ 50.2 = 4.47 times the buffer the pooled family needs. With independent demand that ratio is √20, the square root of the number of SKUs: the more ways you split a product, the larger the gap.
What the gap is worth:
- Excess buffer = 224 − 50 = 174 units
- Cash tied up = 174 × $14 = $2,436 for one style
- Across 15 comparable styles = $2,436 × 15 = $36,540
- Annual carrying cost at 25% = $36,540 × 0.25 = $9,135 a year
When sizes and colours move together
The √20 ratio assumes each SKU's demand is independent. Sizes and colours of one style usually are not: a good launch week lifts all of them, a weak one drags all of them down. Positive correlation shrinks the pooling benefit.
With the same numbers but a correlation of 0.5 between every pair of SKUs:
- Family variance = (20 × 11.56) + (20 × 19 × 0.5 × 11.56) = 231.2 + 2,196.4 = 2,427.6
- Family standard deviation = √2,427.6 = 49.27 units
- Family safety stock = 1.65 × 49.27 × 2 = 162.6 units
- Ratio = 224.4 ÷ 162.6 = 1.38
At perfect correlation the ratio falls to 1 and pooling saves nothing. So treat √n as the ceiling for independent demand, and measure the correlation in your own sales before banking the saving.
The honest limit of that number
You cannot sell a small black tee to a customer who wants a large grey one. A family-level pool only exists for the part of your supply chain where stock is still interchangeable: fabric or blanks not yet cut, units not yet allocated to a channel or warehouse, or a purchase order whose size and colour split is not yet final. The $36,540 is a ceiling — it assumes independent demand and a fully pooled buffer — not a guaranteed saving. It comes from where stock is held, not from the forecast itself: forecasting the family and splitting by mix does not make any single SKU's demand less variable.
That limit is what makes the decision useful. It tells you where to look: every week of lead time you can hold stock at family level, instead of committing it SKU by SKU, moves part of that buffer from the expensive side to the cheap side. The forecast level should match the commitment: size the pooled order from the family forecast, and decide the SKU split later, at the shorter lead time that remains. For cash planning around those commitments, the 13-week cash flow model shows how a single inventory order moves your balance.
Noise shows up in the forecast too
The same arithmetic shows why SKU forecasts feel unstable. With the independent-demand assumptions above:
- SKU coefficient of variation = 3.4 ÷ 4 = 0.85
- Family coefficient of variation = 15.21 ÷ 80 = about 0.19
A single SKU's week-to-week movement is about 85% of its average; the family's is about 19%. A model fitted to each SKU's own history spends most of its effort chasing that noise: an 8-unit week on a 4-unit SKU is barely more than one standard deviation above average, yet a SKU-level model can read it as a trend and raise the next order. A family forecast split by mix only moves that SKU's number when its share of the family moves. The SKU's own demand is still as variable as before — that variability is buffered at the split point, over the shorter lead time that remains.
The Rule: Match Forecast Level to Commitment Level
The practical rule has three parts.
1. Forecast at the level where you commit money, at the lead time you commit it. If you buy fabric or place a factory order for a style 12 weeks out and only fix the size and colour split 4 weeks out, you have two decisions. Forecast the style for the 12-week commitment. Forecast the mix for the 4-week split. Forcing a 20-SKU forecast at the 12-week point asks the noisiest data to make the longest-range call.
2. Forecast SKUs directly only where the SKU carries a signal. Smooth-demand SKUs — selling in most periods at steady sizes — can be forecast bottom-up, and they keep what top-down loses: their own seasonality and promotion response. For erratic and intermittent SKUs, forecast the family and derive each SKU's number from its share of the mix.
3. Keep the numbers coherent. Whatever level you forecast at, the SKU numbers need to add up to the family number and the family numbers to the total. Forecasting: Principles and Practice calls this being "coherent" — forecasts that "add up in a manner that is consistent with the aggregation structure." In practice, incoherent forecasts are how a planner ends up ordering against a SKU plan that implies more units than the finance plan funds. That gap turns into the inventory–cash flow trap.
| Situation | Forecast at | Push down to SKUs by | |---|---|---| | High-volume, smooth SKU with its own promotions or seasonality | SKU (bottom-up) | Not needed | | Many sizes/colours of one style, modest volume each | Style / family (top-down) | Trailing mix % | | Long-lead material commitment, short-lead size/colour split | Style for the long lead; mix for the short lead (middle-out) | Mix % refreshed at the split point | | Intermittent or lumpy tail | Do not point-forecast weekly | Reorder point or min/max | | Multi-channel (DTC, Amazon, wholesale) with shared stock | Total per style, then channel | Channel share % |
Where Top-Down Breaks — and How to Catch It
Top-down is not free. The textbook's warning applies: splitting by a fixed mix hides individual series behaviour. A colour that is rising, a size that sells out every launch, a SKU that only moves during a promotion — a stale mix percentage flattens all three.
Three checks keep the split honest:
- Refresh the mix on a rolling window. Start by testing a trailing window of roughly 8–12 weeks against your own sales: long enough that one odd week does not swing the shares, short enough to reflect current preference. Recalculate at every order point, not once a season.
- Watch mix drift, not only forecast error. If a SKU's share moves by more than a few points between refreshes, look at it by hand. Drift is usually real information — a trend — and the moment to promote that SKU to its own forecast.
- Separate stockout weeks from demand. A SKU that was out of stock sold zero because it had nothing to sell, not because nobody wanted it. Leaving stockout weeks in the mix calculation shrinks next season's share of your best sellers. Exclude or estimate those weeks before calculating shares.
Lead time deserves the same scrutiny as demand. The forecasting models article makes the case that lead-time error, not demand error, is what causes the most damaging stockouts. Getting granularity right does not fix a supplier who delivers two weeks late.
Service Level Is Where Granularity Gets Expensive
The Z factor multiplies everything above. Moving from 90% to 99% service raises Z from 1.28 to 2.33 — nearly doubling the safety stock you carry. Applied SKU by SKU across a long tail, a blanket 99% target multiplies an already inflated buffer.
The better pattern is asymmetric: high service levels on the smooth, high-margin SKUs you forecast individually, and lower targets — or reorder points — on the intermittent tail you forecast as a family. The aim is to reduce the cash tied up in the tail while keeping your highest service targets on the items that carry most of your revenue. How you value that inventory on the balance sheet also changes the picture; see inventory valuation methods for how FIFO, LIFO and weighted average cost affect the numbers your lender sees.
What to Do This Week
- Export 26 weeks of unit sales by SKU. Calculate each SKU's ADI and CV² and sort them into the four demand types.
- List your commitment points. For each style, write down when you commit money (material, factory order, freight) and when the size/colour split becomes final.
- Move erratic and intermittent SKUs to family-level forecasts with a trailing mix split. Keep smooth, high-volume SKUs bottom-up.
- Recalculate safety stock for one style both ways using your own σ and lead time. The difference is your ceiling; the share of lead time you can hold at family level is how much of it you can capture.
- Add a mix-drift check to every reorder, and exclude stockout weeks from the mix.
FAQ
What is SKU-level forecasting?
Forecasting demand separately for each stock-keeping unit — every colour, size or pack variant — instead of for the product family or category. It keeps each item's own patterns but is only reliable where a SKU sells steadily enough for its history to carry a signal.
Is SKU-level forecasting more accurate than family-level forecasting?
Not for low-volume SKUs. Low-level data is noisier and harder to forecast, while aggregate forecasts tend to be more reliable. SKU-level forecasting wins for high-volume, smooth-demand items with their own seasonality or promotions.
How do I split a family forecast into SKUs?
Multiply the family forecast by each SKU's share of recent family sales, using a trailing window you have tested on your own data (8–12 weeks is a reasonable starting point) and excluding weeks when the SKU was out of stock. Refresh the shares at every order point.
How many SKUs does it take before family forecasting matters?
There is no fixed count. What matters is how many SKUs split one product, how steady each one is, and how closely they move together. In the example above, holding 20 independent SKUs separately needed about 4.5 times (√20) the buffer of one pooled family; with a 0.5 correlation between SKUs, the gap fell to about 1.4 times.
Do I need forecasting software to do this?
No. The classification and the mix split can be done in a spreadsheet. Software helps once the number of styles and channels makes a weekly manual refresh impractical — but the granularity decision comes first, whatever tool runs the math.


