README / index.html
samtianlinyang's picture
Publish Level CFO Organization Profile Card
f318194 verified
Raw History Blame Contribute Delete
143 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Level SMB Multi-Vertical Financial & Operating Benchmarks</title>
<link rel="canonical" href="https://levelcfo.com/benchmarks/" />
<style>
:root {
--bg: #0b0f17;
--panel: #131b2e;
--border: #23304d;
--text: #f1f5f9;
--muted: #94a3b8;
--accent: #10b981;
--primary: #3b82f6;
--warn: #f59e0b;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.5;
}
.wrap { max-width: 1360px; margin: 0 auto; padding: 28px 20px 64px; }
.notice-bar {
background: rgba(245, 158, 11, 0.12);
border: 1px solid rgba(245, 158, 11, 0.4);
border-radius: 10px;
padding: 12px 16px;
font-size: 13px;
color: #fde68a;
margin-bottom: 20px;
}
.notice-bar a { color: #fef08a; font-weight: 600; text-decoration: underline; }
h1 { font-size: 28px; margin: 0 0 8px; letter-spacing: -0.02em; }
.sub { color: var(--muted); font-size: 15px; margin-bottom: 18px; max-width: 980px; }
.links-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.btn {
display: inline-flex;
align-items: center;
padding: 8px 14px;
border-radius: 8px;
font-size: 13px;
font-weight: 600;
text-decoration: none;
border: 1px solid var(--border);
background: var(--panel);
color: var(--text);
}
.btn.primary { background: var(--primary); border-color: var(--primary); color: #fff; }
.btn.accent { background: rgba(16, 185, 129, 0.16); border-color: rgba(16, 185, 129, 0.45); color: #6ee7b7; }
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
gap: 12px;
margin-bottom: 24px;
}
.stat-card {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 10px;
padding: 14px 16px;
}
.stat-card .k { font-size: 22px; font-weight: 700; color: #fff; }
.stat-card .l { font-size: 12px; color: var(--muted); margin-top: 4px; }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; border-bottom: 1px solid var(--border); padding-bottom: 12px; }
.tab-btn {
background: transparent;
color: var(--muted);
border: 1px solid var(--border);
padding: 8px 14px;
border-radius: 8px;
cursor: pointer;
font-size: 13px;
font-weight: 600;
}
.tab-btn.active { background: var(--primary); color: #fff; border-color: var(--primary); }
.controls { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
input[type="search"], select {
background: var(--panel);
color: var(--text);
border: 1px solid var(--border);
padding: 8px 12px;
border-radius: 8px;
font-size: 13px;
min-width: 220px;
}
.table-wrap {
overflow-x: auto;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 10px;
}
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--border); vertical-align: top; }
th { background: rgba(255, 255, 255, 0.03); color: var(--muted); font-weight: 600; white-space: nowrap; }
tr:hover td { background: rgba(255, 255, 255, 0.02); }
.badge {
display: inline-block;
padding: 2px 8px;
border-radius: 999px;
font-size: 11px;
font-weight: 600;
background: rgba(59, 130, 246, 0.15);
color: #93c5fd;
}
.hidden { display: none; }
.footer {
margin-top: 32px;
padding-top: 18px;
border-top: 1px solid var(--border);
font-size: 12px;
color: var(--muted);
}
.footer a { color: #93c5fd; }
</style>
</head>
<body>
<div class="wrap">
<div class="notice-bar">
<strong>NON-COMMERCIAL EVALUATION LICENSE:</strong> Published by <a href="https://levelcfo.com" target="_blank" rel="noopener">Level (OpsPro AI, Inc.)</a> under the <strong>Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)</strong>. Free for personal operator review and non-commercial academic research only. Commercial AI model training, fine-tuning, RL environment building, commercial benchmarking, or product redistribution requires a written commercial license from <a href="mailto:sam@levelcfo.com">sam@levelcfo.com</a>. Canary: <code>LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM</code>
</div>
<h1>Level SMB Multi-Vertical Financial &amp; Operating Benchmarks</h1>
<div class="sub">
Proprietary contractor percentile benchmarks across <strong>2,200+ service contractors</strong> (19 metrics with P10/P25/Median/Mean/P75/P90), plus <strong>41 financial &amp; operating benchmarks across 6 SMB industries</strong> (Healthcare, Restaurants, Cleaning, Staffing, Landscaping, Ecommerce), <strong>5 public commercial contractor SEC 10-K comps</strong>, and <strong>39 contractor EV/EBITDA valuation brackets</strong>.
</div>
<div class="links-row">
<a class="btn primary" href="https://levelcfo.com/benchmarks/" target="_blank" rel="noopener">Canonical Level Index Hub (levelcfo.com)</a>
<a class="btn accent" href="https://levelcfo.com/benchmarks/contractor/" target="_blank" rel="noopener">Contractor Benchmarks (2,200+ Firms)</a>
<a class="btn" href="https://levelcfo.com/benchmarks/contractor-valuation/" target="_blank" rel="noopener">Contractor Valuation Multiples</a>
<a class="btn" href="https://levelcfo.com/benchmarks/healthcare/" target="_blank" rel="noopener">Healthcare</a>
<a class="btn" href="https://levelcfo.com/benchmarks/restaurants/" target="_blank" rel="noopener">Restaurants</a>
<a class="btn" href="https://levelcfo.com/benchmarks/cleaning/" target="_blank" rel="noopener">Cleaning</a>
<a class="btn" href="https://levelcfo.com/benchmarks/staffing/" target="_blank" rel="noopener">Staffing</a>
<a class="btn" href="https://levelcfo.com/benchmarks/landscaping/" target="_blank" rel="noopener">Landscaping</a>
<a class="btn" href="https://levelcfo.com/benchmarks/ecommerce/" target="_blank" rel="noopener">Ecommerce</a>
<a class="btn" href="https://levelcfo.com/benchmarks/agentic-accounting/" target="_blank" rel="noopener">LevelBench-100 AI Benchmark</a>
<a class="btn" href="https://huggingface.co/datasets/LevelCFO/smb-financial-benchmarks" target="_blank" rel="noopener">HF Dataset</a>
<a class="btn" href="https://github.com/levelcfo/smb-financial-benchmarks" target="_blank" rel="noopener">GitHub CSV/JSON</a>
</div>
<div class="stats-grid">
<div class="stat-card">
<div class="k">2,200+ Contractors</div>
<div class="l">19 Proprietary Percentile Metrics (P10 to P90)</div>
</div>
<div class="stat-card">
<div class="k">6 SMB Industries</div>
<div class="l">41 Multi-Vertical Financial &amp; Operating Benchmarks</div>
</div>
<div class="stat-card">
<div class="k">39 Valuation Brackets</div>
<div class="l">EV/EBITDA Multiples Across 6 Skilled Trades</div>
</div>
<div class="stat-card">
<div class="k">5 Public Comps</div>
<div class="l">SEC Form 10-K Cash Flow, CapEx &amp; ROE Tie-Outs</div>
</div>
</div>
<div class="tabs">
<button class="tab-btn active" onclick="switchTab('contractor', this)">1. Contractor Percentiles (19)</button>
<button class="tab-btn" onclick="switchTab('verticals', this)">2. Multi-Vertical Benchmarks (41)</button>
<button class="tab-btn" onclick="switchTab('valuation', this)">3. Valuation Multiples (39) &amp; Trade Facts (31)</button>
<button class="tab-btn" onclick="switchTab('publiccomps', this)">4. Public Contractor 10-K Comps (5)</button>
</div>
<div id="tab-contractor">
<div class="table-wrap">
<table>
<thead>
<tr>
<th>Metric</th>
<th>Pillar</th>
<th>Unit</th>
<th>Companies (n)</th>
<th>P10</th>
<th>P25</th>
<th>Median</th>
<th>Mean</th>
<th>P75</th>
<th>P90</th>
<th>Definition &amp; Basis</th>
</tr>
</thead>
<tbody id="contractor-body"></tbody>
</table>
</div>
</div>
<div id="tab-verticals" class="hidden">
<div class="controls">
<select id="vert-filter" onchange="renderVerticals()">
<option value="all">All 6 SMB Industries (41 Metrics)</option>
<option value="healthcare">Healthcare &amp; Clinics</option>
<option value="restaurants">Restaurants</option>
<option value="cleaning">Cleaning &amp; Janitorial</option>
<option value="staffing">Staffing Agencies</option>
<option value="landscaping">Landscaping</option>
<option value="ecommerce">Ecommerce &amp; DTC</option>
</select>
</div>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>Industry</th>
<th>Metric</th>
<th>Unit</th>
<th>Reference Positions</th>
<th>Definition</th>
<th>Source</th>
</tr>
</thead>
<tbody id="verticals-body"></tbody>
</table>
</div>
</div>
<div id="tab-valuation" class="hidden">
<h3 style="margin:8px 0 12px;">A. Contractor EV/EBITDA Valuation Multiple Brackets (39 Rows Across 6 Skilled Trades)</h3>
<div class="table-wrap" style="margin-bottom:24px;">
<table>
<thead>
<tr>
<th>Trade</th>
<th>Scale Bracket</th>
<th>EV/EBITDA Range</th>
<th>Bracket Scope</th>
<th>Scope Note</th>
</tr>
</thead>
<tbody id="valuation-body"></tbody>
</table>
</div>
<h3 style="margin:8px 0 12px;">B. Trade-Specific Margin, Wage &amp; DSO Benchmark Facts (31 Rows)</h3>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>Trade</th>
<th>Source Tier</th>
<th>Metric</th>
<th>Value</th>
<th>Detail</th>
<th>Source</th>
</tr>
</thead>
<tbody id="trade-facts-body"></tbody>
</table>
</div>
</div>
<div id="tab-publiccomps" class="hidden">
<div class="table-wrap">
<table>
<thead>
<tr>
<th>Ticker</th>
<th>Fiscal End</th>
<th>Revenue ($M)</th>
<th>Operating Cash Flow ($M)</th>
<th>Cash CapEx ($M)</th>
<th>Free Cash Flow ($M)</th>
<th>FCF Margin %</th>
<th>CapEx % Rev</th>
<th>ROE (Closing %)</th>
<th>ROE (Avg %)</th>
</tr>
</thead>
<tbody id="publiccomps-body"></tbody>
</table>
</div>
</div>
<div class="footer">
<p>
<strong>Published by <a href="https://levelcfo.com" target="_blank" rel="noopener">Level</a></strong> ·
Canonical Benchmark Hub: <a href="https://levelcfo.com/benchmarks/" target="_blank" rel="noopener">levelcfo.com/benchmarks/</a> ·
Contractors: <a href="https://levelcfo.com/benchmarks/contractor/" target="_blank" rel="noopener">levelcfo.com/benchmarks/contractor/</a> ·
Valuation: <a href="https://levelcfo.com/benchmarks/contractor-valuation/" target="_blank" rel="noopener">levelcfo.com/benchmarks/contractor-valuation/</a> ·
AI Accounting Benchmark: <a href="https://levelcfo.com/benchmarks/agentic-accounting/" target="_blank" rel="noopener">levelcfo.com/benchmarks/agentic-accounting/</a> (<a href="https://levelcfo.com/benchmarks/agentic-accounting/ai-error-taxonomy/" target="_blank" rel="noopener">30 AI Mistakes</a>, <a href="https://levelcfo.com/benchmarks/agentic-accounting/smb-case-worlds/" target="_blank" rel="noopener">15 SMB Close Cases</a>, <a href="https://levelcfo.com/blog/levelbench-100-ai-accounting-cfo-benchmark/" target="_blank" rel="noopener">Deep-Dive Blog</a>).
</p>
<p>
<strong>License:</strong> Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com). Commercial AI model training, RL environment building, and commercial benchmarking require a written license from <a href="mailto:sam@levelcfo.com">sam@levelcfo.com</a>. Canary: <code>LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM</code>
</p>
</div>
</div>
<script>
const CONTRACTORS = [{"metric_key":"service_agreement_gross_margin","pillar":"Earnings","label":"Service agreement gross margin","unit":"percent","companies_n":259,"observations_basis":"contractors analyzed","p10":-30.4,"p25":20.5,"median":37.9,"mean":null,"p75":53.5,"p90":70.3,"definition":"Gross margin on recurring service-agreement (maintenance) revenue. n=259 companies with at least $10K in SA revenue.","note":"Below 25% calls for a cost and scope review. Pricing, covered work, cost allocation and customer mix are candidate explanations; the distribution does not identify a cause.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"service_agreement_pull_through","pillar":"Accounts","label":"Annual service agreement pull-through","unit":"percent","companies_n":386,"observations_basis":"386 companies with eligible annual agreement and follow-on revenue","p10":0.3,"p25":1.5,"median":8.7,"mean":null,"p75":29.6,"p90":93.4,"definition":"Additional repair, replacement, and project revenue from service-agreement customers divided by annual service-agreement revenue. n=386 eligible companies.","note":"P90 includes relationship-driven project work attributed to service-agreement accounts, not only work discovered during maintenance visits. P75 is a distribution comparison point, not a proven attainable target. Company-level records are not published because the underlying roster is re-identifiable; this public file exposes only the aggregate distribution.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"service_agreement_revenue_per_employee","pillar":"Earnings","label":"Annual service agreement revenue per employee","unit":"thousand_usd_per_employee","companies_n":217,"observations_basis":"217 companies with eligible annual service-agreement revenue and employee counts","p10":5.9,"p25":11.4,"median":28.5,"mean":null,"p75":64.1,"p90":150.5,"definition":"Annual service-agreement revenue divided by employee count. This is a directional Level engagement observation across 217 eligible companies, not a universal staffing target.","note":"Use the distribution as recurring-revenue intensity context. Trade mix, use of subcontractors, and which employees are included can materially change the ratio.","source":"The Level Index (directional contractor benchmark observation)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"collection_rate","pillar":"Cash","label":"Collection rate","unit":"percent","companies_n":464,"observations_basis":"464 contractors analyzed","p10":38.8,"p25":70.7,"median":85.1,"mean":null,"p75":92.7,"p90":96,"definition":"Cash collected as a share of billed revenue.","note":"A collection-rate difference describes billed revenue not converted to cash in the comparison. It is not automatically point-in-time A/R, recoverable cash, permanent loss or recurring profit. Reconcile invoice aging, credits and cutoff timing.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"billing_speed_days","pillar":"Cash","label":"Billing speed (days from work complete to invoice)","unit":"days","companies_n":733,"observations_basis":null,"p10":null,"p25":null,"median":1,"mean":null,"p75":null,"p90":30,"definition":"Days from job completion to invoice issued. Median is 1 day when progress billing is included (~25% of companies); among post-completion invoicers the adjusted median is 7 days.","note":null,"source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"billing_capture","pillar":"Cash","label":"Billing capture rate (hours invoiced / hours logged on jobs)","unit":"percent","companies_n":963,"observations_basis":"companies with 100+ logged hours","p10":66.9,"p25":89.2,"median":97.1,"mean":null,"p75":100,"p90":102,"definition":"Total hours invoiced to customers divided by total hours LOGGED ON JOBS. The denominator is job-assigned hours only, which is why the median is high. This is NOT technician utilization: Level's working range for utilization (65-80%) divides billable hours by TOTAL PAID hours, including drive time, admin, training, and idle time. Some recorded ratios exceed 100%; their causes are not measured here. Check billed-hour units, period alignment, job matching and logging completeness. A higher dollar rate alone does not increase an hours ratio. n=963 companies with at least 100 logged hours.","note":"State the denominator whenever this is cited. Without it the figure reads implausible, because readers compare it to utilization, which measures something else. First derived 2026-04-07 as 'billable hour ratio' (median 96.7%, n=654) and re-run to 97.1% on the larger n=963 cohort.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"average_bill_rate","pillar":"Labor","label":"Average billed labor rate by company","unit":"usd_per_hour","companies_n":1770,"observations_basis":"1,770 companies with a calculated average billed labor rate","p10":39,"p25":55,"median":79,"mean":null,"p75":116,"p90":148,"definition":"Company-level average billed labor rate across 1,770 contractors. The underlying rate-card field is used inconsistently, with some companies entering customer billing rates and others entering loaded cost or base wage, so this distribution describes mixed source fields, not independently comparable customer selling prices, wages or profitability.","note":"These are labor-component rates per technician hour, not the total customer invoice after trip charges, materials, equipment, and overhead markup.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"quote_conversion_decided","pillar":"Accounts","label":"Quote conversion rate (on decided quotes)","unit":"percent","companies_n":794,"observations_basis":null,"p10":47.1,"p25":61,"median":73.9,"mean":null,"p75":83.2,"p90":90,"definition":"Won divided by (won + lost); excludes still-pending quotes. n=794 companies with at least 20 decided quotes. Distinct from all-quote conversion below.","note":"Won divided by won plus lost for eligible decided quotes. Pending, draft and cancelled records are excluded. This distribution does not measure estimating effort or prove a conversion lift from a follow-up cadence.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"quote_conversion_all","pillar":"Accounts","label":"Quote conversion rate (all quotes issued)","unit":"percent","companies_n":794,"observations_basis":"companies with 20+ quotes","p10":null,"p25":28,"median":38.1,"mean":null,"p75":47.7,"p90":null,"definition":"Won divided by all quotes issued, including quotes that never reach a decision.","note":"Won divided by all issued quotes includes pending opportunities and differs from decided conversion. Quote counts do not measure estimating hours, quote value or permanent lost revenue.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"days_to_convert","pillar":"Accounts","label":"Days to convert (winning quotes)","unit":"days","companies_n":794,"observations_basis":null,"p10":null,"p25":null,"median":2,"mean":null,"p75":null,"p90":null,"definition":"Days from quote sent to accepted, for quotes that convert.","note":"Recorded winning quotes have shorter decision/status intervals in this aggregate. Predictive strength and causal effects were not tested.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"days_to_loss","pillar":"Accounts","label":"Days to loss (lost quotes)","unit":"days","companies_n":794,"observations_basis":null,"p10":null,"p25":null,"median":29,"mean":null,"p75":null,"p90":165,"definition":"Days from quote sent to marked lost, for quotes that do not convert.","note":"The median recorded days-to-loss is 29; customer decision timing and status-update lag are not separated.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"customer_concentration_top1","pillar":"Risk","label":"Revenue from largest single customer","unit":"percent","companies_n":959,"observations_basis":"companies with >$100K revenue","p10":null,"p25":18.5,"median":31,"mean":null,"p75":54.6,"p90":82.4,"definition":"Share of total revenue from the top 1 customer. n=959 companies with at least $100K in annual revenue.","note":null,"source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"job_gross_margin","pillar":"Earnings","label":"Job-level gross margin","unit":"percent","companies_n":null,"observations_basis":"completed jobs analyzed","p10":10.8,"p25":28.4,"median":44.3,"mean":null,"p75":60.2,"p90":75.1,"definition":"Gross margin per completed job (revenue minus actual cost), across all job types. Measured per JOB across 1,747,089 completed jobs from 1,791 companies (Athena verification 2026-07-25). The prior n=430 was another metric's company count.","note":null,"source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"labor_hours_actual_vs_budget","pillar":"Labor","label":"Labor hours: actual as % of budgeted","unit":"percent","companies_n":null,"observations_basis":"jobs with both budgeted and actual hours","p10":null,"p25":70.1,"median":99.4,"mean":119,"p75":131.1,"p90":null,"definition":"Actual labor hours ÷ budgeted labor hours per job. 100% = on budget; >100% = over. Measured across 315,393 jobs from 1,391 companies (Athena verification 2026-07-25).","note":"Actual labor hours divided by budgeted hours. The median and mean differ because the distribution has a long tail. This is an hours ratio, not dollar cost; actual wage, overtime, burden, scope and posting completeness determine contribution effects.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"revenue_mix_labor_share","pillar":"Labor","label":"Labor share of quoted revenue","unit":"percent","companies_n":null,"observations_basis":"quote line items (sample size unverified)","p10":null,"p25":16.7,"median":29.1,"mean":null,"p75":42.2,"p90":null,"definition":"Labor as a share of quoted revenue (vs materials, equipment, subs). Median contractor is ~29% labor / ~33% materials, but variance is extreme. NOTE: sample size unverified. The prior n=430 was copied from another metric; this is measured on quoted revenue (quote-line data), not job_stats, so a job-level reproduction does not apply. Do not publish a sample size until re-derived.","note":"Revenue-mix distributions describe reported labor, materials, membership and equipment shares. They do not establish a margin, capacity or scalability effect.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"job_closeout_days","pillar":"Cash","label":"Job closeout lag (days)","unit":"days","companies_n":555,"observations_basis":"completed jobs","p10":null,"p25":null,"median":1.7,"mean":null,"p75":9.6,"p90":35.8,"definition":"Days from work complete to recorded financial job closeout. This status interval does not establish invoice or cash-collection timing.","note":null,"source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"seasonality_top3_months","pillar":"Risk","label":"Revenue concentration in top 3 months","unit":"percent","companies_n":217,"observations_basis":"companies with >$500K revenue","p10":null,"p25":38.3,"median":47.4,"mean":null,"p75":66.1,"p90":91.1,"definition":"Share of annual revenue earned in the three strongest months.","note":"The median recorded revenue share in the three largest months is about 47%. Reported peak-month counts and cutoff windows require separate interpretation; no universal quarter pattern is established.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"quote_line_margin_by_cost_type","pillar":"Earnings","label":"Quote-line gross margin by cost type","unit":"percent","companies_n":null,"observations_basis":"2.2M+ quote line items","p10":null,"p25":null,"median":null,"mean":null,"p75":null,"p90":null,"definition":"Gross margin on quoted work, split by cost type (labor, materials, equipment, subcontractor), measured across 2.2M+ quote line items. Labor is the highest-margin cost type; subcontractor pass-through is the thinnest.","note":"Recorded quote-line margin medians differ by cost type: labor 47.7%, materials 31.5%, equipment 25.5%, and subcontracted work 23.6%. These are quoted line-item observations, not realized job margins. They do not establish that changing service mix causes higher company profit; match selling prices, actual costs and the full job mix before drawing that conclusion.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"metric_key":"bill_rate_by_role","pillar":"Labor","label":"Bill rate by role (rate-card field)","unit":"usd_per_hour","companies_n":18000,"observations_basis":"18,000+ field employees with tracked rate-card data","p10":null,"p25":null,"median":null,"mean":null,"p75":null,"p90":null,"definition":"Median rate-card rate by field role across 18,000+ tracked employees. The rate-card field is used inconsistently (some enter customer billing rates, others loaded cost or base wage), so neither the absolute level nor the spread establishes role-level pricing, wages or profitability without matching how each entry was used. Company-level avg bill rate median is $79/hr (n=1,770).","note":"The largest single recorded step is technician to journeyman (about $54 to $76 in the mixed rate-card field). Wage, loaded cost and selling-price definitions are mixed; no spread over wage can be computed from this field.","source":"The Level Index (contractor benchmark research)","canonical_url":"https://levelcfo.com/benchmarks/contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"}];
const VERTICALS = [{"vertical_slug":"healthcare","vertical_label":"Healthcare","metric_key":"days_in_net_a_r","metric_label":"Days in Net A/R","unit":"days","evidence_type":"Level planning cases; separate HFMA hospital/system context","reference_positions":"Upper days reference: 55 | Higher days reference: 50 | Center days reference: 40 | Lower days reference: 32 | Lower days target: 28","definition":"Net eligible patient receivables divided by matching average daily net patient-service revenue. The displayed days are planning cases; current HFMA FM-1 definitions require eligible balance and revenue inclusions/exclusions, and source-specific historical values require their own definition check.","sample_or_scope":"No sample for displayed planning cases; HFMA context is selected n=14 hospitals/systems/IDS","source":"Level planning cases; HFMA 2024 selected hospital/system winner context (P90/P10 positions 30.5/45.3 days)","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/healthcare/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"healthcare","vertical_label":"Healthcare","metric_key":"pos_cash_collection_of_patient_liability","metric_label":"POS Cash Collection (% of total self-pay cash collected)","unit":"%","evidence_type":"Published selected hospital/system winner reference positions","reference_positions":"Source performance P10: 22.8 | Source performance P25: 27 | Source performance P50: 35.4 | Source performance P75: 41.7 | Source performance P90: 49.2","definition":"HFMA PA-7: patient POS payments / total self-pay cash collected for the reporting month. Qualifying current-encounter cash includes pre-service, time-of-service and up to seven days after discharge; qualifying prior-encounter self-pay cash collected before or at a new service is also included; routine payment-plan payments and refunds are excluded. Current MAP Keys definition; award-period definition version not separately captured.","sample_or_scope":"14 selected 2024 HFMA MAP hospital, critical-access hospital, hospital-system and integrated-delivery-system award winners","source":"HFMA 2024 MAP Award Statistical Data, selected hospital/system/IDS winners (n=14)","source_url":"https://www.hfma.org/wp-content/uploads/2024/07/MAP_230608_Winner-Resources_Stats-2024.pdf","canonical_url":"https://levelcfo.com/benchmarks/healthcare/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"healthcare","vertical_label":"Healthcare","metric_key":"total_medical_revenue_per_physician_fte","metric_label":"Total Medical Revenue per Physician FTE","unit":"K","evidence_type":"Retained source-attributed references; exact report values not independently reverified","reference_positions":"Primary Care (lower attributed reference): 668 | Primary Care (higher attributed reference): 770 | Surgical (lower attributed reference): 648 | Surgical (higher attributed reference): 777 | Multispecialty (higher attributed reference): 879","definition":"Same-period eligible medical revenue divided by eligible physician FTE. Revenue, collections, provider FTE and clinical hours differ; source-specific MGMA population and treatment of ancillary revenue are unverified here.","sample_or_scope":"Unverified for these retained values; no measured Level industry cohort","source":"Previously attributed source context (exact values not reverified): MGMA Better Performers Report 2023","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/healthcare/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"healthcare","vertical_label":"Healthcare","metric_key":"primary_care_overhead_ratio","metric_label":"Primary Care Overhead Ratio","unit":"%","evidence_type":"Level planning overhead cases; no source-observed distribution","reference_positions":"Lower overhead reference: 50 | Lower-middle reference: 53 | Center reference: 60 | Higher reference: 64 | Upper reference: 67","definition":"Defined practice operating-overhead costs divided by matching revenue. Specify clinical/nonclinical staff, owner compensation and cost classification before comparing planning cases.","sample_or_scope":"No measured sample for the planning values","source":"Level planning overhead cases; AMA PPI 2024 practice-expense share does not supply these values","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/healthcare/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"healthcare","vertical_label":"Healthcare","metric_key":"claim_denial_rate_of_claims","metric_label":"Claim Denial Rate (% of claims)","unit":"%","evidence_type":"Mixed: retained unverified Optum/KFF attributions plus Level planning targets","reference_positions":"Lower denial target: 4 | Higher denial target: 7 | Attributed Optum hospital: 12 | Retained KFF 19% (edition unverified): 19 | Retained ACA 37% (edition unverified): 37","definition":"Denied claims divided by eligible submitted or adjudicated claims on the chosen claim-count basis. Specify initial versus final denial and line-versus-claim counting. Optum/KFF attributions use different populations; planning targets are separate.","sample_or_scope":"Unverified for these retained values; no measured Level industry cohort","source":"Previously attributed Optum hospital context and retained KFF Marketplace inputs with edition unverified; separate planning targets","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/healthcare/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"healthcare","vertical_label":"Healthcare","metric_key":"a_r_over_90_days_of_total_receivables","metric_label":"A/R Over 90 Days (% of billed receivables, selected hospital/system winners)","unit":"%","evidence_type":"Rounded published selected hospital/system winner reference positions","reference_positions":"Rounded source performance P75: 22 | Rounded source performance P50: 30 | Rounded source performance P25: 38","definition":"Aged billed A/R / total billed A/R, using a consistent snapshot and eligible debit-balance accounts. Unbilled accounts and credit balances require separate treatment; source references are selected hospital/system winner positions. Current MAP Keys definition; award-period definition version not separately captured.","sample_or_scope":"14 selected 2024 HFMA MAP hospital, critical-access hospital, hospital-system and integrated-delivery-system award winners","source":"HFMA 2024 MAP Award Statistical Data, selected hospital/system/IDS winners (n=14)","source_url":"https://www.hfma.org/wp-content/uploads/2024/07/MAP_230608_Winner-Resources_Stats-2024.pdf","canonical_url":"https://levelcfo.com/benchmarks/healthcare/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"restaurants","vertical_label":"Restaurants","metric_key":"labor_cost_of_sales_2024_nra_median","metric_label":"Labor Cost % of Sales: Published LSR 2024 Median and Retained References","unit":"%","evidence_type":"One published respondent median plus previously attributed, unverified subgroup inputs","reference_positions":"Previously attributed Limited-Service profit: 30 | Published LSR respondent median (2024): 31.7 | Previously attributed Limited-Service loss: 34.1 | Previously attributed Full-Service profit: 34.2 | Previously attributed Full-Service loss: 42.9","definition":"Salaries, wages and benefits divided by same-period sales for the published NRA respondent median. Define other loaded labor costs separately in your own plan; unverified profit/loss references may use different report editions.","sample_or_scope":"More than 900 operators overall; segment and profit/loss group counts not captured","source":"NRA August 2025 commentary verifies only the 31.7% LSR 2024 respondent median in this chart; remaining profit/loss values have unverified prior attribution","source_url":"https://www.restaurant.org/research-and-media/research/restaurant-economic-insights/analysis-commentary/restaurant-labor-costs-are-well-above-historical-averages/","canonical_url":"https://levelcfo.com/benchmarks/restaurants/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"restaurants","vertical_label":"Restaurants","metric_key":"prime_cost_food_labor_of_sales","metric_label":"Prime Cost (Food + Labor) % of Sales","unit":"%","evidence_type":"Level planning cases; separate published median context","reference_positions":"Planning cost case 64%: 64 | Planning cost case 68%: 68 | Planning cost case 70%: 70 | Planning cost case 75%: 75 | Planning cost case 80%: 80","definition":"Actual prime cost=(food and beverage cost+fully loaded labor cost)/same net-sales denominator. Separate component medians cannot be added to estimate the median of their sum.","sample_or_scope":"Not a measured sample","source":"Level planning cases; separate NRA 2025 Abstract commentary on 2024 respondent medians","source_url":"https://www.restaurant.org/research-and-media/media/press-releases/new-resource-from-national-restaurant-association-provides-insights-into-operational-realities/","canonical_url":"https://levelcfo.com/benchmarks/restaurants/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"restaurants","vertical_label":"Restaurants","metric_key":"food_non_alcoholic_beverage_cost_2024_median","metric_label":"Food + Non-Alcoholic Beverage Cost % of Sales: Published 2024 Medians and Planning Inputs","unit":"%","evidence_type":"Published respondent medians plus independent Level planning inputs","reference_positions":"Planning food-cost input 38%: 38 | Planning food-cost input 33%: 33 | Published LSR median 2024: 32.4 | Published FSR median 2024: 32 | Planning food-cost input 27%: 27","definition":"Food and nonalcoholic-beverage costs divided by matching sales for the published NRA respondent medians. Planning inputs are separate; do not substitute alcoholic-beverage sales or total operating expenses as denominator.","sample_or_scope":"More than 900 operators in overall Abstract; exact segment sample not captured","source":"NRA September 2025 food-cost commentary on 2024 respondents, published 32.4% LSR/32.0% FSR medians; separate Level planning inputs","source_url":"https://www.restaurant.org/research-and-media/research/restaurant-economic-insights/analysis-commentary/restaurant-operators-kept-food-cost-ratios-in-check-in-2024/","canonical_url":"https://levelcfo.com/benchmarks/restaurants/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"restaurants","vertical_label":"Restaurants","metric_key":"cash_buffer_days_median_by_industry","metric_label":"Cash Buffer Days: Published 2015 Chase Medians and Planning Buffers","unit":"d","evidence_type":"Published historical Chase transaction-population medians plus independent planning buffers","reference_positions":"Published restaurants (2015): 16 | Published all small businesses (2015): 27 | Planning buffer 30 days: 30 | Planning buffer 60 days: 60","definition":"Average daily cash balance/average daily cash outflows for the source period. Planning targets are independent scenario inputs.","sample_or_scope":"597,000 small businesses overall; restaurant subgroup size not captured","source":"JPMorgan Chase Institute, September 2016 Cash Flows, Balances, and Buffer Days, February-October 2015 observations","source_url":"https://www.jpmorganchase.com/institute/all-topics/business-growth-and-entrepreneurship/report-cash-flows-balances-and-buffer-days","canonical_url":"https://levelcfo.com/benchmarks/restaurants/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"restaurants","vertical_label":"Restaurants","metric_key":"total_occupancy_cost_of_sales_2024","metric_label":"Occupancy Cost References (Historical Attribution Not Reverified)","unit":"%","evidence_type":"Retained source-attributed references; exact report values not independently reverified","reference_positions":"Rural LSR: 3.2 | Suburban LSR: 5 | LSR overall: 5.2 | FSR overall: 5.7 | Urban: 6","definition":"Defined occupancy costs divided by matching sales. Specify rent, CAM, taxes, insurance and facilities inclusions; exact historical source scope is unverified for these references.","sample_or_scope":"Unverified for these retained values; no measured Level industry cohort","source":"Previously attributed source context (exact values not reverified): National Restaurant Association, 2024 occupancy commentary","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/restaurants/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"restaurants","vertical_label":"Restaurants","metric_key":"what_a_100_order_actually_keeps_by_channel","metric_label":"Illustrative $100-Order Contribution by Channel (Assumed Item Margin and Fees)","unit":"%","evidence_type":"Level illustrative order-contribution arithmetic, not measured channel results","reference_positions":"Dine-in: 68 | 1st-party pickup: 66 | 3rd-party delivery (25% fee): 43 | 3rd-party delivery (30% fee): 38","definition":"Illustrative retained order contribution divided by assumed order revenue: assumed item margin less fee percentage points on the same $100 order base. Labor, overhead and other costs are outside this model.","sample_or_scope":"Not a measured sample","source":"Level illustration using assumed item margin and fee sensitivities, not measured channel results","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/restaurants/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"restaurants","vertical_label":"Restaurants","metric_key":"hourly_turnover_annualized_rolling_12_mo","metric_label":"Hourly Turnover References (Different Attributed Reporting Windows)","unit":"%","evidence_type":"Retained source-attributed references; exact report values not independently reverified","reference_positions":"FSR 2025 (Q1-Q3): 92 | FSR 2024 (Q3): 96 | LSR 2025 (Q3): 110 | LSR 2024 (Q3): 135","definition":"Employee exits divided by eligible average headcount for the defined reporting period, annualized only with a stated method. Prior source references use different segments and periods and are not a common cohort.","sample_or_scope":"Unverified for these retained values; no measured Level industry cohort","source":"Previously attributed source context (exact values not reverified): Black Box Intelligence, Workforce Trends Q3 2025","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/restaurants/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"cleaning","vertical_label":"Cleaning","metric_key":"janitor_cleaner_hourly_wage_bls_oews","metric_label":"Janitor & Cleaner Hourly Wage (BLS OEWS)","unit":"value","evidence_type":"Published BLS May 2023 national employee wage percentiles","reference_positions":"P10: 12.39 | P25: 14.22 | Median: 16.84 | P75: 19.05 | P90: 23.18","definition":"BLS May 2023 national hourly employee wages for SOC 37-2011 Janitors and Cleaners, Except Maids and Housekeeping Cleaners. Self-employed workers are excluded; wages are not loaded contract costs or current metro quotes.","sample_or_scope":"BLS OEWS national employee occupation estimates, self-employed excluded; no Level sample","source":"BLS Occupational Employment & Wage Statistics 2023","source_url":"https://www.bls.gov/oes/2023/may/oes372011.htm","canonical_url":"https://levelcfo.com/benchmarks/cleaning/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"cleaning","vertical_label":"Cleaning","metric_key":"labor_as_of_total_job_cost_industry_range","metric_label":"Labor Share of Job Cost (Previously Attributed References)","unit":"%","evidence_type":"Retained source-attributed references; exact report values not independently reverified","reference_positions":"Light Touch: 50 | Standard Office: 65 | Healthcare / Specialty: 75 | Heavy Compliance: 85 | Pure Janitorial Cost: 90","definition":"Defined direct labor cost divided by total defined direct job cost for the same account and period. Specify burden, supplies, travel and equipment scope; these retained inputs are not a verified industry distribution.","sample_or_scope":"Unverified for these retained values; no measured Level industry cohort","source":"Previously attributed source context (exact values not reverified): BSCAI + FMLink benchmarking","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/cleaning/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"cleaning","vertical_label":"Cleaning","metric_key":"annual_account_turnover_bscai_2024_survey_buckets","metric_label":"Share of Respondent Firms by Annual Account-Loss Bucket","unit":"%","evidence_type":"Retained source-attributed references; exact report values not independently reverified","reference_positions":"<10% lost: 73 | 11-15% lost: 12 | 16-20% lost: 6 | 21-50% lost: 5 | >50% lost: 4","definition":"Plot value = respondent firms in the stated account-loss bucket divided by responding firms. Level recommends defining annual account loss as lost eligible opening accounts divided by eligible opening accounts; the historically attributed survey's own denominator is not reverified.","sample_or_scope":"Unverified for these retained values; no measured Level industry cohort","source":"Previously attributed source context (exact values not reverified): BSCAI 2024 Industry Market Study","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/cleaning/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"cleaning","vertical_label":"Cleaning","metric_key":"pricing_sq_ft_month_observed_range","metric_label":"Pricing $/sq ft/month (planning cases)","unit":"value","evidence_type":"Level planning input; no measured source observation or percentile","reference_positions":"Warehouse low: 0.07 | Office low: 0.09 | Office mid: 0.13 | Medical low: 0.14 | Medical high: 0.29","definition":"Assumed monthly contract revenue divided by serviced square feet. State visits per month, scope, actual service minutes, travel and supplies; this is not a per-visit quote or measured market price.","sample_or_scope":"No measured sample","source":"Level planning contract-price inputs; measured engagement population not supplied","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/cleaning/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"cleaning","vertical_label":"Cleaning","metric_key":"days_sales_outstanding_dso","metric_label":"Days Sales Outstanding (DSO)","unit":"d","evidence_type":"Mixed: previously attributed ABM proxy and independent Level planning collection days","reference_positions":"Planning case 30d: 30 | Planning case 45d: 45 | ABM (large IFM): 60 | Planning case 75d: 75 | Planning case 90d: 90","definition":"Eligible billed receivables divided by matching credit revenue times days in the period. Specify average versus year-end receivables and exclude/disclose unbilled work. The ABM-attributed proxy differs from actual customer collection timing.","sample_or_scope":"Unverified for these retained values; no measured Level industry cohort","source":"Previously attributed source context (exact values not reverified): ABM FY 2024 10-K, industry working-capital research","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/cleaning/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"cleaning","vertical_label":"Cleaning","metric_key":"workers_comp_cost_as_of_payroll_janitorial_ncci_class_9014","metric_label":"Workers Comp Cost as % of Payroll (Janitorial, NCCI Class 9014)","unit":"%","evidence_type":"Level planning input; no measured source observation or percentile","reference_positions":"Illustration: lower cost: 4 | Illustration: middle cost: 7 | Planning case 12%: 12","definition":"Applicable workers-compensation premium divided by covered payroll for the same policy period. State class codes, experience modification, exclusions and actual insurer terms; the displayed percentages are independent planning inputs.","sample_or_scope":"No measured sample","source":"Level premium-to-payroll planning sensitivities; state and insurer terms require verification","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/cleaning/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"staffing","vertical_label":"Staffing & Recruiting","metric_key":"time_to_fill_bullhorn_grid_2026","metric_label":"Average Time to Place: Bullhorn Subgroup Thresholds and Planning Durations","unit":"d","evidence_type":"Named vendor subgroup thresholds plus separate planning durations","reference_positions":"Threshold <=3 d (22% of top performers): 3 | Threshold <10 d (56% of top performers): 10 | Planning 15 days: 15 | Planning 19 days: 19 | Planning 35 days: 35","definition":"Average time to place as reported by vendor survey respondents. Thresholds are not quantiles and are not directly comparable with independent duration inputs.","sample_or_scope":"Nearly 2,300 professionals globally overall; subgroup size not captured","source":"Bullhorn GRID 2026 Industry Trends","source_url":"https://www.bullhorn.com/grid/2026-industry-trends/report/","canonical_url":"https://levelcfo.com/benchmarks/staffing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"staffing","vertical_label":"Staffing & Recruiting","metric_key":"gross_margin_by_segment_fy2024","metric_label":"Gross Margin by Segment (Previously Attributed Sources, Different Populations)","unit":"%","evidence_type":"Retained source-attributed references; exact report values not independently reverified","reference_positions":"Healthcare: 21 | Light Industrial (TBI): 25.9 | IT (Kforce): 26.5 | Engineering: 33 | Finance & Acct (Kforce): 38.5","definition":"Same-period revenue less defined direct pay, payroll burden and assignment costs divided by that revenue. Contract staffing and fee-only permanent placement use different denominators; prior source segment figures are not common quartiles.","sample_or_scope":"Unverified for these retained values; no measured Level industry cohort","source":"Previously attributed source context (exact values not reverified): Kforce, TrueBlue; Staffing Hub 2024 survey (exact value/position not reverified)","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/staffing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"staffing","vertical_label":"Staffing & Recruiting","metric_key":"days_sales_outstanding_dso","metric_label":"Days Sales Outstanding (DSO)","unit":"d","evidence_type":"Mixed: previously attributed filing-input arithmetic proxy plus Level planning collection days","reference_positions":"Planning case 30d: 30 | Planning case 40d: 40 | RHI implied (FY24): 49 | Planning case 55d: 55 | Planning case 65d: 65","definition":"Eligible billed receivables divided by matching credit revenue times days in the period. The retained Robert Half proxy uses year-end AR and annual revenue; planning cases and actual invoice collection dates are separate measures.","sample_or_scope":"No common measured sample","source":"Previously attributed source context (exact values not reverified): Robert Half FY 2024 10-K (AR $772M ÷ Revenue $5.8B × 365)","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/staffing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"staffing","vertical_label":"Staffing & Recruiting","metric_key":"kforce_fy2024_gross_margin_to_net_margin_of_revenue","metric_label":"Kforce FY 2024: gross margin to net margin (% of revenue) (Previously Attributed, Not Reverified)","unit":"%","evidence_type":"Retained source-attributed references; exact report values not independently reverified","reference_positions":"Gross profit: 27 | After SG&A (op. income): 5 | Net income: 3.6","definition":"Gross profit, operating income and net income each divided by the same revenue period. Reconcile SG&A, interest, tax and adjustments; previously attributed filing inputs are unverified here.","sample_or_scope":"Unverified for these retained values; no measured Level industry cohort","source":"Previously attributed Kforce FY 2024 filing context; no independent corroboration is asserted","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/staffing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"staffing","vertical_label":"Staffing & Recruiting","metric_key":"annual_gross_profit_per_producer_recruiter","metric_label":"Annual Gross Profit per Producer / Recruiter","unit":"K","evidence_type":"Level planning input; no measured source observation or percentile","reference_positions":"Planning case $150K: 150 | Planning case $250K: 250 | Planning case $380K: 380 | Planning case $500K: 500 | Planning case $750K: 750","definition":"Same-period gross profit divided by average eligible producer/recruiter FTE. These are independent annual planning inputs; the unresolved-period recruiter worksheet amounts are not comparable. Chart and table amounts are separate scenarios, not the same central case.","sample_or_scope":"No measured sample","source":"Level producer-contribution planning inputs","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/staffing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"staffing","vertical_label":"Staffing & Recruiting","metric_key":"markup_vs_gross_margin","metric_label":"Pay-Rate Markup Planning Scenarios","unit":"%","evidence_type":"Level markup arithmetic and independent planning inputs","reference_positions":"Planning 25% markup: 25 | Planning 35% markup: 35 | Planning 50% markup: 50 | Planning 65% markup: 65 | Planning 75% markup: 75","definition":"Markup=(bill rate-pay rate)/pay rate. Unburdened spread=(bill-pay)/bill. Burdened gross margin=(bill-pay-burden)/bill, with burden in dollars or explicitly as a share of pay; assumptions are not measured medians.","sample_or_scope":"No measured sample","source":"Level arithmetic with assumed payroll burden and independent markup inputs","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/staffing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"staffing","vertical_label":"Staffing & Recruiting","metric_key":"workers_comp_cost_as_of_payroll_light_industrial_by_risk_tier","metric_label":"Workers Comp Cost as % of Payroll (light industrial, by risk tier)","unit":"%","evidence_type":"Level planning input; no measured source observation or percentile","reference_positions":"Lower cost scenario: 4 | Center cost scenario: 8 | Higher cost scenario: 14","definition":"Applicable workers-compensation premium divided by covered payroll for the same policy period. Claims reserves, reserve development and class-code loss costs are different measures; use actual insurer, state and exposure records.","sample_or_scope":"No measured sample","source":"Level premium-to-payroll planning sensitivities; TrueBlue reserve-accounting and NCCI loss-cost context are different measures","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/staffing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"landscaping","vertical_label":"Landscaping & Lawn Care","metric_key":"revenue_per_employee_k","metric_label":"Revenue per Employee ($K)","unit":"K","evidence_type":"Mixed: previously attributed references and Level planning inputs","reference_positions":"Planning lower reference: 90 | Attributed NALP average: 123 | $10M+ firms (NALP): 156 | Planning higher reference: 180 | Planning upper reference: 220","definition":"Same-period revenue divided by average eligible employee FTE. Verify owner, part-time and subcontractor treatment before comparing; source-specific historical definitions are not certified for unverified references.","sample_or_scope":"No common measured cohort; source-specific samples unverified","source":"Previously attributed source context (exact values not reverified): NALP 2025 Financial Benchmark Report","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/landscaping/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"landscaping","vertical_label":"Landscaping & Lawn Care","metric_key":"net_profit_margin","metric_label":"Net Profit Margin","unit":"%","evidence_type":"Mixed: previously attributed references and Level planning inputs","reference_positions":"BrightView FY 2025 attributed reference: 2 | Planning 3% input: 3 | Industry 12% attributed context: 12 | Previously attributed survey reference (12%): 12 | Planning 15% input: 15","definition":"Net income divided by same-period revenue. Reconcile owner compensation, interest, taxes, depreciation and amortization. Adjusted EBITDA is a different measure and requires its own explicit adjustments. Historical attributed source definitions are not certified to match this planning formula.","sample_or_scope":"No common measured cohort; source-specific samples unverified","source":"Previously attributed source context (exact values not reverified): NALP 2025 Financial Benchmark Report; IBISWorld Landscaping Services 2025; BrightView (BV) FY 2025 10-K","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/landscaping/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"landscaping","vertical_label":"Landscaping & Lawn Care","metric_key":"customer_retention_rate_annual","metric_label":"Customer Retention Rate (annual)","unit":"%","evidence_type":"Mixed: previously attributed references and Level planning inputs","reference_positions":"Lower planning reference: 65 | Planning lower-middle reference: 78 | Attributed average: 89 | Planning higher reference: 94 | Planning upper reference: 98","definition":"Eligible opening customers retained through period end divided by opening eligible customers. Count new customers separately. Retained opening-customer revenue divided by opening-customer revenue is a different revenue-retention measure. Historical attributed source definitions are not certified to match this planning formula.","sample_or_scope":"No common measured cohort; source-specific samples unverified","source":"Previously attributed source context (exact values not reverified): Lawn & Landscape benchmarking 2025","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/landscaping/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"landscaping","vertical_label":"Landscaping & Lawn Care","metric_key":"sales_close_rate_nalp_2020_data","metric_label":"Sales Close Rate: Retained Reference and Planning Cases","unit":"%","evidence_type":"Mixed: previously attributed references and Level planning inputs","reference_positions":"Lower planning reference: 25 | Planning lower-middle reference: 40 | Attributed NALP Reference: 54.7 | Planning higher reference: 70 | Planning upper reference: 82","definition":"Won bids divided by eligible submitted bids for a defined observation window. Specify undecided/withdrawn bids and count versus dollar-value basis. Historical attributed source definitions are not certified to match this planning formula.","sample_or_scope":"No common measured cohort; source-specific samples unverified","source":"Previously attributed source context (exact values not reverified): NALP 2021 Financial Benchmark Study","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/landscaping/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"landscaping","vertical_label":"Landscaping & Lawn Care","metric_key":"days_sales_outstanding_dso","metric_label":"Days Sales Outstanding (DSO)","unit":"d","evidence_type":"Mixed: previously attributed references and Level planning inputs","reference_positions":"Planning case 30d: 30 | Planning case 45d: 45 | BrightView billed-AR (impl.): 54 | Planning case 62d: 62 | Planning case 90d: 90","definition":"Eligible billed receivables divided by matching credit revenue times days in the revenue period. State average versus year-end balance; exclude unbilled work or disclose it separately. This proxy does not measure individual invoice collection dates. Historical attributed source definitions are not certified to match this planning formula.","sample_or_scope":"No common measured cohort; source-specific samples unverified","source":"Previously attributed source context (exact values not reverified): BrightView FY 2025 10-K","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/landscaping/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"landscaping","vertical_label":"Landscaping & Lawn Care","metric_key":"recurring_revenue_mix_examples","metric_label":"Recurring Revenue Mix Examples","unit":"%","evidence_type":"Mixed: previously attributed references and Level planning inputs","reference_positions":"Planning pure install shop: 5 | Planning mixed: 35 | Planning reference: 55 | BrightView: 70 | Planning case 85%: 85","definition":"Recognized contracted recurring-service revenue divided by total recognized revenue for the same period. Maintenance segment revenue is not automatically the same as recurring contracted revenue; verify scope. Historical attributed source definitions are not certified to match this planning formula.","sample_or_scope":"No common measured cohort; source-specific samples unverified","source":"Previously attributed source context (exact values not reverified): Previously attributed BrightView FY 2025 segment context and independent Level mix planning inputs","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/landscaping/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"ecommerce","vertical_label":"Ecommerce & DTC","metric_key":"cash_conversion_cycle_days","metric_label":"Cash Conversion Cycle (Days)","unit":"days","evidence_type":"Directional planning reference","reference_positions":"Scenario A: 120 | Scenario B: 75 | Scenario C: 50 | Scenario D: 30 | Scenario E: 15","definition":"Days inventory outstanding plus days sales outstanding minus days payable outstanding.","sample_or_scope":"No measured ecommerce cohort","source":"Level planning references; not measured external percentiles","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/ecommerce/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"ecommerce","vertical_label":"Ecommerce & DTC","metric_key":"return_rate_of_sales_by_category","metric_label":"Published return-rate estimates (population and year differ)","unit":"%","evidence_type":"Published estimates; populations and years differ","reference_positions":"Online estimate (NRF 2025): 19.3 | Large U.S. retailer estimate (NRF 2024): 16.9","definition":"2025 projected online-sales returns / online sales; 2024 surveyed large U.S. retailers' estimated annual-sales returns / annual sales. Different source populations and years, not category percentiles.","sample_or_scope":"2025: not captured in reviewed excerpt; 2024: 249 ecommerce/finance professionals at U.S. retailers >$500M revenue","source":"NRF / Happy Returns, 2025 Retail Returns Landscape; NRF 2024 Consumer Returns in the Retail Industry","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/ecommerce/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"ecommerce","vertical_label":"Ecommerce & DTC","metric_key":"revenue_per_employee_k","metric_label":"Revenue per Employee ($K)","unit":"K","evidence_type":"Directional planning reference","reference_positions":"Scenario A: 150 | Scenario B: 250 | Scenario C: 400 | Scenario D: 650 | Scenario E: 1000","definition":"Annual revenue divided by reported or inferred full-time-equivalent employees.","sample_or_scope":"No measured ecommerce cohort","source":"Level planning references; not measured external percentiles","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/ecommerce/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"ecommerce","vertical_label":"Ecommerce & DTC","metric_key":"contribution_margin_after_cogs_shipping_fees_ad_spend","metric_label":"Contribution Margin After COGS, Shipping, Fees & Ad Spend","unit":"%","evidence_type":"Directional planning reference","reference_positions":"Scenario A: -5 | Scenario B: 8 | Scenario C: 18 | Scenario D: 28 | Scenario E: 38","definition":"Revenue remaining after COGS, shipping, payment fees, returns, and paid acquisition costs.","sample_or_scope":"No measured ecommerce cohort","source":"Level planning references; not measured external percentiles","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/ecommerce/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"ecommerce","vertical_label":"Ecommerce & DTC","metric_key":"cac_as_of_first_order_revenue","metric_label":"CAC as % of First-Order Revenue","unit":"%","evidence_type":"Directional planning reference","reference_positions":"Scenario A: 55 | Scenario B: 38 | Scenario C: 28 | Scenario D: 18 | Scenario E: 10","definition":"Customer acquisition cost divided by first-order revenue, expressed as a percentage.","sample_or_scope":"No measured ecommerce cohort","source":"Level planning references; not measured external percentiles","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/ecommerce/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"ecommerce","vertical_label":"Ecommerce & DTC","metric_key":"return_on_ad_spend_roas_by_channel","metric_label":"Return on Ad Spend (ROAS) by Channel","unit":"×","evidence_type":"Historical references; common cohort unverified","reference_positions":"Meta (historical reference): 1.86 | TikTok (historical reference): 2.21 | Amazon (historical reference): 3.14 | Google (historical reference): 3.68","definition":"Attributed revenue divided by advertising spend for the named channel.","sample_or_scope":"No common sample established","source":"Meta 1.86 named in Triple Whale Meta article (Aug 2024-Jul 2025); other three retained values, origin and period unverified.","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/ecommerce/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"ecommerce","vertical_label":"Ecommerce & DTC","metric_key":"ltv_cac_ratio","metric_label":"LTV:CAC Ratio","unit":"×","evidence_type":"Directional planning reference","reference_positions":"Scenario A: 1 | Scenario B: 1.8 | Scenario C: 2.8 | Scenario D: 4.2 | Scenario E: 6.5","definition":"Contribution-margin lifetime value divided by customer acquisition cost.","sample_or_scope":"No measured ecommerce cohort","source":"Level planning references; not measured external percentiles","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/ecommerce/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"ecommerce","vertical_label":"Ecommerce & DTC","metric_key":"repeat_purchase_rate_within_12_months","metric_label":"Repeat Purchase Rate (within 12 months)","unit":"%","evidence_type":"Directional planning reference","reference_positions":"Scenario A: 10 | Scenario B: 18 | Scenario C: 27 | Scenario D: 38 | Scenario E: 52","definition":"First-time customers in a chosen cohort who order again within 12 months divided by first-time customers in that cohort. This differs from Klaviyo returning customers / total customers guidance.","sample_or_scope":"No measured ecommerce cohort","source":"Level planning references; not measured external percentiles","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/ecommerce/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"vertical_slug":"ecommerce","vertical_label":"Ecommerce & DTC","metric_key":"revenue_from_single_largest_channel","metric_label":"Revenue from Single Largest Channel (%)","unit":"%","evidence_type":"Directional planning reference","reference_positions":"Scenario A: 30 | Scenario B: 40 | Scenario C: 55 | Scenario D: 72 | Scenario E: 90","definition":"Revenue from the largest sales channel divided by total revenue.","sample_or_scope":"No measured ecommerce cohort","source":"Level planning references; not measured external percentiles","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/ecommerce/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"}];
const PUBLIC_COMPS = [{"ticker":"FIX","fiscal_end":"2025-12-31","unit":"USDthousands","revenue":9101641,"operating_cash_flow":1186356,"cash_ppe_purchases":154903,"asset_sale_proceeds":3695,"net_income_for_stated_equity_basis":1022558,"equity_2025":2448774,"equity_2024":1704676,"income_equity_basis":"totalnetincome/totalstockholdersequity","fcf_ocf_minus_cash_ppe":1031453,"fcf_margin_pct":11.33,"cash_capex_revenue_pct":1.7,"roe_closing_equity_pct":41.76,"roe_two_balance_avg_equity_pct":49.24,"sec_filing_url":"https://www.sec.gov/Archives/edgar/data/1035983/000110465926017530/fix-20251231x10k.htm","canonical_url":"https://levelcfo.com/blog/contractor-free-cash-flow-roe-benchmarks/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"ticker":"EME","fiscal_end":"2025-12-31","unit":"USDthousands","revenue":16986422,"operating_cash_flow":1302063,"cash_ppe_purchases":112750,"asset_sale_proceeds":4647,"net_income_for_stated_equity_basis":1272817,"equity_2025":3673944,"equity_2024":2937657,"income_equity_basis":"parentincome/parentstockholdersequity","fcf_ocf_minus_cash_ppe":1189313,"fcf_margin_pct":7,"cash_capex_revenue_pct":0.66,"roe_closing_equity_pct":34.64,"roe_two_balance_avg_equity_pct":38.5,"sec_filing_url":"https://www.sec.gov/Archives/edgar/data/105634/000010563426000025/eme-20251231.htm","canonical_url":"https://levelcfo.com/blog/contractor-free-cash-flow-roe-benchmarks/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"ticker":"LMB","fiscal_end":"2025-12-31","unit":"USDthousands","revenue":646804,"operating_cash_flow":45700,"cash_ppe_purchases":3807,"asset_sale_proceeds":1875,"net_income_for_stated_equity_basis":39064,"equity_2025":195661,"equity_2024":153491,"income_equity_basis":"totalnetincome/totalstockholdersequity","fcf_ocf_minus_cash_ppe":41893,"fcf_margin_pct":6.48,"cash_capex_revenue_pct":0.59,"roe_closing_equity_pct":19.97,"roe_two_balance_avg_equity_pct":22.38,"sec_filing_url":"https://www.sec.gov/Archives/edgar/data/1606163/000162828026013285/lmb-20251231.htm","canonical_url":"https://levelcfo.com/blog/contractor-free-cash-flow-roe-benchmarks/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"ticker":"APG","fiscal_end":"2025-12-31","unit":"USDmillions","revenue":7911,"operating_cash_flow":759,"cash_ppe_purchases":96,"asset_sale_proceeds":28,"net_income_for_stated_equity_basis":302,"equity_2025":3408,"equity_2024":2953,"income_equity_basis":"totalnetincome/totalstockholdersequity","fcf_ocf_minus_cash_ppe":663,"fcf_margin_pct":8.38,"cash_capex_revenue_pct":1.21,"roe_closing_equity_pct":8.86,"roe_two_balance_avg_equity_pct":9.5,"sec_filing_url":"https://www.sec.gov/Archives/edgar/data/1796209/000162828026011620/apg-20251231.htm","canonical_url":"https://levelcfo.com/blog/contractor-free-cash-flow-roe-benchmarks/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"ticker":"IESC","fiscal_end":"2025-09-30","unit":"USDthousands","revenue":3371468,"operating_cash_flow":286096,"cash_ppe_purchases":67253,"asset_sale_proceeds":833,"net_income_for_stated_equity_basis":305975,"equity_2025":883955,"equity_2024":611113,"income_equity_basis":"parentincome/parentstockholdersequity","fcf_ocf_minus_cash_ppe":218843,"fcf_margin_pct":6.49,"cash_capex_revenue_pct":1.99,"roe_closing_equity_pct":34.61,"roe_two_balance_avg_equity_pct":40.93,"sec_filing_url":"https://www.sec.gov/Archives/edgar/data/1048268/000104826825000174/iesc-20250930.htm","canonical_url":"https://levelcfo.com/blog/contractor-free-cash-flow-roe-benchmarks/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"}];
const VALUATION = [{"trade_slug":"hvac","trade_name":"HVAC","scale_bracket":"tuck_in","ev_ebitda_range":"4x to 8x","bracket_scope":"$1M to $5M EBITDA add-on or tuck-in","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/hvac/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"hvac","trade_name":"HVAC","scale_bracket":"regional_platform","ev_ebitda_range":"7x to 11x","bracket_scope":"$5M to $25M EBITDA lower-middle-market regional platform","scope_note":"Capstone Partners' July 27, 2026 update reports a 9.5x average EV/EBITDA for HVAC-services transactions in 2024 through year-to-date 2026. Its 11.4x broader-HVAC average is a different transaction population. Neither average establishes the 7x-to-11x regional planning band or a price for a specific SMB.","trade_benchmark_url":"https://levelcfo.com/benchmarks/hvac/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"hvac","trade_name":"HVAC","scale_bracket":"national_platform","ev_ebitda_range":"15x to 18.5x and above","bracket_scope":"national platform with high service-agreement density, institutional recapitalization","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/hvac/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"plumbing","trade_name":"Plumbing","scale_bracket":"tuck_in","ev_ebitda_range":"3.5x to 6.5x","bracket_scope":"under $2M EBITDA add-on","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/plumbing/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"plumbing","trade_name":"Plumbing","scale_bracket":"regional_platform","ev_ebitda_range":"6x to 11x","bracket_scope":"$2M to $10M EBITDA platform-quality regional business","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/plumbing/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"plumbing","trade_name":"Plumbing","scale_bracket":"national_platform","ev_ebitda_range":"16x to 20x","bracket_scope":"national platform recapitalization","scope_note":"Blackstone acquired Champions Group at about 18.5x EBITDA, a combined plumbing, HVAC, and electrical residential platform.","trade_benchmark_url":"https://levelcfo.com/benchmarks/plumbing/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"electrical","trade_name":"Electrical","scale_bracket":"tuck_in","ev_ebitda_range":"3x to 5x","bracket_scope":"under $1M EBITDA, often priced off SDE rather than EBITDA","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/electrical/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"electrical","trade_name":"Electrical","scale_bracket":"regional_platform","ev_ebitda_range":"5.5x to 8x","bracket_scope":"$1M to $8M EBITDA lower-middle-market operator","scope_note":"GF Data reports averages of 6.2x to 6.4x for businesses at $3M to $8M EBITDA and 7.8x for platforms above $8M.","trade_benchmark_url":"https://levelcfo.com/benchmarks/electrical/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"electrical","trade_name":"Electrical","scale_bracket":"national_platform","ev_ebitda_range":"8x to 12x and above","bracket_scope":"data-center, utility-infrastructure, or mission-critical power specialist","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/electrical/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"roofing","trade_name":"Roofing","scale_bracket":"tuck_in","ev_ebitda_range":"3x to 5x","bracket_scope":"under $1M EBITDA add-on or tuck-in","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/roofing/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"roofing","trade_name":"Roofing","scale_bracket":"regional_platform","ev_ebitda_range":"4x to 10x","bracket_scope":"$1M to $3M EBITDA at 4x to 7x; $3M to $10M platform-quality residential or commercial at 6x to 10x","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/roofing/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"roofing","trade_name":"Roofing","scale_bracket":"national_platform","ev_ebitda_range":"8x to 12x and above","bracket_scope":"large commercial platform with recurring maintenance contracts and a multi-state footprint","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/roofing/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"commercial-cleaning","trade_name":"Commercial cleaning and janitorial","scale_bracket":"tuck_in","ev_ebitda_range":"2.5x to 4.5x","bracket_scope":"under $1M EBITDA owner-operated local provider, often priced off SDE","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/cleaning/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"commercial-cleaning","trade_name":"Commercial cleaning and janitorial","scale_bracket":"regional_platform","ev_ebitda_range":"4x to 8x","bracket_scope":"$1M to $5M EBITDA established janitorial with recurring contracts at 4x to 6x; $5M to $10M regional or specialty (healthcare, cleanroom, industrial) at 5x to 8x","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/cleaning/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"commercial-cleaning","trade_name":"Commercial cleaning and janitorial","scale_bracket":"national_platform","ev_ebitda_range":"7x to 12x","bracket_scope":"$10M+ EBITDA nationwide platform","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/cleaning/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"landscaping","trade_name":"Landscaping and grounds maintenance","scale_bracket":"tuck_in","ev_ebitda_range":"3x to 6x","bracket_scope":"$500K to $1M EBITDA local operator or tuck-in, 2.5x to 5x on SDE","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/landscaping/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"landscaping","trade_name":"Landscaping and grounds maintenance","scale_bracket":"regional_platform","ev_ebitda_range":"7x to 12x","bracket_scope":"$1M to $10M+ EBITDA scaled lower-middle-market platform candidate","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/landscaping/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"landscaping","trade_name":"Landscaping and grounds maintenance","scale_bracket":"national_platform","ev_ebitda_range":"12x to 15x","bracket_scope":"high-performing commercial maintenance platform at exit","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/landscaping/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"painting","trade_name":"Painting and wall finishes","scale_bracket":"tuck_in","ev_ebitda_range":"3x to 6x","bracket_scope":"$1M to $3M EBITDA small to mid-sized residential painter","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"painting","trade_name":"Painting and wall finishes","scale_bracket":"regional_platform","ev_ebitda_range":"5x to 7x and above","bracket_scope":"$3M to $5M EBITDA commercial or HOA-focused platform","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"painting","trade_name":"Painting and wall finishes","scale_bracket":"national_platform","ev_ebitda_range":"up to 11x","bracket_scope":"large scaled specialty-construction platform","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"concrete-masonry","trade_name":"Concrete and masonry","scale_bracket":"tuck_in","ev_ebitda_range":"3.1x to 4x","bracket_scope":"$1M to $3M EBITDA small localized contractor","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"concrete-masonry","trade_name":"Concrete and masonry","scale_bracket":"regional_platform","ev_ebitda_range":"6.5x to 8x","bracket_scope":"$5M+ EBITDA middle-market platform or scaled add-on","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"concrete-masonry","trade_name":"Concrete and masonry","scale_bracket":"national_platform","ev_ebitda_range":"not separately reported","bracket_scope":"no distinct national-platform band published for this trade","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"glass-glazing","trade_name":"Glass and glazing","scale_bracket":"tuck_in","ev_ebitda_range":"2.9x to 4.2x","bracket_scope":"small local glass and glazing shop","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"glass-glazing","trade_name":"Glass and glazing","scale_bracket":"regional_platform","ev_ebitda_range":"5.7x to 7.1x","bracket_scope":"$10M to $100M total enterprise value specialty trade contractor","scope_note":"GF Data reports NAICS 238 specialty-trade cohort averages of 5.7x at $10M to $25M enterprise value, 6.1x at $25M to $50M, and 7.1x at $50M to $100M.","trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"glass-glazing","trade_name":"Glass and glazing","scale_bracket":"national_platform","ev_ebitda_range":"9x to 10.9x","bracket_scope":"platform-scale building products or contract glazing company","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"doors-access","trade_name":"Doors and access systems","scale_bracket":"tuck_in","ev_ebitda_range":"3.5x to 5x","bracket_scope":"under $1M EBITDA local add-on","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"doors-access","trade_name":"Doors and access systems","scale_bracket":"regional_platform","ev_ebitda_range":"6.5x to 12x","bracket_scope":"$1M to $3M EBITDA core mid-market add-on at 6.5x to 9x; $3M to $10M regional platform at 9x to 12x","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"doors-access","trade_name":"Doors and access systems","scale_bracket":"national_platform","ev_ebitda_range":"12x to 16x and above","bracket_scope":"above $10M EBITDA or $50M+ revenue scaled platform","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"low-voltage-security","trade_name":"Low-voltage and commercial security","scale_bracket":"tuck_in","ev_ebitda_range":"3x to 5x","bracket_scope":"under $3M revenue project-heavy cabling or installation shop","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"low-voltage-security","trade_name":"Low-voltage and commercial security","scale_bracket":"regional_platform","ev_ebitda_range":"5x to 12x and above","bracket_scope":"$5M to $20M revenue with 40%+ recurring monitoring and service revenue at 5x to 9x; $20M+ revenue multi-state at 8x to 12x and above","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"low-voltage-security","trade_name":"Low-voltage and commercial security","scale_bracket":"national_platform","ev_ebitda_range":"13x to 20x","bracket_scope":"scaled, highly consolidated national integrator platform","scope_note":"Security monitoring monthly recurring revenue trades separately at 30x to 50x RMR.","trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"fire-life-safety","trade_name":"Fire and life safety","scale_bracket":"tuck_in","ev_ebitda_range":"4x to 6.5x","bracket_scope":"$500K to $1M EBITDA bolt-on or project-heavy contractor","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"fire-life-safety","trade_name":"Fire and life safety","scale_bracket":"regional_platform","ev_ebitda_range":"6x to 9x","bracket_scope":"middle-market operator with 40%+ of revenue from inspection and monitoring","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"fire-life-safety","trade_name":"Fire and life safety","scale_bracket":"national_platform","ev_ebitda_range":"10x to 20x","bracket_scope":"$10M+ EBITDA scaled platform at 10x to 12x; national platform buyouts and exits at 17x to 20x","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"restoration","trade_name":"Restoration and remediation","scale_bracket":"tuck_in","ev_ebitda_range":"4x to 6x","bracket_scope":"small residential-focused or single-territory operator","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"restoration","trade_name":"Restoration and remediation","scale_bracket":"regional_platform","ev_ebitda_range":"5x to 7x","bracket_scope":"mid-sized regional business with steady carrier or third-party-administrator program revenue","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"restoration","trade_name":"Restoration and remediation","scale_bracket":"national_platform","ev_ebitda_range":"7x to 11x and above","bracket_scope":"scaled multi-state platform with commercial accounts and recurring service contracts","scope_note":null,"trade_benchmark_url":"https://levelcfo.com/benchmarks/contractor-valuation/","canonical_url":"https://levelcfo.com/benchmarks/contractor-valuation/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"}];
const TRADE_FACTS = [{"trade_slug":"hvac","trade_name":"HVAC","source_tier":"A","metric":"Public commercial-mechanical gross margin","value":"19% to 24%","detail":"Comfort Systems USA (FIX) 24.1%, FY2025; EMCOR (EME) 19.3%, retained FY2024 reference.","source":"SEC 10-K filings: FIX FY2025; EME FY2024","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001035983&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/hvac/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"hvac","trade_name":"HVAC","source_tier":"A","metric":"Public commercial-mechanical operating margin","value":"10.1% to 14.4% reported","detail":"Comfort Systems 14.4%; EMCOR 10.1% includes an 85-basis-point UK sale gain (about 9.3% excluding it), FY2025. This is not a recurring operating-margin range.","source":"SEC 10-K filings FY2025","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000105634&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/hvac/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"hvac","trade_name":"HVAC","source_tier":"A","metric":"HVAC mechanic median wage (SOC 49-9021)","value":"$59,810/yr","detail":"Mean $62,690, ~397,000 employed, median hourly $28.75.","source":"BLS OEWS, May 2024","source_url":"https://www.bls.gov/oes/tables.htm","canonical_url":"https://levelcfo.com/benchmarks/hvac/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"hvac","trade_name":"HVAC","source_tier":"D","metric":"Commercial mechanical DSO (implied)","value":"~90 to 105 days","detail":"EMCOR ~91, Comfort Systems ~103, retained receivables/revenue calculations, FY2025. These are point-in-time public balance ratios; they do not measure private-shop invoice collection or net financing cost.","source":"Computed from SEC 10-K filings FY2025","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001035983&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/hvac/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"hvac","trade_name":"HVAC","source_tier":"B","metric":"All-contractor net profit before tax","value":"6.3% (Best in Class ~11.9%)","detail":"Historical 2023 financials, reported in the 2024 edition (1,290 valid financial respondents). The 11.9% reference is the Best in Class group, top 25% ranked on performance metrics, not the 75th percentile of net margin or a healthy-firm threshold.","source":"CFMA 2024 Construction Financial Benchmarker (n=1,290)","source_url":"https://cfma.org/benchmarker","canonical_url":"https://levelcfo.com/benchmarks/hvac/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"hvac","trade_name":"HVAC","source_tier":"B","metric":"US HVAC contractor market size","value":"~$159B, ~115,000-120,000 firms","detail":"Fragmented; no firm above a few percent share.","source":"IBISWorld, Heating & Air-Conditioning Contractors (2025/2026)","source_url":"https://www.ibisworld.com/united-states/industry/heating-air-conditioning-contractors/1945/","canonical_url":"https://levelcfo.com/benchmarks/hvac/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"hvac","trade_name":"HVAC","source_tier":"C","metric":"Service vs install gross margin (small/residential)","value":"service/maintenance 50-58%, equipment install 35-48%, new construction 28-38%","detail":"Retained planning inputs, not a verified cohort or ordering. Compare complete direct costs and matched contract scope.","source":"Retained coaching references, directional planning assumptions; original cuts not reproduced","source_url":null,"canonical_url":"https://levelcfo.com/benchmarks/hvac/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"plumbing","trade_name":"Plumbing","source_tier":"A","metric":"Plumber median wage (SOC 47-2152)","value":"$62,970/yr","detail":"Mean $69,940, ~456,000 employed, median hourly ~$30.27; 10th pct $40,670, 90th $105,150.","source":"BLS OEWS, May 2024","source_url":"https://www.bls.gov/oes/tables.htm","canonical_url":"https://levelcfo.com/benchmarks/plumbing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"plumbing","trade_name":"Plumbing","source_tier":"A","metric":"MEP public-company gross margin (plumbing exposure)","value":"21% to 28%","detail":"Comfort Systems 21-24%, Limbach 26-28% (FY2024-2025). Diversified MEP with plumbing/piping.","source":"SEC 10-K filings (FIX, LMB)","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001035983&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/plumbing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"plumbing","trade_name":"Plumbing","source_tier":"A","metric":"MEP public-company net margin","value":"6% to 11%","detail":"Limbach ~6%, Comfort Systems 7-11% (FY2024-2025).","source":"SEC 10-K filings","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001606163&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/plumbing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"plumbing","trade_name":"Plumbing","source_tier":"B","metric":"All-contractor net profit before tax","value":"6.3% (Best in Class ~11.9%)","detail":"Historical 2023 financials, reported in the 2024 edition (1,290 valid financial respondents). The 11.9% reference is the Best in Class group, top 25% ranked on performance metrics, not the 75th percentile of net margin or a healthy-firm threshold.","source":"CFMA 2024 Construction Financial Benchmarker (n=1,290)","source_url":"https://cfma.org/benchmarker","canonical_url":"https://levelcfo.com/benchmarks/plumbing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"plumbing","trade_name":"Plumbing","source_tier":"B","metric":"US plumbing contractor market size","value":"~$124-191B, ~129,000 firms","detail":"Fragmented; no firm above ~5% share. Range reflects differing report scopes.","source":"IBISWorld, Plumbers (2026)","source_url":"https://www.ibisworld.com/united-states/industry/plumbers/1946/","canonical_url":"https://levelcfo.com/benchmarks/plumbing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"electrical","trade_name":"Electrical","source_tier":"A","metric":"Public electrical field-contracting gross margin","value":"~20%","detail":"IES Holdings (IESC) Commercial & Industrial segment 20.3% FY2025. The consolidated 25.5% is above C&I 20.3% partly because it includes Infrastructure Solutions manufacturing (34.4% gross) and Communications field/network installation (23.2% gross). Residential gross margin is not shown here; no four-segment gross ranking is established.","source":"SEC 10-K filing (IESC)","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001048268&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/electrical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"electrical","trade_name":"Electrical","source_tier":"A","metric":"Electrician median wage (SOC 47-2111)","value":"$62,350/yr","detail":"Median hourly $29.98; 10th pct $39,430, 90th $106,030. One of the largest construction trades by headcount.","source":"BLS OEWS, May 2024","source_url":"https://www.bls.gov/oes/2024/may/oes472111.htm","canonical_url":"https://levelcfo.com/benchmarks/electrical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"electrical","trade_name":"Electrical","source_tier":"A","metric":"Diversified MEP operating margin (EMCOR)","value":"operating ~10%","detail":"EMCOR consolidated operating margin 10.1%, FY2025, includes a separately reported UK-sale gain contributing 85 basis points. Diversified mechanical/electrical and other work; not recurring operating margin alone.","source":"SEC 10-K filing (EME) FY2025","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000105634&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/electrical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"electrical","trade_name":"Electrical","source_tier":"B","metric":"All-contractor net profit before tax","value":"6.3% (Best in Class ~11.9%)","detail":"Historical 2023 financials, reported in the 2024 edition (1,290 valid financial respondents). The 11.9% reference is the Best in Class group, top 25% ranked on performance metrics, not the 75th percentile of net margin or a healthy-firm threshold.","source":"CFMA 2024 Construction Financial Benchmarker (n=1,290)","source_url":"https://cfma.org/benchmarker","canonical_url":"https://levelcfo.com/benchmarks/electrical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"electrical","trade_name":"Electrical","source_tier":"E","metric":"Job-level gross margin spread, all trades","value":"44.3% median, P25 28.4% (job-weighted)","detail":"Measured across 1,747,089 completed jobs, all trades pooled rather than electrical-specific. Pooled across trades; within-company and between-trade spreads are not separately measured.","source":"The Level Index (n=1,747,089 completed jobs)","source_url":"https://levelcfo.com/benchmarks/contractor/","canonical_url":"https://levelcfo.com/benchmarks/electrical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"mechanical","trade_name":"Mechanical","source_tier":"A","metric":"Public mechanical gross margin","value":"19% to 28%","detail":"Comfort Systems 21-24%, EMCOR 19%, Limbach 26-28% (FY2024-2025).","source":"SEC 10-K filings (FIX, EME, LMB)","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001035983&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/mechanical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"mechanical","trade_name":"Mechanical","source_tier":"A","metric":"Public mechanical net margin","value":"6% to 11%","detail":"Comfort Systems 7-11%, EMCOR 6.9% (retained FY2024), Limbach 6.0% (FY2025).","source":"SEC 10-K filings","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000105634&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/mechanical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"mechanical","trade_name":"Mechanical","source_tier":"D","metric":"Revenue per employee","value":"~$324K to $401K","detail":"Comfort Systems ~$401K (FY2025); retained EMCOR ~$386K and Limbach ~$324K references span FY2024-2025, with individual headcount denominators requiring verification before a current-company comparison.","source":"Computed from SEC 10-K filings","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001606163&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/mechanical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"mechanical","trade_name":"Mechanical","source_tier":"D","metric":"Mechanical DSO (implied)","value":"~90 to 118 days","detail":"EMCOR ~91, Comfort Systems ~103, Limbach ~118, computed from FY2024-2025 receivables. Reflects retainage and progress billing.","source":"Computed from SEC 10-K filings","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001035983&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/mechanical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"mechanical","trade_name":"Mechanical","source_tier":"B","metric":"CFMA specialty-trade net before tax","value":"6.9% (all-respondent Best in Class reference 11.9%)","detail":"Historical 2023 specialty-trade central reference. The 11.9% value describes the all-respondent Best in Class group, top 25% ranked by performance metrics, not a specialty-trade net-margin percentile; these are different populations.","source":"CFMA 2024 Construction Financial Benchmarker (n=1,290)","source_url":"https://cfma.org/benchmarker","canonical_url":"https://levelcfo.com/benchmarks/mechanical/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"roofing","trade_name":"Roofing","source_tier":"A","metric":"Roofer median wage (SOC 47-2181)","value":"$50,970/yr","detail":"Mean $57,090, 10th pct $37,060, 90th $80,780.","source":"BLS OEWS, May 2024","source_url":"https://www.bls.gov/oes/tables.htm","canonical_url":"https://levelcfo.com/benchmarks/roofing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"roofing","trade_name":"Roofing","source_tier":"A","metric":"Installation-trade public gross margin (proxy)","value":"30% to 34%","detail":"Installed Building Products (IBP) 33.8%, TopBuild (BLD) 30.5%, FY2024. These are insulation installers, not roofers (TopBuild's figure blends a lower-margin distribution segment), and roofing carries a different material-cost share. Treat as a loose installation-trade analog, not a roofing gross margin.","source":"SEC 10-K filings (IBP, BLD) FY2024","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001580905&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/roofing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"roofing","trade_name":"Roofing","source_tier":"B","metric":"Roofing contractor firm-wide net margin","value":"~6% (firm-wide)","detail":"Association figure, though dated (2018). Vendor blogs cite 12-25% but those are job-level or best-case, not firm-wide. We show both honestly.","source":"NRCA (National Roofing Contractors Association), 2018","source_url":"https://www.nrca.net/news","canonical_url":"https://levelcfo.com/benchmarks/roofing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"roofing","trade_name":"Roofing","source_tier":"B","metric":"US roofing market size","value":"~$92B, ~109,000 firms","detail":"Retained ~80% re-roof and 80-90% non-discretionary references lack a reproduced original population and volume/dollar basis in this release. They cannot support a current all-roofing demand forecast. Distinguish residential shingle volume, commercial work, dollar revenue and insurance/storm-driven jobs before applying a market mix.","source":"IBISWorld, Roofing Contractors (2026); Owens Corning / Beacon investor materials","source_url":"https://www.ibisworld.com/united-states/industry/roofing-contractors/1976/","canonical_url":"https://levelcfo.com/benchmarks/roofing/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"general-contractor","trade_name":"General Contractor","source_tier":"B","metric":"Industrial/nonresidential net before tax","value":"4.1%","detail":"Historical 2023 industrial/nonresidential respondent segment, not every GC. It is the lowest of the reported broad work segments; heavy-highway reports 7.2%, without isolating subcontract pass-through as the cause.","source":"CFMA 2024 Construction Financial Benchmarker (n=1,290)","source_url":"https://cfma.org/benchmarker","canonical_url":"https://levelcfo.com/benchmarks/general-contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"general-contractor","trade_name":"General Contractor","source_tier":"A","metric":"Public civil/infrastructure and building contractors, gross margin","value":"4.6% to 20%","detail":"Tutor Perini 4.6% (legacy-project impacts), Granite 14.3%, Sterling 20.1% (different work mix), FY2024. These selected civil/infrastructure and mixed-building companies are not a measured commercial-building GC cohort. Work type, unusual project outcomes and accounting definitions differ; these examples do not isolate self-perform effects.","source":"SEC 10-K filings (TPC, GVA, STRL) FY2024","source_url":"https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000077543&type=10-K","canonical_url":"https://levelcfo.com/benchmarks/general-contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"general-contractor","trade_name":"General Contractor","source_tier":"D","metric":"GC DSO (implied)","value":"~47 to 83 days","detail":"Year-end receivables divided by annual revenue times 365: Granite 511,742/4,007,574 × 365 = 46.6 days; Tutor Perini 986,893/4,326,922 × 365 = 83.2 days (inputs in $000, FY2024). Granite including contract assets: (511,742 + 328,353)/4,007,574 × 365 = 76.5 days, a different measure excluded from the displayed 47-83 range. Tutor retention and excess-of-billings balances are also excluded. These are balance ratios, not invoice cohort days or net financing cost.","source":"Level calculations from Granite and Tutor Perini FY2024 results tables; linked Granite inputs","source_url":"https://investor.graniteconstruction.com/news-and-events/press-releases/granite-reports-fourth-quarter-and-fiscal-year-2024-results","canonical_url":"https://levelcfo.com/benchmarks/general-contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"general-contractor","trade_name":"General Contractor","source_tier":"B","metric":"Best-in-class contractor gross margin / net","value":"21.8% GM / 11.9% net","detail":"Historical 2023 all-respondent Best in Class group, the top 25% ranked by performance metrics, not a GC-only sample or net-margin percentile. Net income is before tax.","source":"CFMA 2024 Construction Financial Benchmarker","source_url":"https://cfma.org/benchmarker","canonical_url":"https://levelcfo.com/benchmarks/general-contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"},{"trade_slug":"general-contractor","trade_name":"General Contractor","source_tier":"B","metric":"US construction establishments","value":"919,000+","detail":"8.0M employees, ~$2.1T structures/yr across the sector.","source":"AGC of America","source_url":"https://www.agc.org/","canonical_url":"https://levelcfo.com/benchmarks/general-contractor/","license":"Level Personal, Academic & Non-Commercial Evaluation License v1.0 (Commercial Use Requires License from sam@levelcfo.com)","commercial_licensing_contact":"sam@levelcfo.com","canary_watermark_token":"LEVEL-IP-CANARY-9F4A-7C2E-PERSONAL-USE-ONLY-CONTACT-SAM-AT-LEVELCFO-COM"}];
function esc(s) {
return String(s ?? '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
}
function fmtVal(v) {
return v === null || v === undefined ? '-' : esc(v);
}
function renderVerticals() {
const f = document.getElementById('vert-filter').value;
const rows = VERTICALS.filter(r => f === 'all' || r.vertical_slug === f);
document.getElementById('verticals-body').innerHTML = rows.map(r => `
<tr>
<td><a href="${esc(r.canonical_url)}" target="_blank" rel="noopener" style="color:var(--primary);font-weight:600;">${esc(r.vertical_label)}</a></td>
<td><strong>${esc(r.metric_label)}</strong></td>
<td><span class="badge">${esc(r.unit)}</span></td>
<td>${esc(r.reference_positions)}</td>
<td>${esc(r.definition)}</td>
<td>${esc(r.source)}</td>
</tr>
`).join('');
}
function renderAll() {
document.getElementById('contractor-body').innerHTML = CONTRACTORS.map(c => `
<tr>
<td><strong>${esc(c.label)}</strong></td>
<td><span class="badge">${esc(c.pillar)}</span></td>
<td>${esc(c.unit)}</td>
<td>${fmtVal(c.companies_n)}</td>
<td>${fmtVal(c.p10)}</td>
<td>${fmtVal(c.p25)}</td>
<td><strong>${fmtVal(c.median)}</strong></td>
<td>${fmtVal(c.mean)}</td>
<td>${fmtVal(c.p75)}</td>
<td>${fmtVal(c.p90)}</td>
<td>${esc(c.definition)} <small style="color:var(--muted);">(${esc(c.observations_basis)})</small></td>
</tr>
`).join('');
renderVerticals();
document.getElementById('valuation-body').innerHTML = VALUATION.map(v => `
<tr>
<td><a href="${esc(v.trade_benchmark_url)}" target="_blank" rel="noopener" style="color:var(--primary);font-weight:600;">${esc(v.trade_name)}</a></td>
<td><strong>${esc(v.scale_bracket)}</strong></td>
<td><strong>${esc(v.ev_ebitda_range)}</strong></td>
<td><span class="badge">${esc(v.bracket_scope)}</span></td>
<td>${esc(v.scope_note)}</td>
</tr>
`).join('');
document.getElementById('trade-facts-body').innerHTML = TRADE_FACTS.map(t => `
<tr>
<td><strong>${esc(t.trade_name)}</strong></td>
<td><span class="badge">${esc(t.source_tier)}</span></td>
<td><strong>${esc(t.metric)}</strong></td>
<td><strong>${esc(t.value)}</strong></td>
<td>${esc(t.detail)}</td>
<td>${esc(t.source)}</td>
</tr>
`).join('');
document.getElementById('publiccomps-body').innerHTML = PUBLIC_COMPS.map(p => `
<tr>
<td><strong>${esc(p.ticker)}</strong></td>
<td>${esc(p.fiscal_end)}</td>
<td>$${fmtVal(p.revenue)}M</td>
<td>$${fmtVal(p.operating_cash_flow)}M</td>
<td>$${fmtVal(p.cash_ppe_purchases)}M</td>
<td><strong>$${fmtVal(p.fcf_ocf_minus_cash_ppe)}M</strong></td>
<td><strong>${fmtVal(p.fcf_margin_pct)}%</strong></td>
<td>${fmtVal(p.cash_capex_revenue_pct)}%</td>
<td>${fmtVal(p.roe_closing_equity_pct)}%</td>
<td>${fmtVal(p.roe_two_balance_avg_equity_pct)}%</td>
</tr>
`).join('');
}
function switchTab(id, btn) {
['contractor', 'verticals', 'valuation', 'publiccomps'].forEach(t => {
document.getElementById('tab-' + t).classList.toggle('hidden', t !== id);
});
document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
btn.classList.add('active');
}
renderAll();
</script>
</body>
</html>