Berlin Tech Meetup: The Future of Relational Foundation Models, Systems, and Real-World Applications

Register now:
Learn13 min read

Demand Forecasting with AI: Why Relational Context Beats Time Series

Traditional forecasting treats each SKU as an independent time series. But demand for winter coats depends on what customers bought last summer, what competitors launched, and what campaigns ran. These signals live in related tables.

TL;DR

  • 1Inventory mismanagement costs retailers $1.77 trillion per year globally. Overstock: $562B in markdowns. Stockouts: $1.21T in lost sales. The root cause is forecasting from a single column of past sales.
  • 2Time series models (ARIMA, Prophet, DeepAR) treat each SKU as independent and miss 30-50% of demand signal that lives in related tables: campaigns, competitor pricing, substitution effects, and customer purchase graphs.
  • 3Long-tail SKUs (80% of catalog, 40-60% of revenue) have too sparse a history for time series. Relational context from category, brand, and customer similarity fills the gap with 20-35% MAE improvement.
  • 4New product launches have zero sales history. Relational models forecast from the product's graph position (category, brand, price range, target segments). Time series models cannot forecast at all.
  • 5For a $10B retailer, a 20% improvement in forecast accuracy translates to roughly $200M in reduced overstock waste and recovered stockout sales. KumoRFM delivers these forecasts without feature engineering, in a single PQL query.

Inventory mismanagement costs retailers $1.77 trillion per year globally, according to IHL Group. Overstock accounts for $562 billion in markdowns and waste. Stockouts account for $1.21 trillion in lost sales. The root cause in both cases is the same: inaccurate demand forecasts.

Most forecasting systems treat demand as a time series problem. Take the historical sales of SKU #4721, fit a curve, project it forward. ARIMA. Exponential smoothing. Prophet. These models look at one column of numbers and try to predict the next value.

This framing is wrong. Demand is not a function of past sales alone. It is a function of the entire relational context around a product: who bought it, what else they bought, what competitors are doing, what marketing campaigns are running, what the weather looks like, and whether the supplier can deliver on time. These signals live in related tables, not in a single column of historical sales.

weekly_sku_sales

sku_idweekunits_soldpromo_activecompetitor_price
SKU-47212025-W01142No$24.99
SKU-47212025-W02158No$24.99
SKU-47212025-W03137No$22.49
SKU-47212025-W04161Yes$22.49
SKU-47212025-W05?No$19.99

Highlighted: competitor dropped price in W03, your promo ran in W04. Time series models see only the units_sold column.

product_catalog

sku_idcategorybrandlaunch_datesubstitutes
SKU-4721Winter OuterwearNorthPeak2023-09-01SKU-4718, SKU-5102
SKU-4718Winter OuterwearArcticEdge2024-08-15SKU-4721, SKU-5102
SKU-5102Winter OuterwearNorthPeak2024-10-01SKU-4721, SKU-4718

Substitution relationships are encoded here. When SKU-4718 goes out of stock, demand shifts to SKU-4721 and SKU-5102.

What time series models see

A standard time series model takes a sequence of past values and predicts future values. For demand forecasting, the input is weekly or daily sales for a single SKU:

Week 1: 142 units. Week 2: 158 units. Week 3: 137 units. Week 4: 161 units. Predict Week 5.

The model learns patterns in this sequence: trend (is demand growing or declining?), seasonality (does it spike in December?), and noise (what is the typical variance?). More sophisticated models like DeepAR and N-BEATS can learn complex temporal patterns and generate probabilistic forecasts.

What they handle well

  • Steady-state demand with consistent seasonal patterns
  • High-volume SKUs with rich history (2+ years of data)
  • Short-term forecasts (1-4 weeks) where momentum dominates

What they miss

Time series models are blind to everything that is not in the sales history column. They cannot see:

  • A marketing campaign launching next Tuesday that will spike demand 40%
  • A competitor's new product release that will cannibalize 15% of sales
  • The fact that customers who bought this product also bought product B, and product B just went on sale
  • A supplier delay that will cause a stockout in 3 weeks, redirecting demand to substitute products
  • Weather patterns affecting seasonal demand in specific regions

These are not edge cases. For most consumer products, external factors drive 30-50% of demand variation. A pure time series model treats all of that as unexplained noise.

What relational context adds

An enterprise retail database typically includes 8 to 20 connected tables: products, categories, brands, stores, customers, orders, order_items, promotions, campaigns, suppliers, inventory_snapshots, returns, reviews, pricing_history, and competitor_data.

The demand signal for any single product is distributed across many of these tables. Here are the specific relational signals that matter:

1. Customer purchase graphs

Demand for winter coats in October depends on what those same customers bought in July. Here is the actual data trail.

