Filed under Auto Markdown

How to Calculate Markdown Percentage (Formula + Calculator)

The markdown percentage formula, a calculator, and the math most guides skip: stacked markdowns, margin after markdown, break-even volume and Shopify setup.

To calculate markdown percentage, subtract the sale price from the original price, divide the result by the original price, and multiply by 100. A product cut from $80 to $56 carries a $24 markdown, and $24 ÷ $80 × 100 = 30%. That is how to calculate markdown percentage the way a shopper reads a strikethrough price, and it is the definition every other number in this post builds on.

The one-line formula is where most guides stop, and two of the most visible ones divide by the sale price instead of the original price, which turns the same $24 cut into a different percentage. We build Auto Markdown, a markdown app for Shopify, so this arithmetic is what our own pricing rules run on, and a wrong base or a wrongly stacked percentage shows up as a wrong price on a live store.

This post works through every version of the calculation a merchant actually needs, from markdown dollars and stacked markdowns to maintained markup, break-even volume, spreadsheet formulas and Shopify’s price and compare-at price fields. Every figure in the examples is illustrative, built so you can swap in your own.

Key takeaways

  • Markdown percentage = (original price − sale price) ÷ original price × 100. The base is the original price, not the sale price and not the cost.
  • Stacked markdowns multiply, they do not add: 30% followed by 20% is 44% off the original price, because the second cut applies to a smaller number.
  • A markdown comes out of gross profit. On a 60% margin product, a 30% markdown halves the profit per unit, so you need 2.00× the units to earn the same gross profit.
  • Retail accounting uses a different measure with the same name: total markdown dollars ÷ net sales for a period. It is a department-level rate and is always higher than the same dollars measured against original retail.
  • Round the price first, then recompute the percentage. $45.99 on a $65 original is 29.25% off, not the 30% you planned.

How to calculate markdown percentage: the formula

The per-item markdown percentage answers one question: how far below its original price is this product selling? The formula has two inputs and one base.

Markdown % = (Original price − Sale price) ÷ Original price × 100

Worked as an illustrative example, say a store sells a jacket at $80 and cuts it to $56:

  1. Find the markdown in dollars: $80 − $56 = $24.
  2. Divide by the original price: $24 ÷ $80 = 0.30. This decimal is the markdown rate.
  3. Multiply by 100 to express it as a percentage: 0.30 × 100 = 30%.

“Markdown rate” and “markdown percentage” are the same quantity in two formats: 0.30 is the rate you multiply with, 30% is the figure you print on the sale badge. If a guide asks how to calculate markdown rate, it is asking for step 2.

The denominator is the part people get wrong. The original price is the base because that is the comparison the customer makes, and Cotton Incorporated’s merchandising-math chapter on markdowns makes the same point from the retailer’s side: consumers read a reduction as a percent off the original or regular retail price. Dividing by cost gives you something closer to a markup figure, and dividing by the sale price gives you a larger number that no shopper will recognise. We come back to that second error below, because it is built into calculators that rank for this exact query.

The calculator below runs the formula in both directions. Enter the original price, then either the sale price or the markdown percentage, and each fills in the other. Add a unit cost if you want the profit side of the picture: it is optional, and it means product cost only, not shipping, fees or fulfilment.

[pb_markdown_calculator]

What the calculator returns, output by output

Each output corresponds to a formula covered in detail later in this post. Using the same $80 original price, $56 sale price and a $32 unit cost, here is what each line means and how to read it.

  • Markdown percentage. The cut as a share of the original price: 30%. This is the number you can advertise.
  • Markdown in dollars. Original price minus sale price: $24. This is what each unit gives up in revenue, and because cost does not change, it is also what each unit gives up in gross profit.
  • Sale price. The price the customer pays: $56. If you typed a percentage, this is the computed result; if you typed a sale price, it is echoed back.
  • Gross margin at full price, with profit per unit. ($80 − $32) ÷ $80 = 60%, or $48 per unit. This only appears when you enter a unit cost.
  • Gross margin after the markdown, with profit per unit. ($56 − $32) ÷ $56 = 42.86%, or $24 per unit. Note that a 30% markdown did not take 30 points off the margin. It took 17.14 points off the margin percentage and 50% off the profit dollars.
  • Unit-sales multiple. The number of units you must sell at the sale price to earn the gross profit of one unit at full price: $48 ÷ $24 = 2.00×, shown alongside the plain-language version, “sell 200 units for every 100 at full price”.

If the sale price is at or below the unit cost, the calculator does not show a multiple. It says that no volume recovers the profit, because every additional unit sold earns nothing or adds to the loss.

