Seller Profit Guard

How to convert markup and margin correctly

Last updated: 2026-07-30

Written and reviewed by Seller Profit Guard Editorial Team.

Markup equals price minus cost divided by cost. Margin equals the same price-minus-cost amount divided by selling price. Convert markup to margin with markup divided by one plus markup; convert margin to markup with margin divided by one minus margin. A margin at or above 100% cannot produce a finite positive price.

formula and input validation from one cost-price pair through equivalent rate and decision
This original diagram explains the denominator contract with synthetic values.

Name the calculation grain

Choose one unit, bundle, retained order, or other explicitly comparable cost-and-price object. This row belongs to the denominator contract. Preserve the original value, unit, denominator label, calculation grain, currency, effective month, source class, owner, and confidence rather than keeping only a rounded percentage.

For formula and input validation, checkpoint 1 must pass before it supports one reproducible cost-price-rate conversion. Recalculate from the source pair, compare full-precision and displayed results, and correct the accountable field instead of offsetting it with an unrelated favorable assumption.

Define cost basis

State whether cost means merchandise, landed unit cost, or a documented order-variable cost basis. This row belongs to the denominator contract. Preserve the original value, unit, denominator label, calculation grain, currency, effective month, source class, owner, and confidence rather than keeping only a rounded percentage.

For formula and input validation, checkpoint 2 must pass before it supports one reproducible cost-price-rate conversion. Recalculate from the source pair, compare full-precision and displayed results, and correct the accountable field instead of offsetting it with an unrelated favorable assumption.

Define selling price

Use the price at the same grain, currency, period, and discount state as the selected cost. This row belongs to the denominator contract. Preserve the original value, unit, denominator label, calculation grain, currency, effective month, source class, owner, and confidence rather than keeping only a rounded percentage.

For formula and input validation, checkpoint 3 must pass before it supports one reproducible cost-price-rate conversion. Recalculate from the source pair, compare full-precision and displayed results, and correct the accountable field instead of offsetting it with an unrelated favorable assumption.

Calculate gross-profit amount

Subtract cost from selling price before choosing the denominator. This row belongs to the denominator contract. Preserve the original value, unit, denominator label, calculation grain, currency, effective month, source class, owner, and confidence rather than keeping only a rounded percentage.

For formula and input validation, checkpoint 4 must pass before it supports one reproducible cost-price-rate conversion. Recalculate from the source pair, compare full-precision and displayed results, and correct the accountable field instead of offsetting it with an unrelated favorable assumption.

formula and input validation calculate gross-profit amount diagram
This original diagram makes one reproducible cost-price-rate conversion reviewable.

Calculate markup

Divide the gross-profit amount by cost and label the result markup on cost. This row belongs to the denominator contract. Preserve the original value, unit, denominator label, calculation grain, currency, effective month, source class, owner, and confidence rather than keeping only a rounded percentage.

For formula and input validation, checkpoint 5 must pass before it supports one reproducible cost-price-rate conversion. Recalculate from the source pair, compare full-precision and displayed results, and correct the accountable field instead of offsetting it with an unrelated favorable assumption.

Calculate margin

Divide the gross-profit amount by selling price and label the result margin on price. This row belongs to the denominator contract. Preserve the original value, unit, denominator label, calculation grain, currency, effective month, source class, owner, and confidence rather than keeping only a rounded percentage.

For formula and input validation, checkpoint 6 must pass before it supports one reproducible cost-price-rate conversion. Recalculate from the source pair, compare full-precision and displayed results, and correct the accountable field instead of offsetting it with an unrelated favorable assumption.

Convert the entered rate

Use markup over one plus markup, or margin over one minus margin, without swapping branches. This row belongs to the denominator contract. Preserve the original value, unit, denominator label, calculation grain, currency, effective month, source class, owner, and confidence rather than keeping only a rounded percentage.

For formula and input validation, checkpoint 7 must pass before it supports one reproducible cost-price-rate conversion. Recalculate from the source pair, compare full-precision and displayed results, and correct the accountable field instead of offsetting it with an unrelated favorable assumption.

Validate the price equation

Reconstruct selling price from cost and the entered rate, then compare it with the current price. This row belongs to the denominator contract. Preserve the original value, unit, denominator label, calculation grain, currency, effective month, source class, owner, and confidence rather than keeping only a rounded percentage.

For formula and input validation, checkpoint 8 must pass before it supports one reproducible cost-price-rate conversion. Recalculate from the source pair, compare full-precision and displayed results, and correct the accountable field instead of offsetting it with an unrelated favorable assumption.

formula and input validation validate the price equation diagram
This original diagram makes one reproducible cost-price-rate conversion reviewable.

Worked control for formula and input validation

Run markup, margin, current-price-clear, invalid-margin, invalid-basis, and declared-conflict fixtures while changing only the field discussed in this guide.

The control verifies formula and input validation. It does not classify costs automatically, reproduce a private order, recommend a market price, or promise one reproducible cost-price-rate conversion.

Reconciliation and sensitivity

Recalculate observed markup and margin directly from the same cost-price pair, then reconstruct price from the entered branch. The equivalent rate and reconstructed price must agree within full-precision tolerance before display rounding.

