Say you price your jobs with one number in your head: mark it up 30%. Then the year ends and the business kept less than you expected, sometimes a lot less. Part of that gap is one word doing the work of two.
Markup is what you add, measured against your cost. Margin is what you keep, measured against the price. Same dollars, different yardstick, and the difference never runs in your favor.
The two formulas, side by side
Take a job that costs you $1,000 in materials, labor and everything else the job eats, and sell it for $1,300.
The $300 is the same in both lines. Markup divides it by the smaller number, so markup always reads higher than margin. That is why it feels good to quote and disappointing to live on.
The two convert exactly, in either direction:
The conversion table
| Markup you add | Margin you keep |
|---|---|
| 10% | 9.1% |
| 15% | 13.0% |
| 20% | 16.7% |
| 25% | 20.0% |
| 30% | 23.1% |
| 40% | 28.6% |
| 50% | 33.3% |
| 75% | 42.9% |
| 100% | 50.0% |
Read it backwards when you set prices: to keep 20%, mark up 25%. To keep 25%, mark up 33.3%. To keep 30%, mark up 42.9%. To keep 40%, mark up 66.7%. Doubling your cost (a 100% markup) keeps exactly half.
Why the mix-up costs real money
Your overhead and your profit are both shares of what you sell, not of what you spend. The truck payment, the insurance, the phone, the software, the evenings spent on estimates: you know them as a yearly total, and you turn that into a percentage by dividing by a year of sales. Profit is measured the same way. Both live on the margin side of the table, so the target you need to hit is a margin. Hit it with a markup of the same number and you come up short on every job.
A worked example
Say a remodeler has a bathroom job with $10,000 in direct cost: materials, his crew’s loaded labor, the dumpster and permit, and a tile sub. Say his books show overhead running 18% of sales, and he wants 12% profit on top. He needs a 30% margin. Because 18 plus 12 is 30, he marks the job up 30%.
| Same $10,000 job | 30% markup | 30% margin |
|---|---|---|
| Price | $13,000 | $14,286 |
| Gross profit (price minus direct cost) | $3,000 | $4,286 |
| Overhead at 18% of the price | $2,340 | $2,571 |
| Left as profit | $660 (5.1%) | $1,714 (12.0%) |
Same job, same crew, same week of work. The markup version leaves $660, about 5% of the price. The margin version leaves the 12% he planned. Priced that way all year, the difference is most of his profit. The numbers are illustrative; yours come from your own books.
Mistake two: putting the whole markup on materials
Some contractors mark up materials and bill labor at what it costs them, figuring the margin on the lumber pays for the shop. How far that gets you depends on how much of your work is materials, and that varies a lot by trade. The Census Bureau’s 2022 Economic Census measured it. For specialty trade contractors as a whole, the cost of materials, components and supplies came to about 31.7% of the value of construction work, and annual payroll to about 26.0%. Some of the trades inside that total:
| Trade (2022 Economic Census) | Materials, share of value of work | Payroll, share of value of work |
|---|---|---|
| Painting and wall covering contractors | 20.3% | 32.5% |
| Electrical contractors | 31.4% | 28.2% |
| Plumbing, heating and air-conditioning contractors | 32.5% | 27.9% |
| Roofing contractors | 37.9% | 19.8% |
| Glass and glazing contractors | 41.2% | 24.5% |
| All specialty trade contractors | 31.7% | 26.0% |
Those are industry totals, not your numbers, but the spread makes the point. A painter who marks up only the paint is hanging the whole margin on about a fifth of the job, while labor, the larger share in his trade’s totals, goes out at cost. Apply the margin to the whole direct cost of the job: materials, labor, subs, equipment, disposal and permits.
Mistake three: leaving yourself out of the cost
If you are on the tools, your own hours are a cost of the job even though no paycheck says so. The IRS form most owner-operators file makes the point. On Schedule C, line 37, cost of labor, reads “Do not include any amounts paid to yourself,” and the instructions for line 26, wages, say the same. A sole proprietor’s own pay comes out of the net profit on line 31.
So if you price at cost plus margin and leave your own field hours out of the cost, the “profit” on that job is really your wage, and the business itself made nothing. Put your own hours into the job cost at a real wage, the same way you would for a hired hand. Your Real Hourly Cost: Working Out Labor Burden walks through what an hour of labor actually costs before you price it.
Mistake four: discounting without doing the math
A discount comes straight out of the margin, because your costs do not drop when your price does. Say a job costs $7,500 and sells for $10,000: a 25% margin and $2,500 of gross profit. Take 10% off to close it and the price is $9,000. Gross profit falls to $1,500. A 10% discount just cost you 40% of what that job was going to leave you. Before you knock off a number, work out the dollars you keep afterward.
Setting your number this week
- Pull last year’s totals: sales (gross receipts, line 1 of Schedule C if you file one), job costs (materials, labor, subs, equipment, dump fees) and everything else, which is overhead.
- Work out overhead as a share of sales: overhead ÷ sales.
- Add the profit you want, also as a share of sales. The sum is your target margin.
- Price every job as cost ÷ (1 − target margin). If your estimating sheet only takes a markup, enter margin ÷ (1 − margin) instead.
- Check every finished job: (price − actual cost) ÷ price. When it lands under target, find out whether the estimate missed a cost or the price slipped.
Put the same rule behind any price you publish
If you show prices before you visit, as a starting-at line or a range, build them the same way: the cost of a typical job divided by one minus your margin. What to Charge for a Fence shows how to turn your pricing rules into a range. If you put ranges on your website with NapkinPrice™, set its rates from that same formula, so every range the site shows already carries your margin.
Markup is the number you add. Margin is the number you keep. Price from the one you keep.