The unit cost field is product cost only, so the margins it reports are gross margins on product cost. Freight, duty, fulfilment, payment fees and returns all sit on top of that. For the price below which a sale actually loses money, use the landed-cost build-up and the calculator in our guide to setting a clearance floor price on Shopify. The two tools answer different questions: this one tells you what a markdown is and what it costs in gross profit, that one tells you where to stop.

Markdown pricing meaning: what counts as a markdown

A markdown is a reduction in the retail price of a product that is already on sale at a higher price. Cotton Incorporated’s retail pricing glossary defines it as a reduction in the original retail price, expressed in dollars as the difference between the original and new retail price. PwC’s inventory guide describes it the same way in the context of the retail inventory method: a decrease in the original sales price, typically taken to move slow inventory, run a sales event or match a competitor.

Two things follow from that definition. A markdown needs an original price to be measured against, so a product launched at $56 has no markdown even if a competitor sells it at $80. And a markdown is a change to the price itself, visible to every shopper, which is what separates it from a discount applied at checkout. We compare the mechanics, and when each one is the right call, in our markdown vs coupon vs bundle decision framework; this post stays on the arithmetic.

How to calculate markdown dollars

Markdown dollars come in two sizes: per unit and in total. The per-unit figure is the subtraction you already did. The total is what finance cares about, because it is the amount of retail value you have written off across the stock you marked down.

Markdown $ per unit = Original price − Sale price
Total markdown $    = Markdown $ per unit × Units marked down

Illustrative example: the $80 jacket goes to $56 with 100 units on hand. The per-unit markdown is $24, and the total markdown is $24 × 100 = $2,400. That $2,400 is the retail value removed from the inventory the moment the price changes, whether or not a single unit has sold yet.

When you take a second markdown on the same stock, only count the additional cut. If 40 jackets remain and the price drops again from $56 to $48, the new markdown dollars are ($56 − $48) × 40 = $320, not ($80 − $48) × 40. The first $24 per unit was already recorded. The Cotton Incorporated chapter linked above handles its second reduction the same way, recording only the difference between the first and second reduced prices on the units that remain.

How to calculate the markdown price from a target percentage

Most of the time you start with the percentage, because the promotion is planned as “30% off” before anyone looks at individual prices. The sale price is the original price multiplied by what is left after the cut.

Sale price = Original price × (1 − Markdown rate)
$80 × (1 − 0.30) = $80 × 0.70 = $56

The table below is a markdown pricing example across six depths for the same product, original price $80 and unit cost $32. Every column is computed from the formulas in this post.

Markdown %Markdown $Sale priceProfit per unitGross margin afterUnit multiple to match full-price profit
0% (full price)$0.00$80.00$48.0060.00%1.00×
10%$8.00$72.00$40.0055.56%1.20×
20%$16.00$64.00$32.0050.00%1.50×
25%$20.00$60.00$28.0046.67%1.71×
30%$24.00$56.00$24.0042.86%2.00×
40%$32.00$48.00$16.0033.33%3.00×
50%$40.00$40.00$8.0020.00%6.00×

Read the last column from top to bottom and the shape of the problem is obvious. Going from 10% to 20% off raises the required volume from 1.20× to 1.50×. Going from 40% to 50% off doubles it, from 3.00× to 6.00×. Each extra point of markdown costs more than the one before it, because it is taken from a shrinking profit per unit.

Working backwards from a target margin

Sometimes the constraint is the margin, not the percentage. If you need the product to keep a given gross margin after the markdown, solve for the price first and the percentage second.

Lowest sale price   = Unit cost ÷ (1 − Target margin)
Deepest markdown %  = (Original price − Lowest sale price) ÷ Original price × 100

Unit cost $32, target margin 45%:
$32 ÷ (1 − 0.45) = $58.18
($80 − $58.18) ÷ $80 × 100 = 27.27%

So a product with a 60% full-price margin can take a markdown of up to 27.27% and still hold 45%. If the target is 40%, the lowest price is $32 ÷ 0.60 = $53.33 and the deepest markdown is 33.33%. You can get the percentage directly from the two margins, with no prices at all:

Deepest markdown rate = 1 − (1 − Full-price margin) ÷ (1 − Target margin)
1 − (1 − 0.60) ÷ (1 − 0.40) = 1 − 0.40 ÷ 0.60 = 0.3333 → 33.33%

Original price or sale price: why calculators disagree on the markdown rate

Search for a markdown calculator and you will find two different answers for the same price change. Omni Calculator’s markdown page tells readers to divide the price difference by the actual selling price, and its own example describes a shoe going from $50 to $40 as a 25% markdown. Indeed’s guide uses the same base: a coffee table cut from $300 to $250 is reported as a 20% markdown. Measured against the original price, those cuts are 20% and 16.67%.

