Skip to content

How to Price Construction Work: Markup, Margin, and Labor Rates

How to Price Construction Work: Markup, Margin, and Labor RatesThe single most common financial mistake in construction is confusing markup and margin — and it costs contractors real money on every job where the error appears. A contractor who wants 20% profit and adds 20% markup to their cost is not making 20% profit. They're making 16.7%. On a $500,000 project, that's $16,500 left on the table — not from losing a bid, not from a change order dispute, but from math done wrong before the contract was signed.

Beyond the markup/margin confusion, most construction pricing problems trace to two root causes: not knowing the true cost of labor (using base wage instead of fully burdened rate), and not recovering overhead in the pricing model (guessing at overhead or leaving it out entirely). Both produce bids that look profitable from the outside and generate losses that show up on the P&L months later.

Accurate construction pricing requires four inputs: actual cost of labor (fully burdened), actual overhead rate, target profit margin, and historical production rates from real project data. The last input is where construction time tracking software is essential — a construction timesheet app that captures hours by cost code on every project builds the production rate database that makes every subsequent estimate more accurate.


Markup vs. Margin: Fix This First

Markup = profit ÷ cost Margin = profit ÷ revenue (selling price)

Same numbers, different denominators. The confusion is expensive.

Example:

  • Direct cost: $400,000
  • Desired profit margin: 20%

Wrong way (markup misapplied as margin): $400,000 × 1.20 = $480,000 selling price Actual margin: $80,000 ÷ $480,000 = 16.7% — not 20%

Right way (solve for the price that produces a 20% margin): Price = Cost ÷ (1 − Margin) Price = $400,000 ÷ (1 − 0.20) = $400,000 ÷ 0.80 = $500,000 Margin check: $100,000 ÷ $500,000 = 20% ✓

Markup required to achieve a given margin:

Target Margin

Required Markup

10%

11.1%

15%

17.6%

20%

25.0%

25%

33.3%

30%

42.9%

Use the right formula — margin targets require a margin calculation, not a markup.

When markup is correct terminology: In construction, markup is commonly used to mean the percentage added to cost to arrive at a selling price — but it's quoted as markup, not as margin. A "15% markup" is 15% of cost added to cost, producing a 13% margin. Know which one you're targeting and use the correct formula.


Step 1: Build the Fully Burdened Labor Rate

The burdened labor rate is the true cost per hour of employing a worker — including all taxes, insurance, and benefits the employer pays on top of the wage.

Burdened labor rate components:

 
BASE WAGE:   Journeyman Carpenter:           $32.00/hr  PAYROLL TAXES (employer):   FICA (Social Security 6.2%):     $1.98   FICA (Medicare 1.45%):           $0.46   FUTA/SUTA (est.):                $0.40   Subtotal Payroll Tax:            $2.84  WORKERS COMPENSATION:   Rate: $11.50 per $100 payroll    $3.68   (Carpenter class code — varies by state)  GENERAL LIABILITY:   Allocated to labor (est.):       $1.60  BENEFITS:   Health insurance (employer):     $4.80   401(k) match (3%):               $0.96   Paid time off (accrual):         $1.23   Subtotal Benefits:               $6.99                                     ------ FULLY BURDENED RATE:              $46.11/hr 

The journeyman who costs $32.00/hr in wages costs the company $46.11/hr fully burdened — 44% more than base wage. An estimator who uses $32/hr in the bid is underpricing labor by 44%.

Union burdened rate adds fringe benefit contributions (health, pension, vacation, training) on top:

 
Base wage (Davis-Bacon or CBA rate): $41.25/hr Fringe contributions:                $21.15/hr Payroll taxes on base wage:           $3.68 Workers comp on total wages:          $4.70                                      ------ Fully burdened (union):              $70.78/hr 

Build a burdened rate table for every classification used in estimating — foreman, journeyman by trade, apprentice by year, laborer, operator. Update annually when workers comp rates, benefits costs, and wage scales change.

Construction time tracking for workers feeds the burdened rate calculation: Total hours per worker from the contractor time tracking app confirm actual hours worked by classification — the denominator for checking whether burdened rate assumptions match reality. If the estimating rate assumes 2,000 hours/year per worker but the time records show 1,750 average annual hours (due to weather, holidays, and project transitions), fixed burden costs spread over fewer hours — the actual burdened rate is higher.


Step 2: Apply Overhead Rate

Add overhead to the burdened labor rate. See the previous guide on calculating the construction overhead rate for the full calculation. The result is the total cost per direct labor hour before profit.

Three approaches for incorporating overhead in pricing:

Approach A: Overhead as % of Direct Labor (Recommended for Labor-Heavy Work)

 
Burdened labor cost:                  $46.11/hr Overhead rate (35% of labor):         $16.14/hr                                       -------- Total cost per direct labor hour:     $62.25/hr 

