Markup and margin are the same dollars over different denominators
A contractor who buys $1,000 of work and sells it for $1,250 has made $250. Call that $250 a percentage and you get two different answers depending on what you divide by. Against cost it is 250 ÷ 1,000 = 25% markup. Against price it is 250 ÷ 1,250 = 20% margin. Same job, same dollars, same bank balance — two numbers that differ by five points.
The relationship is exact and worth memorising in both directions: g = m ÷ (1 + m) and m = g ÷ (1 − g). Because price is always larger than cost on a profitable job, the same dollars are a smaller fraction of price than of cost, so the margin percentage is the smaller of the two number whenever there is any profit at all. They coincide only at zero.
This is not a bookkeeping curiosity. A contractor who is told by a supplier, a franchise system or a trade magazine to "run a 30% markup" and who prices at cost ÷ 0.70 has taken a 42.9% markup, not a 30% one. Run it the other way — someone who needs a 30% margin and prices at cost × 1.30 lands on a 23.1% margin and gives away almost seven points on every job. On $800,000 of annual revenue that error is roughly $55,000 of gross profit, and it is the single most common pricing mistake in the trades.
The 25/20 example above is exactly why this page reports both figures no matter which basis you enter, and why every reference table on the site quotes the denominator it is using.
Building a bid price: cost, then commission, then overhead
Start with direct job cost. That is labor at fully burdened rates — wages plus payroll taxes, workers' compensation, liability insurance and benefits — plus material delivered, plus subcontracts at the price you will actually pay, plus rentals, permits, fuel and dumpsters. If the expense disappears when the job disappears, it is direct cost. If you would still pay it with no jobs on the books, it is overhead.
Apply the target. A margin target divides: price = cost ÷ (1 − g). A markup target multiplies: price = cost × (1 + m). The two are the same operation because 1 ÷ (1 + m) = 1 − g.
Gross up for anything paid as a share of the contract. A 3% sales commission is not 3% of cost, it is 3% of whatever you end up charging, so it has to be solved for rather than added: divide by (1 − s). Adding 3% to the price instead leaves you short, because the commission then applies to the larger number too. That gives the full expression, Bid = cost ÷ [(1 − g)(1 − s)], and it preserves the target margin measured on revenue net of commission.
Charge the job its share of overhead. The overhead rate here is annual indirect cost divided by annual revenue — office rent, estimating time, trucks not charged to jobs, general insurance, your own salary — so it is a percentage of the selling price, not of cost. That denominator matters: a company with $150,000 of indirect cost on $900,000 of revenue has a 16.7% overhead rate on revenue but a 20% rate on cost, and confusing the two is how contractors end up carrying overhead twice or not at all.
What is left is net profit, and it obeys a clean identity that falls straight out of the definitions:
net margin = gross margin − commission% − overhead%
All three are percentages of the same selling price, so they subtract directly. Setting net margin to zero gives the breakeven price, cost ÷ (1 − s − o), and the breakeven markup on cost, (s + o) ÷ (1 − s − o).
Worked example: a $50,000 remodel at a 35% target margin
You are pricing a kitchen remodel. Burdened labor is $22,000, material $15,000, the electrical and plumbing subs quoted $9,000 together, and permits plus a dumpster plus a lift rental come to $4,000. Your company runs an 18% overhead rate on revenue and pays the salesperson 3% of the contract. You want a 35% gross margin.
- Total direct cost. 22,000 + 15,000 + 9,000 + 4,000 = $50,000.
- Price at the target margin. 50,000 ÷ (1 − 0.35) = 50,000 ÷ 0.65 = $76,923.08.
- Gross up for the 3% commission. 76,923.08 ÷ (1 − 0.03) = 76,923.08 ÷ 0.97 = $79,302.14. That is the bid.
- Read it as a markup. 79,302.14 ÷ 50,000 − 1 = 1.58604 − 1 = 58.60% markup. Nobody would have guessed that from "35% margin".
- Read the gross margin actually achieved. (79,302.14 − 50,000) ÷ 79,302.14 = 29,302.14 ÷ 79,302.14 = 36.95% — higher than 35% because the commission gross-up widened the spread over cost.
- Commission paid. 0.03 × 79,302.14 = $2,379.06, leaving gross profit after commission of 79,302.14 − 50,000 − 2,379.06 = $26,923.08, which is exactly the 35% target applied to the pre-commission price.
- Overhead absorbed. 0.18 × 79,302.14 = $14,274.39.
- Net profit. 26,923.08 − 14,274.39 = $12,648.69. Check it against the identity: 36.95% − 3% − 18% = 15.95% net margin, and 0.1595 × 79,302.14 = $12,648.69. The two routes agree.
- Breakeven. 50,000 ÷ (1 − 0.03 − 0.18) = 50,000 ÷ 0.79 = $63,291.14, a 26.58% markup. Below that price the job costs you money to build.
The direct cost figure that starts this chain is the hard part, not the pricing. It comes out of the takeoff — square footage from the cost per square foot calculator, crew hours from the labor hours calculator, and material quantities grossed up for offcuts by the waste factor calculator.
How to read the result
The number that decides whether you stay in business is net profit, not markup. A 50% markup sounds healthy and is a 33.3% margin; take 18% overhead and 3% commission out of that and 12.3% is left. The markup figure tells you nothing until you know the overhead rate it has to cover.
Compare your gross margin against commission plus overhead first. Because net margin = gross margin − s − o, a bid whose gross margin lands below (s + o) loses money by definition, no matter how large the markup looks. With the defaults on this page that threshold is 21%, which corresponds to a 26.58% markup — anything under that is charity.
Treat the breakeven price as a walk-away line, not a target. There is one legitimate reason to bid between breakeven and target: a job that contributes something toward fixed overhead you are paying anyway is better than an idle crew. But that argument holds only while the schedule has genuine slack, and it stops holding the moment the cheap job displaces a profitable one.
Watch what happens to the margin when you gross up. In the worked example the achieved margin is 36.95%, above the 35% asked for, because grossing up by (1 − s) preserves the margin on revenue net of commission. That is the correct treatment: the commission is a pass-through, and the 35% you wanted was on the work, not on the sales cost.
Do not read the sweep table as a bidding menu. Higher target margins raise the price and, on this fixed cost base, raise net profit — but only for the jobs you still win. What the table cannot show is the win rate, which falls as the price rises. That trade-off is a market judgement, and no formula on this page settles it.
Markup and margin conversion table
| Gross margin on price | Equivalent markup on cost | Price per $1,000 of cost |
|---|---|---|
| 5% | 5.26% | $1,052.63 |
| 10% | 11.11% | $1,111.11 |
| 15% | 17.65% | $1,176.47 |
| 20% | 25.00% | $1,250.00 |
| 25% | 33.33% | $1,333.33 |
| 30% | 42.86% | $1,428.57 |
| 33.33% | 50.00% | $1,500.00 |
| 35% | 53.85% | $1,538.46 |
| 40% | 66.67% | $1,666.67 |
| 45% | 81.82% | $1,818.18 |
| 50% | 100.00% | $2,000.00 |
| 55% | 122.22% | $2,222.22 |
| 60% | 150.00% | $2,500.00 |
Markup column is g/(1−g); price column is 1,000/(1−g). No commission or overhead is included here — this is the pure conversion.
Overhead as a percentage of cost is a different number
This calculator takes the overhead rate as annual indirect cost ÷ annual revenue. Some estimating systems, and most of the "10 and 10" language in change-order clauses, instead express overhead as a percentage of cost. The two are related by the same identity as markup and margin: an overhead rate of 20% of cost is 16.67% of revenue.
If your bookkeeper hands you a figure, ask which denominator it uses before typing it in. Entering a cost-based rate into a revenue-based field understates the load and quietly shrinks every net profit figure on this page. And the traditional "10% overhead and 10% profit" change-order formula, applied as cost × 1.10 × 1.10, yields a 21% markup on cost, which is a 17.36% gross margin — not the 20% margin many contractors assume they are getting.
Pricing mistakes that cost real money
- Applying a margin target as a markup. Pricing at cost × 1.30 when you needed a 30% margin gives 23.1%, losing 6.9 points of margin on every job.
- Leaving labor burden in overhead. Payroll taxes, comp and benefits belong in direct labor cost. Buried in overhead they are spread evenly across jobs, so labor-heavy work is underpriced and material-heavy work is overpriced.
- Adding commission rather than solving for it. Adding 3% to the price and then paying 3% of the higher number leaves you short by 3% of the commission itself — small on one job, systematic across a year.
- Marking up subcontracts at the same rate as self-performed work. Subs carry less risk and less supervision but real coordination cost. Many contractors use a lower markup on subs than on their own labor; what they do not do is carry them at zero.
- Setting the overhead rate from last year's revenue in a shrinking year. The rate is indirect cost ÷ revenue, so if revenue falls the same office cost demands a higher rate. Re-derive it whenever your volume forecast changes materially.
- Confusing gross profit with net profit when comparing to industry figures. Published construction profitability figures are usually net, after overhead. A 35% gross margin and a 3% net margin can describe the same company.
Where this fits in an estimate, and what it does not do
This is the last step of an estimate, not the whole of one. Everything upstream is quantity and unit cost: how much concrete, how many sheets, how many crew hours. The slab volume, deck board and board foot calculators produce the quantities; a price book, your supplier quotes and your own historical crew rates turn them into the direct cost that this page begins with. A markup applied to a bad takeoff is still a bad bid.
Three things this calculator deliberately leaves out. It does not model risk contingency separately from profit — if you carry a contingency as a percentage of the contract, put it in the commission field, since it behaves identically; if you carry it as a dollar allowance, add it to direct cost. It does not handle weighted or split markups, where labor, material and subs each take a different rate; run the calculator once per cost class and add the prices if you price that way. And it does not compute cash flow or retainage — a job can carry a 35% margin and still ruin you if you fund the material and wait ninety days for a draw.
The target itself is a business decision this page cannot make for you. It should come from your own overhead rate, the profit you require on the capital and risk you put in, and what your market will bear. Start with your own financial statements: last year's indirect cost, last year's revenue, and the net profit you actually kept.
Key terms
- Markup
- Profit expressed as a percentage of cost. m = (price − cost) / cost. Add it to cost by multiplying: price = cost × (1 + m).
- Gross margin
- Profit expressed as a percentage of the selling price. g = (price − cost) / price. Reach it by dividing: price = cost / (1 − g).
- Direct cost
- Cost that exists only because the job exists — burdened field labor, material, subcontracts, rentals, permits. It disappears when the job does.
- Overhead
- Indirect cost you pay whether or not any particular job runs: office, estimating, general insurance, non-job vehicles, owner salary. Recovered as a percentage of revenue.
- Breakeven price
- The price at which the job returns exactly zero net profit after direct cost, commission and its share of overhead: cost / (1 − s − o).
- Labor burden
- Everything on top of the hourly wage — payroll taxes, workers' compensation, liability, benefits, paid time off. Commonly 25% to 50% of the base wage, and it belongs in direct labor cost.
