All posts
A contractor's estimate sheet on a workbench with a calculator, one figure circled in burnt orange.

July 13, 2026

How much should a contractor mark up? What actually decides the number you can charge

Thom Van Dycke · Van Dycke Strategic Business Architecture

positioningpricingmarkup

There is no correct markup percentage. What decides the number you can charge is your position with the buyer, set well before the quote goes out. One contractor holds 30% on a sub's number and keeps the job. Another can't hold 12% for the same work. Same math, different position. The percentage is what the position lets you charge, not the other way around.

Why does the markup question never get settled?

You know the moment. A sub sends over his number. Now you have to decide what to add on top before it goes to the client. Fifteen percent feels safe. Twenty-five feels greedy, like the client's going to open the quote and laugh. So you split the difference, send it, and move on to the next fire.

And you never find out. You never learn whether you left four grand on the table or lost the job by a hair. The feedback never comes. So next time you're back at the same cursor, hovering over the same blank, guessing again.

I get why this feels like a math problem. It presents as one. Every forum thread, every "2026 contractor markup guide," answers it as arithmetic: 15 to 25 percent on subs, 20 to 30 blended, as if a right answer is sitting out there waiting to be found and the only thing standing between you and it is a better spreadsheet.

There isn't. And the reason the argument never ends is that everyone's fighting about the wrong number.

Isn't markup just a spreadsheet decision?

Start with the small confusion, because it costs real money before we even get to the big one. Markup and margin are not the same thing, and treating them as the same quietly bleeds you. Markup is the percentage you add on top of your cost. Margin is how much of the final price you actually keep. A 20% markup does not produce a 20% margin. It produces about 16.7%. To land a 20% margin you need a 25% markup (Procore has the full breakdown).

That gap sounds academic until you run it across a year. On ten jobs, the difference between the number you meant to charge and the number you actually charged can be tens of thousands of dollars. Gone. Not to a competitor, not to a bad client. Gone to a formula you copied without checking.

Fix that and you've plugged a leak. Good. But you've still only answered the small question. You've made the arithmetic correct. You still haven't answered the one that actually decides your income: why can one guy across town charge more than you for the exact same work?

What actually decides the number you can charge?

Warren Buffett was asked once what the single most important thing is when you're sizing up a business. Not the management. Not the marketing. Pricing power. In his words, "If you've got the power to raise prices without losing business to a competitor, you've got a very good business. And if you have to have a prayer session before raising the price by 10 percent, then you've got a terrible business" (Bloomberg, on his testimony to the Financial Crisis Inquiry Commission).

Read that again as a contractor, not an investor. Do you raise your price without a prayer session? Or does the thought of adding ten percent make your stomach drop, because some part of you suspects the buyer will walk?

If it's the second one, that dropped-stomach feeling is not a pricing problem. It's a positioning problem wearing a calculator.

Strip the jargon off positioning and it comes down to one thing. It's who you are to the buyer before the quote ever lands. It's whether they came to you already believing you're the right call, or whether they're holding your number up against two others and looking for a reason to pick the cheapest. That belief is set upstream. It's built out of who you serve, what you're known for, and what you refuse to be. And it is the thing the price inherits from.

Two contractors. Identical scope. One has spent three years becoming the obvious choice for a specific kind of homeowner doing a specific kind of project. When his quote arrives, the buyer isn't comparing. They're relieved. The other one is a competent generalist who shows up as one of three bids in an inbox. His number gets measured against the lowest one on the list. Same work. Same materials. Same sub. The first man holds 30% and never sweats it. The second can't get 12% and lies awake over it.

The spreadsheet did not do that. The position did.

I watched this happen with a construction company we worked with. They were good at the work, and had been for years, but they didn't feel legitimate, and it showed up in what they were willing to charge. They priced like a company still trying to prove it belonged. We fixed how they presented their position, starting with something as ordinary as a real website that said plainly who they were and what they did. Nothing about their crews or their craftsmanship changed. What changed is that they finally looked as legitimate as they already were, and almost overnight they felt able to charge what they'd quietly wanted to charge all along. The permission came from the position, not from a new markup formula.

The same holds outside the trades. A coach I work with saw a 10% lift in conversions the month after we repositioned her: same offer, same price point, sharper position. These shifts are real, and they show up in the numbers.

