The Level Index
Contractors2,200+ contractors benchmarked.
Where do you rank?
Contractor benchmarks from the founding team's analysis of 2,200+ HVAC, plumbing, electrical, mechanical, roofing, and general contractors, across operating, private-equity, and CFO roles. These are the numbers that separate the top performers from everyone else.
Built across operating, private-equity, and CFO roles (financial reviews, operator interviews, and due diligence), layered with named public sources. All figures anonymized and rounded.
2,200+
Contractors benchmarked
9
Core operating metrics
6
Job types analyzed
All 50
States represented
About the Data
Compiled from our team’s direct experience across 2,200+ contractors, operations analytics with PE-backed portfolios, financial reviews, due diligence, tax consulting, and published research.
Methodology
All metrics are anonymized, aggregated, and segmented by percentile. Figures are rounded and represent directional benchmarks. This analysis is observational and does not establish causality.
The Level CLEAR Framework
Five pillars of contractor financial health
Every metric in the Level Index maps to one of five pillars. Together they give you a complete picture of where money is made, lost, stuck, or at risk.
C
Cash
Is your cash flowing, or stuck in someone else's bank?
L
Labor
Is your workforce generating returns, or draining them?
E
Earnings
Are you pricing profitably and keeping what you earn?
A
Accounts
Are you winning new work, and keeping it?
R
Risk
Are you exposed to concentration, churn, or market shifts?
Your cash is tied up in receivables. The spread tells you how much.
Collection Rate (% of Billed Revenue Collected)
Not all outstanding AR is 'lost', some is normal working capital. But the spread matters: at 8% cost of capital, every $1M in outstanding AR costs $80K/year. The contractors with the best cash positions turn invoices into cash fastest.
Key Takeaway
Median: 85.1% collected. Top 10%: 96.0%. At $10M revenue, that 11-point gap = $1.1M more cash sitting in AR. At 8% cost of capital, carrying that costs $88K/year in financing alone.
Why This Matters
This is a point-in-time snapshot, not all outstanding AR is lost. But construction bad debt commonly runs 1.5-3% of credit sales, and recovery probability falls sharply as a receivable ages past 90 days. Contractors who escalate early minimize both financing cost and permanent write-offs.
Some outstanding AR is normal, invoices not yet due, retainage (5-10% on commercial work), recent billing. But the spread between contractors reveals real differences in AR management. A contractor at 71% (P25) operates fundamentally differently than one at 96% (P90).
The credit risk compounds. Construction bad debt commonly runs 1.5-3% of credit sales. For a $10M contractor, that’s $200K/year written off. The Commercial Collection Agencies of America collectability curve, a general commercial-collections benchmark, shows recovery probability falling sharply as a receivable ages past 90 days. The contractors with the best cash positions escalate at 30 days, not 90.
How we measured: Total cash collected / total invoiced revenue per company at time of measurement. This is a point-in-time AR snapshot, not a permanent loss rate. Does not distinguish between AR not yet due, retainage, and past-due receivables. Excludes companies with under $100K invoiced and those with partial-year data. n=464.
Most contractors wait a week to invoice. The best bill before the job closes.
Billing Speed (Days from Job Completion to Invoice)
*Typical = median among post-completion invoicers (excludes the ~25% who progress-bill). The raw median of 1 day is misleading. Most contractors wait a week.
Key Takeaway
~25% of contractors progress-bill before completion. Among the rest, the typical delay is 7 days. One in four waits 14+ days. Bottom 10%: a full month. The often-cited 1-day median is misleading, it blends progress billers with everyone else.
Why This Matters
Every day between completion and invoice is a day you’re financing your customer’s project. On a $50K job, a 30-day delay at 8% cost of capital costs $330 in pure float. Across hundreds of jobs per year, invoice speed is a cash flow strategy, not an admin task.
Progress billers have flipped the cycle, collecting cash while work is still in progress. The rest are playing catch-up. The fastest non-progress billers invoice same-day. The slowest wait a month.
Owners who complain about cash flow often have an invoicing speed problem, not a revenue problem. The contractors with the best cash positions aren’t the ones with the most revenue, they’re the ones who bill fastest.
How we measured: Days between job completion date and first invoice date. Negative = invoiced before completion (progress billing). The chart shows both the raw distribution and the adjusted median excluding progress billers. n=733 companies with at least 10 completed jobs.
Of the hours your techs log on jobs, how many actually get billed?
Billing Capture Rate (% of Logged Hours Invoiced)
This is billing capture, not utilization. Industry 'utilization' (65-80%) includes drive time, admin, and training. Our 97% measures: of hours logged on a job, how many get invoiced. The bottom decile (67%) is where the real revenue leakage lives.
Key Takeaway
Median: 97.1%. Bottom 10%: 66.9%, a third of on-job labor never makes it to an invoice. This is NOT utilization (65-80% industry benchmark includes drive time, admin, training). This measures billing capture: of hours logged on a specific job, how many get invoiced.
Why This Matters
A company can have 97% billing capture but 70% utilization, they’re measuring different things. The real problem is at the bottom: companies billing only 67% of logged hours have a process breakdown between field work and invoicing, not an idle-time problem.
Top quartile hits 100%. Some exceed it through overtime billing at premium rates. The bottom 10% lose a third of logged hours, for a crew of 10 techs, that’s significant revenue leakage from work already completed.
The fix: a weekly reconciliation of hours logged vs. hours invoiced per job. Most FSM platforms can generate this automatically. The gap almost always lives in add-on tasks, diagnostic visits, and T&M overruns that don’t make it onto the invoice.
How we measured: Total hours billed to customers / total hours logged on jobs. This is NOT the same as 'technician utilization' cited by industry sources (65-80%), which measures billable hours ÷ total paid hours including drive time, admin, training, and idle time. Our metric is narrower, it only measures the invoicing capture rate of hours already assigned to a job. Values over 100% occur when overtime hours are billed at premium rates (e.g., 1.5x). n=963 companies with at least 100 logged hours.
Industry research says 15-25% of T&M labor is never invoiced. Our data shows why.
Job Invoice Status (% of All Jobs)
46% of jobs are fully invoiced. ~34% are explainable (in progress or internal). But ~20%, partial and unclassified, represent likely missed revenue. A weekly "completed + no invoice" report recovers $75K-$180K/year.
Key Takeaway
Only 46% of jobs in our dataset are fully invoiced. ~34% are explainable (in progress, internal/warranty). The remaining ~20%, partial and unclassified, represent likely missed revenue. Industry research confirms: manual T&M tracking captures only 75-85% of billable work.
Why This Matters
This isn’t about slow-paying customers. It’s work that falls through the cracks: add-on tasks without work orders, diagnostics rolled into broader projects, T&M overruns nobody tracks. The money leaves as payroll and never comes back as revenue.
For a $5M contractor with 40% T&M revenue, 15-25% unbilled = $100K-$500K/year in labor already paid for and never billed (ServiceTitan, Sera Systems).
The fix: a weekly report of completed jobs with logged hours and no invoice. Most FSM platforms generate this automatically. Contractors who run it find 3-7 missed invoices per week, $75K-$180K/year recovered with zero new work.
How we measured: Job invoice status from 3.84M jobs across 2,159 contractors. 'In Progress' includes jobs not yet completed. 'Internal/Warranty' includes explicitly no-charge work. Not every uninvoiced job represents lost revenue, many are sub-tasks, PM visits billed under SAs, or multi-phase projects invoiced at a parent level. The 15-25% unbilled T&M figure is from industry research (ServiceTitan, Sera Systems), not derived solely from our dataset.
A journeyman bills $145K/year. A trained lead tech: $350K+. Are you building that pipeline?
Estimated Annual Billable Revenue per Employee
The revenue gap between skill levels is the single best argument for investing in retention and training. Every journeyman who walks costs you $145K in billing capacity plus $12K+ to replace.
Key Takeaway
Helper: ~$55K/year. Apprentice: ~$65K. Technician: ~$100K. Journeyman: ~$145K. Foreman/lead tech: $250-$350K+. Industry target: 5x total compensation in revenue per tech. Well-run companies average $380K per tech overall.
Why This Matters
A journeyman on $60K comp billing $145K = 2.4x return. A lead tech on $85K billing $350K = 4.1x. Minimizing wages optimizes the wrong number. The ROI is in developing and retaining your highest producers, yet 73% of skilled trades turn over annually.
Bill rates from our data: helpers $34/hr, apprentices $39/hr, technicians $54/hr, journeymen $76/hr. Multiply by billable hours (1,600-1,900/year) to get annual revenue. Foremen and lead techs, who manage crews, handle complex jobs, and upsell, reach $250K-$350K+. Trained selling techs: $700K-$1M+. Foreman and selling-tech revenue figures are directional (Level engagement observation), not a published distribution.
Replacement cost per departure: $4,500-$12,000+ plus 8-12 weeks to productivity. On a 20-person crew losing ~15 techs/year, that’s $68K-$180K+ in turnover cost before counting the billing gap.
How we measured: Helper through journeyman: bill rate medians from 18,000+ field employees across 2,200+ contractors in Level's benchmark research, multiplied by estimated annual billable hours (1,600 for helpers scaling to 1,900 for journeymen). Foreman/lead tech revenue and the compensation-multiple rule of thumb are directional (Level engagement observation), not a published distribution. Revenue estimates vary by trade, region, mix of service vs. project work, and whether techs are trained to recommend/upsell.
73% annual turnover. 46% of contractors hiring just to stand still.
Annual Turnover Rate by Role (%)
Fully-loaded replacement cost commonly runs $4,500-$12,000+ per departure, with 8-12 weeks to full productivity. At 15 departures per year on a 20-person crew, that's $200K-$310K+/year in turnover cost hiding in your P&L as 'training' and 'recruiting.'
Key Takeaway
Skilled trades: 73.1%. General laborers: 89.3%. Project managers: 44.9%. Average construction tenure: 3.9 years. A 20-person crew loses ~15 techs/year. 71.7% of contractors increased headcount last year, 46% had zero net growth.
Why This Matters
Each departure: $4,500-$12,000+ to replace plus 8-12 weeks to productivity. 15 departures × replacement cost = $68K-$180K+/year. Add the billing gap from downgrading a journeyman slot to a less experienced tech: $133K in lost capacity. Total: $200K-$310K+/year hiding in your P&L.
The treadmill effect is the real story. Companies hire aggressively and end the year with the same headcount. Every new hire fills a vacancy, not a growth position. The P&L buries the cost under “recruiting” and “training” where nobody sees it.
The math is simple: retain one journeyman instead of replacing them and you save $87K+ in billing capacity plus $12K in replacement cost. Retention is the highest-ROI investment most contractors aren’t making.
How we measured: Construction-sector turnover is high overall (BLS JOLTS reports quits at the industry level). JOLTS does not break quits out by role, so the per-role rates shown here (skilled trades vs. PMs vs. admin) are directional workforce estimates compiled from published construction-workforce research, not a BLS role-level series and not from our contractor dataset. Replacement-cost ranges are a fully-loaded estimate (recruiting, onboarding, training, productivity gap, overtime); treat all figures here as directional, not company-specific.
Same trade, same market, wildly different margins. Why?
Service Agreement Gross Margin
Some contractors lose 30% on every service agreement. Others make 70%. Same trade, same market. The drivers: pricing, scope control, customer mix, and cost visibility.
Key Takeaway
Across 259 contractors: bottom 10% lose 30% on every SA. Top 10% make 70%. The median sits at 37.9%. Residential-only benchmarks cite 55-75%, our lower median reflects a commercial-heavy mix with equipment costs and multi-visit scopes.
Why This Matters
91% of jobs in our dataset have revenue but no cost data attached. Without job-level cost visibility, profitable SAs silently subsidize unprofitable ones. The contractors who see their cost-to-serve adjust pricing. The rest keep guessing.
Four levers explain the 100-point spread: pricing discipline (charging enough for scope), scope control (SAs creeping into free work), customer mix (high-maintenance vs. clean accounts), and cost visibility (knowing your true cost to serve each agreement).
No single factor dominates, which is exactly why it requires a CFO lens, not just an operational fix.
How we measured: Gross margin = (SA revenue − direct labor − parts) / SA revenue. Calculated per company across all active SAs. n=259 companies with at least $10K in SA revenue. Blends residential and commercial SAs. Internet benchmarks for residential-only maintenance plans cite 55-75% gross margins, our lower median (37.9%) reflects the commercial-heavy mix in our dataset, where SAs include equipment costs, multi-visit scopes, and subcontracted work. Our P75 (53.5%) and P90 (70.3%) align with residential-focused benchmarks.
You're probably undercharging. The data says so.
Average Bill Rate by Company ($/hr)
A $30/hr rate increase across 10 techs = $600K per year. Many contractors in our sample price based on what they've always charged, not what the market will bear. These rates are the labor component, your total customer charge will be higher after trip fees, materials, and overhead.
Key Takeaway
Median bill rate: $79/hr. Top quartile: $116/hr. Top 10%: $147/hr. These are the labor component per tech hour, total customer charges are higher after trip fees, materials, and overhead markup.
Why This Matters
A $30/hr rate increase across 10 techs working 2,000 hours/year = $600K in annual revenue. Most contractors price based on what they’ve always charged, not what the market bears. That’s not a pricing decision, it’s a business model decision.
Bill rates vary dramatically by state: IL averages $128/hr, CA $113/hr, MS $74/hr. Our dataset skews commercial (HVAC, mechanical, plumbing, electrical). Residential rates may differ, but the relative ranking holds, high-cost-of-living states consistently charge more.
The compounding effect is what matters. $30/hr × 10 techs × 2,000 hours = $600K/year. Contractors who benchmark rates against market data capture this. Those who don’t leave it on the table permanently.
How we measured: Based on rate card data from 1,770 contractors in Level's proprietary benchmark research. Important: this field is used inconsistently. Some companies enter customer billing rates ($100-$200+/hr), others enter loaded labor cost or base wages ($25-$60/hr). The $79/hr median reflects a blend. Companies using this as a true customer bill rate cluster at P75-P90 ($116-$148/hr), consistent with internet consensus for commercial billing ($100-$200/hr). Blended across HVAC, mechanical, plumbing, and electrical. States with <35 companies have thin samples.
Only 523 of 2,200+ contractors track estimated vs. actual labor hours. Both over and under are costing you.
Labor Estimating Accuracy: Actual vs. Estimated Hours (% Difference)
This is internal labor resourcing accuracy. Over-estimating pads your bids and loses you work. Under-estimating wins jobs you can’t deliver profitably. The target is near zero. The median contractor over-estimates by 12%, and 554 companies don’t track it at all.
Key Takeaway
This is labor resourcing accuracy. The goal is near zero. Median: 12% over-estimated (padded). Bottom 10%: 22%+ under-estimated (overruns). 554 companies don’t track it at all.
Why This Matters
Over-estimating pads bids and loses you work. Under-estimating wins jobs you can’t deliver profitably. Both cost you money, just in different ways. Accurate estimating is how you win AND protect margin.
Left side (over-estimating): If you’re padding by 12-50%, you’re pricing yourself out of competitive work. You feel safe. You also wonder why you lose bids.
Right side (under-estimating): You win the job, then eat the margin. Worst cases run actual costs at roughly 2x to 6x estimate (about 180% to 550% over), sustained across hundreds or thousands of jobs, not a one-off bad bid.
554 companies have no labor hour estimates at all. They can’t measure whether they’re over or under. The sweet spot is near zero, and you can’t hit a target you don’t track.
How we measured: (Actual labor hours − Estimated labor hours) / Estimated hours, averaged per company across jobs with both fields populated. Negative = over-estimated (used fewer hours than planned). Positive = under-estimated (used more hours than planned). Only includes companies with 10+ jobs with both fields. n=523. Another 554 companies have no labor hour estimates in their system.
49% of revenue comes from 1% of jobs. But you track costs on none of them.
Revenue Share by Job Size (% of Total Revenue)
1% of jobs = 49% of revenue. But the other 99% is where your margin blindness lives. If you don't track costs on service calls, you don't know your real profitability.
Key Takeaway
15,840 jobs in the 80-200 hour range (1% of total) generate $4.25B, 49% of all revenue. Meanwhile, 767K service calls under 4 hours (51% of jobs) generate just 8%. Most of those small jobs have zero cost data attached.
Why This Matters
70%+ of contractors don’t do proper job costing (QuickBooks, Precision Accounting). Costs exist in payroll and AP but never get allocated to individual jobs. The [phantom margin problem](/blog/why-you-dont-know-your-real-job-margin) is worst on high-volume, low-dollar work, the jobs filling your schedule every day.
Among the 9% of jobs that DO have cost tracking, margins distribute normally at 20-50%, exactly what CFMA benchmarks predict. The problem isn’t that small jobs are unprofitable. The problem is that nobody knows which ones are.
If even 20% of those 767K small jobs are unprofitable, that’s $140M in revenue subsidizing losses that nobody can see. The fix: allocate costs to every job, not just the big ones.
How we measured: Jobs bucketed by total logged hours. Revenue from invoiced amounts. This is the job-level cohort (about 1.5M individual jobs with a dollar value attached, roughly $8.7B), a subset of the full $13.25B dataset, which also includes company-level records without clean job-by-job breakdowns. Covers contractors with at least $100K in annual revenue. 'No cost data' means the job has revenue but no labor cost, material cost, or subcontractor cost coded to the job, costs may exist in payroll/AP but aren't allocated. Industry surveys confirm 70%+ of contractors don't do proper job costing (QuickBooks, Precision Accounting). Among the 9% of jobs WITH cost data, margins distribute at 20-50%, consistent with CFMA benchmarks.
You're closing most quotes. But are you closing the right ones?
Quote Conversion Rate (% of Quotes Won)
Conversion rate is vanity. Conversion rate on profitable jobs is the real metric. The contractors who perform best pair conversion tracking with job-level margin data, they know which quotes to chase and which to let walk.
Key Takeaway
Median: 73.9% of decided quotes convert. Top quartile: 83.2%. Bottom 10%: under 49%, more than half their estimating effort produces zero revenue. Note: this is decided quotes only (yes or no), not total pipeline.
Why This Matters
Conversion rate alone is vanity. High conversion on low-margin work is worse than lower conversion on profitable work. Without job-level cost data, which 91% of jobs in our dataset lack, most contractors can’t tell the difference.
Every 10% improvement in conversion drops straight to topline. But a 10% improvement in converting the right quotes drops to the bottom line. The contractors who perform best pair conversion tracking with job-level profitability, they know which quotes to chase and which to let walk.
Industry sources citing 15-40% close rates measure total pipeline (including quotes that never got a decision). Our 73.9% only counts quotes where the customer said yes or no, a much cleaner signal of sales effectiveness.
How we measured: Won quotes / (Won + Lost quotes). Excludes pending, draft, and cancelled quotes. This measures decided-quote conversion, not total-pipeline conversion, which is why our 73.9% is much higher than the 15-40% close rates cited by industry sources (which measure total quotes sent ÷ jobs won, including quotes that never got a decision). Our denominator only includes quotes where the customer said yes or no. n=794 companies with at least 20 decided quotes.
Service agreement customers are worth 3-5x more over their lifetime. Most contractors leave that on the table.
Annual Pull-Through: Additional Revenue per $1 of Agreement Revenue
SA customers are worth 3-5x more over their lifetime, but only if you capture the downstream work. In any given year, the median contractor generates just $0.09 in additional revenue per $1 of agreement fees. Top quartile: $0.30. The gap on a $500K book = $105K/year left on the table.
Key Takeaway
The 3-5x is real: SA customers stay 5-10 years, 78% buy replacements from their provider, and average ~$15K lifetime value vs. $3-5K for one-time callers. But the multiplier compounds through annual pull-through, and the median contractor captures just 8.7% in additional work each year.
Why This Matters
On a $500K agreement book: $43K/year at median pull-through vs. $148K at P75, a $105K gap from customers you’re already visiting. No new marketing, no new trucks. The agreement fee is the entry point, not the profit center. The profit is in what each visit generates downstream.
The bottom 10% generate less than 0.3% in pull-through. Their techs complete the PM checklist and leave. Every visit that could surface a $3,000 repair becomes a $0 touchpoint.
P90 (93.4%) is skewed, it includes SA customers who also bring large project work. P75 (30%) is the realistic operational target: techs trained to recommend, quote on-site, and follow up. The gap between median and P75 is pure execution.
How we measured: The 3-5x lifetime value multiplier compares total lifetime spend of SA customers (~$15K residential) to one-time customers ($3-5K), a pattern widely cited across HVAC/plumbing operator literature. Annual pull-through = (non-agreement revenue from agreement customers) / (agreement revenue), measured in a single year, from Level's contractor benchmark research (n=386 companies). P90 (93.4%) likely includes large project work from SA accounts. P75 (29.6%) is the actionable benchmark. The 3-5x multiplier is the compounding effect of annual pull-through over a 5-10 year retained relationship.
Same maintenance visit, wildly different results. The gap is trade and tech.
Pull-Through Rate by Trade (% of Agreement Revenue → Add-On Work)
Mechanical pulls through 46% of agreement revenue. Plumbing: 5.5%. Same visit structure, same customer relationship, the difference is whether techs are trained to recommend and whether the office follows up. The lowest-performing trade has the most room to grow.
Key Takeaway
Mechanical: 45.9% pull-through. HVAC: 29.7%. Electrical: 18.3%. Plumbing: 5.5%. Across 240 contractors, 54,000+ SAs, and $412M in maintenance revenue. The trades with the lowest baseline have the most room to grow.
Why This Matters
Service-only techs average $150-$300 per call. Techs trained to recommend: $400-$700 (ServiceTitan, ACCA). Across 1,000 calls/year, one trained tech generates $250K-$400K more. No new customers, no new marketing. Just better execution on visits you’re already making.
This breaks down [Finding A.2](#pull-through) by trade. The gap isn’t market demand, it’s process. Mechanical leads because their systems (chillers, boilers) naturally surface replacement and upgrade opportunities during PM visits.
The SA attach rate gap mirrors the same pattern: 7-8% typical vs. 30-40% best-in-class. Plumbing and electrical have the most structural upside, the baseline is so low that even modest process changes (tech checklists, on-site quoting) produce outsized gains.
How we measured: Same methodology as Finding A.2 (pull-through), broken down by trade. Trade-level data: mechanical (n=45), HVAC (n=112), electrical (n=45), plumbing (n=38). Tech-level revenue-per-call data from industry sources (ServiceTitan, ACCA), not our dataset. See Finding A.2 for the overall pull-through methodology.
The median contractor gets 31.6% of revenue from one customer. SBA lenders flag at 25%.
% of Total Revenue from Single Largest Customer
The median contractor already exceeds the 25% SBA threshold. At 35%+ concentration, expect 10-20% valuation discounts. On $2M EBITDA, that’s a $4-$8M difference in your exit check.
Key Takeaway
Median: 31.6% from one customer. P90: 88.7% (typically a single GC or facility account). Our dataset skews commercial, one large GC or property manager can dominate the book. ‘Customer’ = account level, so a PM company with 50 buildings counts as one.
Why This Matters
Valuation impact: 25-35% concentration → up to 10% discount. 36-50% → 15-20%. 50%+ → 25-35% or deal restructuring. A diversified service contractor commands 7-9x EBITDA. Same business at 35% concentration: 4-5x. On $2M EBITDA, that’s a $4-$8M difference in your exit.
SBA lenders call customer concentration the #1 reason they decline acquisition loans. Most owners don’t know their number until a buyer or lender tells them it’s a problem.
Important nuance: actual operational diversification may be higher than the number suggests. But the financial risk, one decision-maker pulling all 50 buildings, is what lenders and buyers price. The threshold is the same regardless of trade mix.
How we measured: Revenue from top customer / total revenue, per company. ‘Customer’ = account level in the contractor’s system. A property management company with 50 buildings counts as one customer. n=959 companies with at least $100K in annual revenue. Our dataset skews commercial (HVAC, mechanical, plumbing, electrical), commercial contractors typically show higher concentration than residential due to fewer, larger accounts. Customer concentration above 25-30% is a well-established valuation-discount trigger in lower-middle-market M&A (buyers and lenders routinely flag it in diligence).
Multifamily permits fell 16%. Residential is flat. 499,000 new workers needed. Where does that leave you?
2024 Permit Change by Segment (Census / NAHB, YoY %)
Single-family is growing (+6.7%). Multifamily is contracting (−16% nationally, −27% in FL). The 2025-2026 outlook: total starts +1.1%, residential −8.8%, 499K new workers needed (ConstructConnect, AGC). Tighter competition, thinner margins, zero room for financial blind spots.
Key Takeaway
Single-family: +6.7% (Census/NAHB 2024). Multifamily: -16.1% nationally, -26.5% in FL, -24.1% in CA, -18% in TX. 2025-2026 outlook: total starts +1.1%, residential -8.8% (ConstructConnect). 149,000+ specialty trade contractors competing for the same work.
Why This Matters
In a growth market, sloppy financials are invisible. Revenue covers mistakes. In a mixed market with labor shortages (499K workers needed) and margin pressure, every mispriced job and uncollected invoice matters more. This is exactly when contractors need a CFO lens.
The competitive landscape hasn’t contracted to match. 64.7% of target contractors have been operating 16+ years, established businesses with legacy processes and no CFO. Fewer permits + labor shortages + tariff uncertainty = margin compression for anyone who doesn’t know their numbers.
Nonresidential is the bright spot, up 7.5%, driven by data centers and manufacturing megaprojects. But that’s concentrated growth, not broad-based. AIA’s 2026 consensus: 0.1-6.3% growth depending on sector. Acute shortages in HVAC, electrical, welding, and concrete.
How we measured: Residential permit data from U.S. Census Bureau Building Permits Survey and NAHB (2024 annual). Single-family: 981,911 (+6.7% YoY). Multifamily: 496,089 (−16.1% YoY). State multifamily declines from NAHB. 2025-2026 outlook from ConstructConnect Winter 2025 Forecast and AIA Consensus January 2026. Company count (149K) from public business registries and company records (NAICS 238x, $1-25M). Labor shortage from Walls & Ceilings / AGC 2026.
Want to know exactly where your company falls?
We'll pull your actual numbers and benchmark you against the industry. 15-minute call. Free.
Get the full report: The Level Index 2026
All 15 metrics, percentile tables, state-by-state bill rates, technician economics, and what top-quartile contractors do differently. Free PDF.
Based on operations data from 2,200+ contractor companies and PE-backed portfolio analysis. Primary metrics from operational/invoicing systems; some findings cite external labor, permit, and market sources.
Check your own numbers
Want to know where you actually rank? We'll show you and what to fix first.
The index shows what top performers do. Your own books show whether the leak is margin, labor, billing speed, WIP, customer concentration, or cash trapped in open jobs. Your numbers stay private, we never publish or share client data.
In the free audit, we check:
- •your margin, labor, billing, and cash metrics against the 2,200+ company peer range
- •whether your job costing, billing, and labor data are clean enough to trust
- •the first margin or cash leak to fix before the next close
We use this to prepare your audit before the call. Your numbers stay private.
Contractor Benchmarks by Job Type
ContractorsMargins vary dramatically by service type. These benchmarks are specific to contractors (HVAC, plumbing, electrical, roofing, GCs).
Service Calls
Typical gross margin: ~50% median (35-55%)
Maintenance Contracts
Typical gross margin: ~38% median (top quartile 53%)
Service Agreements
Typical gross margin: ~38% median (top quartile 53%)
Time & Materials
Typical gross margin: 35-45%
Install Projects
Typical gross margin: 15-25%
Commercial Projects
Typical gross margin: 10-20% (pass-through heavy)
Plus the operating deep-dives: labor productivity, sales and quote performance, collection gap and DSO, change orders, compensation design, finance software, and the full worked example.
Contractor Benchmarks by State
Bill rates vary significantly by state. Select yours to see state-specific data.
Benchmarks for other service businesses
Frequently Asked Questions
Common questions about the contractor benchmark dataset.
How many contractors does the Level Index cover?
The Level Index is drawn from the founding team's analysis of 2,200+ contractors across operating, private-equity, and CFO roles (financial reviews, interviews, PE due diligence, and tax consulting), plus published research, spanning HVAC, plumbing, electrical, mechanical, roofing, and general contractors across all 50 U.S. states.
What is the median gross margin for a service agreement?
The median service agreement gross margin is 37.9% in the Level Index. Top-quartile contractors hit 53%+. Contractors below 25% are typically underpricing SAs or not capturing pull-through revenue from maintenance visits.
What is a good collection rate for a contractor?
Median collection rate in the Level Index is 85.1%. Contractors should target 92-96%. The gap between 85% and 95% is real cash tied up in receivables, on $5M of billings, that's about $500K sitting uncollected at any given time. It is a point-in-time AR snapshot, not all permanently lost, but the longer it ages the more of it becomes a genuine write-off.
How fast should a contractor invoice after a job?
Median billing speed is 1 day when progress billing is included (about 25% of companies). Among post-completion invoicers, the adjusted median is 7 days. The bottom 10% wait 30+ days, that's a direct hit to working capital and collection probability.
What quote conversion rate should a contractor aim for?
The Level Index median is 73.9% on decided quotes. Top-decile contractors convert 92%+. The biggest lever is quote speed, quotes that sit longer than 7 days convert at half the rate of quotes sent within 24 hours.
How much does pull-through revenue actually add?
Median pull-through is 8.7% of SA revenue. Top-quartile contractors hit 29%+. On a $5M service agreement base, that's the difference between $435K and $1.45M of extra project work, and the margins on those follow-on jobs are typically 10-15 points higher.
From clients
What contractors say after working with us.
“We were doing $7M and I almost missed payroll twice in one quarter. Sam pulled the cash report apart line by line, turns out we had ~$340K in unbilled WIP sitting in the field. Got most of it billed and collected inside two weeks. The CFO retainer basically paid for itself the first month.”
“The eye-opener for me was when Sam showed me my biggest GC was actually losing me money on a fully-loaded basis. I'd been chasing that account for years. We repriced, lost them for 90 days, then they came back at better terms. That doesn't happen if nobody's running the math.”
“AR was a mess, $1.2M older than 60 days and probably $480K I'd written off in my head. Sam set up a weekly escalation cadence that we actually stuck to. Recovered about $620K in five months. Some of those calls were uncomfortable but they worked.”
Simple pricing
Three tiers, one ladder.
$99-$500/mo
Bookkeeping
The clean data layer: monthly books, reconciliations, and organized financials AI can work with.
$1,500-$5,000/mo
Scale
The full AI operating layer: custom agents, weekly actions, and benchmarks to grow margin per hour.
Custom
Platform / Multi-Office
Multi-branch benchmarking and scorecards for PE-backed and multi-location groups.
Want to know exactly where you fall?
We'll pull your numbers and rank you against the Level Index. Free audit included.
No commitment. Real numbers, not generic advice.
Disclaimer
The Level Index represents the personal analysis and professional opinions of the Level team, compiled from a variety of sources including financial reviews, industry interviews, private equity due diligence, tax and insurance consulting engagements, acquisition analysis, and published industry research. All data is anonymized and aggregated. Specific figures are rounded and should be treated as directional benchmarks, not precise measurements. No proprietary or confidential information from any single company, client, or employer is disclosed. The Level Index does not constitute financial advice. Individual results vary based on trade, geography, company size, and operational maturity. © 2026 Level. All rights reserved.
Every figure ships with its definition, sample size, and source. Free to cite with attribution to the Level Index. Download this dataset (JSON, free to cite)