Other ranking pages use the original price. Priceva works a jacket from $80 to $64 as 20%, and Competera takes 25% off $50 to reach $37.50. Put Competera’s example next to Omni’s and the disagreement is concrete: the phrase “25% markdown on a $50 item” produces $37.50 on one page and $40 on the other.

The sale-price base is not an invention. It is a per-item echo of the retail accounting measure covered later in this post, where markdown dollars are divided by net sales. For a whole department over a season that measure is useful. On one price tag it misleads: it does not match the percentage on the sale badge, it cannot be turned into a sale price by simple multiplication, and it reaches 100% at exactly half price.

Markdown % on original priceSame cut as % of sale priceExample on an $80 original
10%11.11%$8 off, sells at $72
20%25.00%$16 off, sells at $64
25%33.33%$20 off, sells at $60
30%42.86%$24 off, sells at $56
40%66.67%$32 off, sells at $48
50%100.00%$40 off, sells at $40

The conversion between the two is a single formula, which is handy when you inherit a report built on the other base:

% of sale price     = Markdown rate ÷ (1 − Markdown rate)
% of original price = Sale-price rate ÷ (1 + Sale-price rate)

0.30 ÷ (1 − 0.30) = 0.4286 → 42.86% of sale price
0.4286 ÷ (1 + 0.4286) = 0.30 → 30% of original price

Our recommendation is unambiguous: for anything attached to a single product, a price tag, a sale badge, a pricing rule, use the original price as the base. Reserve the net-sales base for period reporting, and label it as such so nobody mistakes one for the other.

Successive markdowns: why 30% then 20% is 44%, not 50%

When a second markdown is taken off an already reduced price, the percentages do not add. The second cut applies to the sale price, which is smaller than the original, so it removes fewer dollars than its headline suggests.

Combined markdown rate = 1 − (1 − First rate) × (1 − Second rate)

30% then 20%:
1 − (0.70 × 0.80) = 1 − 0.56 = 0.44 → 44%

On an $80 original:
$80 × 0.70 = $56.00 after the first markdown
$56 × 0.80 = $44.80 after the second
($80 − $44.80) ÷ $80 × 100 = 44%

The gap between the sum and the true combined figure is the product of the two rates: 0.30 × 0.20 = 0.06, or six points. That is why small stacked cuts are nearly additive and deep ones are not. The order does not matter, since 0.70 × 0.80 and 0.80 × 0.70 are the same number.

First markdownSecond markdown (off the reduced price)Sum of the twoActual combined markdownFinal price on an $80 original
10%10%20%19.00%$64.80
20%10%30%28.00%$57.60
20%20%40%36.00%$51.20
25%25%50%43.75%$45.00
30%20%50%44.00%$44.80
30%30%60%51.00%$39.20
40%20%60%52.00%$38.40
50%30%80%65.00%$28.00
50%50%100%75.00%$20.00

Ladders stated off the original price

A markdown ladder is usually planned as depths off the original price: 20%, then 30%, then 40%. On an $80 product those steps are $64, $56 and $48. If your tool applies each step to the current price instead, you need the step expressed against the price it starts from:

Step rate off current price = 1 − (1 − Target total rate) ÷ (1 − Current total rate)

From 20% total to 30% total: 1 − 0.70 ÷ 0.80 = 0.125  → 12.5% off $64 = $56
From 30% total to 40% total: 1 − 0.60 ÷ 0.70 = 0.1429 → 14.29% off $56 = $48

Get this backwards and the result is expensive. Applying 20%, then 30%, then 40% successively to the current price gives $80 × 0.80 × 0.70 × 0.60 = $26.88, which is 66.4% off, not the 40% the plan called for, and on a $32 unit cost it is below cost. Whatever tool you use, find out which base its steps use before you schedule anything. The same multiplication is what makes a sale price plus a checkout code deeper than either alone: a 10% code on the $56 sale price brings the customer to $50.40, which is 37% off the original.

Markdown vs markup vs margin vs discount

These four terms get used interchangeably and they measure four different things. The quickest way to keep them apart is to look at the base each one divides by. The example column uses the same product throughout: unit cost $32, original price $80, sale price $56.

