Markup vs Margin for Service Trades (With the Math)
Markup and margin are two different ways to talk about profit on the same job — and confusing them is the #1 reason contractors think they’re making 30% but actually take home 12%. A 30% markup is a 23% margin. A 50% markup is a 33% margin. The difference matters most on materials — the part of the job where small percentage errors turn into thousand-dollar mistakes. Here’s the math, the table to memorize, and the industry-standard markup percentages by trade.
The two formulas (and why they’re different)
markup % = (price - cost) ÷ cost × 100
margin % = (price - cost) ÷ price × 100
Same numerator (your profit), different denominator. Markup measures profit as a percentage of what the item cost you; margin measures it as a percentage of what you charged the customer. They’re mathematically related but they’re NOT the same number.
The conversion table to memorize
Print this and tape it to the truck dash. Most contractor estimating mistakes come from plugging a margin number into a markup field or vice versa.
Markup → Margin{'\n'} 20% → 16.7%{'\n'} 25% → 20.0%{'\n'} 30% → 23.1%{'\n'} 40% → 28.6%{'\n'} 50% → 33.3%{'\n'} 66% → 40.0%{'\n'} 100% → 50.0%{'\n'} 150% → 60.0%
Worked example — HVAC equipment
You buy a residential AC condenser from your supplier for $1,800. Three different markups produce three different sale prices:
- 20% markup: sale price = $1,800 × 1.20 = $2,160. Margin = (360 / 2,160) = 16.7%
- 30% markup: sale price = $1,800 × 1.30 = $2,340. Margin = (540 / 2,340) = 23.1%
- 50% markup: sale price = $1,800 × 1.50 = $2,700. Margin = (900 / 2,700) = 33.3%
The contractor who quotes “30% markup” thinking they’re getting 30% margin is actually getting 23.1% — a 6.9 percentage point gap that compounds across every job. On $300,000 in annual material billing, that’s $20,700 of profit you didn’t collect because you used the wrong percentage.
Standard material markups by trade
Industry surveys (NACM, RSMeans, NAHB) put residential trade material markups in these ranges. These are markups, not margins:
- HVAC equipment: 25-50% markup (large equipment trends lower; refrigerant and parts higher)
- Electrical materials: 30-50% markup (commodity wire and conduit lower; specialty fixtures and panels higher)
- Plumbing fixtures: 40-100% markup (varies widely by line; high-end fixture lines are typically 50-70%)
- Plumbing materials: 35-60% markup (PVC, copper, fittings, valves)
- General contractor materials: 15-30% markup (lumber commodity is lower; specialty items higher)
- Roofing shingles and underlayment: 20-35% markup
- Specialty equipment (water heaters, generators, mini-splits): 35-65% markup
The labor side
Labor markup math is different because there’s no direct “cost” the way materials have. Two ways trades calculate it:
Method 1: Markup over technician cost
If a technician costs you $35/hr (wage + benefits + workers comp + payroll tax), you might bill them at $90/hr to the customer. That’s a markup of (90-35)/35 = 157% markup, or a margin of (90-35)/90 = 61% margin. The high multiplier covers non-billable time, vehicle, dispatch, office, sales, and profit.
Method 2: Calculate from your hourly rate target
Use the free hourly rate calculator to work backward from your target take-home income to the bill rate. The calculator handles self-employment tax, business expenses, and billable hours automatically.
Where contractors lose money on the markup vs margin confusion
Quoting in margin language but calculating in markup
A customer asks “what’s your markup?” You say “30%.” They hear “30% margin” (which is what they’d see on a financial statement) and think you’re overcharging. Or YOU calculate at 30% markup but tell yourself you’re running a 30% margin business — you’re actually running 23% and that affects every long-range planning decision.
Comparing competitor margins to your markup
A trade journal article says “successful HVAC contractors run 35% gross margins.” You think you’re running 35% because you mark up 35%. You’re actually running 25.9% gross margin and falling behind.
Labor cost “loaded rate” mistakes
If your tech’s loaded cost is $35/hr and you bill at $50/hr, that’s a 43% markup but only a 30% margin. Many estimating templates ask for “markup” but contractors enter what they think is margin — chronically underbilling.
FAQ
Is markup or margin the “right” way to think about pricing?
Margin for tracking business health (matches financial statements). Markup for setting individual job prices (easier to apply consistently to each line item). Use both, but be clear which one you’re talking about.
What’s a healthy gross margin for a residential trade?
35-50% on materials, 60-75% on labor for residential service. Below 30% materials margin or 50% labor margin and the business has no cushion for slow seasons or equipment breakdowns.
How does this affect my software setup?
Most estimating software lets you set markup as a percentage. Always check whether the field is asking for markup or margin (different software uses different conventions). When in doubt, calculate manually for one item and verify the output matches what you expected.
Right markup on every quote, automatically.
Operaite’s proposal and invoicing tools apply your standard markup percentages to every line item, distinguish material from labor markup, and calculate the actual margin so you can see where each job lands. Included in the $29/mo plan with a 7-day free trial.
Try Operaite free for 7 days →