Gross Margin Calculator

Gross margin and markup from revenue and COGS, side by side so the difference is obvious.

The definition

Gross margin = (revenue − COGS) ÷ revenue. It measures how much of each sales dollar survives product cost to pay for marketing, operations and profit. A 40% gross margin means 40 cents of every dollar is available for everything that is not the product itself.

Margin versus markup, permanently

Same 100,000 revenue and 60,000 COGS: gross margin is 40%, markup is 66.7%. Markup is profit as a share of cost; margin is profit as a share of price. Retail, finance and investor conversations use margin. Trade pricing often uses markup. Knowing which one the other person means prevents expensive misunderstandings.

What moves gross margin

  • Supplier cost — the fastest lever, and the least fun conversation
  • Product mix — bundles and accessories often carry higher margin than hero products
  • Discount depth — a 20% discount on a 40% margin product cuts profit by half
  • Freight and duties — they belong in COGS, not overhead

Targets by category

Apparel and accessories often run 50–60%; electronics 15–25%; consumables 30–40%. Compare within your category, not against a generic benchmark.

Frequently Asked Questions

Should shipping cost be in COGS?

Inbound freight and duties yes; outbound shipping is usually an operating cost (or netted against shipping revenue).

How do discounts affect margin?

They hit profit disproportionately: a 20% discount on a 40% gross margin halves gross profit.

Is gross margin the same as contribution margin?

No — contribution margin also subtracts variable selling costs such as payment fees and ads.

Assumptions & disclaimer

Results are estimates for planning. Fee schedules, tax brackets and deduction limits change; confirm current figures with the marketplace, the IRS or a qualified accountant before making decisions. Nothing here is financial, tax or legal advice.

Privacy & Your Data

BizCalcTool runs entirely in your browser. The figures you enter are never uploaded, stored or shared — there is no backend to send them to.