Case Study
Consumer Packaged Goods / Snacks & Beverages

How a Fortune 50 Snacks Company Built a Weather-Aware Demand Engine That Cut Stockouts by 34%

When a heatwave hits North India, beverage demand spikes 40% in 72 hours. This company's supply chain found out from the stockout reports, not the weather forecast.

--
Demand forecast
accuracy
--
Kickoff to
production
--
Reduction in
weather-driven stockouts
<9%
Relative cost per
subsequent use case
01

Temperature spikes 6 degrees in Rajasthan. Beverage demand surges. The supply chain finds out next week.

The company sells across climate zones so different they might as well be separate countries. A heatwave in North India, monsoon onset in Mumbai, a festival in Tamil Nadu -- each shifts demand by 20-40% in 48-72 hours. The supply chain operated on weekly cycles.

800K+
Retail outlets across
6 climate zones
1,800+
Distributors with varying
stock depth
48-72 hrs
Demand response to
weather events
7-10 days
Supply chain response
to same events

Beverages spike when temperatures cross 38C. Salty snacks surge during monsoon (indoor consumption). Small packs move in summer (on-the-go), large packs in monsoon (in-home). These patterns are well known. What's not codified is the regional variation, the lag structure, and the threshold effects that determine how much demand shifts, where, and how fast.

North India crosses 42C and beverage demand jumps 35-40% in 3 days. South India hits the same temperature and demand moves 12% because consumers there have different habits, more AC penetration, and different channel mix. A demand sensing model that doesn't encode these regional dynamics treats all of India as one country and gets the stock positioning wrong by the time the signal reaches the DC.

02

The demand sensing engine treated
a heatwave in Jaipur the same as
a cool spell in Bengaluru.

The company had invested in a statistical demand sensing engine. It consumed 3 years of historical billing data, applied time-series decomposition, and generated weekly SKU-level forecasts by territory. The math was sound. The forecasts missed every weather-driven demand event by 5-7 days.

~61%
Forecast Accuracy

The engine produced smooth, trend-following forecasts that worked well in stable periods but failed precisely when accuracy mattered most: during weather transitions, festivals, and regional events. These are exactly the moments that drive stockouts and excess inventory. The engine was accurate when nothing was happening and wrong when everything was.

×

No weather signal integration. The model consumed historical sales and seasonality indices. It had no connection to temperature, rainfall, humidity, or AQI data. When a late monsoon delayed the snacks surge by 2 weeks in Western India, the engine had already triggered pre-season builds that sat in DCs as excess inventory.

×

National model, regional reality. The engine applied one seasonality curve across all zones. But North India's summer starts 4-6 weeks before South India's. A heatwave in Delhi has a completely different demand signature than the same temperature in Chennai. Regional elasticity -- how much demand moves per degree -- was not modeled.

×

Weekly cycles for 48-hour events. Forecasts refreshed weekly. Weather-driven demand shifts happen in 2-3 days. By the time the next forecast reflected the spike, distributors were already stocked out. The response lag between signal and replenishment action was 7-10 days. The demand event was often over by then.

03

Encode the demand universe:
climate, geography, products, and
the rules that connect them.

The Intelligence Warehouse models every entity that affects demand: SKUs, regions, climate zones, distributors, DCs, channels -- and the decision rules that experienced planners use to adjust stock positions when weather shifts. Agents traverse the graph to produce replenishment decisions, not just forecasts.

Business Knowledge Graph
Entity
Metric
Decision
41 entities 24 metrics 16 decision rules 8 domain clusters
M
Knowledge Elicitation via Morrie
Adaptive sessions with demand planners, supply chain leads, and regional heads

The graph was populated through structured conversational sessions with supply chain stakeholders using Morrie. Not "what data feeds your forecast?" but "when a heatwave hits your region, what do you actually do in the next 48 hours, and how do you decide how much to pre-position where?" 16 sessions. Every node traceable to a specific conversation.