customer_orders (summer purchases)

order_idcustomer_idproductcategorydateamount
ORD-8001CUST-220Ray-Ban Aviator ProPremium Sunglasses2025-07-05$189
ORD-8002CUST-221Oakley Holbrook ElitePremium Sunglasses2025-07-12$214
ORD-8003CUST-222Maui Jim PeahiPremium Sunglasses2025-07-18$279
ORD-8004CUST-223Budget Sunglass PackValue Sunglasses2025-07-20$24

Customers 220-222 bought premium sunglasses in July. Customer 223 bought budget sunglasses. This distinction matters for winter coat demand prediction.

customer_orders (winter coat purchases, prior years)

order_idcustomer_idproductcategorydateamount
ORD-6010CUST-220NorthPeak Expedition ParkaWinter Outerwear2024-10-08$349
ORD-6011CUST-221NorthPeak Expedition ParkaWinter Outerwear2024-10-15$349
ORD-6012CUST-222ArcticEdge Storm JacketWinter Outerwear2024-10-22$289

Highlighted: the same 3 customers who bought premium sunglasses this summer also bought winter outerwear last October. Premium sunglasses up 20% this July? That predicts stronger winter coat demand in October. The path: coats to customers to their summer purchases to summer trends.

This is a multi-hop relational signal: coats → customers who buy coats → their summer purchases → summer purchase trends. No time series model can see this because the signal lives across three tables (products, orders, customers) and spans two different product categories.

2. Substitution and complementary effects

When a competitor launches a product or one of your SKUs goes out of stock, demand shifts to substitutes. These substitution relationships are encoded in the relational structure: products in the same category, products from competing brands, products that co-occur in customer carts.

A graph model learns these substitution edges and uses them for forecasting. When the model knows that SKU A and SKU B are frequently co-purchased, and SKU B just had a price increase, it can predict that SKU A demand will increase.

3. Campaign and promotion propagation

Marketing campaigns do not affect products uniformly. An email campaign targeting high-value customers might lift demand for premium SKUs but not budget products. A social media campaign might drive traffic to a landing page that features specific categories.

The impact propagates through the relational structure: campaign → targeted customer segments → products those segments typically buy → expected demand lift. A relational model captures this propagation path. A time series model sees an unexplained spike and calls it noise.

4. Supplier and inventory constraints

Demand forecasting is not just about predicting what customers want. It is about predicting what you can sell, which depends on what you can stock. Supplier lead times, warehouse capacity, and logistics constraints shape the effective demand.

If a supplier delays shipment for SKU A, the stockout redirects demand to substitutes. A relational model that sees the supplier table, the inventory table, and the product relationships can anticipate this redirection before it happens.

Time series forecasting

  • One column of historical sales per SKU
  • Blind to marketing, competition, and cross-table signals
  • Fails on long-tail SKUs with sparse history
  • Cannot forecast new products (cold-start)
  • Treats demand shifts as unexplained noise

Relational forecasting (KumoRFM)

  • Full relational context from all connected tables
  • Captures campaign, substitution, and customer signals
  • Long-tail SKUs benefit from category-level patterns
  • New products forecast from relational position
  • Demand shifts explained by relational context changes

The accuracy difference

The gap between time series and relational forecasting depends on the product category and the volatility of demand. In production deployments, adding relational context typically improves forecast accuracy by 15-30% measured by Mean Absolute Error (MAE) reduction.

The improvement is not uniform. It is concentrated in the areas where time series models are weakest:

ScenarioTime series MAERelational MAEImprovement
Stable high-volume SKUsBaseline5-10% betterModest
Long-tail SKUsBaseline20-35% betterSubstantial
New product launchesNo forecast possibleReasonable forecast from relational contextInfinite
Promotional periodsBaseline25-40% betterLarge
Market disruptionsBaseline30-50% betterVery large

The largest improvements come in exactly the situations where accurate forecasts matter most: new product launches (where inventory decisions are high-risk), promotions (where over- or under-ordering has immediate margin impact), and disruptions (where the historical pattern breaks).

The feature engineering burden

In principle, you can add relational signals to a traditional forecasting model by engineering features from related tables. Many teams try this: compute category_avg_sales_30d, brand_trend_90d, promotion_uplift_coefficient, competitor_price_delta, and feed them alongside the time series into a gradient boosted model.

This works, partially. The challenge is the same combinatorial explosion that plagues all feature engineering on relational data. With 15 tables and dozens of columns per table, the possible features number in the thousands. A team might build 50-100, spend weeks doing it, and still miss the multi-hop and temporal interaction patterns that carry the most signal.

