ds@mcpanalytics.aiEmail your data and your question and get an answer about your own data, with the method shown.Email your data and question. Get an answer.

Discount Effectiveness: When 20% Off Kills Your Margin

Updated October 2026

Illustrative example with made-up numbers: an online furniture retailer runs a "25% Off Everything" promotion. Revenue jumps 38% during the sale week. The marketing team celebrates. Then the P&L comes in: they lost $14,000 in profit compared to the same week last year. The problem? They gave a 25% discount to 2,847 customers who were already planning to buy at full price.

This is the discount paradox. More sales doesn't mean more profit. A discount campaign can increase revenue and still reduce total profit. The core issue isn't whether discounts drive sales. It's whether they drive incremental sales that wouldn't have happened otherwise.

Before we discuss how to measure discount effectiveness properly, let's examine the most common mistake: confusing correlation with causation in promotional analysis.

The Wrong Way vs. The Right Way: How Most Discount Analysis Fails

Most businesses measure discount effectiveness by comparing two time periods:

If you held out a random group, the free incrementality test tool counts how many customers your campaign caused beyond those who would have converted anyway.

This analysis is worthless. You can't control for seasonality, external factors, or, most critically, what would have happened without the discount. Did the promotion cause the lift, or would sales have increased anyway?

Common Mistake #1: No Control Group
Without a randomized control group that doesn't receive the discount, you're measuring correlation, not causation. That 30% revenue increase might have been 35% without the discount eating into margin.

Credit is not the same as cause. What incremental impact actually means explains the difference in plain words. If you held out a random group, the free incrementality test tool counts how many customers your campaign caused beyond those who would have converted anyway.

The Experimental Approach: A/B Testing Discount Codes

Here's how to test discount effectiveness with proper experimental design:

  1. Randomization: Split your audience randomly into two groups, 50% receive the promo code, 50% don't
  2. Simultaneous testing: Run both groups at the same time to control for external factors
  3. Adequate sample size: Calculate minimum sample size before you start (more on this below)
  4. Track the right metrics: Measure incremental profit, not just revenue lift

With a proper control group the results can look very different. Illustrative example with made-up numbers. Order value is the basket at list price; revenue is what customers paid after the discount; product cost is 60% of list price, so each order earns 40% of list at full price and 20% of list at 20% off:

Metric Control (No Discount) Treatment (20% Off) Difference
Conversion Rate 3.2% 4.8% +50%
Avg Order Value $87 $94 +8%
Revenue per User $2.78 $3.61 +30%
Profit per User (40% margin) $1.11 $0.90 -19%

The discount increased revenue per user by 30% but decreased profit per user by 19%. Why? Because 67% of the purchasers in the treatment group would have bought anyway at full price. You gave away margin unnecessarily.

Key Insight: The goal isn't to maximize conversion rate or revenue. It's to maximize incremental profit: the additional profit generated by customers who wouldn't have purchased without the discount.

The 4 Metrics You Must Track (Not Just Revenue)

Most discount analysis stops at revenue. That's the first mistake. Here are the four metrics you need to evaluate promotion ROI:

1. Incremental Conversion Rate

This measures how many additional conversions the discount generated:

Incremental Conversion = Treatment Conversion - Control Conversion
Example: 4.8% - 3.2% = 1.6 percentage points

In a test with 10,000 users per group, that 1.6pp lift means 160 incremental purchases. But were they profitable?

2. Margin Erosion on Base Purchases

The discount doesn't just apply to incremental buyers. It applies to everyone who would have bought anyway. Calculate the margin loss:

Margin Erosion = (Control Conversions) × (Control Avg Order Value) × (Discount %)
Example: (320 purchases) × ($87 AOV) × (20% discount) = $5,568 lost margin

This is margin you gave away for no reason. It's pure profit destruction.

3. Incremental Profit from New Buyers

Now calculate the value generated by the 160 incremental purchases. These buyers also paid the discounted price, so each order earns the margin minus the discount, not the full margin:

Incremental Profit = (Incremental Conversions) × (Treatment AOV) × (Margin % - Discount %)
Example: 160 × $94 × (40% - 20%) = $3,008

4. Net Incremental Profit

This is the metric that matters. Did the discount increase total profit? One more small term belongs in it: the 320 base buyers also built bigger baskets ($94 vs $87), and that extra $7 per order earns the discounted 20% margin.

