November 2, 2026
Markup vs. Margin for Contractors: Why 20% Isn't 20%
Quick test: a job costs you $10,000 and you charge the client $12,500. What's your profit percentage?

Key Takeaways
- Markup is profit as a percentage of your cost. Margin is profit as a percentage of your selling price, so it's always the smaller number.
- A 20% markup only gets you a 16.7% margin. To hit a 20% margin, you need a 25% markup.
- Set your goal as a margin that covers overhead and profit, then price with Cost ÷ (1 − Target Margin).
- Discounts, underpriced change orders, and borrowed markups are common ways contractors lose margin without noticing.
Quick test: a job costs you $10,000 and you charge the client $12,500. What's your profit percentage?
If you said 25%, you're half right. That's your markup. Your profit margin is actually 20%.
It sounds like a small detail, but mixing up those two numbers is one of the easiest ways to underprice jobs without noticing. Here's what each one means, how to convert between them, and how to price a job so you actually keep the profit you planned for.
What’s the Difference Between Markup and Margin?
Markup and margin use the same profit. They just divide it by different numbers.
- Markup = (Price − Cost) ÷ Cost
- Margin = (Price − Cost) ÷ Price
Take the $10,000 job priced at $12,500 as an example. In this particular case, your profit is $2,500.
- Markup: $2,500 ÷ $10,000 = 25%
- Margin: $2,500 ÷ $12,500 = 20%
Same job, same money, two different percentages. Since your price is always higher than your cost, your margin will always be the smaller number.
A simple rule: set your profit goals in margin, then use a price and profit margin calculator to turn that goal into the markup you put on your estimates.
Markup vs. Margin: Why a 20% Markup Doesn't Give You 20% Profit
Most contractors who want to "make 20%" add 20% to their costs. Here's what that actually gets you:
- 20% markup on $10,000 = $12,000 price
- Profit = $2,000
- Margin = $2,000 ÷ $12,000 = 16.7%
To hit a real 20% margin, you need to charge $12,500. That's $500 short on every job. Over 40 jobs a year, it adds up to $20,000 you planned to earn and never did.
The gap gets wider as your numbers go up. Use this chart to find the markup you need for the margin you want:For any other number, use these two formulas (with percentages as decimals):
- Markup needed = Margin ÷ (1 − Margin)
- Margin = Markup ÷ (1 + Markup)
For example, a 30% margin needs 0.30 ÷ 0.70 = 0.429, or a 42.9% markup.
[CTA_INSERT]
How to Price a Job From Your Target Margin
Instead of picking a markup and hoping it works out, start with the margin you need and work backward. Here are the 5 steps designed to get you there:
Step 1: Get Your True Job Cost
Your price can only be as accurate as your cost. List everything the job will use:
- Materials, including waste, delivery fees, and consumables like fasteners and caulk
- Labor at the burdened rate: wages plus payroll taxes, workers' comp, and benefits
- Subcontractors, based on written quotes, not guesses
- Equipment rental, or a charge for wear on your own tools
- Job-specific costs like permits, disposal, fuel, and travel time
On jobs with unknowns, like older homes or work behind walls, add a contingency for surprises. If costs are missing here, every number after this step is off.
Step 2: Know Your Overhead
Overhead is what you pay to keep the business running, whether you have a job that week or not: rent, insurance, vehicles, software, phones, admin help, accounting, and the marketing that brings in new work.
To turn it into a percentage, divide last year's overhead by last year's revenue. If you spent $150,000 on overhead and brought in $1,000,000, your overhead is 15%.
Step 3: Set Your Target Margin
Target gross margin = Overhead % + Net profit %
With 15% overhead and a 10% profit goal, you need a 25% gross margin on every job, not 10%. Small jobs often need more, since they take nearly as much admin time as bigger ones but bring in less revenue.
Step 4: Price It
Price = Cost ÷ (1 − Target Margin)
$10,000 ÷ 0.75 = $13,333. That's a 33.3% markup, and it gives you the 25% margin you need.
If you mark up materials, labor, and subs at different rates, check the margin on the total job before you send the estimate. Each line can look fine while the job as a whole falls short.
Step 5: Compare Your Estimate to the Actual Numbers
When the job wraps up, compare what you estimated with what it actually cost. If your margins keep coming in lower than planned, the problem is usually in Step 1 (missed costs) or Step 2 (overhead that grew). Fix it before your next bid.
4 Pricing Mistakes That Quietly Shrink Your Margin
Even with the right formula, a few everyday habits can drain profit from a job that looked fine on paper:
- Treating markup as profit. Your markup has to pay for overhead before any of it becomes profit. If overhead takes 15% of revenue and your margin is 16.7%, you're netting under 2%. Subtract overhead before you call a job profitable.
- Discounting off the final price. Knock 10% off the $12,500 job and you charge $11,250. Profit drops from $2,500 to $1,250, so a 10% discount just cut your profit in half. That's because every discount dollar comes out of profit, not cost. If you need to lower the price, cut scope instead.
- Underpricing change orders. Change orders bring extra trips, rescheduling, and disruption, and often materials bought on short notice. Price them at your full markup or higher, get them signed before the work starts, and never treat them as a favor.
- Borrowing someone else's markup. Another contractor's number fits their overhead, trade, and market, not yours. Even the most profitable business ideas run on very different margins, so a markup that works in one trade can sink a job in another. Work out your own from your overhead and profit goal.
FAQ
Should contractors use markup or margin?
Both, because they do different jobs. Markup helps you build a price from your costs, while margin shows how much of that price you actually keep. Set your goal as a margin, convert it to a markup, and use that markup in your estimates.
What markup do I need for a 20% profit margin?
You need a 25% markup. A $10,000 job marked up 25% sells for $12,500, and the $2,500 profit is 20% of that price. If you only add 20%, you'll end up with a 16.7% margin instead.
How do I convert markup to margin, and margin to markup?
To convert markup to margin, use Margin = Markup ÷ (1 + Markup). To go the other way, use Markup = Margin ÷ (1 − Margin). Work in decimals, so a 25% markup becomes 0.25 ÷ 1.25 = 0.20, or a 20% margin.
Does markup cover overhead, or just profit?
Both. Your markup has to cover your share of overhead, like rent, insurance, and vehicles, before any of it counts as profit. Whatever is left after overhead is your net profit, which is why a markup that looks healthy can still leave you with very little.
What's a good profit margin for contractors?
It depends on your trade, job size, and overhead. Start with your overhead as a percentage of revenue, add the net profit you want, and that's your minimum gross margin.
Should I use different markups for materials, labor, and subs?
Many contractors do. Labor is harder to predict, so it often gets a higher markup, while materials can carry less because clients can compare prices. Just make sure the whole job still hits your target margin.
Should I show my markup on estimates?
On fixed-price jobs, most contractors show only the total price. On cost-plus contracts, your fee is part of the agreement. If a client asks, explain that markup pays for overhead, insurance, and warranty work, not just profit.
Build the tools your trade needs.
Dalton Mills gives people in the trades the opportunity to create custom workflows and software tools without any prior technical experience.
Apply For Early Access

