Clearance pricing on Shopify: how to set a floor by unit economics
Clearance pricing that doesn't lose money: contribution margin per unit, break-even discount, carrying cost, a liquidation reserve, and a worked floor calculation.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
Clearance pricing should start with one number: the lowest price at which selling a unit is still better than not selling it. That number is not cost, and it is not "cost plus 10%." It's cost plus the variable costs of selling that unit, plus whatever minimum contribution you've decided aged stock must return — and for most stores it lands somewhere between cost and cost-plus-15%. Once you have it per SKU, every clearance decision becomes a comparison against a floor instead of a guess about what "50% off" feels like.
Here's how to compute it, how to know when holding beats discounting, and how to set a liquidation reserve so the disposal decision is made in advance. The portfolio-level cadence that decides when each SKU gets marked is in markdown strategy; this is the price level underneath it.
Contribution margin is the number that matters
Gross margin is price minus cost. Contribution margin is price minus cost minus every cost that only exists because you sold that unit. The difference decides whether a clearance price is viable.
| Cost | Belongs in contribution? | Why |
|---|---|---|
| Landed unit cost (goods + freight + duty) | Yes | You paid it once; it's sunk but it sets the reference |
| Payment processing | Yes | Roughly 2–3% plus a fixed per-transaction fee on most plans |
| Pick, pack, and packaging | Yes | Scales with orders shipped |
| Outbound shipping subsidy | Yes, if you absorb any | Free-shipping thresholds mean some orders carry freight |
| Returns provision | Yes, as an expected rate | Clearance items still get returned |
| Inbound freight to your warehouse | Already in landed cost | Don't double-count |
| Storage, insurance, capital | No | A carrying cost — a reason to hurry, not a cost per sale |
| Website, salaries, software | No | Fixed; they don't change with one more order |
The returns line is the one people skip. A clearance item with a 12% return rate and a $6 return processing cost carries about $0.72 of expected cost per unit sold, which is real money on a $20 item.
Break-even discount, defined
Break-even discount = (price − floor) ÷ price, where floor = landed cost + variable selling costs + minimum contribution.
That percentage is the maximum discount the SKU can take. Anything deeper is a decision to lose money, which is sometimes correct — but it should be a decision with a number on it, not the accidental result of chasing a round percentage.
Three properties are worth internalising:
- Low-cost, high-markup products have enormous headroom. A $34 item costing $6 can take 70% off and still clear cost. This is why cheap accessories tolerate deep clearance and expensive electronics do not.
- High-cost-ratio products have almost none. A $60 item costing $42 has a floor near $46 once variable costs land — a maximum discount around 23%. For that SKU, the clearance ladder has one rung and then the exit.
- Fixed-amount costs punish cheap items. A $0.30 per-transaction fee is 1% of a $30 order and 3% of a $10 order. Deep discounting a cheap SKU can put it underwater on fees alone.
Carrying cost: the reason to hurry
Carrying cost — storage, insurance, capital, shrinkage, and obsolescence risk — usually lands in the 15–30% of inventory value per year range, with 20–25% a common planning assumption for small stores. It's an estimate, not a law; your rate depends on your space, your cost of capital, and how fast your category goes stale.
Both of those figures are assumptions you should document rather than inherit, because the carrying rate is the number that decides how long a hold is defensible. A useful form is per unit per month:
Carrying cost per unit per month = landed cost × annual rate ÷ 12
A $26 throw blanket at a 24% annual rate costs about $0.52 a month to hold. That sounds trivial until you multiply by units and months: 300 blankets held for eight months is roughly $1,250 — which is more than the margin on 33 blankets.
The liquidation reserve
Every clearance floor should assume that some units will not sell at any storefront price. The liquidation reserve is what you expect to recover per unit from the final channel — job lot, liquidator, or donation — and it changes the arithmetic of holding:
Hold if: expected contribution from holding > (expected clearance contribution) − (carrying cost × months held) − (liquidation reserve risk)
In practice, most stores simplify to: if the SKU is past the exit bucket, or the depth needed to move it breaches the floor, compare now against later. A realistic liquidation recovery is often a fraction of cost — assume 15–30% of landed cost for a job lot, and zero for donation. If holding costs $0.52/unit/month and liquidation would return $6 on a $26 cost, then every extra month of holding a unit that won't sell spends 9% of the liquidation recovery.
A worked floor
The blanket: landed cost $26.00, retail $68.00, payment fees about 2.9% + a fixed fee (call it $2.30 on this order), pick-and-pack $1.60, returns provision $0.55.
| Line | Amount |
|---|---|
| Retail price | $68.00 |
| Landed cost | −$26.00 |
| Payment processing | −$2.30 |
| Pick, pack, packaging | −$1.60 |
| Returns provision (≈8% × $6.90) | −$0.55 |
| Contribution at full price | $37.55 |
| Minimum contribution for aged stock (policy: $0) | $0.00 |
| Floor price | $30.45 |
| Maximum discount | ($68.00 − $30.45) ÷ $68.00 = 55% |
So the blanket's ladder can run to 55% before it stops contributing. At 40% off ($40.80) it contributes $10.35 a unit; at 55% it contributes nothing but recovers the cash and the shelf. Both are defensible prices. 60% off ($27.20) is a $3.25 loss per unit, and the only reason to take it is that the alternative — holding forever, then liquidating at $6 — is worse.
Now the same math on a $14 item with a $9 cost and the same fee structure:
| Line | Amount |
|---|---|
| Retail price | $14.00 |
| Landed cost | −$9.00 |
| Payment processing ($0.30 fixed + 2.9%) | −$0.71 |
| Pick, pack, packaging | −$1.60 |
| Contribution at full price | $2.69 |
| Floor price | $11.31 |
| Maximum discount | 19% |
The cheap item has almost no clearance room, and that's the point: its margin is thin and the per-order fixed costs eat a fifth of it. A "30% off" on this SKU is a loss of about $1.51 per unit, before the carrying cost of having held it. Clearance isn't a percentage you pick; it's a price your economics permit.
The floor table by cost ratio
For a fast read when you don't want to compute every SKU, cost ratio (landed cost ÷ retail) predicts headroom well:
| Cost ratio | Typical max discount | Clearance posture |
|---|---|---|
| Under 25% | 60–70% | Deep clearance is affordable; ladder can run long |
| 25–40% | 45–55% | Standard ladder, exit at the floor |
| 40–55% | 25–35% | One or two rungs only; plan the exit early |
| 55–70% | 15–25% | Clearance is nearly a write-off; protect full price and exit fast |
| Over 70% | Under 15% | Don't build a clearance; donate or job-lot at the first sign of death |
The strategic implication is uncomfortable: the products most likely to become dead stock (heavy, expensive, high cost ratio) are also the ones with the least clearance room. That's why the buying decision, not the markdown, is where most of this money is made or lost — which is the subject of how to get rid of dead stock and its tactical ranking.
Setting the floor as policy, not per sale
Two governance rules keep floors honest:
- Recompute quarterly. Payment fees change, freight changes, packaging changes, and a floor computed last year is a number about last year's costs.
- Never let a floor be negotiated at the moment of discounting. The person marking down stock under pressure will always find a reason the floor doesn't apply. Set it in advance, write it down per SKU, and let the ladder read the number.
And one Shopify-specific note: if you apply clearance through price edits, your floor is the price you type. If you apply it through a discount, the floor has to be expressed as a percentage that lands at or above it — and a stacked discount can breach it without anyone typing a number. That's the trap in discount stacking, and it's why the floor belongs in the discount configuration as a cap, not in someone's head.
Common questions
What is clearance pricing? Setting a disposal price for stock that won't sell at full price, bounded by a floor: landed cost plus the variable costs of selling that unit plus a policy minimum contribution. The floor tells you the maximum discount the SKU can take before selling it costs you money.
How do I calculate a clearance floor? Take the retail price; add landed cost, payment processing, pick/pack, and an expected returns provision. Subtract those from price to get contribution. Set minimum contribution to zero for aged stock if recovering cash is the goal. The remainder is your floor, and (price − floor) ÷ price is your maximum discount.
Should I price clearance at cost? At cost you recover the goods but absorb payment fees, pick/pack, and shipping subsidy — so you lose a little on every unit. That's often the right call for stock with no path back to full price, but it should be a decision, not a surprise when the month closes.
Does carrying cost belong in the clearance price? No — it belongs in the timing decision. Carrying cost is what you pay for holding, so it argues for discounting sooner, but it isn't a cost of the sale itself. Include it when comparing "clear now" against "hold and hope," not in the floor.
When is liquidation better than a deeper discount? When the depth needed to move the stock breaches the floor, or when holding cost per month starts eating a meaningful share of the liquidation recovery. At that point another 5% off is slower and worse than a single lot sale.
Next step: pick your five most expensive unsold SKUs and compute their floors using the worked table above — landed cost, payment fee, pick/pack, returns provision. Round the floor up slightly for safety. Anything whose floor sits within 20% of its retail price should be on an exit path now, not a clearance ladder.