Net Incremental Profit = Incremental Profit + Basket Uplift on Base Buyers - Margin Erosion
Basket uplift: 320 × ($94 - $87) × 20% = $448
Example: $3,008 + $448 - $5,568 = -$2,112

In this example, the 20% discount lost $2,112 in profit across 10,000 users. That's about $0.21 per user, the same drop as in the table ($1.11 to $0.90). Revenue went up and profit went down.

Common Mistake #2: Ignoring Margin Erosion
Many businesses celebrate revenue lift without calculating how much margin they destroyed by discounting customers who would have paid full price. Always model both sides of the equation.

Illustrative Example: Why Deeper Discounts Can Lose Money

Illustrative example with made-up numbers: a DTC skincare brand wants to "go big" with a 25% off sitewide sale. Before launching, it runs a three-arm experiment:

Each group has 5,000 randomly assigned email subscribers. Here are the made-up results, using the same model as above with a 45% product margin (AOV at list price; revenue after the discount; profit per order = AOV × (45% minus the discount)):

Group Conv Rate AOV Revenue/User Profit/User
Control (No Discount) 2.4% $68 $1.63 $0.73
Treatment A (15% Off) 3.6% $72 $2.20 $0.78
Treatment B (25% Off) 4.9% $70 $2.57 $0.69

The 25% discount drove the highest conversion rate (4.9%) and revenue per user ($2.57). But it generated the lowest profit per user ($0.69). The 15% discount hit the sweet spot: meaningful conversion lift with manageable margin erosion.

Across the 5,000-user test groups, here's the total profit difference:

If they had launched the 25% off sale to their full 200,000-subscriber list, they would have lost approximately $9,700 in profit compared to no discount at all. The revenue would have looked great in the dashboard, but the P&L would have told a different story.

What the Example Shows: The relationship between discount depth and profit is not linear. Small increases in discount percentage cause disproportionate margin destruction because you're discounting the entire base of purchasers, not just the incremental ones.

How to Set Up a Proper Discount A/B Test

Let's walk through experimental design step by step. You need to get four things right: randomization, sample size, measurement window, and hypothesis.

Step 1: Define Your Hypothesis

Be specific. Don't just say "we want to see if discounts work." State a testable hypothesis:

"We hypothesize that a 15% discount will increase profit per user by at least $0.25 compared to no discount by driving incremental purchases from price-sensitive customers who would not convert at full price."

This forces you to think about the mechanism (incremental purchases) and set a success threshold ($0.25 profit lift).

Step 2: Calculate Minimum Sample Size

Underpowered tests are worse than no tests. They give you false confidence in inconclusive results. Calculate sample size before you start.

For a typical e-commerce scenario:

With the standard two-proportion sample-size formula and a two-sided test (3% vs 4%), you need approximately 5,300 users per group. If your list is smaller, you won't be able to detect realistic effect sizes with confidence.

Common Mistake #3: Running Tests on Tiny Samples
Testing a discount on 500 users and declaring it "doesn't work" is methodologically wrong. Small samples produce noisy results. If you can't get adequate sample size, don't run the test.

Step 3: Randomize Properly

Random assignment is critical. Don't split by date, geography, or customer segment. Those introduce confounds. Use a random number generator to assign users to control or treatment.

In most email platforms:

  1. Create a random number field for each contact (0-99)
  2. Assign users 0-49 to control, 50-99 to treatment (50/50 split)
  3. Ensure no one receives both versions

For on-site testing, use A/B testing tools that handle randomization automatically (Optimizely, VWO, Google Optimize).

Step 4: Choose Your Measurement Window

How long should you run the test? Long enough to capture normal purchase cycles but not so long that external factors contaminate results.

For most e-commerce businesses:

Avoid spanning major holidays or events that could skew one group vs. another.

Step 5: Track Both Groups Simultaneously

Run control and treatment at the same time. If you test "15% off" in March and compare it to "no discount" from February, you're not controlling for seasonality, traffic quality, or competitor actions.

Simultaneous testing ensures both groups experience identical external conditions.

What 'Discount Effectiveness' Actually Measures

Let's define terms precisely. Discount effectiveness analysis evaluates whether a promotional offer generates positive ROI by comparing the incremental profit from new customers against the margin erosion from existing demand.

