Methodology
Retail Markdown Profitability & Recovery methodology
Educational only: Business decision support, not accounting, tax or legal advice.
Privacy: Calculations run locally; Margin101 does not receive your commercial inputs.
Update policy: Reviewed when formulas or official dependencies change.
Scope: Market-neutral small-business planning using your own assumptions.
1. Formulas and units
markdownUnitPrice = regular unit price ร (1 โ markdown rate)Where
- regularUnitPrice
- Regular unit price (currency units, ex tax)Source: Business record
- markdownRate
- Markdown rate (decimal rate)Source: Business record
- markdownUnitPrice
- Markdown Unit Price (currency units, ex tax)Source: Calculated output
unitsAvailableForMarkdown = starting stock โ prior full-price unitsWhere
- startingUnits
- Starting stock units (operational units)Source: Business record
- markdownUnitPrice
- Markdown Unit Price (currency units, ex tax)Source: Calculated output
- unitsAvailableForMarkdown
- Units Available For Markdown (units)Source: Calculated output
markdownUnitsSold = available units ร markdown sell-throughWhere
- unitsAvailableForMarkdown
- Units Available For Markdown (units)Source: Calculated output
- markdownUnitsSold
- Markdown Units Sold (units)Source: Calculated output
baselineContribution = baseline sold contribution + baseline unsold recovery contributionWhere
- baselineContribution
- Baseline Contribution (currency units, ex tax)Source: Calculated output
proposedContribution = markdown sold contribution + proposed unsold recovery contributionWhere
- markdownUnitsSold
- Markdown Units Sold (units)Source: Calculated output
- proposedContribution
- Proposed Contribution (currency units, ex tax)Source: Calculated output
contributionChange = proposed contribution โ baseline contributionWhere
- baselineContribution
- Baseline Contribution (currency units, ex tax)Source: Calculated output
- proposedContribution
- Proposed Contribution (currency units, ex tax)Source: Calculated output
- contributionChange
- Contribution Change (currency units, ex tax)Source: Calculated output
proposedRemainingUnits = units available โ proposed units soldWhere
- proposedRemainingUnits
- Proposed Remaining Units (units)Source: Calculated output
recoveredCash = full-price cash + markdown cash + salvage โ holding costWhere
- markdownUnitPrice
- Markdown Unit Price (currency units, ex tax)Source: Calculated output
- recoveredCash
- Recovered Cash (currency units, ex tax)Source: Calculated output
breakEvenMarkdownUnits = (baseline contribution โ all-unsold contribution) / (markdown price โ recovery per unsold unit)Where
- markdownUnitPrice
- Markdown Unit Price (currency units, ex tax)Source: Calculated output
- baselineContribution
- Baseline Contribution (currency units, ex tax)Source: Calculated output
- breakEvenMarkdownUnits
- Break Even Markdown Units (units)Source: Calculated output
breakEvenMarkdownSellThrough = break-even markdown units / units availableWhere
- unitsAvailableForMarkdown
- Units Available For Markdown (units)Source: Calculated output
- breakEvenMarkdownUnits
- Break Even Markdown Units (units)Source: Calculated output
- breakEvenMarkdownSellThrough
- Break Even Markdown Sell Through (decimal rate)Source: Calculated output
Money inputs and outputs use the currency selected in the scenario without changing the canonical methodology. Rates, margins, utilisation and buffers are entered as percentages and converted to decimal values for calculation.
2. Worked example
Input assumptions
The worked rows below come directly from the exact engine and visible default fixture.
- Regular unit price
- 100 currency units/planning period, ex tax
- Unit inventory cost
- 40 currency units/planning period, ex tax
- Starting stock units
- 100 whole product units
- Units already sold at full price
- 40 currency units/planning period, ex tax
- Markdown rate
- 0.2 proportion of regular unit price discounted
- Expected markdown sell-through
- 0.75 proportion of the relevant inventory or price basis
- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- Holding cost per leftover unit
- 5 currency units/planning period, ex tax
- Salvage value per leftover unit
- 10 currency units/planning period, ex tax
Calculation and outputs
markdownUnitPrice
markdownUnitPrice = regular unit price ร (1 โ markdown rate)- Regular unit price
- 100 currency units/planning period, ex tax
- Units already sold at full price
- 40 currency units/planning period, ex tax
- Markdown rate
- 0.2 proportion of regular unit price discounted
- Expected markdown sell-through
- 0.75 proportion of the relevant inventory or price basis
- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- unitsAvailableForMarkdown
- 60 units
- markdownUnitsSold
- 45 units
- breakEvenMarkdownUnits
- 22.8 units
- breakEvenMarkdownSellThrough
- 0.38 percent
Engine result: 80 money
unitsAvailableForMarkdown
unitsAvailableForMarkdown = starting stock โ prior full-price units- Regular unit price
- 100 currency units/planning period, ex tax
- Starting stock units
- 100 whole product units
- Units already sold at full price
- 40 currency units/planning period, ex tax
- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- markdownUnitPrice
- 80 money
Engine result: 60 units
markdownUnitsSold
markdownUnitsSold = available units ร markdown sell-through- Markdown rate
- 0.2 proportion of regular unit price discounted
- Expected markdown sell-through
- 0.75 proportion of the relevant inventory or price basis
- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- markdownUnitPrice
- 80 money
- unitsAvailableForMarkdown
- 60 units
- breakEvenMarkdownUnits
- 22.8 units
- breakEvenMarkdownSellThrough
- 0.38 percent
Engine result: 45 units
baselineContribution
baselineContribution = baseline sold contribution + baseline unsold recovery contribution- Units already sold at full price
- 40 currency units/planning period, ex tax
- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- markdownUnitsSold
- 45 units
- proposedContribution
- 3,675 money
- contributionChange
- 1,665 money
Engine result: 2,010 money
proposedContribution
proposedContribution = markdown sold contribution + proposed unsold recovery contribution- Units already sold at full price
- 40 currency units/planning period, ex tax
- Markdown rate
- 0.2 proportion of regular unit price discounted
- Expected markdown sell-through
- 0.75 proportion of the relevant inventory or price basis
- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- markdownUnitPrice
- 80 money
- unitsAvailableForMarkdown
- 60 units
- markdownUnitsSold
- 45 units
- baselineContribution
- 2,010 money
- contributionChange
- 1,665 money
- proposedRemainingUnits
- 15 units
- breakEvenMarkdownUnits
- 22.8 units
- breakEvenMarkdownSellThrough
- 0.38 percent
Engine result: 3,675 money
contributionChange
contributionChange = proposed contribution โ baseline contribution- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- baselineContribution
- 2,010 money
- proposedContribution
- 3,675 money
- proposedRemainingUnits
- 15 units
Engine result: 1,665 money
proposedRemainingUnits
proposedRemainingUnits = units available โ proposed units sold- Units already sold at full price
- 40 currency units/planning period, ex tax
- unitsAvailableForMarkdown
- 60 units
- markdownUnitsSold
- 45 units
- proposedContribution
- 3,675 money
Engine result: 15 units
recoveredCash
recoveredCash = full-price cash + markdown cash + salvage โ holding cost- Regular unit price
- 100 currency units/planning period, ex tax
- Unit inventory cost
- 40 currency units/planning period, ex tax
- Units already sold at full price
- 40 currency units/planning period, ex tax
- Markdown rate
- 0.2 proportion of regular unit price discounted
- Expected markdown sell-through
- 0.75 proportion of the relevant inventory or price basis
- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- Holding cost per leftover unit
- 5 currency units/planning period, ex tax
- Salvage value per leftover unit
- 10 currency units/planning period, ex tax
- markdownUnitPrice
- 80 money
- unitsAvailableForMarkdown
- 60 units
- markdownUnitsSold
- 45 units
- breakEvenMarkdownUnits
- 22.8 units
- breakEvenMarkdownSellThrough
- 0.38 percent
Engine result: 7,675 money
breakEvenMarkdownUnits
breakEvenMarkdownUnits = (baseline contribution โ all-unsold contribution) / (markdown price โ recovery per unsold unit)- Regular unit price
- 100 currency units/planning period, ex tax
- Units already sold at full price
- 40 currency units/planning period, ex tax
- Markdown rate
- 0.2 proportion of regular unit price discounted
- Expected markdown sell-through
- 0.75 proportion of the relevant inventory or price basis
- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- markdownUnitPrice
- 80 money
- unitsAvailableForMarkdown
- 60 units
- markdownUnitsSold
- 45 units
- baselineContribution
- 2,010 money
- proposedContribution
- 3,675 money
- contributionChange
- 1,665 money
- breakEvenMarkdownSellThrough
- 0.38 percent
Engine result: 22.8 units
breakEvenMarkdownSellThrough
breakEvenMarkdownSellThrough = break-even markdown units / units available- Markdown rate
- 0.2 proportion of regular unit price discounted
- Expected markdown sell-through
- 0.75 proportion of the relevant inventory or price basis
- Baseline full-price sell-through
- 0.3 proportion of the relevant inventory or price basis
- markdownUnitPrice
- 80 money
- unitsAvailableForMarkdown
- 60 units
- markdownUnitsSold
- 45 units
- breakEvenMarkdownUnits
- 22.8 units
Engine result: 0.38 percent
Example
The worked rows below come directly from the exact engine and visible default fixture.
- Markdown Unit Price
- 80 currency units
- Units Available For Markdown
- 60
- Markdown Units Sold
- 45
- Baseline Contribution
- 2,010 currency units
- Proposed Contribution
- 3,675 currency units
- Contribution Change
- 1,665 currency units
- Proposed Remaining Units
- 15
- Recovered Cash
- 7,675 currency units
- Break Even Markdown Units
- 22.8
- Break Even Markdown Sell Through
- 38%
The exact engine-derived outputs are shown in the labelled rows below.
Interpretation
A positive change means the entered markdown sell-through and unsold recovery improve contribution versus the baseline scenario.
3. Validation and boundary checks
- All values must be finite and inside the visible validation boundaries.
- Rates are entered as percentages and calculations retain decimal precision.
- Money and operational records use one consistent period and basis.
- Regular unit price minimum
regularUnitPrice โฅ 0 currency units/planning period, ex taxโ A lower value is rejected before calculation.- Regular unit price maximum
regularUnitPrice โค 10,000,000 currency units/planning period, ex taxโ A higher value is rejected before calculation.- Unit inventory cost minimum
unitInventoryCost โฅ 0 currency units/planning period, ex taxโ A lower value is rejected before calculation.- Unit inventory cost maximum
unitInventoryCost โค 10,000,000 currency units/planning period, ex taxโ A higher value is rejected before calculation.- Starting stock units minimum
startingUnits โฅ 0 whole product unitsโ A lower value is rejected before calculation.- Starting stock units maximum
startingUnits โค 100,000,000 whole product unitsโ A higher value is rejected before calculation.- Units already sold at full price minimum
unitsSoldAtFullPrice โฅ 0 currency units/planning period, ex taxโ A lower value is rejected before calculation.- Units already sold at full price maximum
unitsSoldAtFullPrice โค 100,000,000 currency units/planning period, ex taxโ A higher value is rejected before calculation.- Markdown rate minimum
markdownRate โฅ 0 proportion of regular unit price discountedโ A lower value is rejected before calculation.- Markdown rate maximum
markdownRate โค 1 proportion of regular unit price discountedโ A higher value is rejected before calculation.- Expected markdown sell-through minimum
expectedMarkdownSellThroughRate โฅ 0 proportion of the relevant inventory or price basisโ A lower value is rejected before calculation.- Expected markdown sell-through maximum
expectedMarkdownSellThroughRate โค 1 proportion of the relevant inventory or price basisโ A higher value is rejected before calculation.- Baseline full-price sell-through minimum
baselineSellThroughWithoutMarkdownRate โฅ 0 proportion of the relevant inventory or price basisโ A lower value is rejected before calculation.- Baseline full-price sell-through maximum
baselineSellThroughWithoutMarkdownRate โค 1 proportion of the relevant inventory or price basisโ A higher value is rejected before calculation.- Holding cost per leftover unit minimum
holdingCostPerLeftoverUnit โฅ 0 currency units/planning period, ex taxโ A lower value is rejected before calculation.- Holding cost per leftover unit maximum
holdingCostPerLeftoverUnit โค 10,000,000 currency units/planning period, ex taxโ A higher value is rejected before calculation.- Salvage value per leftover unit minimum
salvageValuePerLeftoverUnit โฅ 0 currency units/planning period, ex taxโ A lower value is rejected before calculation.- Salvage value per leftover unit maximum
salvageValuePerLeftoverUnit โค 10,000,000 currency units/planning period, ex taxโ A higher value is rejected before calculation.
4. Assumptions and source classification
- Demand, lead times, costs, tax and targets are supplied by the user.
- No jurisdiction, supplier service level, industry benchmark or forecast is embedded.
- The engine retains full precision and display formatting never feeds back into calculation.
This planner has no current policy-data dependency. Its commercial assumptions are user supplied. Registered family-level regression suites exercise the shared business-logic engine and worked-result reconciliation.
5. Limitations
- Results depend on the quality and timing alignment of entered records.
- The model does not replace inventory, accounting, tax, legal or financial advice.
This is educational decision support, not tax, accounting, legal or financial advice. Check the treatment of your actual transactions under the rules that apply to your business and seek qualified advice where appropriate.
6. Update and evidence policy
Registered family-level suites test formula invariants and example reconciliation; the release ledger records that coverage without claiming a separate oracle for every line of public copy. There is no official threshold or benchmark to refresh for this planner. Commercial inputs remain user-supplied because they vary by business and contract.
Change history
- : Initial public release of the planner and methodology after pre-launch calculation, content, source and interaction review.
Related reading
Guides to interpret the decision and its assumptions.
- Markdown Timing and Margin Recovery
Compare the contribution recovered by a markdown with holding cost, sell-through evidence and the cost of waiting.
Read guide