
A promotion is profitable when the profit from the extra units it created is larger than the margin you gave away on every unit you would have sold anyway, plus every cost of running it. Sales lift alone does not tell you that. A promo can raise revenue 40% and still leave you with less cash than a normal week.
TL;DR
- Promotion profitability is net profit versus what you would have earned without the promo. It is not units sold or revenue.
- Start from a baseline, count only incremental sales, and judge them on contribution margin, not gross margin.
- Subtract everything the promo cost: the discount on base units, trade funding, fees, shipping, and the post-promo sales dip.
- Set guardrails before launch: a minimum contribution margin, a break-even lift, and a rerun rule.
- Deep, heavily featured deals tend to maximize units and minimize profit.
Table of Contents
- What promotion profitability actually measures
- The formula, step by step
- A worked example with real arithmetic
- The costs and effects that hide from the dashboard
- How discount depth, format, and timing change the answer
- Should you repeat, change, or stop a promotion?
- Guardrails for promotions that protect contribution margin
- Our perspective: promotions are a financing decision
- Getting a second opinion on your promotion calendar
- FAQ
- Sources
What promotion profitability actually measures
Promotion profitability is the net profit effect of a promotion after you compare the profit from demand the promotion created with the margin it gave up and the costs attached to it. The most cited academic work on this is a study of U.S. drugstore promotions, where the authors decomposed gross lift into switching, stockpiling, and incremental lift, then applied promotional and nonpromotional margins and manufacturer funding to reach net profit.
That structure is worth borrowing. Gross lift is just promotional units minus baseline units. It looks like growth. But some of those units come from customers who switched from your other products, some from customers who simply bought early, and only the rest are truly new demand.
The same research points to the central trade-off every brand faces: the promotion features that maximize units, especially deep and heavily featured deals, can reduce profit because the promotional margin sits well below the regular margin. Volume and profit pull in different directions, and the deeper the discount, the harder they pull.
The scale of the problem is not trivial. A trade-promotion software vendor, citing NielsenIQ research, reports that roughly 60% of CPG trade promotions globally generate a negative ROI. That figure is about trade promotions in CPG, not every DTC email discount, but the mechanism is the same everywhere: the discount is certain, the lift is not.
The formula, step by step
There are several versions of the math. They all share the same skeleton.
Step 1: Establish the baseline
The baseline is the number of units you would have sold without the promotion. Everything else depends on it. One CPG analytics firm calls baseline volume the most critical and most challenging component to estimate, and it is worth remembering that it is modeled, not observed. You will never see the sales that did not happen.
A practical baseline for a consumer brand:
- Average weekly units over the prior 8 to 12 non-promoted weeks, adjusted for seasonality and for any trend you already had.
- The same weeks last year, if the product existed and the promotion calendar was comparable.
- For wholesale, retailer sell-out (what consumers bought), not sell-in (what you shipped). Sell-out is the preferred basis for ROI because shipments can be distorted by existing inventory or retailer forward-buying.
Nielsen’s U.S. promotion framework defines incremental sales as total sales minus baseline and isolates promotion weeks by discount depth against everyday price. You do not need Nielsen data to do the same thing with your own order history.
Step 2: Count only incremental sales
Incremental units are promo-period units minus baseline units. Using total sales instead of incremental sales is a pervasive error, and one trade-spend analytics firm says it can inflate ROI estimates by 3x or more. If your promo week sold 1,600 units and your baseline was 1,000, the promotion earned credit for 600 units, not 1,600.
Step 3: Value those units at contribution margin
Use contribution margin, not gross margin. Contribution margin is price minus everything that varies with the order: product cost, pick and pack, outbound shipping, payment fees, returns, and any discount. Gross margin ignores shipping and fees that can eat a third of a discounted order. If you want the wider view of which margins matter for a consumer brand, our guide to consumer brand profitability indicators walks through them.
Step 4: Subtract the full cost of the promotion
A common published form of the ROI calculation is incremental profit minus total trade cost, divided by total trade cost, times 100. Incremental profit is incremental revenue times contribution margin, and total trade cost includes promotional allowances, associated fees, and execution costs. A result above 1.0 on the ratio version (incremental profit divided by trade investment) means the promotion paid for itself.

