Contractor Club
Contractor's hands on a detailed cost breakdown sheet with golden workshop light illuminating the numbers
Pricing & Bidding

How to Calculate Markup on Construction Jobs (The Formula That Actually Works)

Mo El Hadri
Stories by Mo El Hadri
@mointhemarket·2 August 2026·7 min read

I have spoken to contractors clearing $1.2 million in revenue and struggling to take home $60,000 at the end of the year. The work is there. The jobs are winning. The problem is the markup - and specifically, the gap between what they think they are making on each job and what they are actually making.

Getting markup right is at the core of the model I run - which is really a version of construction arbitrage: you price the job at full market rate, deliver it through well-managed subcontractors at a lower combined cost, and the spread between the two is your profit. That spread only stays wide if you understand markup precisely.

(Figures in USD - the model and the math are identical in any currency.)

What markup actually means in construction

Markup is the percentage you add on top of your direct costs to arrive at your selling price. If a job costs you $10,000 to deliver and you charge $12,500, your markup is 25%. That is the number you control when you build a quote.

It is not the same as your profit. Markup is a gross number. After you apply it, your overhead still comes out of the difference between selling price and direct costs. What is left after overhead is your net profit - and that is the only number that matters when the job is done.

The markup formula for construction jobs

The correct way to calculate markup starts with knowing what your overhead costs as a percentage of revenue, and what net profit you want to keep. With those two numbers, the formula gives you the selling price directly.

Work through the check: the overhead on $20,000 revenue at 15% is $3,000. Gross profit is $5,000. Net profit after overhead is $2,000 - exactly 10% of revenue. The formula holds. Most contractors skip the formula and guess 20%. That guess costs them real money on every job they win.

Markup vs margin - why they are not the same number

This is where most contractors lose money silently. They hear "aim for 25% margin" and apply a 25% markup. Those are not the same number. A 25% markup gives a gross margin of 20%. If you want 25% gross margin, you need a 33% markup. The table below makes it concrete.

Markup %Selling price on $10k costsGross margin %
15%$11,50013%
20%$12,00017%
25%$12,50020%
33%$13,30025%
43%$14,30030%
50%$15,00033%
67%$16,70040%
100%$20,00050%

The conversion formula is: Gross margin = Markup / (1 + Markup). A 20% markup divided by 1.20 is a 16.7% gross margin. If your overhead is 13% and you applied a 20% markup, you kept roughly 3.7% net profit on that job - not 20%. That is the silent killer inside most construction businesses.

What markup do you actually need?

Start with your overhead. For a lean general contractor (main contractor in the UK) running a home office, small crew, and tight admin costs, overhead typically runs 8-12% of revenue. A mid-size firm with office space, multiple site managers, and a full admin function often lands at 12-18%. Industry benchmarks for 2026 put the average GC overhead around 13% of revenue.

  • Office or yard rent and utilities
  • Business vehicle running costs (not a specific-job vehicle)
  • General liability and professional indemnity insurance premiums
  • Admin and bookkeeping wages
  • Software subscriptions (estimating, project management, CRM)
  • Marketing and advertising that is not tied to one job
  • Accounting and legal fees
  • Owner's salary (if not already in direct costs)

Once you know your overhead rate, add your net profit target. If you want 10% net and carry 15% overhead, the formula gives you 33% markup. If overhead is leaner at 12% and you want 10% net, you need 28% markup. The exact number is yours to calculate - the point is that it is never 20% unless your overhead is below 4%.

Markup by cost category

In practice, experienced operators do not apply a single blanket markup to every line item in a quote. Different cost categories carry different risk profiles, and markup reflects that risk.

Cost categoryTypical GC markup rangeWhy
Labor (direct)20-35%Scope creep, productivity risk, weather delays, supervision time
Materials10-20%More predictable; clients can price-check; markup covers purchasing admin and waste
Subcontractors10-20%Covers coordination, scheduling, contract risk, and managing the sub's scope
Equipment hire15-25%Downtime risk, mobilisation and logistics overhead
Permits and inspections10-15%Admin time to obtain and manage; cost is largely fixed

The blended result across these categories should land at or above your required total markup. Many operators intentionally over-mark high-risk line items (labor on unfamiliar scopes, subs on first engagements) to build a buffer against the surprises that always show up on a live job site.

The annual cost of chronic under-markup

Run the numbers at scale and the damage is obvious. Say you are doing $1,000,000 in revenue a year. You apply a 20% markup on direct costs of around $833,000. Your gross is $167,000. Overhead at 13% of revenue is $130,000. Net profit: $37,000 - a 3.7% net margin on a million-dollar operation.