It answers three questions:

  1. Incrementality: How many additional purchases did the discount cause?
  2. Margin trade-off: Did margin erosion on base purchases exceed incremental profit?
  3. Optimal depth: What discount level maximizes profit (not revenue)?

The analysis fails if you only measure one side of the equation. Revenue lift tells you nothing about profitability. Conversion rate improvement doesn't account for margin destruction.

When Discounts Work: 3 Scenarios Where They Pay Off

Discounts aren't categorically bad. They're a tool, and like any tool, they work in specific contexts. Here are three scenarios where promotional offers reliably increase profit:

Scenario 1: Customer Acquisition with Strong LTV

If your customer lifetime value significantly exceeds first-purchase profit, you can afford to lose money on the initial transaction to acquire the customer.

Example: A meal kit subscription service with these economics:

The discount is an acquisition cost, not a margin destroyer. This works if:

Critical Assumption: Discounted customers must retain at similar rates. If your $50-off-first-box customers churn faster than organic customers, the LTV justification falls apart. Test this before scaling.

Scenario 2: Inventory Liquidation with Holding Costs

When inventory has high carrying costs, opportunity costs, or perishability, discounts can maximize profit by converting stock to cash.

This applies to:

Calculate your holding cost per day and compare it to margin erosion from discounting. If holding cost exceeds the discount cost, liquidate.

Scenario 3: Cart Abandonment Recovery

