Baseline vs promotional sales · grouped bar
Daily units in normal weeks vs promotion weeks.
Revenue & margin by discount depth · dual axis combo
Revenue keeps rising, margin turns over, the crossover point is the sweet spot.
Discount depth vs incrementality · scatter / bubble
Each bubble is a campaign; x = discount, y = incremental lift, size = revenue.
Incremental revenue by campaign · diverging bar
Revenue above the modeled baseline, red campaigns barely broke even.
Price split: cost, margin & discount · 100% stacked bar
How each discount depth carves up the selling price.
Margin distribution by discount tier · box plot
Spread of product level margin in each tier, the box is the middle 50%, whiskers the range.
The question
A retailer ran frequent promotions but didn't know which ones actually paid off. Were discounts driving real incremental sales, or handing margin to people who would have bought anyway? And how deep can a discount go before it stops being worth it?
How I did it
- Built a baseline of normal sales in Python from the weeks with no promotion, adjusted for season and day of week, so I had something honest to compare against.
- Measured the real lift as promotion sales minus that baseline, which stops me crediting a discount for sales that would have happened anyway.
- Compared revenue and margin across discount depths with Excel pivot tables, and used a 100% stacked view to show how the price splits into cost, margin and discount.
- Dropped every campaign onto a bubble chart by discount depth, lift and revenue to see the winners and the duds at a glance.
What the analysis found
- Discounts beyond ~15% kept lifting volume but started destroying margin faster than they added revenue.
- Some recurring promotions had almost no incrementality, they mostly subsidised existing demand.
- Seasonal campaigns timed to demand peaks delivered the strongest 3.4× volume lift at healthy margin.
Recommendation: Cap everyday discounts around 15%, retire the two weak recurring promos, and concentrate budget on seasonal peaks. Modeled effect: similar top line with materially better blended margin.
Tools
Excel · Python · Pivot tables · Visualization dashboard
▸Built on a simulated retail sales dataset so I can walk through the promotion and lift method openly.