MeasureFormulaBase (the denominator)What it answersExample
Markdown %(Original price − Sale price) ÷ Original priceOriginal priceHow far below its original price is this selling?($80 − $56) ÷ $80 = 30%
Markup % (on cost)(Price − Cost) ÷ CostCostHow much did we add to cost to set the price?($80 − $32) ÷ $32 = 150%
Margin % (gross)(Price − Cost) ÷ PriceSelling priceWhat share of each dollar collected is gross profit?($80 − $32) ÷ $80 = 60%
Margin % after markdown(Sale price − Cost) ÷ Sale priceSale priceWhat share of each marked-down dollar is gross profit?($56 − $32) ÷ $56 = 42.86%
Discount %(Listed price − Price paid) ÷ Listed priceThe listed price at checkoutHow much came off at checkout for this customer?10% code on $56: pays $50.40

Three clarifications that the table cannot carry on its own.

Markup has two conventions. In everyday business use, markup is measured on cost, as in the table. In retail merchandising math, markup is normally stated as a percentage of retail, which makes it numerically the same as margin. Shopify uses the margin formula: its product details page documentation states that margin is calculated as ([price − cost] ÷ price) × 100. When someone quotes a markup, ask which base before you compare it to anything.

A markdown percentage is not a margin change. A 30% markdown on a 60% margin product does not leave a 30% margin. It leaves 42.86%, because both the numerator and the denominator of the margin formula shrink. The general relationship is:

Margin after markdown = (Full-price margin − Markdown rate) ÷ (1 − Markdown rate)
(0.60 − 0.30) ÷ (1 − 0.30) = 0.30 ÷ 0.70 = 0.4286 → 42.86%

This is the answer to “how to calculate markdown margin”: it is the ordinary margin formula applied to the sale price, and the shortcut above gets you there from two percentages.

A discount is applied at checkout, a markdown is applied to the price. In retail accounting the word “discount” covers things like employee discounts and customer allowances, recorded separately from markdowns. On Shopify the split is mechanical. A markdown is a change to the product’s price field. A discount is one of the discount types Shopify documents, amount off, buy X get Y or free shipping, applied by code or automatically. The arithmetic of a percentage discount is identical to a markdown’s, but its base is whatever price is listed when the customer checks out, which may already be a marked-down price.

How to calculate markdown in retail accounting: markdown percentage of net sales

Buyers and planners at retail chains use “markdown percent” to mean something different from the per-item figure. It is a rate for a department or store over a period, and its base is net sales.

Markdown % of net sales = Total markdown $ ÷ Net sales $ × 100
Net sales $             = Sum of (Price actually charged × Units sold)

This is the formula given in Cotton Incorporated’s “Calculating Markdowns” chapter, which notes that the markdown percent is usually calculated over a given period for a department or store rather than for one group of items. Its worked example marks 24 blouses at $56 and 18 shirts at $48 down by 25%, then takes the unsold remainder to 33⅓% off. Total markdown dollars come to $612.02 against net sales of $1,595.98, a markdown percent of 38.35%.

Look at that result again: no item in the example was ever reduced by more than 33⅓%, and yet the markdown percent is 38.35%. That is not an error. It is what happens when the denominator is what customers paid rather than what the tickets originally said. The original retail value of those 42 garments was $2,208, and $612.02 is 27.72% of that.

Here is an illustrative example closer to how a Shopify store would see it. Say a store buys 100 jackets at $32, tickets them at $80, and sells through the season at three prices.

Price pointPer-item markdown %Units soldNet sales $Markdown $
$80 (full price)0%50$4,000$0
$5630%30$1,680$720
$4050%20$800$800
Total100$6,480$1,520
Markdown % of net sales       = $1,520 ÷ $6,480 × 100 = 23.46%
Markdown $ as % of orig. retail = $1,520 ÷ $8,000 × 100 = 19.00%
Average selling price         = $6,480 ÷ 100 = $64.80

Three different per-item percentages (0%, 30%, 50%) collapse into one period rate of 23.46%. Neither number replaces the other:

  • The per-item percentage is a pricing input. It describes one price tag at one moment and says nothing about how many units sold at that price.
  • The markdown percentage of net sales is a performance output. It is weighted by units, it includes every full-price sale in the denominator, and it tells you how much of a season’s revenue was bought with price cuts.
  • The two use different bases, so a period rate will always be higher than the same markdown dollars measured against original retail: 23.46% against 19.00% here.

One difference in how the dollars are counted: retail accounting records markdown dollars when the price is changed, on every unit on hand. If you compute the figure from order data, as most Shopify merchants will, you capture only the units that sold at the reduced price. For stock that sells through, the two agree. Cotton Incorporated’s chapter also makes a point worth repeating: planned markdowns are, in its words, “a guide, not a goal”.

Initial markup vs maintained markup: how markdowns erode it

Initial markup is what you planned to earn when you set the original price. Maintained markup is what you actually earned once the goods were sold at whatever prices they sold for. Markdowns are the main reason the second number is smaller than the first.

