Trade promotion optimization replaces the year-ago comparison in a post-event report with a baseline model that scores past events and forecasts the next one from the same estimate. In 1987, Abraham and Lodish described in Marketing Science a system that "estimates a baseline of what sales would have been had a promotion not been run" (DOI 10.1287/mksc.6.2.101). The spend is a forecast before any report exists. Clorox's 10-K for the fiscal year ended June 30, 2024 reports revenue "net of certain variable consideration provided to customers, generally in the form of one-time and ongoing trade promotion programs," and a 10% change in its accrual estimates would move net sales by approximately $14 million (the filing states amounts in millions). The question is whether that forecast comes from a model or from last year.
What Trade Promotion Optimization Decides, and What TPM Records
Trade promotion optimization (TPO) is the decision layer that, for each planned event at a retailer (SKUs, mechanic, depth, week, display or feature support), estimates the sales that would occur without the promotion and the extra sales it adds, and weighs both against cost before funds are committed. Trade promotion management (TPM) is the system that records the plan, the funds and the settlement afterward.
Salesforce's training material for its TPM product defines baseline volume as "the number of product units sold from an account without any promotions" and uplift volume as "the number of extra product units that are expected to sell when a promotion is run," noting that the baseline process "varies greatly across organizations." Legacy SAP CRM 6.0 documentation shows the arithmetic: the planned Uplift Quantity (0UPLI_QTY) is entered "based on the Baseline Sales Quantity," and the Invoiced Quantity is "the sum of the baseline sales quantity and the planned uplift quantity." TPM holds the field; TPO decides what goes in it, replacing last year's week with a model.
This guide covers trade promotions: temporary investments a manufacturer makes at a retailer, after which the shelf price returns. A markdown is a permanent cut a retailer takes to clear stock, covered in how markdown optimization clears seasonal stock. Promotion is also only one lever of revenue growth management; pricing, assortment and trade terms stay outside this text.
Why the Post-Event Report Arrives Late and Measures the Wrong Baseline
Most teams searching for trade promotion optimization already own a post-event report; what they lack is a baseline the report and the next forecast can share. The report arrives after settlement, when next quarter's calendar is signed. In Salesforce's training material on promotion effectiveness, "KAMs determine a promotion's effectiveness by performing a post-event analysis."
The baseline is the bigger flaw. A year-ago comparison inherits the season and any promotion that ran in that week last year. Such a figure describes last year, not trade promotion effectiveness. Abraham and Lodish also examined the large biases of judging promotions from factory shipment data alone: a retailer buying ahead looks like uplift to the manufacturer and like nothing at the till.
Nor is the bump all growth. Van Heerde, Leeflang and Wittink (Marketing Science, 2004, DOI 10.1287/mksc.1040.0061; repository record) split it into "cross-brand effects (secondary demand)," "cross-period effects (primary demand borrowed from other time periods)" and "category-expansion effects (remaining primary demand)." On average across the four store-level datasets they studied, each part contributed about one third.
The window needs a name too. In a study of 560 Dutch supermarket categories over four years, Nijs, Dekimpe, Steenkamp and Hanssens (2001) found a mean short-run category elasticity of 2.21 (median 1.75), effects fading in about 10 weeks, and an essentially zero long-run effect on category demand. Uplift measured "to quarter end" measures the season.
The Baseline Is a Forecast: What Sits Behind the Word AI
In trade promotion optimization the baseline is not a lookup; it is a forecast of a week that did not happen, and it has to be built like one. The model learns from non-promoted periods and from inputs known on decision day (calendar, regular price, distribution, season), then predicts the promoted week as if no promotion had run. Uplift equals actual sales minus that baseline forecast.
"AI" here means two method families. The first is forecasting with explanatory variables. The M5 competition, built on "42,840 time series representing the hierarchical unit sales for the largest retail company in the world by revenue, Walmart," added "exogenous/explanatory variables in addition to the time series data" (Makridakis, Spiliotis and Assimakopoulos, International Journal of Forecasting, 2022; results). Microsoft's Dynamics 365 demand planning documentation (April 2026) limits its "Forecast with signals" step to XGBoost and calls Prophet "ideal for businesses that are affected by special events such as holidays or promotions."
The second corrects for promotions not being random. Double/Debiased Machine Learning (Chernozhukov and coauthors) is a general-purpose econometric recipe built on "K-fold sample splitting, which we call cross-fitting." Uplift modeling, per one tutorial, is "a collection of machine learning techniques for estimating causal effects of a treatment"; TPO applies it to an account and a week, not an individual shopper.
Validation is a back-test on past events, promoted weeks hidden; Abraham and Lodish used "three available real cases where promotions were discontinued" as partial validation. An A/B split with control stores is better when a retailer agrees.
| Question | Input | Estimate | Reference |
|---|---|---|---|
| 1. What would have sold without the promotion? | Non-promoted weeks, regular price, distribution, season | Forecast model back-tested on past and canceled events | Abraham and Lodish 1987; TPM baseline fields |
| 2. How much extra sold, and how much is new demand? | Sell-out actuals, mechanic, depth, support | Actual minus baseline, then decomposed | van Heerde, Leeflang and Wittink 2004 |
| 3. What will the next event do? | Same baseline plus planned mechanic, depth, week, support | Conditional forecast, causally corrected | M5, IJF 2022; Double/Debiased ML |
| 4. What did it cost, and who earned it? | Trade spend by event, accruals, settlement | Incremental margin per party minus spend | Clorox and Simply Good Foods 10-Ks; Srinivasan and others 2004 |
Four questions, one baseline; the report and the forecast differ only in tense.
From Uplift to Incrementality: What to Subtract Before You Call It Growth
The van Heerde decomposition tells a planner where the extra units came from. Cross-brand effects are sales taken from other items: the manufacturer's own SKUs (cannibalization) or a competitor's. Cross-period effects are demand moved in time, through shopper pantry loading or retailer forward buying, followed by a post-promotion dip. Category expansion is the only new demand. Support shifts the mix: "feature-supported price discounts are strongly associated with cross-period effects," while "display-only supported price discounts have especially strong category-expansion effects." These are findings from four datasets, not laws. Trade promotion optimization that reports uplift without this subtraction reports a third of the answer as the whole.
The answer also depends on who counts. Srinivasan, Pauwels, Hanssens and Dekimpe (Management Science, 2004) found that "a price promotion typically does not have permanent monetary effects for either party"; in their data, promotions usually lifted manufacturer revenue, retailer revenue effects were mixed, and retailer category margins usually fell. Manufacturer and retailer incrementality are two numbers from one event.
The Data a Manufacturer Already Has, and the Two Gaps That Break the Model
ERP holds shipments and deductions, TPM holds the plan and mechanic, and finance holds accruals. Trade promotion optimization does not need a new data platform first; it needs sell-out next to shipments and a calendar that says what the retailer actually did.
Those are the two gaps. Without POS or syndicated consumption data, the model reads forward buying as uplift, the shipment bias Abraham and Lodish described. Without promotion flags carrying mechanic and support, it cannot tell a feature from a display, which changes what the uplift is made of.
Finance already treats the spend as an estimate. Clorox states that "Amounts accrued for trade promotions are based on various factors such as contractual terms and sales volumes." Simply Good Foods' 10-K for the fiscal year ended August 30, 2025 records trade promotions "as a reduction to net sales," and reports an allowance for trade promotions of "$37.8 million and $36.3 million" for 2025 and 2024; differences are "recognized as a change in management estimate in a subsequent period." TPO does the same forecasting per event, before the event enters the accrual.
Scenario Forecasts and the Calendar: Constraints Before Optimization
The decision variables are SKU, retailer, mechanic, depth, week and support. Constraints make the answer usable: the trade spend budget, retailer terms such as minimum gaps between events, two own brands promoted in one week, and supply capacity, since uplift that cannot ship becomes an empty shelf. Trade promotion optimization earns its name only when the calendar is chosen under constraints, not when a model ranks events it would never be allowed to run.
A scenario is a conditional forecast from the same baseline: a what-if on depth or support changes the uplift and its composition, and the baseline stays put. With two models, a team compares two versions of "no promotion." After the event, the review compares actual sales with the forecast and the baseline, and the difference goes back into the model. Legacy SAP CRM already shows that "Based on the Uplift Factor (0UPLI_FCT), the system can calculate the Forecast Uplift Quantity (0UPLI_PQTY)," so the field can take a forecast if a model supplies one.
Where to Start: One Category, One Retailer, Two Promotion Cycles
- Pick one category at one retailer with both shipments and sell-out.
- Add mechanic and support to the event calendar.
- Back-test the baseline on at least two promotion cycles, including canceled events.
- Decompose recent events before touching next quarter.
- Then add constrained scenarios and write the forecast into the plan's uplift fields.
Trade promotion optimization fails the way most promotions fail: the baseline was last year, the uplift was the whole bump, and the report came after the money. Fix the baseline first.
At DS Stream we treat this as data science, not reporting: a baseline model validated on your own past promotions, built before anyone sees a scenario. Lorenz Polska is among the FMCG manufacturers we build commercial models for; in a category management project there, promotional data was enriched and LLMs made siloed promotion datasets usable. If you want to test this, bring us one promotion calendar and the post-event reports you already have.
FAQ
What does TPO decide, in one sentence?
Trade promotion optimization decides, before funds are committed, which promotion to run at which retailer, how deep, in which week and with what support, by estimating the sales without it (the baseline), the extra sales it adds (uplift) and how much of that uplift is new demand.
How is TPO different from trade promotion management?
TPM records the plan, funds and settlement and has fields for baseline and uplift, but leaves the estimates to the organization. TPO fills those fields with a validated model and scores the event afterward with the same model. Neither replaces the other.
How do you measure a promotion's baseline without a control group?
Forecast the promoted weeks from a model trained on non-promoted periods and inputs known at decision time, then back-test it on past and canceled promotions, as Abraham and Lodish did.
Does trade promotion forecasting need machine learning, or is econometrics enough?
Both appear in the literature: van Heerde and coauthors used store-level regression; M5 tested methods with explanatory variables. What matters more is a baseline trained on non-promoted periods, a calendar with mechanic and support, and a back-test on your own events.