Ask most mid-market distributors how they forecast demand and you will hear some variation of the same answer: category-level totals, year-over-year adjustment, maybe a seasonal multiplier. The forecast lives in a spreadsheet or a module inside the ERP. It tells you that the industrial fasteners category will move roughly 14,000 units in April, up 3% from April last year.
That number is not wrong. It is just useless for the planner trying to decide how much stock to hold at the Nashville distribution center for a specific hex bolt size.
The Aggregation Problem
Aggregate forecasting is built on a logical assumption: that individual SKU-level noise averages out at the category level, making the category forecast more stable and easier to work with. This assumption holds reasonably well for the revenue planning that goes up to the CFO. It fails for the operational planning that determines purchase orders and inventory positioning.
The problem is variance, not average. A category with 400 SKUs has an average demand that may be quite predictable. But within that category, 40 SKUs account for 70% of volume, another 80 are seasonal, 30 are in decline, and 20 are new items with no forecast history. Each of these sub-groups behaves completely differently. Averaging them into a single category forecast produces a number that accurately represents none of them.
When a planner uses that category forecast to back-calculate reorder quantities for individual items, they are distributing forecast error downward. The items with accelerating demand get underallocated. The declining items get overallocated. The warehouse fills up with the wrong things in the wrong proportions, and the planner spends Monday morning trying to figure out why there are 400 units of one SKU collecting dust while a popular item is on backorder.
Location Makes It Worse
Add multi-location distribution to the mix and the aggregation problem compounds. A distributor with four regional DCs might see stable national demand for an item while one DC is experiencing a localized surge - driven by a new account, a regional construction project, or a competitor stockout in that market. The national average masks the DC-level reality.
Consider a specific scenario that recurs regularly in industrial distribution. A plumber's supply distributor has a PVC fitting category that moves consistently at the national level. But one of its DCs serves a market where a large homebuilder just won several subdivision contracts. Demand for specific fitting sizes at that DC accelerates 60% over six weeks. The category forecast, which is set nationally, shows no signal. The DC's safety stock erodes. The planner, looking at a category-level report, sees nothing to act on. The stockout arrives during peak construction season.
If the forecast had been built at the SKU-location level, the acceleration at that DC would have been visible three to four weeks before the stock ran out. A targeted reorder, or a transfer from an overstocked DC, could have prevented the problem. At the category level, there was simply no mechanism to see it coming.
What SKU-Location Forecasting Actually Requires
The phrase "SKU-location forecasting" sometimes sounds like an enterprise-only capability - something that requires a data science team, a custom warehouse management system, or a six-figure planning tool. In practice, the underlying data already exists in most mid-market ERP systems. The question is whether it is being queried and modeled at the right level of granularity.
Three things are actually required. First, transaction history at the order-line level, tied to a specific ship-from location. Most ERP systems record this by default. The challenge is that many standard reports aggregate it before the planner sees it. Second, a model training and inference process that treats each SKU-location pair as its own time series, not a sub-bucket of a category time series. This is computationally heavier but not prohibitively so for mid-market catalog sizes in the 1,000 to 10,000 active-SKU range. Third, a way to surface the outputs to planners in terms they can act on - not prediction intervals and confidence levels, but "this item at this location will need a reorder by June 3 to maintain your target service level."
The third step is where most self-built attempts fall down. The model can be accurate, but if the planner's interface still shows category-level summaries, the forecast does not change behavior. The signal has to reach the person who places the purchase order, in a format that makes the action obvious.
The Cost of the Gap
Measuring the cost of aggregate-only forecasting is harder than measuring the cost of a specific stockout, because the losses are diffuse. They show up as above-average inventory carrying costs on slow-moving items, above-average stockout frequency on high-velocity items, and the labor hours planners spend reconciling forecast-to-actual divergence every week.
A rough benchmark from distribution operations research: distributors running category-level forecasting average 12% to 18% higher inventory carrying costs than those running SKU-level forecasting on their top-velocity items, because they are holding buffer stock across the category to compensate for forecast uncertainty at the item level. That buffer is expensive. At a distributor with $8M in inventory, an 8-point reduction in carrying cost through better inventory targeting represents $640,000 in working capital freed from dead stock.
That is not a technology number. It is an information architecture number. The difference between a category forecast and a SKU-location forecast is not a bigger server - it is a different question being asked of the same data.
Starting Without Replacing Everything
For planning teams that are not ready to rebuild their forecasting infrastructure, a targeted SKU-location approach on the top 20% of items by velocity is a practical starting point. These items account for the majority of stockout risk and the majority of dead-stock risk. A more granular forecast on this subset produces most of the benefit of full SKU-location coverage without requiring a complete system overhaul.
The mechanics are straightforward: pull order-line history for the top-velocity items at each DC, calculate a rolling 12-week average demand rate per item-location, compare against current stock, express as days of coverage. That single calculation, updated weekly, gives a planner more actionable information than any category-level forecast. It is not a sophisticated ML model. It is just the right level of aggregation applied consistently.
From there, the natural progression is to build the model on a longer horizon, capture seasonality, and extend the coverage to the full active catalog. But the first step is simply recognizing that the category average has been making the individual item problem invisible - and deciding to look at the right level.