Supply Chain Operations, Multi-Echelon Inventory & Risk Pooling
Clark-Scarf Echelon Stock & Square-Root Risk-Pooling Formula
Calculate Clark-Scarf Multi-Echelon System Inventory Position (DC_OnHand + In_Transit + Downstream_Store_Stock), Decentralized Store Safety Stock N*z*sigma, Echelon-Pooled Safety Stock SQRT(N)*z*sigma, and Centralization Buffer Savings.
Prevent double-buffering by managing upstream DCs on Echelon Stock—not local installation stock!
Clark and Scarf’s foundational multi-echelon inventory theorem revealed why managing a regional Distribution Center (DC) purely on its own four-wall "installation stock" triggers replenishment bullwhip whenever stores place lumpy orders: the upstream DC’s true System Echelon Stock equals DC_On_Hand + Pipeline_In_Transit_to_Stores + All_Downstream_Store_On_Hand! Furthermore, Eppen’s Square-Root Law of Risk Pooling proves that holding independent safety buffers across N identical, uncorrelated retail locations requires Decentralized_SS = N * z * sigma_L, whereas pooling safety buffer upstream at the echelon DC requires only Pooled_SS = SQRT(N) * z * sigma_L—saving (N - SQRT(N)) * z * sigma_L units of working capital!
Test a hand-predictable 4-Store Retail Network—Central_DC_OnHand = 600 units (B2), In_Transit_Truck_Stock = 200 units (B3), Downstream_Store_OnHand = 400 units (B4), Per_Store_LeadTime_Demand_SD = 50 units (B5), Store_Count N = 4 (B6), and 95% Cycle_Service_Z = 1.65 (B7): Total DC Echelon Stock is 600 + 200 + 400 = 1,200 units (E2); Decentralized 4-Store Safety Stock is 4 * 1.65 * 50 = 330.00 units (E3); Centralized Risk-Pooled Safety Stock is SQRT(4) * 1.65 * 50 = 165.00 units (E4); and Risk-Pooling Buffer Reduction saves 330 - 165 = 165.00 units (50% inventory savings in E5)!
| Multi-Echelon Metric (DC=600, Transit=200, Stores=400, SD=50, N=4, z=1.65) | Formula | Verified Output |
|---|---|---|
| Clark-Scarf DC Echelon Stock | DC_OnHand + In_Transit + Store_OnHand | 1,200.00 units |
| Decentralized Store Safety Stock | N * z * Store_Demand_SD | 330.00 units |
| Pooled Central Safety Stock | SQRT(N) * z * Store_Demand_SD | 165.00 units (247.50 @ N=9) |
| Risk-Pooling Buffer Savings | (N - SQRT(N)) * z * Store_Demand_SD | 165.00 units (0.00 @ N=1) |
Multi-Echelon Square-Root Risk-Pooling Buffer Savings Formula
Validate non-negative echelon inventory tiers, Store_Demand_SD > 0, Store_Count N >= 1, and Service_Z > 0!
=LET(dc_h, B2, tr_u, B3, st_h, B4, sd_s, B5, n_st, B6, z_sv, B7, IF(OR(dc_h < 0, tr_u < 0, st_h < 0, sd_s <= 0, n_st < 1, z_sv <= 0), "Invalid Multi-Echelon Input", ROUND((n_st - SQRT(n_st)) * z_sv * sd_s, 2)))9-Store Expansion & Single-Store Degenerate Boundary Checks
Expand Store_Count B6 to N = 9 stores: Pooled Safety Stock E4 rises to only 247.50 units (vs 742.50 decentralized—a 66.7% savings)! Set B6 = 1 store: Risk-Pooling Savings E5 equals 0.00 units!
=IF(ISTEXT(E2), E2, ROUND(SQRT(B6) * B7 * B5, 2))Try the example
Use the original values or change them to test your understanding.