Cart abandoners have already demonstrated purchase intent. They added items to cart. A targeted discount can recover otherwise lost sales with minimal margin erosion on "base" purchases (since they didn't complete checkout).

To check it, run the same cart abandonment email with and without the code and compare profit per abandoner, not just recovery rate. A targeted discount can work where a sitewide sale does not for three reasons:

The Margin Cannibalization Problem

The core challenge with broad discounts is margin cannibalization, giving price cuts to customers who would have purchased at full price. This is why a sitewide sale to your entire email list has to pass a profit test, not just a revenue test.

Consider a sitewide 20% off promotion (illustrative example with made-up numbers):

Here's the breakdown (AOV at list price, 45% product margin, so a discounted order earns 45% - 20% = 25% of AOV):

Expected baseline purchases: 10,000 × 2.0% = 200 purchases
Actual purchases with discount: 400
Incremental purchases: 400 - 200 = 200

Margin erosion on base purchases:
200 purchases × $85 AOV × 20% discount = $3,400 lost margin

Incremental revenue from new purchases (list price):
200 purchases × $85 AOV = $17,000

Incremental profit (45% margin minus the 20% discount = 25%):
$17,000 × 25% = $4,250 incremental profit

Net profit impact:
$4,250 - $3,400 = $850 profit gain

The discount generated $850 in incremental profit across 10,000 users, about $0.09 per person. That's a slim margin of success. If the baseline conversion rate were actually 2.3% instead of 2.0%, the promotion would have lost money.

This is why experimental design matters. Without a randomized control group, you're guessing at the baseline conversion rate, and small errors in that assumption flip your ROI calculation from positive to negative.

Targeting Strategy: Who Should Get the Discount?

The solution to margin cannibalization is better targeting. Don't offer discounts to everyone: offer them to segments where incremental lift exceeds margin erosion.

High-Potential Segments for Discounting

  1. Cart abandoners: Demonstrated intent, need a nudge
  2. Browse abandoners: Viewed product pages but didn't add to cart
  3. Lapsed customers: Haven't purchased in 90+ days (reactivation)
  4. Never-purchased email subscribers: On your list but never converted
  5. High price sensitivity segments: Based on past behavior or demographics

Low-Potential Segments (Avoid Discounting)

  1. Recent purchasers: Already converted, discount is pure margin loss
  2. High-AOV customers: Price-insensitive, will buy without incentive
  3. Subscribers/members: Paying for access, likely to purchase anyway
  4. Active browsers: Currently shopping: wait to see if they convert organically

Illustrative example with made-up numbers: a DTC beauty brand compares two approaches to a 20% offer:

Made-up results:

Approach Total Revenue Total Profit Profit per Recipient
Broad (40k sent) $68,400 $18,200 $0.46
Targeted (12k sent) $31,200 $13,800 $1.15

The broad discount generated more total profit ($18,200) but lower efficiency ($0.46 per recipient). The targeted discount delivered 150% higher profit per recipient by minimizing cannibalization.

Statistical Significance: When to Trust Your Results

You ran your A/B test. Treatment group profit: $1.08 per user. Control group profit: $0.94 per user. The discount "won" by $0.14 per user. Should you roll it out?

Not yet. Check statistical significance first.

With small samples or high variance, that $0.14 difference could be random noise. Calculate a p-value to determine if the result is statistically significant (typically p < 0.05 threshold).

For profit-per-user comparisons, use a two-sample t-test:

Null hypothesis: Treatment profit = Control profit
Alternative hypothesis: Treatment profit > Control profit

If p-value < 0.05: Reject null, effect is statistically significant
If p-value ≥ 0.05: Fail to reject null, inconclusive

Most A/B testing platforms calculate this automatically. If you're analyzing in Excel or SQL, use the T.TEST function or equivalent.

Sample Size Matters: With 500 users per group, you need a $0.40+ difference to reach significance. With 5,000 per group, $0.12 might be sufficient. Larger samples detect smaller effects with confidence.

What If Results Are Inconclusive?

If your test doesn't reach statistical significance, you have three options:

  1. Run longer: Collect more data to increase sample size
  2. Retest with larger discount: Bigger effect size is easier to detect
  3. Accept the null: The discount probably doesn't move the needle at this depth

Don't make the mistake of running multiple tests until you get a "significant" result. That's p-hacking, and it leads to false positives. Decide your sample size in advance and stick to it.

Your turn

Bring your own data and the question you actually need answered.

MCP AnalyticsData science by email Send us your data and your question, and we will reply. ds@mcpanalytics.ai

Frequently Asked Questions

How do I know if my discount code is actually profitable?

Track incremental profit, not just revenue. Compare profit from the discount group against a holdout control group that didn't receive the offer. If the discount group's total profit (after accounting for margin loss) exceeds the control group's profit, the discount worked. Use the formula: Incremental Profit = (Discount Group Profit) - (Control Group Profit). A positive result means the discount was effective.

What's the difference between revenue lift and profit lift from discounts?

Revenue lift measures the increase in sales volume. Profit lift accounts for margin erosion. A 25% off sale might boost revenue by 40% but decrease profit by 12% because you're giving away margin on purchases that would have happened anyway. Always calculate both metrics, revenue lift alone is misleading.

How large should my control group be for discount testing?

For adequate statistical power, allocate at least 20% of your audience to the control group (no discount). With a typical conversion rate of 2-4% and average order value of $75, you need approximately 2,000 users per group to detect a 15% difference in profit with 80% power. Smaller control groups lead to inconclusive results.

When do discounts actually increase profit?

Discounts work in three scenarios: (1) Customer acquisition where lifetime value exceeds first-purchase loss, (2) Inventory liquidation with high holding costs or perishability, (3) Cart abandonment recovery targeting users who already demonstrated purchase intent but didn't convert. Blanket sitewide sales to your entire list discount many customers who would have bought anyway, so test them against profit before you run them.

Should I test 10%, 15%, 20%, or 25% off?

Run a multi-arm test comparing different discount depths against a no-discount control. Start with 10%, 15%, and 20% variants. Track incremental profit per customer for each arm. Deeper discounts boost conversion but give away more margin on purchases that would have happened anyway. The optimal discount depth depends on your baseline margin and price elasticity.

Final Takeaway: Test Before You Scale

Discounts are not inherently good or bad. They're a tool with specific use cases. The mistake is treating them as a universal growth lever without measuring incremental profit.

Before you launch your next sitewide sale:

  1. Run a proper A/B test with a randomized control group
  2. Track profit per user, not just revenue or conversion rate
  3. Calculate margin erosion on base purchases vs. incremental profit from new buyers
  4. Test multiple discount depths to find the profit-maximizing level
  5. Target high-intent segments (cart abandoners, lapsed customers) instead of your entire list

The difference between a profitable discount and a margin-destroying one often comes down to targeting and depth. Sending a modest discount only to high-intent segments limits cannibalization, because fewer recipients would have bought at full price anyway.

What would happen if you gave a 20% discount to customers who would have bought anyway at full price? You'd celebrate the revenue spike while your profit margin quietly collapsed. That's why experimental design matters. It's the only way to separate incremental lift from margin cannibalization.