Promo lift is a decision, not a marketing number
Most retailers measure promo success on absolute uplift. That number is wrong in three structural ways — and the year-end bill is rarely seen for what it is.
The scene is familiar in almost every chain. A category manager pulls the promo recap on Monday morning. Units moved during the promo week ran three times the baseline. The slide is built, the win is shared, the next promo is locked in for the following month. The narrative is settled: the promo worked.
That narrative is wrong almost every time. Not because the units didn't move — they did. But because absolute uplift, the headline number that drives most retail promo decisions, systematically overstates the value created by a factor of three to ten. The promo didn't generate the demand it appeared to generate. It pulled it forward, substituted it from elsewhere in the assortment, and trained part of the customer base to wait for the next discount.
This is not a measurement nuance. It's a structural misreading that, repeated across a full promo calendar, quietly burns one to three points of net margin per year on the retailers who keep operating that way. The article looks straight at why the standard promo measurement framework is broken, what the true incremental margin of a typical retail promo actually looks like. And why promo planning belongs in the decision layer of the business — not in the marketing calendar.
What "promo lift" usually measures (and why it's misleading)
In most retail organizations, promo performance is measured the same way it was measured twenty years ago. You compare units sold during the promo period against a baseline — last four weeks' average, same period last year, or both. The ratio is the "lift". If you sold three times more, the lift is 3x. Decision made: the promo worked.
This measurement carries a built-in assumption that almost never holds: that the baseline is what would have happened without the promo. It isn't. The baseline is what happened before the promo, which is a fundamentally different thing. The two are confused because the counterfactual — what would have happened in a parallel universe with no promo — is invisible.
That invisible counterfactual is exactly where the value sits. Customers don't appear from nowhere because a price drops. They make decisions about when to buy, what to buy, and whether to buy at all. And a promo influences each of those three timings in ways the lift number cannot disentangle. Three distinct mechanisms inflate the headline, every single time.
Mechanism #1: pull-forward
The first mechanism is the easiest to describe and the hardest for most teams to accept. A meaningful share of the units sold during the promo week would have been sold anyway, just later. A customer who would have bought a coat in three weeks at full price buys it this week at -30% because the promo is on.
The unit moved. The margin on it dropped by 30%. Nothing was created.
The signature of pull-forward is unmistakable when you actually look for it. Sales in the weeks following the promo run below baseline — sometimes 20 to 40% below. This lasts for exactly as long as the pulled-forward demand had been sitting in the future. The total area under the sales curve, integrated over the full pre-promo plus promo plus post-promo window, is barely different from the same window without a promo. What changed is the price the retailer captured on those units, not the units themselves.
Most weekly recaps never catch this because the post-promo dip lands in the next reporting period. It gets absorbed into baseline noise, attributed to weather, or quietly hidden behind the next promo that lifts that week's curve. The mechanism is invisible at the weekly cadence and obvious at the quarterly one — but the decision was already taken at the weekly cadence.
Mechanism #2: cannibalization
The second mechanism operates inside the assortment rather than across time. Customers don't only choose when to buy. They choose what to buy.
When you put one SKU on promo, customers who would have bought a neighboring full-price SKU in the same category swap. Net category volume looks great in the recap. Net category margin is materially down.
The clearest example sits in apparel. Promote the navy crewneck at -25% and the burgundy crewneck — same price tier, same fit, same wall — sells through 30% slower that week. Aggregate category sell-through looks fine because the two SKUs together moved as expected. But the unit mix has shifted from a full-margin product to a discounted one, and the per-unit margin contribution of the category just dropped without anyone noticing.
Cannibalization compounds with private-label dynamics, with same-category competing brands, with bundle and cross-sell patterns. A single category recap cannot see it. A SKU-level recap can. But few merch teams have the time, the tooling, or the cross-SKU baseline model to run that recap on every promo, every week, across the full assortment.
Mechanism #3: halo and anti-halo
The third mechanism is the messiest because it cuts both ways. A promo on one category sometimes creates a halo: customers come in for the discounted item, attach a full-price basket around it. And the total trip margin is higher than the same customer's average trip. This is real, measurable, and the main reason some loss-leader promos make economic sense.
But the same promo also creates an anti-halo that is rarely measured. Customers learn the cadence. They wait. The category that used to sell at full price two weeks before the promo now sells at 40% of that volume. The regular buyers postponed the trip until the discount window.
Net of halo and anti-halo, most retail promos sit close to zero on category-wide basket effects. But the recap only counts the halo, because the anti-halo lives in the weeks the promo wasn't running.
The chain that runs four promos a quarter on the same category trains its customer base, over two or three years, into a "never pay full price" posture. The price image holds in surveys. The full-price sell-through curve quietly collapses. The lost margin doesn't show up in any single weekly file.
The true incremental margin of a typical retail promo
Stack the three mechanisms on a realistic promo and the arithmetic gets uncomfortable. Take a category running at 100 units per week at a 50% gross margin. A -25% promo week shows 300 units sold — lift of 3x, the slide writes itself.
Now subtract the structural effects. Roughly 40 to 60% of the 200 incremental units were pull-forward — they would have sold in the next four to six weeks at full price. Another 15 to 25% were cannibalized from adjacent full-price SKUs in the same category. The halo on basket attach contributes a few points back. The anti-halo, integrated over the surrounding weeks, takes a few points off.
Net all of this out at a portfolio level, and the truly incremental margin of a typical retail promo runs at 10 to 30% of the headline. A promo that looks like it created €300K of incremental gross margin actually created €30K to €90K. The other €210K to €270K is accounting that double-counts revenue the chain would have captured anyway, often at a better price.
A full promo calendar runs twelve to twenty meaningful promos per category per year. Across all of them, the cumulative gap between headline and reality regularly reaches one to three points of net margin. On a €500M retailer at a 3% net margin, that's €5M to €15M evaporating into a measurement framework that has been wrong the entire time.
Why this gets fixed in the decision layer, not in marketing
The instinct, when a team encounters this gap, is to fix the measurement. Build a better promo attribution model, run a holdout group, A/B test promo intensity. These are good practices and they help. They are not the structural fix.
The structural fix is to stop treating promos as a marketing-calendar exercise and start treating them as a margin-allocation decision. A promo isn't a campaign you run because the calendar says it's promo week. It's a deliberate trade — "I will spend X margin points to acquire Y units of truly-incremental volume, captured under Z conditions that protect the price image and minimize cannibalization." The framing changes which question the organization asks each week.
Under the marketing-calendar framing, the question is "what's our promo for next week?" and the answer is constrained by the calendar slot. Under the decision framing, the question is "is there a promo that earns its margin cost on this category this week?" and the answer is sometimes no. That no — the promo you decide not to run because the incremental case doesn't clear the hurdle — is where the recovered margin lives.
This shift doesn't remove marketing's role. The promo offer, the creative, the in-store execution, the customer communication: all of that stays where it is. What moves is the decision of whether a promo runs, on what SKU, at what depth, in which stores, with which guardrails on cannibalization-prone neighbors. That decision belongs in the same operational layer that already runs markdowns, replenishment. And reallocation — because it draws on the same underlying signal and competes for the same margin pool.
The Solya angle
This is precisely where Solya sits in the promo question. Not a promo-planning tool bolted onto the marketing calendar. A decision layer that treats every proposed promo as a margin-allocation decision evaluated under the same data, the same business rules. And the same incrementality model as the rest of the operational flow.
Concretely, three things change. First, the baseline against which promo lift is measured is no longer last month's units. It becomes a counterfactual built from comparable non-promoted SKU/store pairs over the same window, which makes pull-forward and cannibalization visible before the promo is locked in. Second, the cannibalization map of the assortment is computed and re-computed continuously, so the platform can flag adjacent SKUs whose full-price velocity will collapse if a given promo runs. Third, the decision to run, skip, narrow, or shift a promo is taken at the SKU/store level — and propagated to execution systems without breakage.
The promo that survives that filter is the one that actually earns its margin cost. The promo that doesn't survive is the recovered margin nobody currently sees.
The question worth asking
If you run a meaningful promo calendar. And almost every retailer does — ask the one question that breaks the comfortable narrative: on your last promo, what fraction of the lift was truly incremental. And what fraction was pull-forward, cannibalization, or anti-halo accounting? If the answer is "we don't measure that", the answer is statistically close to 70 to 90% of what you think it is.
The cost of running the wrong measurement framework over a full year of promos isn't a rounding error. It's one of the largest unidentified margin reservoirs in retail today — and it sits in the gap between what the recap slide says and what the P&L actually records.
Want to see what your promo calendar is really worth?
At Solya, we offer merchandising and finance leadership a personalized 30-minute diagnostic to assess, on your own promo history, the gap between headline lift and true incremental margin. No generic benchmark: a concrete read on your own categories, your own cadence, your own pull-forward and cannibalization profile.
You'll walk away with:
- An estimate of the headline-to-incremental gap on your most recent promo cycle
- A view of the categories and cadences where the gap is structurally largest
- The decision-layer adjustments that would recover the lost margin without cutting promo volume
Related articles
What is dynamic pricing in retail? A 2026 decisioning view
Dynamic pricing in retail isn't one discipline but two — rules and decisions. Here's the 2026 definition that tells them apart.
Dynamic pricing in retail: rules dressed up, or actual decisions?
Most platforms sold as dynamic pricing are rule engines with a slicker UI. Here's a buyer's test to tell rule-based pricing apart from decisions.
Why 70% of retail markdown decisions are still manual (and expensive)
Most chains still set markdowns from a spreadsheet on Monday morning. Here's why the manual habit persists — and what it actually costs in net margin.
