Guide · reviewed October 2026
Margin vs markup
Mixing them up is the most expensive typo in fashion.
Margin is what you keep as a share of the selling price. Markup is what you add as a share of the cost. Same deal, different number: a 50% markup is only a 33% margin.
The formula
margin = (price − cost) ÷ price
markup = (price − cost) ÷ cost
price for a target margin = cost ÷ (1 − margin)
Worked example
Cost $40, selling price $100:
| Profit per unit | $60 |
| Margin (60 ÷ 100) | 60% |
| Markup (60 ÷ 40) | 150% |
Keystone pricing (doubling your cost) is a 100% markup, which is a 50% margin.
Worth knowing
- Quick conversions: 50% markup = 33% margin · 100% markup = 50% margin · 150% markup = 60% margin · 200% markup = 67% margin.
- Work both out from landed cost, not the factory price.
Common mistakes
- Quoting a markup when a buyer or investor asks for margin.
- Targeting a 50% margin with a 50% markup, and ending up at 33%.
Questions
- Which one should I track?
- Margin. It's what you keep from each sale, and it's what retailers, investors and your accountant talk about.
- What margin should a fashion brand aim for?
- It depends on your channels. Selling wholesale means giving the store about half the retail price, so brands that sell wholesale need a higher margin at full price to leave room.
- Is gross margin the same as margin?
- Gross margin is margin after the cost of goods sold, usually across all your sales for a period, rather than on one product.
Sources
- Mathematics for Retail Buying (Fairchild Books) · Bette K. Tepper and Newton E. Godnick
The standard textbook for retail math: markup, margin, IMU, markdowns and open-to-buy. - Ronnie Fieg on Kith's 15-Year Evolution (September 2026) · Complex
Kith's founder on buying to an 85–90% sell-through target and reported margins on brands it buys wholesale.
Checked October 2026. Rates and rules change; confirm duty and tariffs with a licensed customs broker. All sources
Run it with your numbers
OptiSKU works this out for your own products, free in your browser. No sign-up to try.
Open it with this example