The more rigorous academic version also subtracts the discount on base units sold on deal and adds positive or negative carryover effects. That first subtraction is the one founders forget most often, so it gets its own section below.
A worked example with real arithmetic
The numbers below are illustrative, not a benchmark. Say you sell a product at $40. Product cost is $14, and fulfillment, shipping, and payment fees add $8. Contribution per unit at full price is $18.
You run a 25% off week. The price drops to $30, so contribution per unit falls to $8. Your baseline is 1,000 units a week. The promo week sells 1,600 units.
| Normal week | Promo week | |
|---|---|---|
| Units | 1,000 | 1,600 |
| Revenue | $40,000 | $48,000 |
| Contribution per unit | $18 | $8 |
| Contribution | $18,000 | $12,800 |
Revenue is up 20%. Contribution is down $5,200. And that is before the email and ad spend to promote it, and before the post-promo dip.
Break-even is simple: baseline contribution divided by promo contribution per unit. $18,000 divided by $8 is 2,250 units, a 125% lift just to match a normal week. Any promotion calendar should start with this number, because it tells you in advance how much lift you need to believe in.
The lesson is the use. A 25% price cut is a 56% cut in contribution per unit here ($18 down to $8). Discounts hit margin far harder than they appear to on the price tag.
The costs and effects that hide from the dashboard
The discount on customers who would have bought anyway
Every baseline unit sold at the promo price is a pure giveaway. In the example, 1,000 baseline customers each received $10 off, or $10,000, to persuade 600 additional people to buy. Email lists and returning customers make this worse, because your most loyal buyers use the code first.
Pantry loading and the post-promo dip
Some of the lift is demand pulled forward. Accurate ROI has to net out the post-promotion sales dip against in-period lift. If the weeks after your promo run 200 units under baseline, that is another $3,600 of contribution at full price in our example. Track at least four weeks after a promotion ends, longer for replenishable products.
Cannibalization and halo
A promotion on one SKU can pull sales away from another, often a higher-margin one. It can also lift unpromoted items. The most accurate approach to incremental revenue incorporates cannibalization and halo effects alongside margin analysis. Peer-reviewed Marketing Science research adds that profit impact cannot be inferred from overall store-sales change, because promotions change store entry, conversion, and basket spending, and the products involved carry different margins.
For a DTC brand the translation is clear: compare contribution across the whole order mix, not the promoted SKU’s revenue.
Trade spend in all its forms
For brands selling through retail, trade spending covers scan allowances, off-invoice deductions, billbacks, advertising fees, and display fees. Leaving any of these out makes the ROI unreliable. Slotting fees and execution costs belong in the count too. We cover how to recover this money in our guide to trade spend improvement.
Customer quality
The profit of a promotion is not finished on the day the order ships. A promo-acquired customer who never returns is worth less than a full-price customer who reorders. Cohort data shows which one you bought; see cohort analysis for ecommerce for the method. It also matters how those buyers feel afterwards, since a first-time buyer who is happy enough to leave a review keeps paying you back; using online reviews for ecommerce sales is a useful lens on that long tail.
How discount depth, format, and timing change the answer
There is no universally good promotion, but there are patterns.
Depth. Math punishes deep discounts. The deeper the cut, the bigger the lift you need, and lift tends to grow more slowly than the break-even requirement. In our example, 25% off needs a 125% lift. Try 10% off: contribution per unit becomes $14, and break-even is about 1,286 units, a 29% lift. Much easier to clear.
Format. A percentage discount, a dollar-off threshold, a bundle, and a gift with purchase all cost different amounts. Gift-based offers cost you product margin rather than price, which sometimes protects perceived value; our piece on proving gift with purchase ROI shows how to test it. Changing the pack or price ladder instead of discounting can also recover margin, as described in price pack architecture.
Timing. Promotions aligned with inventory, margin goals, and demand forecasts are far more likely to pay. A promo on slow-moving stock that clears working capital can be worth running at a thin margin. A promo on your best seller in peak season usually just hands margin to customers who were already coming.
Channel. The same 20% off can be profitable on your own site and unprofitable on a marketplace once fees stack on top. Our explainer on channel profitability shows how to split it.

