Margin of safety measures the amount by which planned or actual sales exceed the break-even sales level. It is a sales cushion, not a profit margin and not a bank balance. The percentage usually divides the cushion by the planned or actual sales being assessed. State that denominator because dividing by break-even sales produces a different percentage with a different interpretation.
Worked calculation
Margin of safety dollars = assessed sales revenue − break-even revenue; margin of safety percentage = margin of safety dollars ÷ assessed sales revenue × 100%
Suppose a product sells for $50 and has $30 variable cost. With $10,000 fixed costs, break-even is 500 units and $25,000 revenue. If planned sales are 700 units, the margin of safety is 200 units or $10,000 of revenue. Dividing 200 by 700 gives approximately 28.5714% of planned unit sales. Sales could fall by that proportion of the plan before reaching break-even, assuming price and costs remain unchanged.
The $10,000 revenue cushion is not $10,000 of profit. Each dollar of revenue contributes 40 cents after variable costs, so the cushion produces $4,000 operating profit. The same result comes from 200 units above break-even times $20 unit contribution. Calling the cushion profit would ignore the $6,000 variable cost attached to those additional 200 sales.
| Sales case | Revenue | Safety margin in revenue | Safety percentage | Operating profit |
|---|---|---|---|---|
| 700 units | $35,000 | $10,000 | 28.5714% | $4,000 |
| 500 units | $25,000 | $0 | 0% | $0 |
| 450 units | $22,500 | −$2,500 | −11.1111% | −$1,000 |
Decision checks and limits
If actual sales are only 450 units, the margin of safety is −50 units and −$2,500 revenue. The business is below break-even and has a $1,000 operating loss. Retain the negative result because it communicates the shortfall. At zero sales, the dollar cushion remains negative but the margin-of-safety percentage using actual sales as the denominator is undefined. A zero-percent display would conceal that the denominator is missing.
The cushion depends on the underlying break-even model. A price discount, a shift toward low-contribution products, or an extra staffing step can raise break-even while sales remain unchanged. Recalculate both the threshold and the cushion when assumptions change. For seasonal businesses, compare periods with aligned fixed costs and demand instead of assuming a strong month's safety margin protects a weak month automatically. Cash receipts and payments may also occur in different periods, so a positive sales cushion does not guarantee enough cash for every due date.
Apply the calculation
-
Choose the assessed sales base
Identify whether the calculation uses budgeted, forecast, or actual sales and keep the comparison period consistent.
-
Rebuild break-even first
Update price, variable costs, product mix, and fixed-cost steps before measuring the remaining cushion.
-
Show the loss when below threshold
Present negative dollar and unit margins of safety, and leave the percentage undefined if its sales denominator is zero.
Method references: OpenStax: Margin of safety and operating leverage. Accessed October 22, 2026. All dollar figures are hypothetical worked examples.
Related calculators & guides
- Break-Even Calculator
- How to Find Your Break-Even Point
- Contribution Margin: Formula and Examples
- Gross vs. Contribution Margin: Different Cost Views
- Contribution per Order vs. per Unit
- Weighted Contribution Margin: Units vs. Revenue
- Multi-Product Break-Even: Use a Sales-Mix Basket
- Target Profit Sales Volume: Add the Dollar Goal
- Step Fixed Costs: Recheck Break-Even at Each Level
- Capacity-Constrained Break-Even: Is the Target Feasible?
- Operating Leverage: Why Profit Moves Faster Than Sales
- When Break-Even Does Not Exist in the Model
- Target Profit Units Calculator
- Sales Mix Break-Even Calculator
- Contribution and Break-Even Reference
- Mixed Sales Break-Even Worked Example
- Break-Even and Contribution Planning
Report an error
Thank you! Your feedback helps us make this page better.
Could not send. Please try again.