Inventory Optimization
“How much safety stock does each warehouse need?”
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
How much safety stock does each warehouse need?
US retailers hold $680B in inventory at any given time (US Census Bureau), with carrying costs averaging 20-30% of inventory value annually. Setting safety stock too high ties up capital and increases spoilage risk. Setting it too low causes stockouts that cost $1T+ globally each year (IHL Group). Traditional safety-stock formulas use a single standard-deviation calculation that ignores supplier reliability differences, seasonal demand spikes, promotional calendars, and cross-warehouse transfer capabilities. A $10B retailer could free $200-400M in working capital by right-sizing safety stock.
Quick answer
Optimal safety stock levels depend on far more than a standard-deviation formula. Supplier reliability, cross-warehouse transfer times, promotional calendars, and seasonal demand spikes all interact to determine the right inventory buffer for each SKU at each location. A relational model connects these signals and calculates that Warehouse WH-03 needs 3,410 units of safety stock (not the formula-based 2,800) because its supplier has a 92% on-time rate, demand variance is 2.3x higher due to promotions, and the nearest backup warehouse is 4 days away. On SAP SALT benchmarks, relational approaches hit 91% accuracy vs 75% for XGBoost on supply chain prediction tasks.
Approaches compared
4 ways to solve this problem
1. Static safety stock formulas
Calculate safety stock as Z-score times standard deviation of demand times square root of lead time. The textbook approach used by most ERP systems.
Best for
Stable supply chains with reliable suppliers (99%+ on-time) and minimal promotional activity.
Watch out for
Treats every SKU-warehouse pair identically. Does not account for supplier variability, promotional spikes, or cross-warehouse transfer options. Typically over-stocks by 20-30% to compensate for blind spots.
2. Demand-driven MRP (DDMRP)
Uses buffer profiles and demand-driven decoupling points to set inventory levels. Adjusts buffers based on demand variability zones.
Best for
Manufacturing-adjacent supply chains with clear decoupling points and moderate demand variability.
Watch out for
Buffer calculations still rely on aggregated demand signals. Cannot capture the interaction between supplier lead-time variability and promotional demand spikes at the SKU-warehouse level.
3. XGBoost demand-and-supply models
Separate models for demand prediction and supply variability, combined to calculate dynamic safety stock levels.
Best for
Supply chain analytics teams with the engineering capacity to build and maintain dual model pipelines.
Watch out for
Two independent models miss the interaction effects. A supplier delay during a promotion week has 3x the stockout impact of a delay during a normal week. SAP SALT shows 75% accuracy ceiling.
4. KumoRFM (relational foundation model)
Connects SKUs, warehouses, suppliers, transfer networks, promotions, and demand history into a single relational graph. Learns the joint distribution of demand and supply variability.
Best for
Multi-warehouse retailers where supplier reliability varies, promotional activity is heavy, and cross-warehouse transfers are an option.
Watch out for
Requires connected supply chain data (supplier performance, transfer network, promotional calendar). If your supply chain data lives in disconnected spreadsheets, data integration comes first.
Key metric: SAP SALT supply chain prediction: relational 91% vs XGBoost 75%. Typical inventory reduction: 20% with 98.5% service level maintained.
Why relational data changes the answer
The standard safety stock formula (Z * sigma * sqrt(lead time)) treats each SKU-warehouse pair as independent. It cannot see that Warehouse WH-03's supplier has a 92% on-time rate vs WH-01's 99%, that WH-03 is running a BOGO promotion next week that will spike demand 65%, and that the nearest backup warehouse is 4 transit days away. These signals live in supplier_performance, promotions, and transfer_network tables respectively.
A relational model joins these tables and learns the compounding risk: unreliable supplier + promotional spike + distant backup = much higher safety stock needed. Conversely, it learns that WH-01 with a 99% on-time supplier, no upcoming promotions, and a 1.5-day backup warehouse can safely hold 20% less inventory than the formula suggests. Across a 500-store network, these relational adjustments free $200-400M in working capital while maintaining 98.5% service levels.
Setting safety stock with a static formula is like packing for a trip using only the average temperature at your destination. You bring a jacket for 55F weather. A relational model is like checking the forecast (supplier reliability), your itinerary (promotional calendar), nearby stores at your destination (backup warehouses), and your tolerance for discomfort (service level). You might skip the jacket entirely if there is a clothing store next door, or pack two if you are heading to a remote cabin with an unreliable heater.
How KumoRFM solves this
Relational intelligence built for retail and e-commerce data
Kumo connects SKUs, warehouses, supplier lead times, historical demand variability, promotion schedules, and cross-warehouse transfer times into a relational graph. The model calculates that Warehouse WH-03 needs 1,200 units of SKU-4201 as safety stock because its primary supplier has a 92% on-time rate (vs 99% for WH-01's supplier), demand variance is 2.3x higher due to promotional activity, and the nearest backup warehouse is 4 days away. These relational signals produce safety-stock recommendations that maintain 98.5% service levels while reducing average inventory by 20%.
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
WAREHOUSES
| warehouse_id | name | region | capacity_units | stores_served |
|---|---|---|---|---|
| WH-01 | Northeast DC | Northeast | 2,400,000 | 120 |
| WH-03 | West DC | West | 1,800,000 | 85 |
| WH-05 | Central DC | Midwest | 2,100,000 | 95 |
SKU_DEMAND
| sku_id | warehouse_id | avg_weekly_units | demand_std_dev | seasonality |
|---|---|---|---|---|
| SKU-4201 | WH-01 | 8,400 | 840 | Low |
| SKU-4201 | WH-03 | 6,200 | 1,420 | High |
| SKU-4310 | WH-01 | 12,000 | 1,100 | Medium |
SUPPLIER_PERFORMANCE
| supplier_id | warehouse_id | on_time_rate | avg_lead_days | variability_days |
|---|---|---|---|---|
| SUP-12 | WH-01 | 99.1% | 3.2 | 0.5 |
| SUP-12 | WH-03 | 92.4% | 5.1 | 2.3 |
| SUP-07 | WH-01 | 97.8% | 4.0 | 1.0 |
TRANSFER_NETWORK
| from_warehouse | to_warehouse | transit_days | cost_per_unit |
|---|---|---|---|
| WH-01 | WH-05 | 1.5 | $0.12 |
| WH-05 | WH-03 | 3.0 | $0.22 |
| WH-01 | WH-03 | 4.0 | $0.35 |
Write your PQL query
Describe what to predict in 2–3 lines — Kumo handles the rest
PREDICT SUM(SKU_DEMAND.AVG_WEEKLY_UNITS, 0, 4, days) FOR EACH WAREHOUSES.WAREHOUSE_ID, PRODUCTS.SKU_ID WHERE SKU_DEMAND.SEASONALITY IN ('High', 'Medium')
Prediction output
Every entity gets a score, updated continuously
| WAREHOUSE_ID | SKU_ID | SAFETY_STOCK_REC | CURRENT_SAFETY | CHANGE | SERVICE_LEVEL |
|---|---|---|---|---|---|
| WH-01 | SKU-4201 | 1,680 | 2,100 | -420 | 98.7% |
| WH-03 | SKU-4201 | 3,410 | 2,800 | +610 | 98.5% |
| WH-01 | SKU-4310 | 2,420 | 2,750 | -330 | 98.6% |
Understand why
Every prediction includes feature attributions — no black boxes
SKU-4201 at Warehouse WH-03 (West DC)
Predicted: 3,410 units safety stock recommended (+610 vs current)
Top contributing features
Supplier on-time rate (below threshold)
92.4%
28% attribution
High demand variability
1,420 std dev
25% attribution
Upcoming promotional lift
+65% expected
20% attribution
Nearest backup warehouse distance
4.0 transit days
16% attribution
Seasonal demand peak approaching
Q4 ramp
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 much can AI reduce retail inventory carrying costs?
Retailers typically carry 20-30% excess safety stock because static formulas over-buffer to compensate for uncertainty. A relational model that accounts for supplier reliability, promotional calendars, and cross-warehouse transfers can reduce average inventory by 20% while maintaining or improving service levels. For a $10B retailer with $680M in inventory, that is $136M freed in working capital with carrying cost savings of $27-41M annually.
What is the difference between safety stock and reorder point?
Safety stock is the buffer held to absorb demand and supply variability. The reorder point is safety stock plus expected demand during lead time. Most optimization opportunities sit in the safety stock calculation because that is where static formulas over-compensate. A relational model right-sizes safety stock by understanding the actual variability context: a SKU with a reliable supplier and low demand variance needs far less buffer than one with an erratic supplier during a promotional week.
Can inventory optimization models account for supplier disruptions?
Yes, if supplier performance data is connected to the model. A relational model learns that Supplier SUP-12 delivers to WH-03 with only 92% on-time reliability and 2.3-day variability, so it increases safety stock accordingly. It also learns that when SUP-12 is late, the backup path through WH-05 adds 3 transit days. These cascading effects are invisible to models that do not connect supplier, warehouse, and transfer network tables.
Bottom line: Reduce average inventory by 20% while maintaining 98.5% service levels, freeing $200-400M in working capital for a $10B retailer.
Related use cases
Explore more retail & e-commerce 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.




