1. Scope
A lookup between margin, markup, and discount. It converts any one of the three plus cost or list price into the others. It does not compute multi-step trade discounts or cumulative retailer markups across a chain.
2. Inputs and outputs
Inputs
- mode enum
margin | markup | discount.
- cost number (currency)
- price number (currency)
- percent percent
The target margin, markup, or discount depending on mode.
Outputs
- margin
(price − cost) / price.
- markup
(price − cost) / cost.
- discountedPrice
price × (1 − discount).
Engine source: src/lib/margin-markup-discount-calculator/engine.ts
3. Formula / scoring logic
margin = (price - cost) / price
markup = (price - cost) / cost
discounted_price = list_price * (1 - discount_rate) 4. Assumptions
- Inputs share currency and time window.
- Discount is applied to a single list price — multi-tier trade discounts (distributor → retailer → consumer) are not modelled.
5. Data sources
This tool relies on user inputs and standard arithmetic; no external benchmark data is bundled. When a question depends on an industry reference (for example, typical churn rates or hourly-wage medians), the linked adjacent tools cite their primary sources on their own methodology pages.
6. Known limitations
- Ignores tax and fee layers (VAT, platform fees). Net those out before entry.
- Rounding is cosmetic. The underlying math is double-precision.
7. Reproducibility
Input
cost = $40, price = $100, mode = margin.
Expected output
margin = 60%, markup = 150%.
8. Change log
- 2026-04-24 methodology page first published.