Next case →
Case study · 03

Promo Advisor

Getting revenue teams to trust an AI that told them their promotions were losing money: an end-to-end platform, live across multiple markets, that cut promo-planning time 30–40% and moved historically money-losing promotions onto data-driven planning.

Role
Founding product lead
Context
Heineken · 2021 – 2026
Domain
Revenue Management
Approach
3-module ML platform
Fewer, bigger events · Nordmart · 2025

The promo calendar

Every SKU's promotions across the year, coloured by quality. Green pays back, red destroys value. The whole point: a planner spots a bad promo from across the room, before it runs.
Calendar List Comparison
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
ROI
Nordlys
28%
Nordlys 330ml · 24pk
31%
Nordlys 500ml · 12pk
26%
Nordlys 660ml · 6pk
22%
Verano
25%
Verano 330ml · 6pk
27%
Verano 355ml · 12pk
24%
Kestrel
30%
Kestrel 440ml · 24pk
34%
Kestrel 330ml · 12pk
21%
Both up (profit & margin) Profit up, margin down Margin up, profit down Both down
Illustrative concept, not the actual product.Fictional brands and data.

The surface teams planned on. Every SKU's promotions for the year, coloured by whether each one makes or loses money, so a planner can kill a bad promo before it runs, not audit it after. Illustrative concept · fictional brands and data.

30–40%
Promo-planning time cut, across multiple markets.
Benchmarked · internal
Efficiency
~15% less cannibalization
On optimized calendars, brands stopped eating their own volume for a headline number.
Behaviour change
Distrust → planning with the model
Teams moved from defending last year's calendar to planning against the model, and asking it why.
Scope
Live in multiple markets
What one market learns about a mechanic is shared across the rest, not trapped in local spreadsheets.
01 · Overview

What Promo Advisor does

Trade promotions are one of the largest controllable lines a beverage business spends against, and across consumer goods, roughly a third of them fail to earn a positive ROI. Planning ran on spreadsheets, habit, and last-year's-calendar instinct, repeated across every market, every year.

Promo Advisor is the end-to-end platform Revenue Management teams use to design, test and optimize promotions. It combines historical data with prediction through three AI modules: Diagnostics (what worked), the Scenario Simulator (what will work), and the Calendar Optimizer (the best calendar within real constraints).

The result: promotions stop being a leak and become a continuous, optimized driver of growth, with what one market learns shared across the rest, instead of trapped in local spreadsheets.

02 · The problem

The model was never the hard part.

Heineken had the data science to model which mechanics actually paid back ("15% off" versus "buy 3, pay for 2") across customers and markets. Building an accurate forecast was not the hard part.

The hard part was human. The model regularly disagreed with experienced revenue managers, and told them, in numbers, that promotions they had run for years were destroying gross profit. A more accurate forecast that no one trusts changes nothing. The blocker was never the math; it was getting commercial teams to act against their own gut.

Fewer, bigger events · Nordmart · Q3 2025

Every promo, ranked best to worst

One bar per promo event, sorted by ROI. The green head pays back, the red tail is the roughly one-in-three promotions that lose money. This is the view that makes a bad promo impossible to miss.
Promo events
45
Value-positive
31
Losing money
14 · 31%
+60% +30% 0 −30% LOSING MONEY → ROI PER PROMO EVENT BEST → WORST
Strong ROI Positive Marginal Losing money
Illustrative concept, not the actual product.Fictional brands and data.

Where every plan started. Rank every promo by ROI and roughly one in three is underwater, the money the tool existed to stop losing. Illustrative concept · fictional brands and data.

03 · My role & ownership

Accountable for whether teams actually planned with it.

I was the founding product hire in the analytics group and the only product owner on this system, from discovery to delivery: the problem framing, the module scope, the roadmap, and the adoption strategy into how teams plan.

I was accountable for whether Revenue Management teams actually planned with the tool, not just whether it shipped. I was the standing bridge between the data scientists building the models and the commercial org that had to change how it worked.

04 · Key decisions

Three product bets that earned trust

Each one traded a better-looking model for something a commercial team would actually act on.

01
Bet on adoption, not accuracy.
The obvious path, the one the data-science instinct pulls toward, was to keep improving model precision. I argued against it. Teams were already ignoring forecasts that were good enough; more decimal places wouldn't move usage. I redirected scope from squeezing the model to making its output legible and trustable.
The tradeoffWe under-invested in headline model accuracy to invest in explainability, and I defended that to people who measure their work in model error.
Adoption over accuracy
02
Show the model's uncertainty, not one clean number.
The intuitive move is a single confident figure so the tool looks decisive. I chose to show the prediction with its confidence range and a plain-language "why", the drivers: cannibalization, stockpiling, competitor switching. Legibility builds more trust than false precision.
The tradeoffA busier interface and harder conversations, in exchange for teams who believed the number because they could see how it was made.
Range over number
03
Prove incrementality, not just report sales.
A promo always looks good if you count every unit sold during it. I made the harder call: the model had to separate true uplift from the baseline that would have sold anyway, and credit the promo only for the incremental part. That made every number smaller and every claim defensible.
The tradeoffLess flattering headlines, in exchange for ROI figures a finance team couldn't tear apart.
Incremental over gross
Decision 02, made visible

Show the range, not a false single number.

Nordlys Pilsner · Meridia · Q3 plan

Which promo mechanic actually pays back?

Predicted incremental gross profit before you commit the budget.
15% off
Predicted ROI
1.6×
Recommended Buy 3, pay for 2
Predicted ROI
2.1×
Recommended · incremental gross profit
1.0×2.0×3.0×
+€310K predicted, likely range €250K–€380K  ·  80% confidence. The model shows the range, not a false single number.
Why this number
Base uplift
+€520K
Cannibalization
−€140K
Stockpiling pull-forward
−€70K
Net incremental GP
+€310K
Illustrative concept, not the actual product.Fictional brands and data.