Should you repeat, change, or stop a promotion?
Treat each promotion as an experiment with a decision attached. After the post-promo window closes, ask five questions in order.
- Did it clear break-even? Actual incremental contribution, net of the dip, cannibalization, and all costs, against zero. If not, the default is stop or redesign.
- Did it hit its stated goal? A promotion meant to acquire customers is judged on new-customer count and their 90-day repeat rate, not on margin alone. A promotion meant to clear inventory is judged on cash released.
- Did baseline hold afterward? If velocity after the promo sits below the old baseline, you trained buyers to wait.
- Were there operational side effects? Stockouts, late shipments, extra returns, and customer service load all have a cost that revenue reports do not show.
- Can you change one variable? Shallower depth, a higher threshold, a narrower audience, or a different channel. Change one thing at a time so you learn which lever mattered.
The decision rule is plain. Repeat if it cleared break-even with room to spare and the customers were good. Change it if it was close. Stop it if it only worked on paper. For retail programs, a rerun decision is also a negotiation: showing the buyer your contribution margin and velocity data gives you something concrete to bargain with instead of refusing on principle.
Guardrails for promotions that protect contribution margin
- A contribution margin floor. Pick the lowest contribution per unit you will accept after the discount, and reject any offer that goes under it. In our example, a floor of $12 per unit caps the discount at about $6, or 15%.
- A required break-even lift, calculated before launch. If the plan needs a lift your history says is unrealistic, do not run it.
- An exclusion list. Hero SKUs with high repeat rates, low-margin SKUs, and anything with constrained supply stay out.
- A frequency cap. Count how many weeks of the year are discounted. Past a certain point, promotional price becomes the price in customers’ heads.
- A measurement plan. Define baseline, window, and post-period before launch, not after the results disappoint.
- An owner. One person approves promotions against these rules, ideally with finance in the room.
If you want to fold these into a broader plan, building a profitability roadmap and our overview of profitability improvement show where promotion discipline fits among pricing, costs, and customer mix.
Our perspective: promotions are a financing decision
We think the real mistake is calling a promotion a marketing tactic. It is a decision to spend margin today in exchange for something later: cash, customers, inventory turns, retailer placement. Once you see it that way, the questions change. What are we buying, what does it cost per unit of that thing, and is there a cheaper way to buy it?
The brands that fix this do not stop promoting. They separate three questions: did we sell more, did we make money, and did we get good customers? Each needs its own data, and a promotion that answers yes to only the first is a cost, not a strategy.
If you are working at $5M to $75M in revenue, the stakes are real, because a promotional calendar at that size is often one of the largest discretionary uses of margin in the business. A weekly discount habit that looks harmless can quietly decide whether you have a profitable year. That is the kind of constraint we help founders find and rank against everything else competing for their attention.
Getting a second opinion on your promotion calendar
If you want a fast, concrete read on where your margin goes, the DTC Operator Diagnostic is a one-time $197 review that flags your operating constraints. If you have a specific promotion decision on the table, the Founder Hour is a $500 per hour working session where we pressure-test it against your numbers. For a deeper engagement, the 90-Day Profit Sprint for consumer brands is built to recover margin across the business.
FAQ
How do you calculate the ROI of a promotion?
Subtract total promotion costs from incremental profit, then divide by those costs. Incremental profit is the extra units above baseline, times contribution margin, less the discount given on units you would have sold anyway. Net out the post-promotion dip before calling the result final.
What is a good promotion ROI?
Anything above break-even after all costs is profitable, which means a ratio of incremental profit to trade investment above 1.0. What counts as good depends on your goal. A customer-acquisition promo can accept a thinner first-order return if repeat purchase data supports it.
Why do promotions lose money even when sales go up?
Because revenue growth ignores the margin given up on every unit, including those you would have sold at full price. It also ignores pulled-forward demand, cannibalized products, and fulfillment and fee costs. The deeper the discount, the more lift you need to cover those losses.
How long should I measure after a promotion ends?
At least four weeks for most consumer products, and longer for items customers reorder slowly. The goal is to catch the dip that follows pantry loading and to see whether your baseline recovered.
Sources
- Promotion Profitability for a Retailer: The Role of Promotion Characteristics (Journal of Marketing Research)
- Evaluating Promotions in Shopping Environments: Decomposing Sales Response (Marketing Science)
- How to Calculate Trade Promotion ROI for CPG (UpClear)
- How to Calculate Trade Spend ROI (AisleCore)
- Trade Promotion Analysis: Did the Promo Pay Back? (Scout)
- How Do Your Promotions Compare with Best in Class (Nielsen Trade Solutions)
- Promotion Profit, Measuring Marketing (O’Reilly)
- improving trade promotion ROI in the CPG industry (TELUS)