Initial markup %    = (Original retail $ − Cost $) ÷ Original retail $ × 100
Maintained markup % = (Net sales $ − Cost of goods sold $) ÷ Net sales $ × 100

Cotton Incorporated’s chapters on initial markup and maintained markup work both from one set of figures. Initial markup is 60.0% on gross sales of $150,000. Maintained markup is $58,800 on net sales of $130,000, or 45.23%. Between the two sit $20,000 of retail reductions, of which $15,000 is markdowns, shown in the chapter’s profit and loss statement as 11.54% of net sales. That example also includes transportation costs and other reductions such as shrinkage, so not all of the gap is markdowns, but the direction is the point: the markup you set is not the markup you keep.

Apply the two formulas to the 100-jacket season from the previous section, where markdowns are the only reduction:

Initial markup %    = ($8,000 − $3,200) ÷ $8,000 × 100 = 60.00%
Maintained markup $ = $6,480 − $3,200 = $3,280
Maintained markup % = $3,280 ÷ $6,480 × 100 = 50.62%

When markdowns are the only reduction, the two markups and the markdown percentage of net sales are tied together by one line of algebra, which is useful for planning in either direction:

Maintained markup rate = Initial markup rate − Markdown rate of net sales × (1 − Initial markup rate)
0.60 − 0.2346 × (1 − 0.60) = 0.60 − 0.0938 = 0.5062 → 50.62%

Each point of markdown rate costs (1 − initial markup) points of maintained markup. At a 60% initial markup that factor is 0.40. At a 40% initial markup it is 0.60. The thinner your starting markup, the more each point of markdown takes from what you keep.

On Shopify the same erosion is visible in the difference between two screens. The profit reports documentation explains that the margin on the product details page is based on the full price, while gross margin in the profit reports is based on net sales, and gives its own example: a T-shirt priced at $20 with a $10 cost shows a 50% margin on the product page, and a 33% margin in the report once it sells at $15. Run that example through the break-even formula in the next section and the required multiple is $10 ÷ $5 = 2.00×.

Break-even volume after a markdown

A markdown is worth taking, in gross profit terms, only if it sells enough extra units to make up for the profit each unit gives away. The break-even multiple is the ratio of the two unit margins.

Required unit multiple = Original unit margin $ ÷ New unit margin $
                       = (Original price − Cost) ÷ (Sale price − Cost)

$80 → $56, cost $32:
($80 − $32) ÷ ($56 − $32) = $48 ÷ $24 = 2.00×

A 2.00× multiple means selling 200 units at $56 for every 100 you would have sold at $80. Check it: 100 × $48 = $4,800, and 200 × $24 = $4,800. If you only know percentages, the same multiple comes from the margin and the markdown depth:

Required unit multiple = Full-price margin ÷ (Full-price margin − Markdown rate)
0.60 ÷ (0.60 − 0.30) = 2.00×

The table below is computed from that formula for five margin levels and five markdown depths. Where the markdown equals the margin the sale price equals cost, and where it exceeds the margin the sale price is below cost. In both cases no volume recovers the profit.

Full-price gross margin10% markdown20% markdown30% markdown40% markdown50% markdown
30%1.50×3.00×At costBelow costBelow cost
40%1.33×2.00×4.00×At costBelow cost
50%1.25×1.67×2.50×5.00×At cost
60%1.20×1.50×2.00×3.00×6.00×
70%1.17×1.40×1.75×2.33×3.50×

Three things to take from the table.

  • The same depth is a different decision at different margins. A 20% markdown needs 1.40× the units at a 70% margin and 3.00× at a 30% margin. A competitor’s sale depth means something else at your margin.
  • Revenue break-even is a much lower bar, and the wrong one. To match full-price revenue after a 30% markdown you need 1 ÷ (1 − 0.30) = 1.43× the units. To match gross profit at a 60% margin you need 2.00×. A sale that lifts units by 60% will show higher revenue and lower gross profit in the same week.
  • The multiple is a comparison against full-price sales that would actually have happened. For a product that is selling steadily, that is the right test. For stock that has stopped selling, the realistic alternative is not a full-price sale, it is carrying cost and eventual liquidation, and the right guardrail is a floor rather than a multiple.

If the goal is promotion on healthy stock, hold the markdown to a depth where the multiple is one you genuinely expect to hit. If the goal is clearance, the multiple will often be unreachable and that is fine, because the objective has changed from earning the same profit to recovering cash. We cover that decision, including when to liquidate, in our guide to clearing excess inventory on Shopify.

Markdown cancellation: reversing a markdown

A markdown cancellation is what happens when a marked-down price goes back up. The PwC inventory guide linked earlier defines it as an upward revision of a previous markdown and notes that it cannot exceed the markdown it reverses. Raise the price above the original and the excess is a markup, not a cancellation.

