Skip to content

Do discounts increase profit? A worked Shopify example

A discount raises profit only if it sells enough extra units to pay back the margin given away on every sale. With a 50% gross margin, a 20% discount needs 25% more units to keep revenue level and 67% more units to keep gross profit level. Most sales that disappoint land somewhere between those two numbers: revenue looks fine and profit is down.

This page is our advice on discount strategy. It applies whichever tools you use to run a sale.

A product sells for $100 and costs $50 to supply, so each unit earns $50 of gross profit, a 50% gross margin. In a normal week it sells 60 units. Here is the same week at 20% off, at three different volumes.

Normal week 20% off, same units 20% off, revenue level 20% off, profit level
Selling price $100 $80 $80 $80
Gross profit per unit $50 $30 $30 $30
Units sold 60 60 75 100
Revenue $6,000 $4,800 $6,000 $8,000
Gross profit $3,000 $1,800 $2,250 $3,000

Three things follow from this table.

At 75 units the revenue matches a normal week, but the sale earns $750 less gross profit than a normal week. A sales report that shows revenue holding steady, or rising a little, can hide a week that paid worse than doing nothing.

Our advice: judge a sale by gross profit against a normal period of the same length. Revenue and order count are not enough.

Lesson 2: the volume you need depends on your margin

Section titled “Lesson 2: the volume you need depends on your margin”

The 20% discount took $20 from a $50 gross profit, which is 40% of it. That is why 60 units had to become 100.

The rule, with margin and discount both written as a percentage of the original price:

extra units needed = margin ÷ (margin − discount) − 1

In the example that is 50 ÷ (50 − 20) − 1 = 0.67, or 67% more units. The same 20% discount on a 30% margin needs 200% more units, three times the normal volume.

Our advice: set the discount depth for each product group according to what its margin can pay for. See Planning your Black Friday and Cyber Monday sale for the full table for 30%, 50% and 70% margins.

Offers that make the order bigger, such as a bundle, a buy-more-save-more offer or a free shipping threshold, can protect margin better than a flat price cut. Those are general tactics that need their own tools. PriceDip changes product prices and compare-at prices on a schedule. It does not create discount codes.

The break-even figure is 40 more units than normal. Units that would have sold anyway at $100 do not count towards it. They are the cost of the sale.

So the question for any sale is where the extra units will come from. Give each sale one job:

  • Clear slow stock. Discount those products only.
  • Win new customers. Discount an entry product and promote it to people who have not bought before.
  • Fill a quiet week. Run the sale then, not in a week that sells well without help.

A sale across the whole catalogue, announced only to your existing customers, mostly discounts orders you already had.

In PriceDip, a task can target all products or specific products on the Free plan. Targeting by collection, tag or product type is on paid plans. See Selecting products.

The example assumes that next week the product goes back to 60 units at $100. That holds for an occasional sale. It stops holding when the same products are on sale again and again: customers who know a sale is coming time their orders to it, and the normal week you are comparing against shrinks.

How to check: compare full-price units in the weeks between sales with the same weeks a year earlier. If the weeks between sales are getting weaker, the sales are borrowing from them.

Our advice: keep any one product at full price for more weeks than it spends on sale, and change which products are discounted from one sale to the next.

Metric What it tells you
Gross profit for the sale period Whether the sale beat a normal period
Units sold against a normal period Whether you reached the break-even volume
Average order value Whether orders grew, or only got cheaper
Share of orders from new customers Whether the sale reached anyone new
Full-price units in the weeks after Whether the sale borrowed from later weeks

A sale that is not switched off keeps costing margin. This usually happens by accident: the sale ends on the calendar, nobody resets the prices, and the sale price becomes the price.

A scheduled task removes that step:

  1. Give the Flash Sale task a start and an end date and time. See Scheduling and recurring sales.
  2. When the end time arrives, the task ends and both the price and the compare-at price are reverted automatically.

Schedule card of a task with One time schedule selected, a start date and time, Set end date ticked and an end date and time

The end date is optional. A task with no end date stays active until you set it to Inactive, so our advice is to always set one for a sale. Keep each product in one active task at a time, so every revert does what you expect.

To schedule a sale with an end time, see PriceDip on the Shopify App Store.

Not automatically. A discount lowers the revenue from every unit, so revenue only rises if unit sales grow by more than the discount takes away. At 20% off you need 25% more units to keep revenue level, and with a 50% gross margin you need 67% more units to keep gross profit level.

How many more units do I need to sell to break even on a discount?

Section titled “How many more units do I need to sell to break even on a discount?”

Write your gross margin and the discount as percentages of the original price. Divide the margin by the margin minus the discount, then subtract 1. With a 50% margin and a 20% discount that is 50 divided by 30, minus 1, which is about 67% more units to earn the same gross profit.

Our advice is to keep sales on any one product occasional, each with a published end date. A product should spend more weeks at full price than on sale; otherwise regular customers start timing their orders to the next sale.

Measure gross profit, not only revenue. Compare gross profit, units sold, average order value and the share of orders from new customers with a normal period of the same length, then check full-price sales in the weeks that follow.