Discount Drift

An essay in five sliders

Most lift reports flatter the marketer at the expense of the finance team. Below is the arithmetic that turns a +50% revenue headline into a -47% margin draw -- and the sliders to test whether your own promo is honest.

The Margin row is the same lift expressed in contribution margin instead of orders -- every discounted order books less than a full-price one. The Gap is the size of the conversation with your finance team.
Headline True Impact on €1M
Revenue lift Treatment conversion divided by observed control conversion, minus 1. The marketer's number -- what most dashboards report. the marketer's number +50% +24% -26 pts · €260,000 imagined
Margin lift The lift re-expressed in contribution-margin terms. The true value x per-order CM compression is the number that lands on the CFO's desk. the CFO's number -36% -47% -11 pts · €110,000 imagined

How the lift collapses

Subtract the harms

Your assumptions

Discount depth The average percentage off across your campaign -- blended across all SKUs and promo days, not the headline 'up to' number. DTC summer promos typically cluster 15-25%; peak-season events run 30%+. Drives both subsidisation cost and returns drag -- depth is the lever that hurts you twice. 20%
Heavy-buyer share of redeemers Of everyone who redeemed the coupon, the share who are your high-frequency customers (3+ orders/year). When this runs above 50%, the campaign is mostly a thank-you note to people who'd have bought anyway. Drives subsidisation and most of cannibalisation. 60%
Baseline return rate Your normal full-price return rate, before any promo effect. Apparel sits around 20-35%, beauty 8-15%, accessories and consumables typically below 10%. Used to size how much worse returns get on the discount cohort (the 2.8x multiplier). 12%
Holdout contamination Share of your control group that saw the promo anyway -- through homepage banner, email, influencer, or affiliate. Typical contamination from a homepage banner alone is 20-40%; only a strict geo or paid-channel holdout gets close to zero. Drives the leaky-holdout correction. 25%
Your contribution margin Your full-price contribution margin per order -- revenue minus COGS minus all variable per-order costs (shipping, payment processing, fulfilment, returns reserve). DTC apparel typically lands at 30-40%; beauty at 50-65%; commodity categories below 20%. This is the lever that turns a 'revenue win' into a margin loss when depth eats more than you cleared. 35%
-- link copied --
Methodology & worked example 🤓

The four harms describe revenue you didn't actually earn. The CM layer goes further: every order in the promo carries less per-order margin, because the discount eats into the same pool the harms left you. When depth exceeds margin, the compression factor turns negative and the campaign is selling at a loss -- the calculator shows this honestly rather than clamping to zero.

INPUTS  (slider positions)
  discount depth          d  = 20%
  heavy-buyer share       h  = 60%
  baseline return rate    r  = 12%
  holdout contamination   c  = 25%
  contribution margin     m  = 35%

CONSTANTS  (model assumptions)
  treatment conversion        T = 3.0%
  observed control rate       O = 2.0%
  heavy-buyer baseline P(buy) = 78%
  light-buyer baseline P(buy) = 18%
  pull-forward share          = 40%   (of heavy-buyer redemptions)
  returns multiplier          = 2.8x  (at full discount intensity)
  deep-discount threshold     = 30%

--------------------------------------------------------------------
HEADLINE REVENUE LIFT
  L0 = T / O - 1
     = 3.0% / 2.0% - 1
     = +50%

HARM 1.  LEAKY HOLDOUT
  Part of the holdout saw the promo. Strip them out to recover the
  TRUE control rate, then re-compute lift.

    true control       = (O - c x T) / (1 - c)
                       = (2.0% - 25% x 3.0%) / (1 - 25%)
                       = 1.25% / 75%
                       = 1.67%

    L1 = T / true control - 1
       = 3.0% / 1.67% - 1
       = +80%

HARM 2.  CANNIBALISATION
  Heavy buyers pulled forward from a later week.

    cannibalised share = h x 40%
                       = 60% x 40%
                       = 24%

    L2 = L1 - L1 x cannibalised share
       = 80% - 80% x 24%
       = 80% - 19.2%
       = +60.8%

HARM 3.  SUBSIDISATION
  Redeemers who'd have bought anyway -- weighted by the buyer mix.

    subsidised share   = h x 78%   +   (1 - h) x 18%
                       = 60% x 78% + 40% x 18%
                       = 46.8% + 7.2%
                       = 54.0%

    L3 = L2 - L2 x subsidised share
       = 60.8% - 60.8% x 54.0%
       = 60.8% - 32.8%
       = +28.0%

HARM 4.  RETURNS DRAG
  Deeper discounts attract lower-intent buyers who return more.

    intensity          = min( d / 30%, 1 )
                       = min( 20% / 30%, 1 )
                       = 0.67

    return uplift      = r x (2.8 - 1) x intensity
                       = 12% x 1.8 x 0.67
                       = 14.4%

    L4 = L3 - L3 x return uplift
       = 28.0% - 28.0% x 14.4%
       = 28.0% - 4.0%
       = +24.0%

--------------------------------------------------------------------
TRUE REVENUE LIFT  =  L4  =  +24%
--------------------------------------------------------------------


CONTRIBUTION-MARGIN LAYER
  The four harms above act on revenue. The discount itself
  separately eats margin on every order in the promo.

    CM compression factor  = (m - d) / m
                           = (35% - 20%) / 35%
                           = 0.43

    headline CM lift       = (1 + L0) x 0.43 - 1
                           = 1.50 x 0.43 - 1
                           = -36%

    true CM lift           = (1 + L4) x 0.43 - 1
                           = 1.24 x 0.43 - 1
                           = -47%