Markdown cancellation $ = (Restored price − Marked-down price) × Units on hand at restoration
Net markdown $          = Gross markdown $ − Markdown cancellation $

Illustrative example: a store marks 100 jackets down from $80 to $56 for a weekend event, sells 35 of them, and restores the remaining 65 to $80 on Monday.

Gross markdown $        = $24 × 100 = $2,400
Markdown cancellation $ = $24 × 65  = $1,560
Net markdown $          = $2,400 − $1,560 = $840   (which is $24 × 35 units sold)

The reason this matters outside an accounting department is that temporary sales are the norm in ecommerce. If you total markdown dollars at the moment prices drop and never subtract the cancellations, every event looks more expensive than it was, and a permanent clearance markdown becomes indistinguishable from a three-day promotion. Track gross markdowns, cancellations and net markdowns as three separate lines. The net figure is the real cost of the event.

How to calculate markdown percentage in Excel and Google Sheets

Every formula in this post fits in a spreadsheet row. The formulas below work unchanged in both Excel and Google Sheets. They assume this layout, with headers in row 1 and the first product in row 2:

ColumnContentsExample value in row 2
AProduct or SKUJacket
BOriginal price80
CSale price56
DUnit cost32
EUnits sold at the sale price30
FTarget markdown rate30%
GSecond markdown rate (if stacked)20%

Markdown percentage from two prices. Format the cell as a percentage rather than multiplying by 100, and guard against an empty original price:

=IF(B2>0,(B2-C2)/B2,"")

Markdown dollars per unit, and total markdown dollars on the units sold:

=B2-C2
=(B2-C2)*E2

Sale price from a target markdown rate, rounded to cents. Microsoft’s ROUND documentation covers the second argument, which is the number of decimal places:

=ROUND(B2*(1-F2),2)

Combined rate of two successive markdowns, and the resulting price:

=1-(1-F2)*(1-G2)
=ROUND(B2*(1-F2)*(1-G2),2)

Gross margin at full price and after the markdown:

=(B2-D2)/B2
=(C2-D2)/C2

Required unit multiple, with a guard for sale prices at or below cost:

=IF(C2>D2,(B2-D2)/(C2-D2),"No volume recovers the profit")

Markdown percentage of net sales across a range of products. SUMPRODUCT multiplies each row’s markdown dollars by its units and adds the results, then does the same for net sales. Microsoft’s SUMPRODUCT documentation notes that the ranges must have the same dimensions, and Google’s Sheets function list includes the same function:

=SUMPRODUCT(B2:B50-C2:C50,E2:E50)/SUMPRODUCT(C2:C50,E2:E50)

For that formula to give a true period rate, the range has to include the full-price rows too, with the sale price column equal to the original price, so that their units count in net sales and contribute zero markdown dollars.

Price endings. To force a .99 ending, round the computed price to a whole dollar and subtract a cent. FLOOR rounds down to a multiple and CEILING rounds up; both are in Google’s function list as well. The first formula below gives the .99 ending in the dollar below the computed price, the second gives the .99 ending in the same dollar (when the computed price is already a whole dollar, both return the same value):

=FLOOR(B2*(1-F2),1)-0.01
=CEILING(B2*(1-F2),1)-0.01

With an original price of 65 and a target rate of 30%, the unrounded price is 45.50. The FLOOR version returns 44.99 and the CEILING version returns 45.99. Point the markdown percentage formula at the rounded price so the sheet reports the percentage you actually charge.

Rounding and price endings

A percentage applied to a price almost never lands on a price you would publish. 30% off $65 is $45.50. Whatever you round it to, the real markdown percentage moves, and the direction of the rounding decides whether your advertised percentage is still true.

Published price (original $65)Markdown $Actual markdown %Against a 30% target
$45.50 (unrounded)$19.5030.00%Exact
$45.99$19.0129.25%Shallower than advertised
$45.00$20.0030.77%Slightly deeper
$44.99$20.0130.78%Slightly deeper
$44.00$21.0032.31%Deeper

Our recommendation: if a percentage is going to be advertised, round the price down to your chosen ending, never up. A customer who checks the arithmetic on $45.99 finds 29.25%, which is less than the 30% on the banner. Rounding down to $44.99 costs 51 cents per unit against the unrounded price and keeps the claim honest. If you would rather not give that up, round up to $45.99 and advertise 29% off, or show the two prices without a percentage.

