The Level Index
Contractors2,242 contractors benchmarked.
Where do you rank?
Contractor benchmarks from Level's 2,242-contractor research universe, across HVAC, plumbing, electrical, mechanical, refrigeration, and fire protection. Each metric has its own eligible sample and definition.
Built across operating, private-equity, and CFO roles (financial reviews, operator interviews, and due diligence), layered with named public sources. All figures aggregated and anonymized; some are rounded. How we built the Level Index.
2,242
Contractors in research universe
44.3%
Median job margin, 1,747,089 jobs
9
Core operating metrics
19
Published benchmark metrics
Methodology and revision notesDefinitions, sample sizes, withdrawn claims, and the latest rerun dates
Every canonical Level metric resolves from contractor.json, the authority for canonical Level contractor metrics. Retained cuts, external references and fictional scenarios carry separate labels on each card.
About the Data
The contractor research universe contains 2,242 companies. Each measured finding has its own eligible sample and definition. Research records are distinct from Level client engagements.
Methodology
Measured distributions, historical source references and illustrative models are identified on each card. Samples differ, and observational differences do 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?
How much of what you bill actually reaches the bank?
Collection Rate (% of Billed Revenue Collected)
A collection-rate spread identifies a question. The invoice-level bridge determines whether the difference is timing, disputes, credits or loss. Do not call the entire difference recoverable cash.
Key Takeaway
Across 464 companies, the middle collection rate is 85.1%; the 90th percentile is 96.0%. In an example with $10M billed, that 10.9-point difference is $1.09M. Some invoices may not be due yet, disputed or uncollectible. The whole gap is not money you can necessarily recover or new profit.
Why This Matters
Separate not-yet-due invoices, retainage, disputes, credits, write-offs and payments crossing the reporting cutoff. Equal collection ratios can hide different risks and collection timing.
Check what was collected: match payments and credits to the invoices being measured. Use the same billing and payment dates, and check any cash not yet assigned to an invoice.
Size financing separately: an actual $1M balance carried for 90 days at 8% annual financing cost incurs about $19,726 (balance × rate × 90/365). $80K assumes that whole balance persists for a full year. Neither is the invoice face value in lost profit.
Evidence and calculation: Cash collected divided by billed revenue per company, n=464 eligible companies. Compare matching billing and payment windows. The benchmark measurement window is not published; low-percentile values may reflect cutoff effects. The aggregate does not split current A/R, retainage, disputes, write-offs or payments crossing cutoff; it is not a pure DSO or permanent-loss measure.
The completion date and first-invoice date measure billing lag, not payment speed.
Billing Speed (Days from Job Completion to Invoice)
The 7-day figure describes post-completion invoicers in this sample. Use the same dates and project scope before comparing your company; the 1-day raw median includes progress billers.
Key Takeaway
The overall middle value is 1 day and includes companies that bill before a job finishes. For companies billing after completion, it is 7 days. The older bottom-10% summary is 30 days, but its company count is not published. These groups differ, and the figures measure sending an invoice rather than receiving payment.
Why This Matters
In a fictional $50K balance financed for 30 days at 8% annually, the carrying cost is $329 (50,000 × 0.08 × 30/365). Earlier invoicing can move the start of payment terms, but acceptance, contract milestones and customer payment behavior still determine cash receipt.
Check the milestone: a negative interval means an invoice preceded the recorded completion date. It does not prove cash was collected or that the invoice was contractually due. Progress billing should follow the signed contract and approved work.
Separate the clocks: completion-to-invoice, invoice-to-acceptance and acceptance-to-payment. A billing delay and a disputed pay application call for different repairs.
Evidence and calculation: Days between job completion and first invoice. A negative interval means invoicing preceded the recorded completion. n=733 total eligible companies; the post-completion subset is not separately counted. The three bars are the canonical raw median, post-completion median and bottom decile, not three percentiles of one common population. Do not infer a typical service-shop median from the post-completion subset. This is invoice timing, not payment timing.
Of the hours your techs log on jobs, how many actually get billed?
Billing Capture Rate (% of Logged Hours Invoiced)
Billing capture compares hours invoiced with hours logged on jobs. Paid time also includes travel, training and administration. Review unbilled job hours separately from paid time spent away from jobs.
Key Takeaway
Across 963 companies, the middle value is 97.1% of job-logged hours invoiced; the 10th percentile is 66.9%. This compares billed hours with hours logged on jobs, rather than all paid time. Unbilled hours may include warranty or covered agreement work, so check the contract before counting lost revenue.
Why This Matters
Billing capture and paid-hour utilization answer different questions. A low capture ratio can reflect missed billing, warranty work, agreement-covered visits or parent invoices. Determine which applies before calling the gap lost revenue.
P75 is 100% of job-logged hours. Ratios above 100% require matching invoiced-hour units, job IDs, periods and logging completeness. A higher dollar price per hour alone cannot increase an hours ratio. This is billing capture, not the share of paid time that is productive.
Owner check: match logged and invoiced hours by job, invoice and cutoff. Classify warranty, agreement-covered, parent-billed, draft and legitimately unbillable rows before pricing a gap. Native report availability depends on the edition and configuration; a complete export can support the same test.
Evidence and calculation: Hours invoiced divided by hours logged on jobs, n=963 companies with at least 100 logged hours. Values above 100% require unit, period and job matching; their causes are not measured in this aggregate. Dollar billing premiums alone do not increase the invoiced-hours numerator. This is distinct from billable hours divided by all paid hours, and does not establish a measured paid-hour utilization benchmark.
An uninvoiced job is an exception to classify before calling it missed revenue.
Job Invoice Status (% of All Jobs)
Join status, logged work, invoice IDs, parent relationships and billing cutoff. Count eligible exceptions first; an unclassified row does not establish revenue loss.
Key Takeaway
The retained status split shows 46% fully invoiced, about 34% in-progress/internal/warranty and about 20% partial or unclassified. Status alone cannot tell which rows represent missed billing, parent invoices, maintenance visits or unfinished work.
Why This Matters
Payroll can be posted before an invoice is due, and a child job can be billed at its parent. The useful exception is completed, billable work with no matching invoice after the agreed cutoff. That requires a join, not a status count.
Population check: completed job, logged hours or costs, no matching invoice, not covered by an agreement, not warranty/internal and not billed at a parent project. Preserve draft and credit states rather than silently including them.
Price the proven exception: use the contract and approved scope, then track invoiced and collected amounts separately. No measured missed-invoice frequency or annual recovery amount is supplied here.
Evidence and calculation: Retained job-invoice status snapshot across 3.84M jobs; its contributing company count is unverified. Partial and other statuses are not proven missed revenue. Work-in-progress, warranty, agreement coverage, parent billing and reporting cutoff require separate classification.
Rate multiplied by billable hours is a staffing scenario, not measured revenue per technician.
Fictional annual billing inputs by role ($K)
A modeled revenue ladder can help compare assumptions. It cannot prove that promoting a technician creates a $205K increase or that every departure loses the full annual billing scenario.
Key Takeaway
The chart retains five fictional annual billing inputs by role: $55K, $65K, $100K, $145K and $350K. These are selected scenario amounts, not measured employee revenue. Separately, the retained role-rate research has mixed wage, cost and selling-rate definitions and cannot validate this ladder.
Why This Matters
Two employees can have equal paid hours and different customer-billed hours. Invoice scope, job type, collections and direct cost determine contribution. Multiplying a mixed rate-card field by assumed hours cannot certify a staffing return.
Build your own scenario: use a verified selling rate and actual customer-billed hours. For example, an assumed verified selling rate of $76/hour × 1,900 billed hours gives a fictional $144,400 billed labor revenue, before separately billed parts and direct costs.
Price a vacancy explicitly: recruiting, onboarding, ramp time, overtime coverage and foregone contribution. The retained $4,500-$12,000 and 8-12 week ranges are planning assumptions, not measured replacement outcomes. Use your own invoices and staffing history.
Evidence and calculation: Fictional annual billing inputs selected for sensitivity analysis, not computed from measured role rates or a common hours assumption. The separate 18,000+ role-record research mixes price, wage and cost fields. Use verified customer selling rates and actual billed hours to replace each input. All five amounts and replacement-cost ranges are planning assumptions, not measured employee-revenue percentiles or client results.
Separation events, worker tenure and a vacant technician seat are different measures.
Historical constant-hazard scenario using January 2024 tenure inputs
The historical scenario uses tenure inputs (years): management 5.7, architecture/engineering 4.9, construction/extraction 4.1, installation/maintenance/repair 3.9, office/admin 3.6 and transport/material moving 3.2, rounded to one decimal percent under the stated formula. It is not a BLS per-role turnover benchmark, a proven floor or a reliable ranking of contractor retention risk.
Key Takeaway
Construction separation events and worker tenure have different denominators. The chart is a historical constant-hazard scenario using January 2024 occupation tenure medians, not measured turnover by role. BLS published newer tenure data on September 24, 2026.
Why This Matters
National separation counts cannot price your vacancy. Match your own departure date, weeks without coverage, overtime and foregone contribution. Multiple events can involve the same person, and hires cannot be matched to replacements from sector totals alone.
Read the model as a model: r = 1 - 0.5^(1/T), where T is a historical median-tenure input. For fictional constant separation risk and T=4.1 years, r is 15.6%. The source measures current-worker tenure, not cohort survival, so this is not an empirical estimate or lower bound for actual turnover.
Keep occupation and industry distinct: the historical tenure inputs cover occupations across industries. They do not isolate service technicians at construction firms or prove that a back-office seat turns over faster.
Use current local records: calculate separations per average staffed seat, vacancy weeks and replacement cost by role. The historical ladder can illustrate sensitivity to assumptions; it cannot replace those observations.
Evidence and calculation: 2025 construction JOLTS separation events are distinct from unique workers and cannot establish that every hire replaced a departure. Historical tenure inputs come from archived BLS January 2024 table 6. The chart applies r = 1 - 0.5^(1/T) under an assumed constant hazard. Current-worker tenure is not completed employment duration or observed cohort survival. No direction of bias, lower bound or turnover ranking is established. These occupation inputs cover all industries. The newer January 2026 release is available in the linked release; the retained scenario is explicitly historical. No Level employee-termination cohort is supplied.
Agreement gross margin varies widely. Which costs are attached to yours?
Service Agreement Gross Margin
The useful question is whether each agreement recovers its covered direct cost. A percentile is context for that investigation, not proof that a price rise will produce the same margin.
Key Takeaway
Across 259 companies, the middle service-agreement gross margin is 37.9%. The 10th percentile is -30.4% and the 90th is 70.3%. The research mixes trades and customer types, so it does not show what one price change would do in your market.
Why This Matters
An agreement can cover preventive visits while generating separately billed repairs. Keep agreement revenue, covered work and follow-on jobs distinct, and reconcile direct costs before deciding whether to reprice, change scope or stop selling it.
Diagnose before repricing: check visit frequency, included parts, warranty work, subcontractors and payroll allocated to the agreement. A missing labor assignment can make an expensive agreement look profitable.
Test the explanation: compare equivalent equipment and covered scope. Pricing, customer mix and cost allocation are candidate explanations for a margin spread; the aggregate does not isolate their effects.
Evidence and calculation: Service-agreement revenue minus direct labor and parts, divided by agreement revenue; 259 companies with at least $10K in agreement revenue. Residential and commercial agreements are mixed. This distribution does not establish a causal explanation for their differences or a measured residential-only comparison.
Check what a labor rate includes before comparing prices.
Rate-Card Field by Company ($/hr; mixed price, cost and wage)
Verify what a rate means before treating its percentile as a price target. A $30 increase applied to paid hours instead of customer-billed hours overstates the revenue effect.
Key Takeaway
Across 1,770 companies, the middle recorded rate is $79/hour; the 75th percentile is $116 and the 90th is $148. Some entries are customer prices, others wages or employer costs. Because these are mixed, the figures cannot tell you what to charge.
Why This Matters
For a fictional 10 technicians with 2,000 customer-billed hours each, a $30/hour increase adds $600K billed revenue only if hours and acceptance stay unchanged. Paid hours, logged hours and billable hours are different inputs. Collections and incremental costs determine the cash and profit effect.
Identify the field: trace a technician rate through a completed job, its invoice and payroll. Confirm whether it is a wage, loaded cost, selling rate or estimate default. Do this before comparing companies or states.
Price a comparable scope: calculate required cost recovery, then test quote acceptance and contribution for the same job type. A distribution containing different field definitions cannot prove that your company is undercharging.
Evidence and calculation: Rate-card records across 1,770 companies in contractor benchmark research. Mixed customer-price, loaded-cost and wage definitions limit absolute pricing comparisons. Labor-only rates exclude separately billed materials and trip charges. Geographic medians do not isolate cost of living, service mix or price elasticity.
The median job lands on its labor-hour budget. The mean per-job hours ratio is 19% over.
Labor Hours: Actual as % of Budgeted (100% = on budget)
Median actual-to-budgeted labor hours is 99.4%, right on budget. The mean is 119%. The gap between those two numbers is the finding: 40% of jobs exceed their hour budget and 18.3% exceed 150% of it, so a healthy-looking median sits on top of a group of overrunning jobs that can reduce profit after wages and employer costs.
Key Takeaway
Actual labor hours as a share of budgeted hours, across 315,393 jobs: median 99.4%, essentially on budget. But the mean is 119%, and 40% of jobs exceed their hour budget, with 18.3% blowing past 150% of it. P25 is 70.1% and P75 is 131.1%.
Why This Matters
Hours above budget can reduce contribution, but only actual wage, overtime and burden determine the dollar cost. Review the long tail separately: scope changes, data cutoffs and missing estimate hours can resemble execution failure.
Keep hours and dollars separate: a 150% hours ratio does not mean a 50% total-cost overrun. Material prices, labor mix and approved change orders require their own bridge.
Review under-runs too: confirm whether budgeted scope was completed, actual time was posted and labor was assigned to the correct job. An under-run is not proof that crews were idle or the bid was padded.
Check exact matches first: count records at exactly 100% and inspect whether budget hours were copied into actuals or force-matched at close. Then find the repeatable exception: group comparable jobs and inspect estimate version, change orders, labor posting dates and close status. The distribution identifies a tail to investigate; it does not isolate a cause.
Evidence and calculation: Actual labor hours divided by budgeted labor hours for each job. 100% means on budget; above 100% means over. Measured across 315,393 jobs from 1,391 companies in Level's proprietary contractor benchmark research. Only jobs with both budgeted and actual hours are included. Jobs without a labor-hour budget are excluded rather than treated as on target. This is the mean or median of per-job hour ratios, not total actual hours divided by total budget hours. Small budgets can magnify individual ratios. This measures hours, not dollars: labor cost variance answers a different question and should not be quoted as the same metric.
Short service calls dominate job count. Confirm cost completeness before comparing their margins.
Job Count by Logged Hours (displayed buckets)
Under-four-hour jobs account for about half of this job count. Their profitability depends on assigning both revenue and direct cost to the same work; no reliable revenue-concentration claim is drawn from the affected denominator.
Key Takeaway
In the retained hours-based cut, 767,554 jobs under 4 logged hours are about 51% of the job count and jobs under 24 hours about 93%. Revenue shares are withheld here because the denominator was affected by an implausible record in a larger-hours bucket. Logged hours are not elapsed project duration.
Why This Matters
Payroll and supplier costs can exist in the ledger without a job assignment. Test cost completeness by job size before declaring small jobs more or less profitable; missing cost is not zero cost.
The separate margin distribution covers 1,747,089 completed jobs at 1,791 companies with job-level cost, with a 44.3% median. It does not prove that every uncosted small job is profitable or loss-making.
Owner check: reconcile completed-job count, jobs with cost, unassigned payroll/AP and invoice revenue under the same cutoff. Investigate zero-cost rows and duplicate parent/child revenue before summing losses.
One implausibly large revenue record materially affects the 80-200 logged-hour group. Before quoting its share of revenue, show how including or excluding that record changes the total. The job-count chart measures something different.
Evidence and calculation: Jobs grouped by logged hours. The chart retains the job-count shares for the displayed buckets; the 80-200 hour bucket is not displayed, so the bars do not sum to 100%. Revenue shares are withheld because an implausible record changes the revenue denominator. Reconcile labor, materials and subcontractor cost to each job before comparing margin.
You win most decided quotes. But are they the right ones?
Quote Conversion Rate (% of decided quotes won; excludes pending)
A pending quote omitted from the denominator can make the win rate look better without improving sales. Keep decided and all-issued conversion next to each other, then join wins to job contribution.
Key Takeaway
Median: 73.9% of decided quotes convert; P75 is 83.2% and P10 is 47.1%. At P10, most decided quotes were lost by count. This does not measure estimating hours, quote value or pending opportunities.
Why This Matters
A high win rate can coexist with poor contribution. Match accepted quotes to completed-job costs and cash receipt. Also retain pending, cancelled and draft counts so status updates do not improve the reported win rate without new sales.
Keep two win rates: won / (won + lost) counts only decided quotes. A rate based on all quotes also counts those still awaiting a decision. Their middle values here are 73.9% and 38.1%. Both can be correct because they count different groups.
Test a follow-up change: freeze the sent cohort, record quote age and customer decision, and compare contribution as well as wins. The aggregate does not prove that a seven-day cadence causes a specific conversion lift.
Evidence and calculation: Won / (won + lost), n=794 companies with at least 20 decided quotes. Pending, draft and cancelled records are excluded. This is a company-level distribution, not a quote-weighted win rate or a causal follow-up experiment.
Compare additional agreement-customer revenue with the agreement fees, then test its margin.
Annual Pull-Through: Additional Revenue as % of Agreement Revenue
Keep the agreement ID, customer ID and follow-on job ID. Separate work identified during maintenance from a large unrelated project booked to the same customer. The association alone does not prove the visit generated the sale.
Key Takeaway
Annual pull-through is additional non-agreement revenue from agreement customers divided by annual agreement revenue, n=386. Median 8.7%, P75 29.6% and P90 93.4% describe that ratio. They do not establish lifetime value, customer retention or visit-conversion rates.
Why This Matters
At a fictional $500K agreement base, 8.7% and 29.6% imply $43,500 and $148,000 of additional revenue, a $104,500 difference. Additional labor, parts, capacity and contract terms determine contribution; do not treat the revenue difference as automatic profit or recovery.
Separate relationship revenue from visit-generated work: preserve the customer, agreement and follow-on job IDs, plus the recorded origin of the opportunity. A large project for an agreement customer can lift this ratio without any maintenance-visit sale.
Use contribution as the next test: approved scope, direct payroll, materials, subcontractors and capacity. P75 is a comparison point, not a proven attainable target for every trade or company.
Evidence and calculation: Additional annual non-agreement revenue from agreement customers divided by annual agreement revenue, n=386 companies. The Top 10% asterisk marks the P90 result, which can include large relationship-driven projects. This aggregate does not measure lifetime value, retention or the fraction of maintenance visits generating a sale.
Does your agreement base lead to profitable follow-on work?
Legacy trade cut: additional revenue / agreement revenue (classification unverified)
The operator opportunity is to trace where profitable follow-on work originates. A lower trade-level ratio does not prove weaker technicians, less follow-up or an easier growth opportunity.
Key Takeaway
An older 240-company comparison reports mechanical 45.9%, HVAC 29.7%, electrical 18.3% and plumbing 5.5%. We have not confirmed the trade labels or whether these were averages or medians, and this comparison is absent from contractor.json. It compares extra revenue from agreement customers with agreement revenue, rather than maintenance visits. Do not compare it directly with the separate 8.7% company median.
Why This Matters
A large equipment project can increase this ratio more than many small repairs. Before investing in technician sales training, check whether the difference comes from equipment mix, customer identity, opportunity origin or follow-up execution.
Keep the trade population: mechanical n=45, HVAC n=112, electrical n=45 and plumbing n=38. These 240 companies are a subset, distinct from the 386-company overall distribution.
Measure the intervention: flag opportunities identified during a maintenance visit, quotes approved, completed-job contribution and actual collection. Do not substitute this revenue ratio for visit conversion or claim a measured training lift.
Evidence and calculation: Legacy 240-company trade cut, not a canonical contractor.json metric. Trade classification and extraction are not reproduced here. Additional non-agreement customer revenue / agreement revenue. Customer and equipment mix are not controlled. No revenue-per-call, training-effect or agreement-attach-rate outcome is established by this chart.
Account-level customer concentration is a diligence question, not a universal lender cutoff.
% of Total Revenue from Single Largest Customer
Revenue concentration and job-count diversification measure different exposures. Bring the largest-customer contract, contribution and payment history to diligence; no fixed exit-price adjustment is established by this distribution.
Key Takeaway
Median: 31% from one customer. P90: 82.4%. The measured distribution does not identify customer type. One GC, property manager or other payer can cover many properties; check account-level identity before treating jobs as independent customers.
Why This Matters
A buyer or lender may evaluate loss of the largest account, contract transferability, payer identity and replacement contribution. Concentration alone does not determine a fixed EBITDA discount, acquisition-loan refusal or a universal 25% SBA threshold.
Owner check: group jobs by the actual decision-maker and legal payer. Fifty properties controlled by one management company may be one economic exposure even when the job list looks diversified.
Downside scenario: remove that account's contribution, retain fixed costs that will not disappear, and model cash receipts during replacement. Use the proposed loan terms or buyer agreement for actual underwriting thresholds.
Evidence and calculation: Revenue from largest customer divided by total company revenue, n=959 eligible companies. Account-level identity can group many properties under one payer. The measured distribution describes exposure, not a measured valuation discount or SBA approval rule.
Historical permits and workforce forecasts are context. Your backlog needs its own demand test.
Retained 2024 Permit-Change References (exact series unverified)
Join your accepted quotes, crew capacity, expected starts and payment terms. Keep the historical market context, but make staffing and pricing decisions from a pipeline whose status and cash requirements you can verify.
Key Takeaway
The chart keeps the older 2024 permit-change figures. We have not rechecked the exact state and building-type tables, so use these as historical context. Census published final 2025 annual permits in May 2026.
Why This Matters
A permit is an authorization for residential construction, not your signed contract or a booked service call. Commercial retrofit, maintenance and new construction have different demand drivers. Match your backlog to the sector and geography your crews actually serve.
Use a matched indicator: permit type and geography for new residential work; awarded projects and owner capital plans for commercial installation; installed equipment and renewal behavior for maintenance. A national headline does not determine your local win rate.
Separate forecast from observation: ABC's January 2026 model projected 349,000 net new workers needed in 2026. That is a spending-and-retirement model, not a count of current unfilled jobs. See the linked ABC forecast for its method.
Evidence and calculation: Historical 2024 permit-change references retained for context; the exact original state and structure-type series remain unverified in this review. They are not used as a current 2026 outlook. Updated annual permit tables are linked below. ABC's 349,000 figure is a January 2026 model projection of net new workforce demand, not observed vacancies.
Want to compare your numbers with this research?
Start with a free 15-minute call to agree which records to review. After you share them, we compare matching metrics with the published samples and explain where the definitions differ.
Get the full report: The Level Index 2026
The benchmark report includes percentile tables, state references and technician scenarios. Compare distributions and check the source and scope beside each figure. Free PDF.
Based on operations data from 2,200+ contractor companies and private-equity due diligence, layered with named public sources. This research universe is distinct from Level client engagements; 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 where eligible companies sit in each metric distribution. 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 relevant Level 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
ContractorsMargin drivers differ by service type; each linked page states its own evidence. These benchmarks are from HVAC, plumbing, electrical, mechanical, refrigeration and fire protection research. Linked pages add separately labeled references and planning examples for job types and other trades.
Service Calls
Matched scope, revenue and direct-cost check
Maintenance Contracts
SA metric: median 37.9%, P75 53.5%; n=259
Service Agreements
SA metric: median 37.9%, P75 53.5%; n=259
Time & Materials
Selling-rate and cost-recovery example
Install Projects
Estimate-to-actual and change-order check
Commercial Projects
WIP, retainage and contract-billing check
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
Rate-card fields differ by state and can mix customer prices, wages and loaded cost. Select a state to inspect its definition before comparing a rate.
Benchmarks for other service businesses
Frequently Asked Questions
How many contractors does the Level Index cover?
The Level Index research universe covers 2,242 contractors. Each metric uses its own eligible subset. The analyzed work spans HVAC, plumbing, electrical, mechanical, refrigeration, and fire protection, with published research used as a named external reference where applicable.
What is the median gross margin for a service agreement?
Service-agreement gross margin has a 37.9% median and 53.5% P75 across 259 eligible companies. Below 25% calls for a cost and scope review. Pricing, covered work, cost allocation and customer mix are candidate explanations; this distribution does not identify which.
What is a good collection rate for a contractor?
Median collection rate in the Level Index is 85.1%. P75 is 92.7% and P90 96.0%; they are comparison points, not a universal target. With n=464 eligible companies, the ratio is cash collected divided by billed revenue. A fictional 10 point difference on $5M billings equals $500K not converted to cash in that comparison. It is not automatically a point-in-time A/R balance, permanent loss or collectible recovery. Reconcile invoice aging, credits and payment cutoff separately.
How fast should a contractor invoice after a job?
The raw median is 1 day including progress billers. Among post-completion invoicers, the median is 7 days; the bottom decile is 30 days. Later invoicing can delay the start of payment terms. Test collection effects with your own aging and contract milestones.
What quote conversion rate should a contractor aim for?
The Level Index median is 73.9% on decided quotes. The top-decile boundary is 90.0% and the top-quartile boundary 83.2% of decided quotes; the all-issued median is 38.1%. The sample is 794 companies with at least 20 decided quotes. A status-time distribution does not prove that a particular follow-up cadence causes conversion; test your own sent, pending and decided populations separately.
How much does pull-through revenue actually add?
Median pull-through is 8.7% of SA revenue. P75 is 29.6%. On a fictional $5M agreement base, that is $435K versus $1.48M of additional repair, replacement and project revenue from agreement customers, before direct costs. The aggregate does not establish a follow-on margin premium.
Operating review
Questions before treating profit as cash
The margin, cash, and operating questions we check first when reviewing your numbers.
What completed work has not yet become an invoice?
Completion, billing and collection are separate events. A profitable job can still be waiting for a billing handoff.
Which invoices explain the next cash shortfall?
Total receivables can conceal a few large balances that matter more than many small invoices.
Does the cash forecast include the next payroll funding event?
A completed or approved payroll run does not establish the date and net amount that will leave the bank.
Simple pricing
Three tiers, one ladder.
$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.
No commitment. Real numbers, not generic advice.
Disclaimer
The Level Index combines the founding team's contractor research across operating, private-equity and CFO roles with separately named public sources. Research records are distinct from Level client engagements; metrics labeled engagement observations retain that narrower attribution. Each metric has its own eligible sample and definition. Figures are aggregated; some are rounded. Charts separately label legacy cuts, external observations and fictional scenarios. No confidential company or client record 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.
Raw data, free to cite
The Level Index dataset
Every figure ships with its definition, sample size, and source. Free to cite with attribution to the Level Index.