Shift to the correct 33% markup on the same cost base. Revenue is now $1,107,000. Overhead stays at 13% - roughly $144,000. Net profit is $263,000 minus $144,000 - over $119,000 net. That is the difference between a business that barely pays you and one that builds real wealth. Same volume of work. Same team. Same clients. Different markup.

The money does not disappear on bad jobs. It disappears on every job, quietly, one wrong markup at a time.

How to verify your markup is actually working

A markup on paper means nothing until a job closes and you count what actually came through. Build a simple post-job review into your process - it does not have to be complex. You are looking for the gap between estimated and actual on every major line item.

  • Total actual direct costs vs estimated direct costs
  • Any line items that ran more than 10% over estimate
  • Whether the scope crept beyond what was quoted
  • Final net profit percentage vs the target markup implied
  • Whether sub quotes held to their original price

Three or four post-job reviews will tell you exactly where your estimates are soft. Most operators find one or two recurring categories - usually labor on a particular trade scope, or a sub who consistently runs over. Fix those, and your actual markup locks in closer to your quoted markup every time.

The construction arbitrage operator's markup mindset

If you want to understand how operators who run this as a genuine wealth-building model think about markup, read the breakdown on construction arbitrage explained. The short version: the spread between your selling price and your total delivery cost is the entire point. You protect that spread by quoting at full market rate on the client side and managing your sub costs tightly on the delivery side.

That means the markup formula is not a pricing exercise - it is the mechanism that determines whether the business builds equity or just keeps you busy. Operators who treat it as a mechanical calculation to run on every job are the ones who end up with real numbers at the end of the year. The ones who eyeball it or copy a competitor's price are the ones calling me asking where the money went.

For a deeper look at how the whole pricing system fits together, see how to price construction jobs and how to stop underpricing construction jobs. The markup calculation is the engine inside both.

Want to run the full model - pricing, delivery, and margin - without ever picking up a tool? That is what construction arbitrage is. Apply to find out how it works.

Apply for access
ShareXWhatsAppLinkedIn

Frequently asked questions

What is the formula for calculating markup on a construction job?+

Add up all direct costs for the job (labor, materials, subcontractors, equipment, permits). Then divide by (1 minus your overhead rate minus your target net profit rate). The result is your selling price. The markup percentage is the difference between your selling price and direct costs, expressed as a percentage of direct costs. Example: $15,000 direct costs, 15% overhead, 10% profit target gives a selling price of $20,000 - a 33% markup.

What is the difference between markup and margin in construction?+

Markup is added on top of cost. Margin is profit as a share of selling price. They are not the same number. A 25% markup on $10,000 costs gives a $12,500 selling price - but the gross margin is only 20%, not 25%. Confusing the two is one of the most common reasons contractors underprice their jobs.

What markup percentage should a general contractor use?+

Most residential general contractors (main contractors in the UK) run markups of 20-33% on total project direct costs, targeting 5-10% net profit. The right markup depends on your specific overhead rate. If overhead runs 15% of revenue and you want 10% net, you need roughly 33% markup - not 20%. Start with your own overhead number, not an industry average.

What is a typical markup on materials in construction?+

Material markup typically runs 10-20% in 2026. It tends to be lower than labor markup because material costs are more predictable and clients can price-check them. The markup covers purchasing time, carrying costs, waste, and the risk that prices move between quote and delivery.

What markup do contractors put on subcontractors?+

General contractors typically add 10-20% to subcontractor costs. The margin covers coordination, scheduling, site management, contract risk, and the overhead your business carries for administering the sub's scope. On complex or high-risk scopes, some operators push this to 20-25%.

How does markup work in construction arbitrage?+

In construction arbitrage, the operator prices the job at full general contractor market rate and delivers through subcontractors at a lower combined cost. The markup is the spread between what you sell for and what your subs cost to deliver - the entire model runs on that difference. Understanding the markup formula precisely is what keeps the spread wide and the margins real.

The human behind The Playbook

Go deeper

Learn the model, then get in the room

The full breakdown of construction arbitrage lives on our sister site, constructionarbitrage.com. When you want the operators who actually run it, join the Construction Arbitrage Players community.

My book The Family Secret - how construction arbitrage really works - is coming soon.

Only Players Know

The game is real. The room is closed.

Contractor Club is a private, application-only circle of construction arbitrage operators. If you think you belong inside, apply and the circle will decide.

More from the Playbook

View all ⟶