Two rules keep rounding from causing trouble. Apply the ending rule consistently across the catalog so that prices look deliberate. And always run the floor check after rounding, not before, because a price rounded down can cross a floor that the unrounded price cleared. Shopify’s own tooling treats rounding as a separate step as well: the documentation for Smart Pricing markdowns and markups describes a rounding rule you can set so that suggested prices end in .99 or whole numbers.

Applying the markdown on Shopify: price and compare-at price

On Shopify, a markdown is expressed with two fields on the product or variant. Shopify’s help page on setting sale prices for products describes the method: set the compare-at price to the product’s original price, enter the new lower price in the price field, and make sure the compare-at price is higher than the price so that the sale price displays. In the terms of this post:

Compare-at price = Original price            ($80.00)
Price            = Sale price                ($56.00)
Markdown %       = (Compare-at price − Price) ÷ Compare-at price × 100 = 30%

The steps for a single product, following that help page:

  1. Work out the sale price first, including the rounding decision, and check it against your floor.
  2. In the Shopify admin, open the product and go to its price section.
  3. Enter the original price in the compare-at price field.
  4. Enter the sale price in the price field.
  5. Save, then repeat for each variant that is part of the markdown. The same help page notes that you can bulk edit multiple variants and multiple products.

Three details from Shopify’s documentation are worth knowing before you rely on the result.

  • Display depends on the theme. The sale pricing page states that whether sale prices display on the storefront, and where, depends on your theme. After the change, check one product on the storefront and confirm that any percentage shown matches your own calculation from the rounded price.
  • Fixed market prices take precedence. The same page states that fixed prices set for international markets override the prices and compare-at prices set in the admin, and that fixed sale prices for those markets are created by importing a CSV. A markdown on the base price may not reach a market that has fixed prices.
  • Cost per item uses the same definition as the calculator above. The product details page documentation describes cost per item as what the product costs you, excluding taxes, shipping or other costs, and states that Profit and Margin are displayed when a cost is entered, with margin calculated as ([price − cost] ÷ price) × 100. It also notes that those details are not displayed if the product is set to charge tax.

The pages we checked document price, compare-at price, cost per item, profit and margin. Shopify’s documentation does not describe a field that reports the markdown percentage itself or a break-even multiple, so those remain calculations you do in the calculator above or a spreadsheet.

Reversing the markdown is the cancellation described earlier, expressed in the same two fields: put the original price back in the price field and clear the compare-at price. For deciding depth, Shopify also offers a first-party option: the Smart Pricing documentation linked above describes weekly markdown and markup price tips that you review and apply yourself, and lists a requirement of at least 10 products, each with more than 25 sales per month.

Markdown pricing strategy: from formula to schedule

The formulas tell you what a markdown is and what it costs. A markdown pricing strategy is the set of decisions you make with them before any price changes. We would make them in this order.

  1. Fix the base. Record the original price for every product in the plan. Every percentage is measured against it, and it goes in the compare-at price field.
  2. Set the floor. Compute the lowest acceptable price per product from its full cost. No step goes below it.
  3. Choose the depths as totals off the original price. Cotton Incorporated’s markdown chapter describes a customary retail sequence of a first markdown of 20% to 25%, then a third off, then half price or below. Write your own sequence as totals and convert to step rates only if your tool requires it.
  4. Check each step against margin and volume. For every depth, compute the margin after markdown and the required unit multiple. A step whose multiple is implausible for healthy stock belongs in clearance, not promotion.
  5. Round, then recompute. Apply the ending rule, recalculate the actual percentage, and re-run the floor check.
  6. Decide the trigger and the exit. State what moves a product to the next step (days without a sale, or a calendar date) and what ends the markdown.

Steps 1 to 5 are arithmetic. Step 6 is operations, and it is where manual markdowns tend to fail, because somebody has to make each change on the right day across every variant. Our pricing-rules playbook for automated Shopify markdowns covers how to structure the triggers. For event-driven schedules, with Black Friday falling on 27 November in 2026, the depth tiers and the revert plan are laid out in our Black Friday markdown strategy.

Where Auto Markdown fits, and where it does not

We built Auto Markdown, so read this with that in mind. It automates the schedule once the math is decided. You define rules that lower a product’s price by a set percentage after a set number of days without a sale, in progressive steps, and the timer resets when the product sells. Floor protection stops a step from going below a minimum you set as a fixed amount, a percentage or a cost-based value. Rules can be scoped to parts of the catalog rather than applied product by product.

It does not decide your depths for you: the percentages and the floor are inputs you bring. It is also not a discount app. It does not create discount codes, buy-one-get-one offers or bundles, it does not do customer-segment pricing, and its triggers are days without a sale rather than calendar dates, so a sale that must start on a specific date is a job for a scheduling tool. It has a free plan and, as a new listing, no App Store reviews yet, so judge it on a test collection first. If your catalog is small enough that a spreadsheet and a calendar reminder work, that is a legitimate way to run markdowns.

