Sign in

Blog · Forecast and pipeline · Supply chain

Causal demand forecasting: connect demand to business drivers

Causal demand forecasting connects demand forecasts with measured business drivers such as price and promotions. Compare supplied scenarios, reconcile revenue effects and test forecasts against demand without treating correlation as proof of causation.

The short answerCausal demand forecasting relates future demand to drivers such as price, promotions, distribution and economic conditions. In business planning, teams use supplied driver assumptions to compare demand scenarios and evaluate forecast performance. A useful relationship can support prediction without proving causation, so scenario comparisons should preserve their assumptions, timing, product scope and evidence limits.

Causal demand forecasting connects expected demand with business drivers such as price, promotions and distribution. For a business team reviewing supplied forecasts, the job is to compare the assumptions, calculate their consequences and check earlier forecasts against actual demand. A relationship that predicts well does not by itself prove that changing the driver will cause the predicted result.

That distinction matters when a forecast becomes a purchasing commitment or a promotion budget. The broader demand forecasting guide covers the planning cycle; this page addresses the interpretation and validation of driver-based scenarios already available in your files.

What the approach measures

A driver-based forecast expresses demand as a function of measured inputs. A simple representation is:

Forecast demand = Baseline + Price contribution + Promotion contribution + Other supplied driver contributions

The terms describe a forecasting structure, not a causal proof. Some supplied forecasts use interactions or nonlinear relationships, so their contributions may not be additive in this form. Preserve the method owner's definitions rather than forcing every forecast into a simple bridge.

Forecasting: Principles and Practice describes regression forecasts as relationships between a forecast variable and predictors. A forecast owner might supply scenarios based on different future prices or campaign schedules. The reviewer can compare the resulting quantities without fitting new statistical models.

Ask what each driver means. List price is different from realized price after discounts. A promotion flag may identify an advertised campaign, a rebate or a customer event. Distribution might mean active stores, eligible customers or stocked locations. If those definitions change between history and the forecast, the apparent response can be misleading.

Assemble comparable rows before comparing outcomes

Use a demand export, a supplied forecast file and the scenario assumptions used to produce it. The common grain should be explicit: product, location or channel, demand period and unit of measure. Each forecast row also needs an issue date and scenario identifier.

Field Why it belongs in the comparison
Product and site Keeps unrelated demand populations apart
Period and forecast issue date Establishes the horizon and information available
Scenario identifier Separates alternative futures
Realized or assumed price Makes the pricing basis visible
Promotion definition and dates Identifies the event attached to the forecast
Supplied forecast units Provides the outcome to compare
Actual demand and availability Supports later evaluation and exposes constrained sales

Check uniqueness before joining files. A promotion calendar with several events attached to one product-week can duplicate the demand row and inflate totals. Preserve a missing driver as missing until its meaning is resolved. The demand forecasting data checks cover input readiness in more detail.

Keep the original assumption snapshot. Replacing a forecast price with the actual price after the period ends makes a historical comparison look more informed than the decision really was.

Worked example: price, promotion and revenue

A US distributor receives four alternative weekly scenarios for the same product and site. The forecasts below are supplied planning assumptions, not estimated causal effects. All quantities are sellable units, and price is the expected realized amount per unit before tax.

Scenario Price per unit (USD) Promotion Supplied units Revenue calculation (USD) Revenue (USD)
Baseline 10 Off 1,000 10 × 1,000 10,000
Price change 9 Off 1,080 9 × 1,080 9,720
Promotion only 10 On 1,250 10 × 1,250 12,500
Combined 9 On 1,350 9 × 1,350 12,150

The price-change scenario raises units by (1,080 − 1,000) / 1,000 = 8.0%, but reduces revenue by (9,720 − 10,000) / 10,000 = −2.8%. More units do not necessarily mean more revenue.

The promotion-only scenario raises both units and revenue by 25.0% against baseline. The combined scenario raises units by 35.0% and revenue by 21.5%. Percentages are rounded to one decimal place. Each percentage uses the baseline for its own measure as the denominator.

Do not sum the revenue column. The rows are alternative futures for the same week, not transactions to aggregate. Also do not assume that separate price and promotion responses add together; the combined result must come from the supplied scenario or its documented calculation.

The check is revenue = price × units on every row. Finance should then bring unit cost, campaign expense and capacity constraints into its own decision. The revenue driver analysis page explains the related task of reconciling revenue movements.

Check performance on forecasts issued before actual demand

Scenario arithmetic can be correct while demand forecasts are inaccurate. Review historical forecast snapshots separately from future scenarios. The following completed weeks use forecasts issued before their demand occurred; their scenario inputs matched the price and promotion states ultimately observed.

Week Price (USD) Promotion Forecast units Actual units Forecast − actual Absolute error
A 10 Off 1,000 980 20 20
B 9 Off 1,080 1,100 −20 20
C 10 On 1,250 1,190 60 60
D 9 On 1,350 1,430 −80 80
Total 4,680 4,700 −20 180

The reconciliation is 4,680 − 4,700 = −20 units. Absolute errors sum to 180, giving weighted absolute percentage error of 180 / 4,700 = 3.83%, rounded to two decimals. The small net error hides offsetting misses, so keep both views. Forecast bias by SKU and site examines the directional measure.

These rows show forecast performance, not promotion effectiveness. They are different weeks with potentially different seasonality, customer demand and availability. Forecasting: Principles and Practice distinguishes useful forecasting relationships from causation and discusses scenario assumptions.

Who owns the assumptions and where they fail

Sales or commercial teams own planned prices and promotion schedules. Demand planning owns the supplied forecast version and demand definition. Operations confirms availability constraints. Finance checks the revenue and profitability implications. Give each assumption a named business owner and a review date before commitments are made.

Four pitfalls deserve particular attention:

  • Promotion timing follows demand. Teams may schedule campaigns in already strong weeks. A historical association can overstate incremental demand.
  • Inputs arrive after the decision. Actual weather, final discounts or revised campaign dates cannot stand in for information available when a forecast was issued.
  • A new scenario leaves historical experience. An unfamiliar price or promotion combination deserves explicit uncertainty and business review.
  • Shipments substitute for unconstrained demand. A product unavailable during a campaign can appear unresponsive even when customer requests rose.

Ask whether a scenario holds other inputs constant and whether that combination is commercially plausible. A planned discount might require a campaign, a customer commitment or extra distribution. Comparing assumptions is useful only when their operational dependencies are visible.

Review driver scenarios on your own file

Upload your supplied scenario file and matching demand history or Google Sheet, keeping prices, promotion flags, product identifiers and forecast dates. Covirage maps the columns; its tools compute and check comparisons, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, and bring a sample of your own data.

See forecast analysis in Covirage for the supporting workflow.

Questions people ask

Does causal demand forecasting prove that a promotion increased sales?

No. A forecast can use promotion status as a predictor without identifying the promotion's causal effect. Seasonality, availability or customer selection may explain part of the relationship. Claims about incremental impact need evidence that addresses those alternatives, such as an appropriately designed experiment.

Which business drivers belong in a demand forecast?

Start with measured drivers that have a plausible connection to demand and are available at the decision date. These may include realized price, scheduled promotions, distribution coverage, holidays and customer activity. Record their timing and definition so future scenarios use comparable inputs.

How should teams compare price and promotion scenarios?

Use the same product, site, future period and forecast version. Change clearly labeled assumptions and compare supplied demand, revenue and uncertainty. Treat scenarios as alternatives rather than adding their quantities together, and distinguish an assumed response from a response established by evidence.