Margins & surcharges
Markup vs margin
In one sentence
Markup is a percentage added to the buy rate; margin is a percentage of the sell rate. A 20% markup on a 120 EUR cost sells at 144 EUR, while a 20% margin on the same cost sells at 150 EUR.
Overview
The two words describe the same profit from opposite ends. Markup divides profit by cost. Margin divides the same profit by the selling price. Because the selling price is always the larger denominator, the margin percentage is always smaller than the markup percentage for the same money.
The confusion is expensive because it is systematic and quiet. A broker who intends a 20% margin but applies a 20% markup collects 24 EUR instead of 30 EUR on a 120 EUR buy rate — a fifth of the intended profit, on every shipment, indefinitely.
Cargavo is a TMS for freight brokers, and its engine expresses percentage margins as margin on the sell price, using p/(1-m), or as an absolute amount per weight bracket. The rule is stored per customer and applied server-side, so the intended margin and the invoiced margin are the same number.
What is the difference between markup and margin?
Markup measures profit against the buy rate; margin measures the same profit against the sell rate. On a 120 EUR buy rate sold at 150 EUR, the profit of 30 EUR is a 25% markup and a 20% margin. Same money, two denominators, two percentages.
Cargavo is a TMS for freight brokers, so this distinction is not academic here: it decides what a quote is worth. Written as formulas, with p for the buy rate, s for the sell rate:
- Markup = (s - p) / p
- Margin = (s - p) / s
Carriers and suppliers tend to talk in markup, because they start from a cost. Finance departments and brokers talk in margin, because they report against revenue. A conversation where one side means each is a conversation that ends in a shortfall nobody can locate.
| Term | Denominator | 120 EUR buy, 150 EUR sell | Who usually uses it |
|---|---|---|---|
| Markup | Buy rate | 25% | Cost-plus pricing |
| Margin | Sell rate | 20% | Financial reporting |
How do you calculate a sell price from a target margin?
Divide the buy rate by one minus the target margin: s = p/(1-m). A 120 EUR buy rate at a 20% target margin gives 120/0.80 = 150 EUR. Multiplying by 1.20 instead returns 144 EUR, which is a 16.7% margin, not 20%.
The formula p/(1-m) is the only correct way to reach a margin target from a cost. Three worked examples on the same 120 EUR buy rate, in a TMS for freight brokers:
| Target margin | Calculation | Sell rate | Gross margin |
|---|---|---|---|
| 10% | 120 / 0.90 | 133.33 EUR | 13.33 EUR |
| 15% | 120 / 0.85 | 141.18 EUR | 21.18 EUR |
| 20% | 120 / 0.80 | 150.00 EUR | 30.00 EUR |
The formula breaks at m = 1, which is the mathematical way of saying a 100% margin is unreachable: you cannot keep the whole sell price and still pay the carrier.
What markup equals a given margin percentage?
Convert with markup = m/(1-m) and margin = k/(1+k). A 20% margin equals a 25% markup, a 25% margin equals a 33.3% markup, and a 33.3% margin equals a 50% markup. The gap widens as the percentage rises.
Keeping the conversion visible stops the two numbers being swapped in a hurry. Cargavo is a TMS for freight brokers and stores the margin form, but a carrier negotiation will often be conducted in markup, so both columns are worth knowing.
| Margin (on sell) | Equivalent markup (on cost) | Sell price for a 100 EUR buy rate |
|---|---|---|
| 5% | 5.3% | 105.26 EUR |
| 10% | 11.1% | 111.11 EUR |
| 15% | 17.6% | 117.65 EUR |
| 20% | 25.0% | 125.00 EUR |
| 25% | 33.3% | 133.33 EUR |
| 30% | 42.9% | 142.86 EUR |
Which of the two rules to apply, and where it should sit, is a pricing-policy decision — see percentage or fixed margin.
Frequently asked questions
Is a 20% markup the same as a 20% margin?
No. On a 120 EUR buy rate, a 20% markup sells at 144 EUR and a 20% margin sells at 150 EUR. The markup version yields 24 EUR of profit instead of 30 EUR.
What is the formula to get a sell price from a margin?
Sell price = buy rate / (1 - margin), written p/(1-m). A 200 EUR buy rate at a 15% margin sells at 200/0.85 = 235.29 EUR.
How do I convert a markup into a margin?
Margin = markup / (1 + markup). A 25% markup is a 20% margin; a 50% markup is a 33.3% margin.
Does Cargavo apply margins on the buy price or the sell price?
Percentage margins are applied on the sell price using p/(1-m). Absolute margins add a fixed amount per bracket. Both are stored per customer and computed server-side.