A pattern sits under all of it. The confidence to charge well comes from being able to say what you do clearly, in few words, in a way that lands. I call it the three Cs: clear, concise, compelling. When an owner can put their position in a sentence a buyer immediately gets, the price stops being a negotiation they're having with themselves. When they can't, every quote becomes a flinch. It's about as close to an equation as I'll let anyone believe exists. And it's hard to charge with confidence for something you can't clearly say out loud.

Why do coaches keep selling you a percentage?

Because a percentage is easy to sell. "Charge 22% and you're golden" fits on a slide. It feels like an answer. You can act on it this afternoon without changing anything hard about your business.

Position is harder. It asks you to decide who you're actually for, and who you're willing to lose. That's uncomfortable, so the whole industry quietly agrees to talk about the percentage instead. It's the same move behind every proven process ever sold to a founder: take a question that's genuinely specific to your business and hand you a generic number so nobody has to do the real thinking.

But the number was never generic. It's the most business-specific figure you own. The right markup for you is set by your position, and your position is unlike anyone else's, which is exactly why no forum thread will ever settle the argument. Chess has principles. It doesn't have a formula. Your pricing works the same way.

This is what I mean when I say most stalled businesses have an architecture problem, not a tactics problem. The price you can hold is downstream of positioning, which is downstream of nothing. It's the first decision, the one the whole business inherits from. Get it right and the marketing gets easier, the sales conversations get shorter, and the margin stops being a fight. Skip it and you'll be back at that cursor next week, guessing at a percentage, wondering why it never gets easier.

Putting it to work this week

The next time you're about to guess at a markup, stop and answer three questions first. Not on the calculator. On paper.

  1. When this buyer got my quote, were they comparing me to two other numbers, or had they already decided I was the one? If they were comparing, the problem isn't your percentage. It's that you arrived as an interchangeable option. That's a positioning gap, and no markup will close it.

  2. Who am I the obvious choice for, and who am I willing to lose? If you can't name the buyer you're built for, you're built for everyone, which means you're built for no one, which means you compete on price. Write down the one type of client you want to be the default answer for. That sentence is worth more than any percentage.

  3. Could I raise my price 10% tomorrow without a prayer session? If yes, you have pricing power and you should probably be using more of it. If the thought makes you flinch, name what the flinch is telling you. It's usually telling you the buyer doesn't yet see why you're worth it. That's the work. It's upstream of the number.

Do the margin math correctly, sure. Estimate with markup, manage the business on margin, don't confuse the two. But once the arithmetic is clean, put the calculator down. The number that's actually costing you isn't on it.

Sources

Frequently asked

What is a good markup percentage for a general contractor?

There isn't a universal one, and any guide that gives you a single number is answering the wrong question. Common ranges land around 15–25% on subcontractors and 20–30% blended, but the range you can actually hold is set by your position with the buyer, not by an industry average. Fix the position and your workable range moves up.

What's the difference between markup and margin?

Markup is the percentage you add on top of your cost. Margin is the share of the final price you keep. They're never the same number. A 20% markup yields roughly a 16.7% margin; to reach a 20% margin you need a 25% markup. Estimate with markup, manage the business on margin, and never assume the two figures are interchangeable.

Why can one contractor charge more than another for the same work?

Position. One arrived as the obvious choice for that specific buyer and that specific job, so the quote met relief instead of comparison. The other showed up as one of three interchangeable bids and got measured against the lowest. Same scope, same materials, different price. The gap was decided before either quote was written.

How do I raise my prices without losing jobs?

Start upstream. Losing jobs on a price increase is usually a sign the buyer doesn't yet see why you're the right choice, which is a positioning gap, not a pricing one. Name the specific client you're built for, become the default answer for them, and the price you can hold rises with the position. The increase stops feeling like a gamble.

Ready to look at the architecture honestly?

If your prices won't hold and you're tired of guessing at a percentage every time a quote goes out, the fix probably isn't the number. It's the decision the number inherits from. Book the conversation. We'll tell you what we actually see, and whether the work we do fits where you are.

Book the conversation →

Ready for some serious action?

It starts with a quick 20-minute call to come up with a plan.