Morrie
Last April, temperatures in Rajasthan crossed 42C a week earlier than expected. Walk me through what happened to your beverage demand and what you did about it.
Demand spiked about 35% in 3 days. But our forecast still showed the pre-summer baseline. By the time the weekly number refreshed, Jaipur and Jodhpur distributors were stocked out on 200ml and 250ml packs. We lost about 4 days of sales in those markets. I had to do emergency secondary dispatches from the Ahmedabad DC, which took another 3 days.
Event captured: Temp_Threshold_42C → Beverage_Demand_Spike (35%, 72hr lag). Regional: Rajasthan. Pack_Sensitivity: small packs first. Supply_Response_Lag: 7 days. Lost_Sales flagged.
Morrie
That 42C threshold is interesting. Is it the same everywhere, or does demand respond differently in South India at the same temperature?
Completely different. Chennai hits 42C regularly and demand moves maybe 10-12%. People there have AC, they drink water, the consumption habit is different. In North India, 42C means everyone is buying cold beverages from every kirana and pan shop. The elasticity is 3x higher in the North. And in monsoon it flips -- salty snacks surge 25% in Mumbai when it rains because people are sitting at home, but in Delhi monsoon barely moves the needle.
Regional_Elasticity model created: North_Temp_Elasticity 3x South. Monsoon_Snack_Surge: West India (25%) vs North India (minimal). Climate_Zone → Category_Response mapping built.
Morrie
So the demand response is category-specific, region-specific, and the thresholds are different in each zone. When you know a heatwave is coming 3-4 days out, what's your ideal pre-positioning playbook?
If I had 3 days notice I'd do two things: push extra secondary from DC to the top 15 distributors in the affected zone, and shift the mix to 70% small packs because that's what moves in heat. But right now I get the signal from stockout reports, not weather data. By then I'm already behind.
Decision rule created: Heatwave_Preposition (3-day lead) → DC_to_Top15_Distributors + Pack_Mix_Shift_70pct_Small. Current gap: reactive (stockout signal) vs proactive (weather signal).

16 sessions · 41 entities, 24 metrics, 16 decision rules · Every node traceable to a specific conversation

04

First use case: Weather-Driven Demand Intelligence

72-hour demand forecasts by region, adjusted in real-time for temperature, rainfall, humidity, and events. Automated pre-positioning alerts to DC and distributor level. Pack-mix shift recommendations by climate zone.

Forecast Accuracy
--
On weather-sensitive SKUs during transition periods. Validated against actuals across 3 climate zones over 8 weeks.
Previous engine: ~61% during weather events
Time to Production
--
Kickoff to live deployment. Includes knowledge elicitation, graph build, weather API integration, DC/distributor mapping, and agent deployment.
Stockout Reduction
--
Reduction in weather-driven stockouts across pilot zones, driven by 3-day pre-positioning alerts and automated DC-to-distributor dispatch triggers.
Response Time
3 days
Signal-to-replenishment time, down from 7-10 days. The graph surfaces the weather signal, maps it to regional demand elasticity, and triggers the pre-positioning playbook automatically.
05

Build the graph once.
Deploy use cases at a fraction.

The first use case encoded the demand universe: SKUs, regions, climate zones, distributors, DCs, channels, and the weather-demand relationships between them. Every subsequent use case rides on that foundation.

Use CaseBKG ReuseAccuracyTime to LiveCost
Weather-Driven Demand Intelligence
Regional demand forecasting, pre-positioning alerts, pack-mix shift, DC dispatch triggers
Baseline 96.1% 6 weeks 100%
Sales Execution Intelligence
Beat-level nudges, outlet prioritization, SKU gap closure, sales loss recovery
78% 95.8% 11 days 9%
Trade Promotion Effectiveness
Scheme ROI decomposition, slab compliance, retailer leakage, payout vs. incremental lift
74% 95.4% 12 days 8%
Field Force Effectiveness
Beat efficiency scoring, outlet conversion analysis, peer benchmarking, ASM coaching triggers
82% 95.9% 9 days 7%
Relative Implementation Cost
Weather Demand
100%
Sales Execution
9%
Trade Promo
8%
Field Force
7%

Why It Compounds

Sales execution, trade promo analysis, and field force coaching all operate on the same entity model: SKUs, outlets, distributors, regions, climate zones, DCs. The ontology and metrics from use case 1 carry directly. Sales execution reuses the outlet-distributor-SKU graph; trade promo adds scheme entities; field force adds beat-level metrics. Only domain-specific decision rules need to be built.

7
New entities
for use cases 2-4
10
New metrics
for use cases 2-4
12
New decision rules
for use cases 2-4

Versus the 41 entities, 24 metrics, and 16 decision rules already in the graph.

Summary

The Intelligence Warehouse is the compounding asset.

Four use cases. One knowledge foundation. Each one faster, cheaper, and more accurate.

4
Use cases
in production
95.8%
Average decision
accuracy
~11d
Avg. time for
subsequent use cases
~8%
Avg. cost per
additional use case