For demand forecasting specifically, the problem is compounded by scale. A retailer with 100,000 SKUs across 500 stores has 50 million SKU-store combinations. Features must be computed for each combination at each forecast horizon. The data engineering pipeline becomes as complex as the modeling itself.

forecast_accuracy_comparison

SKU segmentTime series MAERelational MAEImprovement
High-volume (top 20%)8.2%6.9%15.9%
Mid-volume (20-80%)14.7%10.8%26.5%
Long-tail (bottom 20%)31.4%19.6%37.6%
New launches (<90 days)No forecast22.1% MAEInfinite
Promo periods18.9%11.3%40.2%

Highlighted: long-tail and new launches show the largest improvement. These are exactly the cases where relational context fills the gap left by sparse history.

PQL Query

PREDICT SUM(order_items.quantity, 0, 7)
FOR EACH products.sku_id

Predict next 7 days of unit sales for every SKU. The model automatically incorporates campaign schedules, competitor pricing, substitution relationships, and customer segment trends from related tables.

Output

sku_idpredicted_units_7dconfidence_intervaltop_driver
SKU-4721148131-165Competitor price drop (-$5)
SKU-471800-12Out of stock at supplier
SKU-51028972-106Substitution from SKU-4718
SKU-9033214195-233Email campaign (Wed launch)

How foundation models change forecasting

A relational foundation model eliminates both the time series limitation and the feature engineering burden.

No feature engineering

KumoRFM reads the raw tables (products, orders, customers, promotions, inventory) and constructs a temporal graph internally. No manual joins, aggregations, or feature computation.

Full relational context

The graph representation connects products to customers to orders to campaigns to suppliers. The model sees the full context for each forecast: customer purchase patterns, substitution effects, campaign impacts, and supply constraints.

Cold-start capability

A new product with zero sales history is immediately connected in the graph to its category, brand, price range, and target customer segments. The model generates a forecast based on how similar products (by relational position, not just attributes) have performed. This is impossible with pure time series models.

Rapid adaptation

When market conditions change (a competitor enters the market, a supply chain disruption hits, a pandemic shifts demand patterns), the relational context changes immediately. The graph reflects the new reality (new competitor products, changed supplier relationships, shifted customer behavior) and the model adapts without manual feature re-engineering.

Practical implications

The $1.77 trillion inventory mismanagement problem is not going to be solved by better time series algorithms. The bottleneck is not the model. It is the data representation.

A time series model that looks at one column of past sales is making a forecast with 30-50% of the available signal missing. That missing signal lives in the related tables that the model never sees.

A relational forecasting model that sees all connected tables makes a forecast with the full signal. The accuracy improvement is not because the model is smarter. It is because the model sees more data.

For a retailer with $10 billion in revenue, a 20% improvement in forecast accuracy translates to roughly $200 million in reduced overstock waste and recovered stockout sales. The math is simple. The only question is whether your forecasting system can see all the data that drives demand, or just the sales column.

Frequently asked questions

Why is traditional time series forecasting insufficient for demand prediction?

Traditional time series models (ARIMA, exponential smoothing, Prophet) treat each SKU as an independent series, using only its own historical sales to predict future demand. But demand depends on signals from related tables: customer purchase patterns, competing product launches, marketing campaign schedules, supplier lead times, and seasonal promotions. These cross-table signals carry 15-30% of the predictive information that pure time series misses.

How does relational context improve demand forecasts?

Relational context adds signals from connected tables. For example: demand for winter coats depends on what customers bought last summer (cross-sell patterns), what competing brands launched (substitution effects), which stores received marketing support (campaign impact), and which suppliers have lead time issues (stock-out propagation). A relational model sees all these signals through the graph structure of the database.

What accuracy improvement can relational forecasting achieve?

In production deployments, adding relational context to demand forecasting typically improves accuracy by 15-30% measured by Mean Absolute Error reduction. The improvement is largest for long-tail SKUs (which have sparse individual history but rich relational context) and during demand shifts (new product launches, promotions, market disruptions) where historical patterns break.

Can a foundation model forecast demand without historical data for a new SKU?

Yes. A relational foundation model like KumoRFM generates forecasts for new SKUs by using their relational context: which category they belong to, which brand they are from, what similar products have sold historically, and which customer segments are likely buyers. This cold-start capability is impossible with pure time series models, which require at least 6-12 months of history.

How is demand forecasting different from time series forecasting?

Time series forecasting predicts the next values in a sequence based on past values. Demand forecasting predicts how much of a product will sell, which depends on factors beyond the product's own sales history: pricing, promotions, competitor actions, customer demographics, weather, and economic conditions. True demand forecasting is a relational prediction problem, not a univariate time series problem.

See it in action

KumoRFM delivers predictions on relational data in seconds. No feature engineering, no ML pipelines. Try it free.