The √n pooling law assumes stores move independently. Promotions and demand shocks break it, and the failure cascades through the supply chain.
When do returns to scale break in retail distribution?
Your distribution center (DC) inventory is in line with your projections. Then in a single week the DC reorders more than it normally moves in a month. Your lead time is two to three weeks. By the time the next shipment arrives, the DC has been out of stock for days and half the stores are out of stock of your top-selling SKU. Your replenishment strategy assumes store demand spikes independently, which is not true at critical times.
The math behind this failure is older and less forgiving than most ERP-driven safety-stock systems assume. In short:
The second in a two-part series on DC inventory management. The first piece set up how DCs achieve returns to scale; this one discusses when those assumptions break down.
Open any operations textbook and you will find the square-root law of inventory pooling. If stores each have daily demand with standard deviation , and stock is consolidated at a single DC, the aggregate daily demand has standard deviation , not . Centralization wins; the safety stock the network needs per unit of demand shrinks as the network grows.
I built a simple simulator of store-level inventory dynamics. Under independent demand and order-up-to-target replenishment at both echelons, the result is exactly what the textbook predicts:
Across the entire simulated year the DC never stocks out. Stores lose only about 0.6 days each to stockouts on average, and on no single day does more than 3% of the network sit empty at once. The safety stock is sized for exactly the variability the formula assumes, and under those conditions the formula gets it right.
This picture only holds as long as the assumption it rests on, independence of demand across stores, holds with it.
The textbook treats every store's daily demand as a draw independent of every other store's: a busy Tuesday at store A tells you nothing about store B. Real stores are not that independent. A retailer's stores in a region may all place their replenishment order on the same day of the week, or a chain may hold off and reorder in larger, less frequent batches once on-hand drops below a regional threshold. Seasonal and weather effects do the same thing on the demand side: a heat wave or a long holiday weekend nudges every store in the region in the same direction at once. What should statistically have been many uncorrelated demand events at the DC arrive instead as one coordinated event.
We capture the strength of that co-movement with a single number, the pairwise correlation , which sits on a -to- scale. A small near means stores are mostly behaving as independent random draws, and the textbook picture holds. A large near means stores almost always reorder at the same time, so the DC sees one big synchronized pulse instead of many small ones. Real networks sit somewhere in between, and where they sit matters: once demand carries a non-zero , the aggregate variance the DC must absorb is no longer but
At you recover the textbook . At you get : linear scaling, no pooling benefit at all. The DC is now sized as if it were a single store with -fold demand. In between, the ratio of the safety stock the DC actually needs to what the pooling formula predicts is
This grows quickly. For 100 stores at , the DC needs the textbook value:
For 1,000 stores the picture is starker still. Network scale is supposed to work in the brand's favor, since aggregation improves forecast accuracy, but each additional store amplifies the cost of correlated demand faster than it improves the cost of independent demand.
How much of this is theoretical hand-waving, and how much actually surfaces in a simulator with realistic order-up-to policies, lead times, and case-pack quantization? We injected pairwise correlation into the daily demand draws across 100 stores via a one-factor Gaussian copula. Each store's marginal stays exactly negative-binomial, but a shared latent factor shifts every store the same direction on the same day. We then ran the simulation at three correlation levels:1
At : small scattered store-level stockouts and no network-wide event. At : three sharp episodes in which 10% of the stores in the DC region go out of stock on the same day, while the DC itself sits at zero waiting on the supplier to replenish it. The demand mean and DC sizing are identical across both runs; only the cross-store correlation changed.
The DC bears the brunt. Sweeping from 0 to 0.9 over 30 Monte Carlo runs at each level:
The DC goes from zero stockout days to roughly 20 per year. Worse, the days the network sits empty are the same days demand is spiking, so the brand is missing from the shelf at exactly the moments the most shoppers are reaching for the product.
This is the optimistic case. The simulation runs with near-zero shrink and a clean system-of-record inventory at every store. Layer in realistic shrink and the inventory-record drift real stores live with, and store-side voids climb further still, without the upstream picture changing at all.
How bad do system-wide stockouts get?
At , the worst day has one store out of stock. At , sixteen. At , twenty-six, or a quarter of the network simultaneously empty of the SKU. Account for the correlation or work to reduce it, and the long tail of catastrophic days disappears with it. Fail to address it, and the brand's largest demand spikes become its largest missed-sales windows.
Correlated demand is not just a theoretical abstraction. Sometimes a brand's own actions are what produce it. Consider a new SKU launch or a promotion: every store in the network gets the product on the same Monday and rings up the same coordinated lift. The network is no longer a collection of independent random draws; it is a single synchronized event, and textbook DC sizing is most wrong for exactly these events.
Here is what a simulated 30-day promotion looks like in the model. We start with a moderately correlated network (, capturing realistic baseline weather, holiday, and category effects) and apply a per-store demand uplift between days 120 and 150:
Outside the promotion window the DC operates cleanly, with zero stockout days for the rest of the year. Inside the window the DC stocks out for 16 consecutive days, and across all 100 stores the network accumulates 558 store-shelf-empty days over the 30-day promotion. At the peak, 31% of the network is simultaneously empty. The DC's adaptive replenishment is reacting to the demand shift, but it cannot outpace the supplier lead time.
In practice, this is how a brand loses regional share. The promotion creates demand the DC cannot serve, and the lift the brand paid to manufacture goes to whichever competitor stayed in stock during the gap. The marketing dollars are spent either way; the only question is who captures the sale.
Daily demand at store : with , giving and .
Cross-store correlation is induced by a one-factor Gaussian copula: , , , with shared across the network and idiosyncratic.
Order-up-to-target with daily review and lead time at each echelon: .
DC aggregate standard deviation under pairwise correlation : .
All three panels share a single random seed. As a result the underlying noise draws are the same across runs and the demand spikes fall on similar days from panel to panel. The intent of the figure is to show directionally how a larger amplifies the magnitude of those spikes, not to compare the timing of independent realizations. ↩