Craft labor rates are your biggest variable cost—and the easiest place to leave money on the table if you're bidding blind. This guide breaks down how to benchmark rates by trade, region, and project type so you bid confidently without undercutting yourself.
Craft labor now represents 35–45% of total project cost on most commercial builds. Miscalculating rates by 10% swings your margin by 3–5 points. Yet most general contractors rely on outdated rate tables, one-off conversations with subs, or regional averages that obscure the real cost of putting skilled workers on-site. The difference between a profitable bid and a break-even job often comes down to whether you've accurately captured the true all-in cost of electricians, plumbers, HVAC mechanics, carpenters, and masons in your specific market—right now.
This guide walks through exactly how to source, validate, calculate, and apply craft rates for commercial construction in 2026. You'll see real benchmarks by trade and region, learn how to structure labor burden calculations that reflect your actual experience mod and payroll tax burden, and discover bidding workflows that help you win work without racing to the bottom on labor.
Nonresidential construction input prices surged at a 7.1% annualized rate in January 2026, driven primarily by tariff-driven increases in steel and aluminum. But labor rate growth is outpacing materials in most metros. In Phoenix, skilled electricians commanded $48–52/hour in early 2024; by Q1 2026, that range has shifted to $54–58/hour for journeyman work. In Boston, union carpenters hit $68/hour base wage before fringes—a 12% jump in 24 months.
The driver is straightforward: the construction unemployment rate remains near historic lows, and the pipeline of new craft workers entering the trades hasn't kept pace with retirements. The Associated General Contractors reports that 89% of contractors are having trouble filling hourly craft positions. When demand exceeds supply, wages rise. If your rate table still reflects 2023 assumptions, you're underbidding every job.
Smart GCs update their craft rate library quarterly, not annually. They pull actual labor cost data from closed jobs, cross-reference it against live sub bids on current projects, and adjust assumptions before the next estimate goes out. This isn't about chasing the market—it's about not getting caught flat-footed when your low bidder tells you their rate went up 8% since your last project together.
A decade ago, you could reasonably estimate that union markets ran 20–30% higher than open-shop markets. Today, the spread is wider and more volatile. San Francisco union electricians earn $85/hour base wage plus $45/hour in fringes—$130 all-in. An open-shop electrician in Nashville might bill at $42/hour with minimal fringes. That's a 3x difference.
Even within a single state, variation is significant. In Georgia, Atlanta metro rates for commercial carpenters range from $38–48/hour depending on the contractor's labor model and project type, while rural markets south of Macon see rates closer to $28–34/hour. If you're bidding statewide work and applying a single rate, you're either overpricing rural jobs or underpricing metro work.
Understanding Georgia prevailing wage rates for 2026 becomes critical when bidding public work in that state, as prevailing wage requirements can push your labor costs 30–40% higher than private sector assumptions.
When someone says "electricians cost $55 an hour," what does that number mean? In most cases, it refers to the base hourly wage paid to the worker. But the total cost to put that electrician on your job is significantly higher. You need to account for three layers:
Your total installed labor cost is base wage + fringes + burden. If you're comparing a sub bid that quotes $55/hour against your internal estimate of $72/hour, you need to know whether the sub's number includes fringes and burden or just base wage. Most subs quote a "loaded rate" that includes base and fringes but not your burden, which you apply separately. Clarify this in your scope of work and during bid leveling, or you'll compare apples to oranges.
Here are 2026 benchmark ranges for five core trades in major US metros, reflecting typical open-shop loaded rates (base + fringes, before GC burden). Union rates run 25–50% higher in most cases.
Electricians: Southeastern open-shop markets (Charlotte, Atlanta, Nashville) range $48–58/hour loaded. Midwest union markets (Chicago, Detroit) hit $70–85/hour loaded. West Coast union (San Francisco, Seattle, Los Angeles) runs $80–95/hour loaded. Prevailing wage work on federal projects pushes these numbers higher—check Davis-Bacon rates for Maryland construction if you're bidding federal work in that state.
Plumbers: Generally track 5–10% below electricians in the same market. Open-shop Sun Belt markets: $44–54/hour. Union Midwest and Northeast: $65–80/hour. California union: $75–90/hour. Plumbing has slightly less wage pressure than electrical in most markets because the licensing requirements and apprenticeship pathways are more mature.
HVAC Mechanics: Parallel electrician rates in most metros. Southeastern open-shop: $46–56/hour. Midwest union: $68–82/hour. West Coast union: $78–92/hour. HVAC work often includes a higher percentage of prefab and modular equipment installation, which can reduce field labor hours but requires more skilled layout and coordination.
Carpenters: Wider variance because "carpenter" includes rough framers, finish carpenters, formwork specialists, and interior trim crews. Rough framing in open-shop Texas markets: $32–42/hour. Union concrete formwork in New York: $65–75/hour. Finish carpentry for high-end commercial interiors: $50–70/hour regardless of region. Your estimate should separate rough and finish carpentry and apply different rates.
Masons: Bricklayers and block masons command premium wages due to the physically demanding nature of the work and declining workforce. Open-shop Southeast: $40–52/hour. Union Northeast and Midwest: $60–78/hour. Specialty masonry (restoration, historical) can exceed $80/hour in major metros. Masonry productivity is highly sensitive to weather and site conditions, so your labor estimate should include contingency for downtime.
These ranges reflect journeyman-level craft workers on commercial projects with moderate complexity. Apprentices bill 50–70% of journeyman rates. Foremen and lead craft workers add 10–20% premium. Specialty and high-risk work (high-rise, confined space, hazmat) commands additional premiums.
Your best data source is your own closed-job history. Pull labor costs from your last 10–15 completed projects in the same metro and trade. Compare estimated labor hours and rates against actual costs from pay apps and final job cost reports. If you estimated electricians at $58/hour and your actual installed cost came in at $64/hour across three similar projects, your rate assumption is too low.
Most estimating teams don't do this analysis because it's buried in job cost reports, pay app spreadsheets, and project files scattered across shared drives. Build Intel's project reporting and proposal generation tools make this fast—Dexter AI can instantly summarize labor spend by trade and region across your portfolio, flagging when your estimated rates diverge from actual costs. You can ask Dexter in plain English: "What did we actually pay electricians per hour on the last five office buildings in Atlanta?" and get an answer in seconds, with links to the underlying project data.
Your sub database is your second-best source. When you receive bids, log the quoted labor rates alongside the total price. Over time, you build a rate history for every sub and every trade. During bid leveling, compare each sub's current quote against their historical rates and against other subs bidding the same scope. If Sub A quoted $52/hour for carpenters last quarter and $58/hour this quarter, that's either a market shift or a project-specific risk premium. Call and clarify before you award.
For new markets or high-risk trades where you lack historical data, validate against external benchmarks:
Cross-reference at least three sources before locking a rate into your estimate. If Davis-Bacon says $62/hour, your sub database shows $58–64/hour, and RSMeans adjusted for your city shows $60/hour, you're in a safe range. If one source is an outlier, investigate why before you trust it.
Labor burden is every cost associated with employing or subcontracting a craft worker beyond the base wage and fringes. It's the layer most contractors underestimate, and it's where margin evaporates. Typical components include:
Total burden typically ranges from 40–70% of base wage, depending on trade, risk profile, and project type. A $50/hour base wage carpenter might cost you $70–85/hour all-in after fringes and burden. Contractors who apply a flat 20% burden across all trades lose 5–10 margin points over a year.
Start by calculating your actual burden for each trade based on your company's experience. Pull your workers comp rates by classification code, your actual payroll tax burden, and your general liability allocation from your insurance broker. Add equipment and supervision overhead as a percentage based on historical project data. Update this calculation annually or whenever your EMR or insurance rates change.
Here's a simplified example for a commercial carpenter in Georgia:
Your burden percentage is $14.50 / $50 = 29%. But this is specific to carpenters in Georgia with your company's risk profile. Your electrician burden might be 25%, and your laborer burden might be 35% due to higher workers comp rates for general labor classifications.
Build burden into your estimating software as a multiplier or line-item adder, applied automatically to every labor hour. If you're using assemblies (e.g., "install drywall per SF" = labor hours × rate + materials), embed the burdened labor rate so you don't have to calculate it manually on every line. Build Intel's custom assemblies let you lock labor and material together—carpenters at $64.50/hour plus materials auto-calculate as one line item, so when you update the rate, it cascades to every takeoff using that assembly.
When you're comparing sub bids during leveling, remember that subs quote you a rate that includes their burden, not yours. But you still carry burden for managing the sub: your superintendent's time, insurance allocations, and contract administration overhead. Apply a reduced burden (typically 5–15%) to subcontracted work to capture these indirect costs.
The GCs winning work aren't the cheapest bidders—they're the ones bidding consistently, backing rates with project data, and explaining labor scope clearly to owners and subs. When you submit a bid that's 8% higher than the low bidder, you need to articulate why. "Our labor rates reflect current market conditions, our safety record, and our ability to deliver on schedule" is vague and unconvincing. "Our electrician rates are $58/hour based on our last four projects with this sub in this metro, and we've included $12,000 for site-specific safety and coordination that the low bidder didn't scope" is specific and defensible.
Owners increasingly understand that low-bid labor pricing correlates with change orders, schedule delays, and quality issues. If you can show that your craft rates are validated against historical data and that you've accounted for project-specific risks, you can win work at a premium. The key is transparency and consistency: use the same rates across similar projects, document your assumptions in your scope narratives, and track actual costs so you can refine your rates over time.
Smart contractors use tools like AI-accelerated estimating platforms to surface labor assumptions instantly. Dexter AI auto-drafts scope narratives and clarification lists that reduce sub questions and bid time, so you spend less energy managing bids and more time analyzing whether your labor assumptions align with project risk. When a sub's bid comes in 15% below your estimate, Dexter flags the anomaly and you can call the sub before you level the bid, not after you've already submitted to the owner.
Track which craft rates and labor items your subs are hitting or missing. If your carpenters come in 10% high on three consecutive jobs, your rate assumption is wrong or your subs are overstaffing. If your plumbers consistently beat your estimate by 5%, you're either overestimating hours or using an inflated rate—either way, you're losing bids you should win.
Build a feedback loop: estimate → bid → award → job cost → estimate update. Most contractors stop after award. The best preconstruction teams close the loop by comparing estimated labor costs to actual installed costs on every project, then feeding those learnings back into the rate guide and estimating database. This isn't a once-a-year exercise; it's a quarterly review that keeps your rates aligned with market reality.
Use Build Intel's sub outreach and bid leveling workflow to compare labor pricing across subs in one dashboard, surface anomalies instantly, and feed learnings back into your rate guide. Automated ITB distribution with drip campaign follow-ups, open/decline tracking, and deadline management eliminates manual phone-tag on busy bid projects, so you have more time to analyze the bids you receive instead of chasing subs who haven't responded.
Understanding how to improve bid strategy means treating craft rates as a strategic advantage, not just a cost input. The contractors who iterate their craft rates quarterly, not annually, win more work at better margins because they're bidding with current data while their competitors are bidding with last year's assumptions.
Create a master craft rate table for your region and trade mix, updated quarterly. Store it in your estimating software so every estimator pulls from one source of truth. Structure the table by:
Lock the table so estimators can't override rates without approval. If an estimator needs to adjust a rate for project-specific risk, require a note explaining the adjustment and flag it for review during bid leveling. This prevents one-off rate changes from polluting your database and ensures you can audit assumptions later.
Build Intel's custom assemblies let you lock labor and material together, so when you update a craft rate in your master table, it cascades to every takeoff using that assembly. If you update your electrician rate from $58 to $62/hour, every estimate that includes electrical assemblies recalculates automatically. This saves hours of manual updates and ensures consistency across all active bids.
In a multi-estimator preconstruction team, rate consistency is a constant challenge. One estimator uses $58/hour for electricians, another uses $72/hour on the same project type in the same month. Without a formal QA process, these discrepancies slip through and cost you bids or margin.
Dexter AI addresses this by comparing labor assumptions across bids on similar project types. If one estimator is using a rate that diverges significantly from recent project history or from other active bids, Dexter flags the gap so you can level the variance before the bid goes out. Smaller firms benefit most—Dexter keeps one estimator's rates honest against the market without requiring a full-time estimating manager to review every bid line by line.
Standardize your takeoff and estimating workflows so every estimator builds labor costs the same way. Define whether your rates include burden or whether burden is applied as a separate line item. Specify how you handle overtime, shift premiums, and travel time. Document these standards in your estimating procedures manual and train every new estimator on the process. The goal is
AI-accelerated takeoffs, bid leveling, sub management, and proposals. Credit card required.
Start Free for 20 Days →We use cookies for analytics and to show you relevant ads on other sites. You can accept all, reject non-essential, or customize. See our Privacy Policy.