The core call, on one screen: predicted ROI with its confidence range and the drivers underneath, never one false-confident number. Teams trusted the range precisely because it admitted what it didn't know.

Illustrative concept · fictional brands and data
Decision 03, made visible

Credit only what's truly incremental.

Nordlys 330ml · 24-pack · Nordmart · Q3 plan

Baseline vs uplift, week by week

The hard part is separating what the promo actually added from what would have sold anyway. Light bars are baseline volume, dark green is true incremental uplift, and the line is the promo price that drove it. You only credit (and pay margin on) the uplift.
Baseline volume
65.5K hL
Promo uplift
+12.3K hL
Truly incremental
16% of volume
0 2k 4k 6k 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VOLUME (hL) WEEK
Baseline (would have sold anyway) Uplift (incremental) Promo price Regular price
Illustrative concept, not the actual product.Fictional brands and data.

Split true uplift from the baseline that would have sold anyway; the price line shows what drove it. We only paid margin on the incremental part, which is what made the ROI believable.

Illustrative concept · fictional brands and data
05 · What shipped

Three modules: hindsight, foresight, prescription.

A production platform of three AI modules on the shared React/MUI design system, deployed across multiple markets. To de-risk the rollout, I shipped the Simulator before the automatic Optimizer, so teams learned to argue with the model on their own scenarios before trusting it to build the whole calendar.

Descriptive · Predictive · Prescriptive ML · Explainability UX · React / MUI · Databricks
01 · Descriptive
Diagnostics
Evaluates past promotions and isolates their true effects, separating real uplift from cannibalization, stockpiling and competitor switching.
02 · Predictive
Scenario Simulator
Tests a promo before it runs: models trained on thousands of past promotions estimate likely sales and ROI, with a confidence range, for any mechanic.
03 · Prescriptive
Calendar Optimizer
Builds the revenue-maximizing calendar within real constraints, testing combinations to keep negative-ROI promotions out of the plan.

Promo Planner

Every calendar a team is exploring, grouped by where it sits in the plan. Promote an exploration once it beats the live plan.
Calendar Status Retailer Window Incr. GP ROI
In the plan3
Q3 base plan
Live
Nordmart
Jul–Sep 2025
€3.2M
24%
baseline
Autumn peak pushAI
Annual plan
Nordmart
Sep–Dec 2025
€3.8M
29%
▲ 5 vs live
Full-potential ceilingAI
Full potential
Nordmart
Jan–Dec 2025
€4.6M
37%
▲ 13 vs live
Exploration7
Fewer, bigger eventsAI
Exploration
Nordmart
Q3 2025
€4.1M
33%
▲ 9 vs live
Multibuy over price-offAI
Exploration
Halden
Jul–Sep 2025
€3.9M
31%
▲ 7 vs live
Cut low-ROI weeksAI
Exploration
Corvel
Jan–Dec 2025
€3.7M
30%
▲ 6 vs live
Shift spend to HaldenAI
Exploration
Halden
Jan–Dec 2025
€3.5M
27%
▲ 3 vs live
Protect Q4 marginAI
Exploration
Corvel
Oct–Dec 2025
€3.3M
26%
▲ 2 vs live
Deeper price cutsAI
Exploration
Nordmart
Q3 2025
€2.9M
21%
▼ 3 vs live
Every-week presenceAI
Exploration
Halden
Jan–Dec 2025
€2.7M
19%
▼ 5 vs live
Illustrative concept, not the actual product.Fictional brands and data.

Adoption, not a pilot. Teams ran dozens of scenarios and promoted the ones that beat the live plan. The workflow around the model is what made it stick. Illustrative concept · fictional brands and data.

06 · Impact

From money-losing promos to a data-driven baseline.

The real proof wasn't the accuracy: it was the behaviour change. Revenue teams moved from defending last year's calendar to planning against the model and asking it why. Delivered outcomes are stated as delivered; benchmarks are labelled as such.

Fewer, bigger events · Nordmart · Q3 2025

How this scenario moves the KPIs

Simulated impact vs last year, decomposed by brand. Green is incremental gain, red is where a brand gets cannibalized. The point is to show the tradeoff, not just the headline.
Exploration
Incremental GP (€)
€4.1M
LY €3.6M  ▲ 14%
ROI (%)
33%
LY 28%  ▲ 5 pts
Incremental volume (hL)
512K
LY 486K  ▲ 5%
Incremental net rev (€)
€14.8M
LY €13.1M  ▲ 13%
Incremental GP by brand
Nordlys
+€1.5M
Verano
+€1.0M
Kestrel
+€0.8M
Aurora
+€0.5M
Solvang
+€0.3M
Incremental volume by brand  · two brands cannibalized
Nordlys
+300K
Verano
+170K
Kestrel
+110K
Aurora
−30K
Solvang
−38K
Illustrative concept, not the actual product.Fictional brands and data.

Proof it stayed honest. The tool surfaced where a winning plan still cannibalised smaller brands, not just the flattering top line. Showing the downside is what earned trust in the upside. Illustrative concept · fictional brands and data.

07 · The lesson

The hard part of an AI product is almost never the model. It's the human layer: framing the objective, and making a probabilistic output trustable enough that someone changes what they do.

08 · In context

The execution engine of a three-part system

Promo Advisor executes inside the budget Allocation AI sets and the timing Smart Flighting schedules.

Keep exploring

That's the system, end to end.

Allocation AI secures the funding; Smart Flighting schedules the impact, or head back to all work.

Tomasz Czarnecki © 2026 · czarnecki.ai · Product visuals are illustrative concepts