Target Margin Price Calculator

Enter the unit cost, any cost increase to pass through, your fees and the margin you want to keep. The calculator finds the price and compares it with today's.

What one unit costs you before the increase.
Supplier or material increase to pass through. Enter 0 for none; a negative value is a decrease.
Flat per-order fees such as a card processing or listing fee. Illustrative default: Stripe's published 30¢ per domestic card charge (stripe.com/pricing, read 2026-10-01).
All fees charged as a percent of the price: marketplace, processing, affiliate. Illustrative default: Stripe's published 2.9% (stripe.com/pricing, read 2026-10-01).
Profit left after cost and fees, as a percent of the selling price.
Today's selling price, for comparison.

Price for the target margin

$38.35

Change from the current price

9.61%

Unit cost after the increase

$21.60

Fees per sale at that price

$1.41

Profit per sale

$15.34

Markup on the new cost

71.03%

Margin at the current price after the increase

34.51%

How it works

A margin is a share of the selling price, and so are most platform and payment fees. That makes the price circular: raising it to cover a fee also raises the fee. The way out is to set aside the target margin and the percentage fees as fractions of the price and divide the costs that do not scale with the price (unit cost and any fixed fee per sale) by what is left.

If a supplier raises your cost, enter the increase and the calculator prices the new cost. It also shows the margin your current price would earn after the increase, so you can see what holding the price costs, and the percent change to the price that restores the target margin.

The target margin here is what remains after cost and fees. It is not a markup on cost; the markup on the new cost is shown separately for comparison.

Formula

new cost  = unit cost × (1 + cost increase %)
price     = (new cost + fixed fee) ÷ (1 − target margin % − fee %)
fees      = fixed fee + fee % × price
profit    = target margin % × price = price − new cost − fees
change %  = (price ÷ current price − 1) × 100

Example

A product costs $20 and the supplier raises that by 8% to $21.60. The shop pays 2.9% plus $0.30 on each sale and wants to keep a 40% margin. The price is ($21.60 + $0.30) ÷ (1 − 0.40 − 0.029) = $38.35, which is 9.61% above the current $34.99. At $38.35 the fees are $1.41 and the profit $15.34. Holding the price at $34.99 would cut the margin to 34.51%.

A retailer's fridge costs $1,200, its expenses run at 30% of the selling price and it wants a profit of 25% of the selling price. With no fixed fee, the price is $1,200 ÷ (1 − 0.25 − 0.30) = $2,666.67.

Assumptions and limitations

  • Fee rates are what you enter. The defaults are illustrative, taken from Stripe's published standard US card rate (2.9% + 30¢ per successful domestic card charge, stripe.com/pricing, read 2026-10-01); marketplace, processor and affiliate rates differ and change, so actual statements may differ.
  • All percentage fees are charged on the same selling price. Fees charged on price plus shipping or tax, tiered fees, and fee caps are not modelled.
  • Unit cost is the direct cost of one unit. Overhead, shipping, returns and taxes are not included unless you add them to the cost or the fixed fee.
  • The price is not rounded; a charm ending such as .99 changes the margin slightly.
  • Results are for informational and educational purposes and are not financial, tax or accounting advice.

Frequently asked questions

Why is the fee taken from the price rather than added to the cost?

The fee is charged on the selling price, which is larger than the cost. Adding 2.9% to a $21.60 cost covers $0.63 of fees, but at a $38.35 price the 2.9% fee is $1.11. Subtracting the fee rate from 1 alongside the margin charges for the fee on the price actually paid.

What margin and fees are impossible?

If the target margin plus the percentage fees reach 100%, nothing is left of the price to cover the cost, and no finite price works. The calculator rejects that combination.