The denominator changes the answer
If a product costs 60 and sells for 100 with no other costs, profit is 40. Margin divides profit by revenue: 40 / 100 = 40%. Markup divides profit by cost: 40 / 60 = 66.67%. They describe the same transaction from different bases. A 50% markup is not a 50% margin: a cost of 60 marked up by 50% sells for 90 and leaves a margin of 30 / 90 = 33.33%.
Put per-sale costs in the model
LedgerSprout defines base cost as product cost plus fixed fee plus seller-paid shipping. A percentage fee is deducted from revenue after discount. At price 100, product cost 50, shipping 5, fixed fee 5 and fee rate 10%, contribution is 100 − 50 − 5 − 5 − 10 = 30. Margin is 30%, while markup against the defined base cost is 30 / 60 = 50%. Other systems may include percentage fees in a different markup denominator. Compare definitions before comparing displayed percentages.
Solve the selling price rather than adding a percentage
For target margin m and fee rate f, discounted revenue must satisfy R × (1 − f − m) = base cost. If the listed-price discount is d, listed price = base cost / [(1 − d) × (1 − f − m)]. With base cost 60, fee 10%, target margin 30% and discount 10%, listed price is 60 / (0.9 × 0.6) = 111.111… . Round upward to 111.12 to preserve the target. Adding 30% to the cost would produce 78, which fails to account for the correct denominator.
Watch rounding and impossible targets
Display rounding uses decimal round-half-up, while solved prices round up to a cent. Inputs accept up to six decimal places to support allocated costs, but displayed lines round independently. Fee rate plus target margin must remain below 100%. At or above that boundary, no positive price can cover a positive base cost. A zero base cost makes markup undefined; a zero selling price makes margin undefined. These cases are validation states, not opportunities to display reassuring zeros.
Know the limits of contribution profit
The result is contribution before advertising, returns, overhead and tax. Enter tax-exclusive amounts in one currency and allocate order costs consistently. If a basket contains three products, counting the full order shipping cost three times overstates cost. Conversely, omitting packaging or payment fees overstates contribution. Use a documented allocation method and compare the model against a few actual settled orders before applying target prices to a catalog.