Apply this total to every estimated direct labor hour. Materials, equipment, and subs get a separate, lower overhead allocation or none at all (they don't drive overhead the same way labor does).

Approach B: Overhead as % of Total Cost

 
Total estimated direct cost: $420,000 Overhead (11.3%):             $47,460 Total cost with overhead:    $467,460 

Simpler to apply but less precise — over-allocates overhead to sub-heavy bids.

Approach C: Blended Labor Rate Including Overhead

Bundle burdened rate + overhead into a single composite rate used for T&M billing and hourly estimates:

 
Burdened labor rate:   $46.11/hr Overhead allocation:   $23.21/hr (from overhead $/hr calculation)                        -------- Total cost rate:       $69.32/hr Markup (20%):          $13.86/hr                        -------- T&M billing rate:      $83.18/hr 

Step 3: Determine Profit Margin

Step 3: Determine Profit Margin

Profit margin is a business decision, not just a number from industry benchmarks. It should reflect:

  • Risk of the project: Fixed-price lump sum contracts carry more risk than T&M; higher risk justifies higher margin
  • Competitive market conditions: Tight bidding market compresses margin; negotiated work allows more
  • Overhead burden: A lean company with low overhead can bid lower margin and still profit; a high-overhead company needs more margin to survive
  • Cash flow impact: Projects that require significant up-front cost before billing need higher margin to compensate for the financing cost
  • Strategic value: A project that builds a client relationship or opens a new market segment may price at lower margin intentionally

Typical construction margin ranges by sector:

Work Type

Typical Net Margin

Residential new construction (custom)

8–15%

Residential remodeling

15–25%

Commercial GC (lump sum)

3–8%

Commercial specialty sub

8–18%

Government / public work

3–7%

Design-build

10–15%

T&M and service work

20–30%

These are ranges — actual achievable margin depends on the specific company, market, and project. The most important margin target is the one that keeps the business financially healthy, not an industry average.

Minimum margin floor: Calculate the break-even margin for your company — the margin below which the company cannot cover overhead and owner compensation at planned revenue levels. Never bid below this floor except under extraordinary strategic circumstances.


Step 4: Calculate the Bid Price

Full pricing model integrating all four components:

 
PRICING WORKSHEET  DIRECT COSTS   Labor (burdened):     Foreman: 120 hrs × $58.45      $7,014     Journeyman (2): 480 hrs × $46.11  $22,133     Apprentice (1): 240 hrs × $32.50   $7,800     Laborer (1): 200 hrs × $29.80   $5,960     Subtotal Labor:                $42,907    Materials:                       $38,500   Equipment (internal rate):        $8,200   Subcontracts:                    $95,000   Subtotal Direct Cost:           $184,607  OVERHEAD   On labor (35%):                  $15,017   On materials/equip (5%):          $2,335   On subcontracts (3%):             $2,850   Subtotal Overhead:               $20,202  TOTAL COST:                       $204,809  PROFIT (target 20% margin)   Price = $204,809 ÷ (1 − 0.20) = $204,809 ÷ 0.80   PRICE:                          $256,011  Margin check: ($256,011 − $204,809) ÷ $256,011 = 20% ✓ 

Round the bid price to a number that doesn't expose the internal calculation. $256,011 → $255,000 or $258,500 depending on competitive context. Never present cost-plus-exactly-calculated bids to owners — it invites negotiation from the cost side.


Pricing by Contract Type

Lump Sum (Fixed Price)

Full risk on the contractor. The bid price is the price — owner pays that amount if scope doesn't change. Every cost overrun comes from profit.

Pricing discipline: Build contingency into the estimate for unknown conditions, weather risk, and minor scope ambiguities. Contingency is not profit — it's risk reserve. A job with 5% contingency and 15% margin runs at 15% margin if no contingency is needed and at 10% if contingency is fully consumed.

Time and Materials

Owner pays actual cost + markup. Contractor carries no cost risk — risk shifts to the owner. The markup must be agreed in the contract (labor markup rate, material markup %, equipment rate).

T&M billing rate = burdened labor rate + overhead allocation + profit markup

For T&M, the construction time clock app is the billing instrument — GPS-verified hours by worker per day become the invoice. An owner who disputes T&M hours faces digital records with timestamps and location verification.

Guaranteed Maximum Price (GMP)

Hybrid: contractor provides a cost ceiling (GMP) but work is executed on a cost-plus basis. If costs come in under GMP, savings are typically shared between owner and contractor per a negotiated split. GMP projects require complete open-book accounting — every cost must be documented and defensible.

GMP pricing discipline: The GMP is a hard ceiling. Set it conservatively — enough contingency that cost overruns are absorbed within the GMP without eating into the fee. Every contingency dollar unused is shared with the owner.

Unit Price

Bid a price per unit of work — per linear foot of pipe, per cubic yard of concrete, per square foot of paving. Owner pays based on measured quantities.

Unit price calculation:

 
Material cost per unit:     $X Labor cost per unit:        hours/unit × burdened rate Equipment cost per unit:    hours/unit × internal rate Overhead per unit:          overhead rate applied Profit per unit:            margin applied Unit price:                 $X/LF (or CY, SF, etc.) 

Pricing Change Orders

Change orders are often priced in less rigorous discipline than the original bid — under time pressure, without full cost buildup, and with the contractor accepting whatever the owner will approve.

Change order pricing requires the same rigor as the original bid:

  • Identify all labor, material, equipment, and sub costs for the additional scope
  • Apply burdened labor rates — not base wages
  • Apply overhead on labor
  • Apply profit margin
  • Add time-related costs: extended general conditions if the change extends the schedule, acceleration costs if the change must be compressed into the existing schedule

T&M change orders: Many contracts allow change orders to be executed on a T&M basis when scope is poorly defined. In this case, daily T&M tickets signed by the owner's representative — backed by construction employee time tracking app records — are the billing basis. An unsigned T&M ticket is a billing dispute waiting to happen.

Change order markup vs. fee: Some contracts specify a fixed markup for change orders (e.g., "labor + 15%, materials + 10%, subs + 5%"). Know these rates before executing change order work — the contract markup may be lower than the normal pricing model. The delta is the cost of doing business under a contract with fixed change order rates.


How Time Tracking Data Improves Pricing Accuracy

The most expensive estimating error is using the wrong production rate — how long it takes to install a given quantity. Estimating databases (RS Means, Craftsman) provide national averages. Your crew's actual production rate is different — possibly better, possibly worse — based on their skill level, your management approach, and your market conditions.

Building a production rate database from construction time sheet app data:

After each project, pull actual hours by cost code from the construction time keeping software. Divide by actual installed quantity. Result: your actual production rate for that scope item.

 
Cost Code 09.200 (Drywall Hang):   Actual hours: 387   Actual quantity installed: 48,200 SF   Actual production rate: 124.5 SF/crew-hour  Estimated production rate: 135 SF/crew-hour Variance: -7.8% (slower than estimated)  Next bid adjustment: use 125 SF/crew-hour for this crew 

Over 10–20 projects, this database becomes the most accurate estimating tool available — it reflects your specific crew, your typical project conditions, and your management approach. No published database matches that precision.

GPS time tracking validates the hours behind the production rates: When hours are GPS-verified — confirming workers were on site during logged hours — the production rate database is reliable. When hours come from recalled timesheets, the production rate is only as accurate as the memory behind it.


Common Pricing Mistakes

Common Pricing Mistakes

Using base wage instead of burdened rate Estimating labor at $32/hr when the fully burdened cost is $46/hr understates labor cost by 44%. On a labor-heavy project, this error alone eliminates the planned profit margin.

Pricing without recovering overhead A 10% markup on a project where overhead is 12% of cost produces a loss before profit is even considered. Every bid must recover overhead before profit is applied.

Applying the same margin to all work types A lump sum commercial project and a T&M service call require different margins — different risk profiles, different overhead intensity, different market competition. A single blanket margin across all work types is wrong for most of it.

Not pricing escalation on long-duration projects Material prices change over the duration of a multi-year project. A fixed-price bid that doesn't account for material escalation (lumber, steel, copper) transfers 100% of price risk to the contractor. Include escalation clauses or price buffers on any project exceeding 12 months.

Cutting margin to win the bid A bid cut to win that generates a 3% margin — below break-even for overhead recovery — is worse than losing the bid. Losing the bid costs nothing. Winning at a loss consumes cash, management capacity, and crew time that could be deployed elsewhere.

Subcontractor markup too low Subs require coordination, contract administration, payment processing, and lien waiver management. GC overhead on subcontract work is real — a 3% markup on a $500,000 sub is $15,000 to manage that subcontract relationship through the life of the project. Price accordingly.


Pricing Reference Table

 
QUICK PRICING REFERENCE  MARKUP TO ACHIEVE TARGET MARGIN:   10% margin → multiply cost × 1.111   15% margin → multiply cost × 1.176   20% margin → multiply cost × 1.250   25% margin → multiply cost × 1.333   30% margin → multiply cost × 1.429  BURDENED RATE QUICK BUILD:   Base wage × 1.30–1.45 = approximate burdened rate   (varies by state WC rate, benefits structure)  OVERHEAD CHECK (% of revenue):   Low overhead company:   8–12%   Mid-size GC:           10–15%   Large GC:              12–18%   Specialty sub:          8–14%  T&M BILLING RATE QUICK CHECK:   Burdened rate × 1.50–1.65 = typical T&M billing rate   (includes overhead and 20–25% margin) 

Related Resources

TaskTag Features

Related Blog Posts

Ready to explore how TaskTag can transform your construction projects?

 Start your free trial today and see the difference!