Blog Open reva

ROI vs Margin vs Markup

Three ways to express profit and when each one is the right lens.

By reva editorial teamUpdated 5 min read
One second-hand jacket with its cost, sale price and profit expressed as ROI, margin and markup
Key takeaways
  • ROI = profit ÷ money invested; margin = profit ÷ sale price; markup = (sale price − cost of goods) ÷ cost of goods. One flip, three different bases.
  • Example: 100 zł of cost of goods sold for 200 zł with no selling costs is 100% ROI, 100% markup and 50% margin. Add 20 zł of fees and packaging and ROI drops to 80%, margin to 40%, while markup stays at 100%.
  • Buy on ROI plus a profit floor in money, price and mark down on margin, and treat markup as a before-fees shortcut. To choose a channel for one item, rank by profit in money: margins can differ just because the prices do.
  • Margin = markup ÷ (1 + markup); markup = margin ÷ (1 − margin). Margin can never exceed 100%; ROI and markup can go far above it.
  • Before comparing two ROI figures, check what each divides by: this blog's ROI calculator counts cleaning and inbound delivery as invested, while the resale profit and maximum buy price calculators take cleaning off profit instead.

ROI vs margin comes down to what you divide profit by. ROI divides it by the money you put into the item; margin divides it by the sale price. So, for example, a jacket that cost you 100 zł and sold for 200 zł with no other costs is a 100% ROI and a 50% margin, and its markup is 100% too.

Below: formulas, a worked flip, when to use each, and a conversion table.

ROI vs margin vs markup: the formulas

Cost of goods is what the item cost you to buy and make sellable; COGS for resellers sets out what belongs in it.

profit = sale price − fees − postage you pay − packaging − cost of goods ROI = profit ÷ money invested margin = profit ÷ sale price markup = (sale price − cost of goods) ÷ cost of goods

ROI asks what each złoty of stock money brought back; margin, what share of the price you kept; markup, how far above cost you priced.

Before comparing two percentages, check:

  • Which one it is: ROI, margin or markup.
  • Whether it is before or after fees, postage and packaging.
  • What counts as invested. The reselling ROI calculator adds cleaning and inbound delivery; the resale profit calculator divides by purchase cost alone, so with cleaning costs its ROI reads higher.
  • For ROI, how long the money was tied up.

One worked flip: 100% ROI, 50% margin

One jacket, three percentages
ROI100%
Margin50%
Markup100%
ROI, 20 zł costs80%
Margin, 20 zł costs40%
Markup, 20 zł costs100%
Example numbers. The last three add 20 zł of selling costs; markup ignores them.Illustrative example, not market data

ROI for buying decisions

When buying, the price you pay is what you control, and ROI is built on it. Turn an ROI floor into a walk-away price:

max cost of goods for an ROI floor = (sale price − fees − postage you pay − packaging) ÷ (1 + ROI floor)

Example: the 200 zł sale with 20 zł of selling costs and an 80% floor gives 180 ÷ 1.8 = 100 zł; minus 10 zł cleaning, pay at most 90 zł.

Pair it with a profit floor in money. Example: a 5 zł item leaving 15 zł profit is a 300% ROI, and still only 15 zł. The maximum buy price calculator applies both floors, but takes cleaning off the payout instead of counting it as invested, so its ROI floor gives 170 ÷ 1.8 = 94.44 zł here. Pick one base and keep it.

Margin for pricing and fees

Percentage fees and price cuts come off the sale price, margin's own base, so check margin before a markdown.

lowest price for a margin target = (cost of goods + postage you pay + packaging) ÷ (1 − fee rate − margin target)

Example: 100 zł cost of goods, 5 zł packaging, buyer pays postage, a 10% example fee and a 30% margin target you set yourself. The floor is 105 ÷ 0.6 = 175 zł (fee 17.50 zł, profit 52.50 zł, margin 30%). Refuse offers below it.

Choosing a channel for one item is where margin misleads. Example: with the same costs, 200 zł with a 10% example fee leaves 75 zł profit, a 37.5% margin; 180 zł with no fee also leaves 75 zł, at 41.7%. ROI is 75% both times. Rank channels by profit and time to sell.

The resale profit guide sets a margin target from your monthly costs and hours, with dated fees per marketplace.

Markup and why it misleads

Markup compares price with cost only, so fees, postage and packaging never appear in it, and it never looks worse than ROI on cost of goods: the jacket stayed at 100% markup while ROI fell to 80%.

Markup and margin calculator
Markup140.0%
Margin58.3%
Price for target margin€41.67
Runs in your browser. Nothing you type is sent anywhere.

The calculator ignores fees: its price for a target margin is cost ÷ (1 − target margin), so the opening 25 cost and 40% target give 41.67. If the marketplace takes a percentage, use the lowest-price formula above.

Quick conversion table

The rows are arithmetic, not targets. Fees or postage you pay pull real margin below the right-hand column.

Markup (or ROI with no selling costs) Margin before selling costs
25% 20.0%
50% 33.3%
100% 50.0%
150% 60.0%
200% 66.7%
300% 75.0%
margin = markup ÷ (1 + markup) markup = margin ÷ (1 − margin)

Frequently asked questions

Can margin be higher than 100%?
No. Margin divides profit by the sale price, and profit can equal the price only if the item and the sale cost nothing, so 100% is the ceiling. It turns negative when costs exceed the price. ROI and markup have no ceiling. Example: a 10 zł item sold for 50 zł with no other costs is a 400% markup and ROI, but an 80% margin. A quoted margin above 100% is really a markup or an ROI.
Should I target ROI or margin?
Use each at its own stage. When buying, set an ROI floor plus a profit floor in money, because the price you pay is what you control. When pricing and marking down, watch margin, because fees and price cuts come off the sale price. Set both from your records: note the ROI and margin of past flips you would not repeat, and put your floors above them.
How do I convert markup to margin?
Divide the markup by one plus the markup: a 60% markup is 0.6 ÷ 1.6 = 37.5% margin. To go the other way, divide margin by one minus margin, so a 40% margin needs a 66.7% markup. Both results are before fees and postage, so your real margin after selling costs is lower than the converted figure.
reva Scout

See price estimates on live finds

This calculator needs your inputs. Scout estimates fair value, a fast-sell price and demand for the finds it shows you. Estimates, not guarantees.

reva estimates prices from public listings. Estimates, not guarantees.