Vary one cost-basis row, price state, entered rate, or basis at a time. If a plausible alternative changes Review to Ready, resolve the disputed source or preserve separately named scenarios rather than averaging incompatible evidence.

Block conditions and safe correction

Block nonpositive cost, nonpositive price, unsupported basis, negative target rate, margin at or above 100%, invalid currency, invalid month, missing scope, or any declared conflict. Structural errors cannot be compensated by a high price.

Correct one named field, preserve the rejected value and reason, rerun supported and broken fixtures, and compare exact before and after outputs. A repair that requires hidden offsets elsewhere is not isolated enough to approve.

Bounded decision and action

Use Block before Review before Ready. Review means valid arithmetic but a current price below the entered rate's converted price. Ready means only that the current price clears this declared cost and denominator contract.

Choose one source correction, basis clarification, price experiment, cost action, or explicit no-action conclusion. Define owner, observation window, feedback measure, stop condition, and restoration trigger before changing a public price.

formula and input validation bounded decision and action diagram
This original diagram makes one reproducible cost-price-rate conversion reviewable.

Verification and release controls

Preserve the denominator contract, source pointers, deterministic fixtures, tests, build, SEO and content audits, similarity evidence, screenshots, release manifest, backup, and rollback identifier.

Verify canonical, Article and Breadcrumb schema, sources, four explanatory visuals, internal links, privacy, indexability, mobile layout, public response, and live calculation behavior. A green build cannot validate unsupported source evidence.

Limits and privacy boundary

This arithmetic model does not determine accounting profit, taxable income, cash flow, fixed-overhead recovery, customer value, competitor response, demand, conversion, ranking, traffic, advertising approval, revenue, or income.

Keep buyer names, emails, addresses, order IDs, payment rows, bank details, tax identifiers, contacts, tokens, OAuth material, credentials, and raw exports outside the denominator contract. Public examples remain synthetic.

Evidence log and review trigger

Store packet ID, nonprivate product alias, cost-basis definition, included and excluded rows, cost, price state, entered rate, basis, currency, period, scope, source dates, outputs, decision, conflicts, reviewer, and rollback reference.

Recalculate when supplier cost, freight, duty, packaging, labor, discount state, refund state, bundle quantity, currency conversion, or rate policy changes. Do not rewrite history; create a dated successor row.

Use the contribution margin calculator when multiple order-variable costs must be subtracted from net revenue. Use the product price floor calculator when fees, discounts, buyer shipping, return loss, and a contribution target must be solved inversely.

Use the listing cost library to version SKU costs before comparing products. A denominator conversion is only as comparable as the cost definition and price state supplied to it.

Dimensional proof for both denominators

Treat currency divided by currency as a dimensionless rate. Markup uses cost currency in the denominator; margin uses selling-price currency. Reconstruct the price from each branch and substitute it into both observed-rate formulas. The entered rate and equivalent rate must reproduce without changing the declared cost basis.

Build a branch table for zero markup, positive markup, zero margin, positive margin below 100%, and invalid margin at or above 100%. Do not invent a value for an undefined or nonfinite branch.

denominator contract completion test

A complete packet lets an independent reviewer reproduce one reproducible cost-price-rate conversion from the declared cost, price, entered rate, and explicit basis without private data or hidden spreadsheet state.

Closure requires exact arithmetic, source alignment, privacy-safe examples, a non-compensating decision, bounded language, one approved next step or no-action conclusion, feedback ownership, and a recoverable prior state.

Markup-to-margin derivation

Let cost be C and selling price be P. Markup m equals (P − C) ÷ C, so P equals C(1 + m). Substitute that price into margin g = (P − C) ÷ P and simplify to g = m ÷ (1 + m).

The derivation preserves the same C and P. If either changes during conversion, the result is a new scenario rather than an equivalent rate.

Margin-to-markup derivation

Start from g = (P − C) ÷ P. Rearranging gives C = P(1 − g) and P = C ÷ (1 − g). Substitute into markup and simplify to m = g ÷ (1 − g).

The denominator explains why margin must stay below 100% for positive cost. A zero remainder cannot fund a positive cost at any finite selling price.

Input unit ledger

Record cost and price as currency per the same unit, bundle, or order. Record markup and margin as dimensionless rates. Record currency code, evidence month, and scope as context rather than arithmetic values.

A dimensional audit should fail a monthly-currency cost divided by unit-currency price, a bundle price paired with unit cost, or a percentage stored as a currency amount.

Forward and inverse identity tests

Use cost and price to calculate observed rates, then use each observed rate with the same cost to reconstruct price. Both inverse paths should return the original price at full precision.

Also convert markup to margin and back, and margin to markup and back. Keep tolerance small enough to detect formula drift but large enough to ignore display-only rounding.

Unsupported formula branches

This contract does not include tax-inclusive versus tax-exclusive price, tiered marketplace fees, contribution after advertising, refund allowance, currency conversion, or fixed-overhead allocation. Those require explicit formulas and evidence.

Declare the limitation and link to a more suitable calculator rather than smuggling extra rows into the cost basis without changing its label.

Sources and further reading

Related Seller Profit Guard tools

Next step: Open the Markup vs Margin Converter.

This is operational planning help, not tax, accounting, legal, financial, or platform-policy advice. Review the Terms and disclaimer, and verify current platform rules and fee assumptions before changing prices.