Inventory Optimization
“What is the optimal stock level at each location?”
Book a demo and get a free trial of the full platform: research agent, fine-tune capabilities, and forward-deployed engineer support.
By submitting, you accept the Terms and Privacy Policy.

Loved by data scientists, ML engineers & CXOs at

A real-world example
What is the optimal stock level at each location?
Static safety stock formulas ignore the relationships between locations, products, and suppliers. They over-stock slow movers and under-stock fast movers, especially during demand transitions. For a distributor with 2,000 SKUs across 50 locations, a 20% reduction in excess inventory frees $80M in working capital while maintaining or improving fill rates.
Quick answer
Graph neural networks optimize inventory levels at every location by learning demand cascade patterns, lead time variability, and substitution effects across the entire supply network. Unlike static safety stock formulas that treat each SKU-location independently, graph-based optimization considers how demand variability at downstream stores cascades to upstream stocking decisions, freeing $80M in working capital for a distributor with 2,000 SKUs across 50 locations.
Approaches compared
4 ways to solve this problem
1. Safety stock formulas (static reorder points)
Calculate reorder points and safety stock levels using demand variability and lead time variability per SKU-location. The textbook approach.
Best for
Simple to implement and maintain. Works for stable-demand products with consistent lead times.
Watch out for
Treats each SKU-location independently. Over-stocks slow movers and under-stocks fast movers during demand transitions. Cannot account for how demand variability at downstream stores affects upstream stocking needs.
2. Service-level optimization (newsvendor model variants)
Set inventory levels to achieve a target service level (e.g., 98% fill rate) per SKU-location, trading off holding cost against stockout cost.
Best for
Clear cost-benefit framework. Good for high-volume products where demand distribution is approximately known.
Watch out for
Assumes demand distribution is stationary and known. In practice, demand distributions shift with seasons, promotions, and competitor actions. Also ignores cross-location substitution effects.
3. Multi-echelon inventory optimization (MEIO) software
Optimize inventory across the entire network simultaneously, accounting for upstream-downstream dependencies. Commercial solutions from Blue Yonder, o9, Kinaxis.
Best for
Accounts for network structure and service-level cascades. Better than per-node optimization for complex supply chains.
Watch out for
Relies on parametric demand and lead time distributions. Struggles with non-stationary patterns, product substitution, and external signals. Configuration is complex and expensive.
4. KumoRFM (relational graph ML)
Connect locations, products, inventory, demand history, and lead times into a multi-echelon graph. The GNN learns optimal stock levels by considering demand cascades, lead time variability, and substitution effects across the full network.
Best for
Captures non-stationary demand patterns, product substitution during stockouts, and how lead time variability differs by supplier-product-location combination. Adapts continuously as patterns change.
Watch out for
Requires inventory, demand, and lead time data in normalized tables with location-product-supplier relationships. Most impactful for networks with 20+ locations and significant demand variability.
Key metric: Distributors free $80M in working capital by right-sizing inventory across 2,000 SKUs and 50 locations while maintaining 98%+ fill rates.
Why relational data changes the answer
Inventory decisions at one node affect every other node in the network. When LOC02 (a retail store) runs low on perishables, the replenishment order propagates upstream to LOC01 (a warehouse), which in turn must account for lead time from the supplier. If the supplier's lead time is volatile (2 days average but ranging from 1 to 4 days), LOC01 needs more buffer stock than the formula suggests. Meanwhile, if SKU202 stocks out at LOC02, customers may substitute to SKU204, so the two products' inventory decisions are linked. Static safety stock formulas cannot model any of these cross-node, cross-product dependencies.
Relational models read the full multi-echelon graph. They learn that LOC02 needs 280 units of SKU202 (not the formula's 220) because weekend demand spikes 40%, the supplier's lead time has been trending longer, and substitute product SKU204 has low availability. On the RelBench benchmark, relational models score 76.71 vs 62.44 for single-table approaches. For inventory optimization, that accuracy gap translates to $80M freed in working capital from reduced overstock, while maintaining or improving fill rates.
Static safety stock is like each department in a hospital ordering its own supplies without talking to the others. The ER over-stocks bandages while the surgical floor runs out of sutures, and nobody accounts for the fact that a busy ER day means more surgeries tomorrow. Graph-based inventory optimization is the hospital's central supply chain reading every department's demand signal and stocking each unit based on the full picture.
How KumoRFM solves this
Graph-powered intelligence for supply chains
Kumo connects locations, products, inventory levels, demand history, and lead times into a multi-echelon graph. The GNN learns how demand variability at downstream locations cascades to upstream stocking decisions, how lead time volatility differs by supplier-product-location combination, and which products substitute for each other during stockouts. PQL predicts optimal stock levels that minimize total cost (carrying + stockout) per location-product pair.
From data to predictions
See the full pipeline in action
Connect your tables, write a PQL query, and get predictions with built-in explainability — all in minutes, not months.
Your data
The relational tables Kumo learns from
LOCATIONS
| location_id | type | region | storage_capacity |
|---|---|---|---|
| LOC01 | Warehouse | US-West | 100,000 units |
| LOC02 | Store | US-West | 5,000 units |
| LOC03 | Store | US-East | 8,000 units |
PRODUCTS
| product_id | category | unit_cost | shelf_life_days |
|---|---|---|---|
| SKU201 | Electronics | $120 | N/A |
| SKU202 | Perishable | $4.50 | 14 |
| SKU203 | Apparel | $35 | N/A |
INVENTORY
| location_id | product_id | on_hand | on_order | timestamp |
|---|---|---|---|---|
| LOC01 | SKU201 | 2,400 | 500 | 2025-03-01 |
| LOC02 | SKU202 | 180 | 0 | 2025-03-01 |
| LOC03 | SKU203 | 450 | 200 | 2025-03-01 |
DEMAND_HISTORY
| location_id | product_id | daily_demand_avg | demand_std |
|---|---|---|---|
| LOC01 | SKU201 | 85 | 22 |
| LOC02 | SKU202 | 45 | 18 |
| LOC03 | SKU203 | 28 | 8 |
LEAD_TIMES
| supplier_id | product_id | avg_lead_days | lead_std_days |
|---|---|---|---|
| SUP01 | SKU201 | 5 | 1.2 |
| SUP02 | SKU202 | 2 | 0.5 |
| SUP03 | SKU203 | 8 | 2.1 |
Write your PQL query
Describe what to predict in 2–3 lines — Kumo handles the rest
PREDICT AVG(INVENTORY.optimal_qty, 0, 14, days) FOR EACH LOCATIONS.location_id, PRODUCTS.product_id
Prediction output
Every entity gets a score, updated continuously
| LOCATION_ID | PRODUCT_ID | OPTIMAL_STOCK | CURRENT_STOCK | ACTION |
|---|---|---|---|---|
| LOC01 | SKU201 | 1,800 | 2,400 | Reduce by 600 |
| LOC02 | SKU202 | 280 | 180 | Reorder 100 |
| LOC03 | SKU203 | 380 | 450 | Reduce by 70 |
Understand why
Every prediction includes feature attributions — no black boxes
LOC02 x SKU202 (Perishable at US-West Store)
Predicted: Optimal stock: 280 units (current: 180, reorder 100)
Top contributing features
7-day demand forecast
315 units
31% attribution
Lead time from supplier
2 days avg
23% attribution
Shelf life constraint
14 days
19% attribution
Demand volatility (weekend spike)
+40% Sat-Sun
16% attribution
Substitute product availability
Low
11% attribution
Feature attributions are computed automatically for every prediction. No separate tooling required. Learn more about Kumo explainability
PQL Documentation
Learn the Predictive Query Language — SQL-like syntax for defining any prediction task in 2–3 lines.
Python SDK
Integrate Kumo predictions into your pipelines. Train, evaluate, and deploy models programmatically.
Explainability Docs
Understand feature attributions, model evaluation metrics, and how to build trust with stakeholders.
Frequently asked questions
Common questions about inventory optimization
How do you optimize inventory across multiple locations?
Model your supply chain as a connected graph where demand at downstream locations cascades to upstream stocking decisions. Graph-based optimization considers lead time variability per supplier-product-location combination, product substitution effects, and demand variability at every node simultaneously, rather than optimizing each SKU-location independently.
What is the difference between safety stock and demand-driven replenishment?
Safety stock formulas set static buffer levels based on historical demand variability. Demand-driven replenishment adjusts stock levels dynamically based on current demand signals, incoming shipments, and network conditions. Graph models enable true demand-driven replenishment because they update optimal stock levels continuously as demand, lead times, and network conditions change.
How do you reduce excess inventory without increasing stockouts?
The key is knowing which inventory is excess and which is essential. Graph models identify overstock situations by accounting for demand variability, lead time buffers, and product substitution. A product with low demand variability, short lead times, and available substitutes needs less safety stock than the standard formula suggests. This precision is what frees working capital without sacrificing fill rates.
What data do you need for inventory optimization?
Inventory positions by location and product, demand history with daily or weekly granularity, lead times by supplier-product-location, and product metadata (cost, shelf life, category). For best results, add shipment data linking locations in your network and product substitution relationships. More network connectivity data means better optimization.
What is the ROI of inventory optimization?
A distributor with 2,000 SKUs across 50 locations frees $80M in working capital by right-sizing stock levels. The savings come from reducing overstock on slow-moving and stable-demand products while maintaining or increasing stock on high-variability, high-margin items. Fill rates typically improve 1-3% even as total inventory decreases.
Bottom line: A distributor with 2,000 SKUs across 50 locations frees $80M in working capital by right-sizing inventory at every node. Kumo's multi-echelon graph optimizes stock levels by learning demand cascade patterns and lead time variability that static safety stock formulas ignore.
Related use cases
Explore more supply chain use cases
Topics covered
One Platform. One Model. Infinite Predictions.
KumoRFM
Relational Foundation Model
Turn structured relational data into predictions in seconds. KumoRFM delivers zero-shot predictions that rival months of traditional data science. No training, feature engineering, or infrastructure required. Just connect your data and start predicting.
For critical use cases, fine-tune KumoRFM on your data using the Kumo platform and Research Agent for 30%+ higher accuracy than traditional models.
Book a demo and get a free trial of the full platform: research agent, fine-tune capabilities, and forward-deployed engineer support.