Common mistakes

  1. Dividing by the sale price. It inflates the figure and breaks the link to the price tag: $24 off $80 is 30%, not 42.86%. Use the original price for anything attached to a single product.
  2. Adding stacked percentages. 30% then 20% is 44%, and a 40% sale plus a 20% code is 52%, not 60%. Multiply the remaining fractions and subtract from one.
  3. Applying ladder steps to the wrong base. A ladder planned as 20%, 30% and 40% off the original ends at $48 on an $80 product. The same three numbers applied successively to the current price end at $26.88.
  4. Reading a markdown percentage as a margin change. A 30% markdown on a 60% margin leaves 42.86% margin and half the profit per unit. The percentage that matters for profit is the share of unit margin given away, which here is 50%.
  5. Mixing up markup and margin. A 150% markup on cost and a 60% margin describe the same $80 price on a $32 cost. Plugging a markup on cost into a formula that expects margin produces multiples that are far too optimistic.
  6. Judging the markdown by revenue. Revenue breaks even at 1.43× units after a 30% cut. Gross profit at a 60% margin breaks even at 2.00×. Measure the event in gross profit dollars.
  7. Treating the per-item percentage as the season’s markdown rate. One is a price tag, the other is total markdown dollars over net sales. A catalog with a few items at 50% off can have a period rate in the low twenties, or lower, depending on how much sold at full price.
  8. Advertising the target after rounding up. If the banner says 30% and the price is $45.99 on a $65 original, the real figure is 29.25%. Round down, or change the claim.

FAQ

What is the formula for markdown percentage?

Markdown percentage = (original price − sale price) ÷ original price × 100. For a product reduced from $80 to $56, the markdown is $24, and $24 ÷ $80 × 100 = 30%. For a single product the base is always the original price, because that is the comparison a shopper makes.

How do you calculate the markdown price?

Multiply the original price by one minus the markdown rate: sale price = original price × (1 − rate). At 30% off an $80 product, that is $80 × 0.70 = $56. Then round to your preferred price ending and recompute the percentage from the rounded price.

Is a markdown the same as a discount?

No. A markdown is a reduction of the product’s listed price that every shopper sees and pays, while a discount is a reduction applied at checkout for customers who meet a condition or hold a code. A markdown is measured against the original price, and a discount against whatever price is listed at checkout, which may already be marked down, so the two multiply when combined.

What is the difference between markup and markdown?

Markup is the amount added to cost to arrive at a selling price, and markdown is the amount taken off a selling price after it has been set. A product that costs $32 and sells at $80 has a $48 markup, which is 150% of cost or 60% of the retail price depending on the convention, and if it is then reduced to $56 it has a $24 markdown, which is 30% of the original price.

How do you calculate two markdowns in a row?

Multiply the fractions that remain after each markdown and subtract the result from one: combined rate = 1 − (1 − first rate) × (1 − second rate). For 30% followed by 20%, that is 1 − 0.70 × 0.80 = 0.44, so the combined markdown is 44% and an $80 product ends at $44.80. Adding the two percentages overstates the total by the product of the two rates, here six points.

How do I calculate markdown percentage in Excel?

With the original price in B2 and the sale price in C2, enter =(B2-C2)/B2 and format the cell as a percentage. To go the other way, with the target rate in F2, use =ROUND(B2*(1-F2),2) for the sale price. The same formulas work in Google Sheets.

How many more units do I need to sell after a markdown?

Divide the profit per unit at the original price by the profit per unit at the sale price. With a $32 cost, an $80 original price and a $56 sale price, that is $48 ÷ $24 = 2.00×, meaning 200 units at the sale price for every 100 at full price to earn the same gross profit. If the sale price is at or below cost, no volume recovers the profit.

What is a good markdown percentage?

There is no universal figure, because the same depth costs different amounts at different margins: a 20% markdown needs 1.40× the units at a 70% margin and 3.00× at a 30% margin. For a promotion on stock that still sells, the right depth is the deepest one whose required unit multiple you realistically expect to reach. For clearance, the right depth is whatever moves the stock without crossing the floor price you have calculated from full cost.


— Palm Beach Themes is a Miami-based Shopify app studio. We use the apps we sell, so every claim in this post comes from our own merchant testing.

Once you have decided the depths, the floor and the price endings, the remaining work is making each change on time and stopping at the floor. That is the part Auto Markdown handles: it steps prices down by the percentages you set when products go without a sale, and holds them at the minimum you define. Bring the math from this post, and let the schedule run itself.