How big is your contractor market?
Serviceable annual services demand, employer-firm density by revenue tier, and local labor benchmarks for roofing, HVAC, and commercial cleaning in every state. National totals are anchored to contractor-services revenue (roofing ~$70B, HVAC services ~$24B, commercial janitorial ~$60B); the state split is allocated by housing and commercial activity.
Last updated 2026-07-18. Anchored-and-allocated estimates, directional market sizing, not an independent per-state survey. Free to cite with attribution to Level (levelcfo.com).
What's my market worth?
Serviceable annual demand
$6.18B
$3.58B residential / $2.60B commercial (42% commercial)
Employer firms
2,265
776 at $1-5M · 113 at $5-10M · 56 at $10-25M
US Census employer firms (SUSB); the named tiers are the $1M+ segment. Excludes no-payroll sole proprietors.
Healthy financials (upper anchor)
34% GM
Installed Building Products (FY2025, public), a large scaled operator, upper reference not a typical private contractor.
National median wage for this trade: $24.51/hr (BLS OES, May 2024). State-level wages vary; this is the national figure.
How this is estimated: Total serviceable demand = residential + commercial, allocated to the state from the corrected national services-market anchor by a modeled housing + commercial-activity share (not a measured state floorspace estimate). Residential tracks Census single-family stock and replacement cycle; commercial uses a nonfarm-employment-weighted share. Firm counts are US Census SUSB employer firms (paid-employee businesses that compete for $1M+ work), not a registry pull. Building-permit records inform value MIX only (partial capture).
Competitor counts are US Census employer firms (Statistics of U.S. Businesses): businesses with paid employees, which is the universe that actually competes for $1M+ contracts. It excludes the large tail of no-payroll sole proprietors (who average well under $100K/yr). Revenue-tier splits use the SUSB receipt-size tables (2017, the latest Census publishes receipts for). HVAC is reported as its analyst-estimated share of the combined plumbing+heating+AC NAICS 238220 code, since Census does not isolate HVAC.
Market size by state
Roofing, HVAC, and commercial cleaning services demand plus employer-firm density for every state.
The labor market behind the demand
Market size tells you how much work is out there; wages tell you what it costs to staff for it. For what a healthy contractor actually earns, margins, collection rates, DSO, and revenue per employee from public-company filings and the 2,200-contractor dataset, see the contractor financial benchmarks.
National median wages by trade (BLS OES)
National figures. State-level wages vary; these are the national BLS medians.
Full market-size table (all states and trades)
Every one of the 153 rows: serviceable annual demand with residential/commercial split and Census employer-firm counts by revenue tier. Free to cite with attribution.
| State | Trade | Annual demand | Residential | Commercial | Firms $1-5M | Firms $5-10M | Firms $10-25M |
|---|---|---|---|---|---|---|---|
| Alaska | Commercial Cleaning | $128.3M | $0 | $128.3M | 10 | 3 | 0 |
| Alaska | HVAC | $51.6M | $28.4M | $23.2M | 37 | 7 | 2 |
| Alaska | Roofing | $150.9M | $87.5M | $63.4M | 12 | 2 | 1 |
| Alabama | Commercial Cleaning | $838.4M | $0 | $838.4M | 50 | 12 | 5 |
| Alabama | HVAC | $376.6M | $207.1M | $169.5M | 124 | 27 | 9 |
| Alabama | Roofing | $1.2B | $670.2M | $485.3M | 73 | 14 | 7 |
| Arkansas | Commercial Cleaning | $509.1M | $0 | $509.1M | 22 | 7 | 1 |
| Arkansas | HVAC | $226.6M | $124.6M | $102.0M | 90 | 17 | 7 |
| Arkansas | Roofing | $692.7M | $401.8M | $290.9M | 46 | 7 | 4 |
| Arizona | Commercial Cleaning | $1.2B | $0 | $1.2B | 226 | 44 | 8 |
| Arizona | HVAC | $515.6M | $283.6M | $232.0M | 594 | 66 | 24 |
| Arizona | Roofing | $1.5B | $887.0M | $642.3M | 276 | 43 | 20 |
| California | Commercial Cleaning | $6.9B | $0 | $6.9B | 670 | 167 | 34 |
| California | HVAC | $2.6B | $1.4B | $1.2B | 1,824 | 300 | 89 |
| California | Roofing | $7.2B | $4.2B | $3.0B | 798 | 128 | 68 |
| Colorado | Commercial Cleaning | $1.1B | $0 | $1.1B | 105 | 24 | 6 |
| Colorado | HVAC | $436.7M | $240.2M | $196.5M | 289 | 57 | 19 |
| Colorado | Roofing | $1.3B | $728.6M | $527.6M | 227 | 40 | 20 |
| Connecticut | Commercial Cleaning | $652.6M | $0 | $652.6M | 62 | 16 | 5 |
| Connecticut | HVAC | $257.3M | $141.5M | $115.8M | 193 | 29 | 12 |
| Connecticut | Roofing | $745.2M | $432.2M | $313.0M | 108 | 14 | 7 |
| District of Columbia | Commercial Cleaning | $271.8M | $0 | $271.8M | 10 | 2 | 1 |
| District of Columbia | HVAC | $74.6M | $41.0M | $33.6M | 17 | 3 | 1 |
| District of Columbia | Roofing | $170.3M | $98.8M | $71.5M | 11 | 1 | 0 |
| Delaware | Commercial Cleaning | $188.1M | $0 | $188.1M | 19 | 4 | 2 |
| Delaware | HVAC | $76.0M | $41.8M | $34.2M | 46 | 8 | 4 |
| Delaware | Roofing | $222.9M | $129.3M | $93.6M | 27 | 4 | 3 |
| Florida | Commercial Cleaning | $3.8B | $0 | $3.8B | 443 | 121 | 24 |
| Florida | HVAC | $1.6B | $865.3M | $707.9M | 969 | 184 | 60 |
| Florida | Roofing | $4.7B | $2.7B | $2.0B | 533 | 82 | 43 |
| Georgia | Commercial Cleaning | $1.9B | $0 | $1.9B | 317 | 51 | 14 |
| Georgia | HVAC | $760.1M | $418.1M | $342.0M | 702 | 88 | 32 |
| Georgia | Roofing | $2.2B | $1.3B | $932.7M | 442 | 48 | 22 |
| Hawaii | Commercial Cleaning | $244.5M | $0 | $244.5M | 18 | 5 | 2 |
| Hawaii | HVAC | $90.8M | $50.0M | $40.9M | 36 | 9 | 1 |
| Hawaii | Roofing | $255.2M | $148.0M | $107.2M | 22 | 4 | 1 |
| Iowa | Commercial Cleaning | $600.0M | $0 | $600.0M | 31 | 10 | 2 |
| Iowa | HVAC | $256.4M | $141.0M | $115.4M | 84 | 21 | 8 |
| Iowa | Roofing | $770.7M | $447.0M | $323.7M | 68 | 12 | 4 |
| Idaho | Commercial Cleaning | $335.8M | $0 | $335.8M | 27 | 6 | 2 |
| Idaho | HVAC | $142.6M | $78.5M | $64.2M | 65 | 13 | 5 |
| Idaho | Roofing | $427.6M | $248.0M | $179.6M | 47 | 6 | 4 |
| Illinois | Commercial Cleaning | $2.3B | $0 | $2.3B | 157 | 42 | 9 |
| Illinois | HVAC | $922.9M | $507.6M | $415.3M | 471 | 89 | 28 |
| Illinois | Roofing | $2.7B | $1.6B | $1.1B | 272 | 50 | 19 |
| Indiana | Commercial Cleaning | $1.2B | $0 | $1.2B | 75 | 25 | 6 |
| Indiana | HVAC | $518.2M | $285.0M | $233.2M | 204 | 43 | 13 |
| Indiana | Roofing | $1.5B | $895.8M | $648.7M | 139 | 21 | 10 |
| Kansas | Commercial Cleaning | $556.4M | $0 | $556.4M | 36 | 12 | 3 |
| Kansas | HVAC | $230.9M | $127.0M | $103.9M | 97 | 22 | 6 |
| Kansas | Roofing | $685.0M | $397.3M | $287.7M | 68 | 13 | 7 |
| Kentucky | Commercial Cleaning | $768.8M | $0 | $768.8M | 40 | 8 | 3 |
| Kentucky | HVAC | $334.2M | $183.8M | $150.4M | 111 | 22 | 11 |
| Kentucky | Roofing | $1.0B | $586.8M | $424.9M | 66 | 8 | 6 |
| Louisiana | Commercial Cleaning | $758.2M | $0 | $758.2M | 48 | 10 | 4 |
| Louisiana | HVAC | $330.5M | $181.8M | $148.7M | 170 | 33 | 10 |
| Louisiana | Roofing | $1.0B | $581.0M | $420.7M | 83 | 13 | 5 |
| Massachusetts | Commercial Cleaning | $1.4B | $0 | $1.4B | 126 | 26 | 9 |
| Massachusetts | HVAC | $515.4M | $283.5M | $231.9M | 362 | 60 | 19 |
| Massachusetts | Roofing | $1.4B | $820.2M | $593.9M | 188 | 25 | 12 |
| Maryland | Commercial Cleaning | $1.1B | $0 | $1.1B | 115 | 28 | 8 |
| Maryland | HVAC | $406.5M | $223.6M | $182.9M | 302 | 55 | 20 |
| Maryland | Roofing | $1.1B | $666.0M | $482.3M | 148 | 24 | 19 |
| Maine | Commercial Cleaning | $246.8M | $0 | $246.8M | 20 | 5 | 1 |
| Maine | HVAC | $117.5M | $64.6M | $52.9M | 52 | 7 | 2 |
| Maine | Roofing | $368.6M | $213.8M | $154.8M | 31 | 4 | 2 |
| Michigan | Commercial Cleaning | $1.7B | $0 | $1.7B | 132 | 33 | 9 |
| Michigan | HVAC | $769.1M | $423.0M | $346.1M | 304 | 55 | 17 |
| Michigan | Roofing | $2.4B | $1.4B | $993.6M | 181 | 27 | 16 |
| Minnesota | Commercial Cleaning | $1.1B | $0 | $1.1B | 89 | 20 | 6 |
| Minnesota | HVAC | $461.1M | $253.6M | $207.5M | 254 | 40 | 20 |
| Minnesota | Roofing | $1.3B | $781.5M | $565.9M | 166 | 29 | 15 |
| Missouri | Commercial Cleaning | $1.1B | $0 | $1.1B | 78 | 19 | 4 |
| Missouri | HVAC | $472.6M | $259.9M | $212.7M | 230 | 39 | 11 |
| Missouri | Roofing | $1.4B | $812.1M | $588.1M | 166 | 24 | 15 |
| Mississippi | Commercial Cleaning | $458.0M | $0 | $458.0M | 20 | 4 | 1 |
| Mississippi | HVAC | $210.7M | $115.9M | $94.8M | 54 | 13 | 4 |
| Mississippi | Roofing | $652.8M | $378.6M | $274.2M | 27 | 5 | 2 |
| Montana | Commercial Cleaning | $198.0M | $0 | $198.0M | 11 | 3 | 0 |
| Montana | HVAC | $86.4M | $47.5M | $38.9M | 38 | 7 | 2 |
| Montana | Roofing | $262.0M | $152.0M | $110.1M | 28 | 3 | 1 |
| North Carolina | Commercial Cleaning | $1.9B | $0 | $1.9B | 162 | 36 | 9 |
| North Carolina | HVAC | $783.9M | $431.2M | $352.8M | 442 | 72 | 21 |
| North Carolina | Roofing | $2.3B | $1.3B | $976.1M | 223 | 33 | 13 |
| North Dakota | Commercial Cleaning | $169.2M | $0 | $169.2M | 8 | 2 | 1 |
| North Dakota | HVAC | $66.4M | $36.5M | $29.9M | 30 | 5 | 3 |
| North Dakota | Roofing | $191.7M | $111.2M | $80.5M | 15 | 2 | 2 |
| Nebraska | Commercial Cleaning | $395.9M | $0 | $395.9M | 24 | 5 | 2 |
| Nebraska | HVAC | $160.5M | $88.3M | $72.2M | 66 | 13 | 5 |
| Nebraska | Roofing | $471.0M | $273.2M | $197.8M | 54 | 10 | 7 |
| New Hampshire | Commercial Cleaning | $266.5M | $0 | $266.5M | 23 | 6 | 0 |
| New Hampshire | HVAC | $109.0M | $59.9M | $49.0M | 72 | 18 | 4 |
| New Hampshire | Roofing | $321.1M | $186.2M | $134.9M | 43 | 7 | 3 |
| New Jersey | Commercial Cleaning | $1.7B | $0 | $1.7B | 160 | 60 | 9 |
| New Jersey | HVAC | $629.1M | $346.0M | $283.1M | 391 | 73 | 32 |
| New Jersey | Roofing | $1.8B | $1.0B | $750.2M | 208 | 29 | 11 |
| New Mexico | Commercial Cleaning | $330.5M | $0 | $330.5M | 17 | 5 | 1 |
| New Mexico | HVAC | $146.6M | $80.6M | $66.0M | 59 | 13 | 7 |
| New Mexico | Roofing | $447.5M | $259.6M | $188.0M | 29 | 5 | 3 |
| Nevada | Commercial Cleaning | $579.5M | $0 | $579.5M | 52 | 14 | 2 |
| Nevada | HVAC | $223.1M | $122.7M | $100.4M | 94 | 20 | 6 |
| Nevada | Roofing | $638.8M | $370.5M | $268.3M | 47 | 7 | 6 |
| New York | Commercial Cleaning | $3.7B | $0 | $3.7B | 264 | 69 | 15 |
| New York | HVAC | $1.3B | $714.8M | $584.8M | 876 | 150 | 41 |
| New York | Roofing | $3.6B | $2.1B | $1.5B | 390 | 51 | 22 |
| Ohio | Commercial Cleaning | $2.1B | $0 | $2.1B | 143 | 38 | 10 |
| Ohio | HVAC | $898.1M | $493.9M | $404.1M | 359 | 77 | 28 |
| Ohio | Roofing | $2.7B | $1.6B | $1.1B | 265 | 44 | 22 |
| Oklahoma | Commercial Cleaning | $665.5M | $0 | $665.5M | 42 | 9 | 1 |
| Oklahoma | HVAC | $290.8M | $159.9M | $130.8M | 162 | 24 | 9 |
| Oklahoma | Roofing | $882.1M | $511.6M | $370.5M | 88 | 14 | 3 |
| Oregon | Commercial Cleaning | $771.4M | $0 | $771.4M | 58 | 12 | 2 |
| Oregon | HVAC | $307.9M | $169.4M | $138.6M | 127 | 25 | 8 |
| Oregon | Roofing | $897.2M | $520.3M | $376.8M | 86 | 15 | 6 |
| Pennsylvania | Commercial Cleaning | $2.3B | $0 | $2.3B | 180 | 50 | 15 |
| Pennsylvania | HVAC | $963.1M | $529.7M | $433.4M | 532 | 82 | 33 |
| Pennsylvania | Roofing | $2.9B | $1.7B | $1.2B | 288 | 43 | 22 |
| Rhode Island | Commercial Cleaning | $194.9M | $0 | $194.9M | 15 | 3 | 2 |
| Rhode Island | HVAC | $75.0M | $41.2M | $33.7M | 38 | 5 | 1 |
| Rhode Island | Roofing | $214.6M | $124.5M | $90.1M | 23 | 4 | 2 |
| South Carolina | Commercial Cleaning | $910.7M | $0 | $910.7M | 65 | 14 | 5 |
| South Carolina | HVAC | $390.0M | $214.5M | $175.5M | 151 | 33 | 10 |
| South Carolina | Roofing | $1.2B | $680.5M | $492.8M | 75 | 14 | 4 |
| South Dakota | Commercial Cleaning | $178.3M | $0 | $178.3M | 9 | 2 | 0 |
| South Dakota | HVAC | $72.9M | $40.1M | $32.8M | 35 | 6 | 2 |
| South Dakota | Roofing | $214.9M | $124.6M | $90.2M | 19 | 3 | 1 |
| Tennessee | Commercial Cleaning | $1.3B | $0 | $1.3B | 83 | 21 | 5 |
| Tennessee | HVAC | $530.1M | $291.6M | $238.6M | 212 | 45 | 17 |
| Tennessee | Roofing | $1.6B | $911.3M | $659.9M | 132 | 21 | 11 |
| Texas | Commercial Cleaning | $5.5B | $0 | $5.5B | 424 | 97 | 24 |
| Texas | HVAC | $2.1B | $1.2B | $962.7M | 1,348 | 231 | 67 |
| Texas | Roofing | $6.2B | $3.6B | $2.6B | 776 | 113 | 56 |
| Utah | Commercial Cleaning | $675.7M | $0 | $675.7M | 51 | 14 | 4 |
| Utah | HVAC | $253.3M | $139.3M | $114.0M | 165 | 24 | 10 |
| Utah | Roofing | $715.5M | $415.0M | $300.5M | 95 | 14 | 9 |
| Virginia | Commercial Cleaning | $1.6B | $0 | $1.6B | 147 | 40 | 10 |
| Virginia | HVAC | $628.8M | $345.8M | $283.0M | 325 | 63 | 23 |
| Virginia | Roofing | $1.8B | $1.1B | $762.9M | 172 | 33 | 14 |
| Vermont | Commercial Cleaning | $117.3M | $0 | $117.3M | 14 | 2 | 1 |
| Vermont | HVAC | $52.1M | $28.6M | $23.4M | 49 | 5 | 3 |
| Vermont | Roofing | $159.0M | $92.2M | $66.8M | 27 | 3 | 1 |
| Washington | Commercial Cleaning | $1.4B | $0 | $1.4B | 110 | 27 | 7 |
| Washington | HVAC | $547.8M | $301.3M | $246.5M | 260 | 54 | 20 |
| Washington | Roofing | $1.6B | $923.2M | $668.5M | 173 | 27 | 11 |
| Wisconsin | Commercial Cleaning | $1.2B | $0 | $1.2B | 70 | 15 | 5 |
| Wisconsin | HVAC | $471.3M | $259.2M | $212.1M | 207 | 39 | 14 |
| Wisconsin | Roofing | $1.4B | $806.2M | $583.8M | 142 | 21 | 11 |
| West Virginia | Commercial Cleaning | $275.2M | $0 | $275.2M | 15 | 3 | 1 |
| West Virginia | HVAC | $136.6M | $75.2M | $61.5M | 52 | 8 | 2 |
| West Virginia | Roofing | $435.3M | $252.5M | $182.8M | 21 | 2 | 1 |
| Wyoming | Commercial Cleaning | $112.0M | $0 | $112.0M | 8 | 1 | 0 |
| Wyoming | HVAC | $47.3M | $26.0M | $21.3M | 31 | 4 | 1 |
| Wyoming | Roofing | $141.5M | $82.1M | $59.4M | 13 | 1 | 1 |
Methodology
National contractor-services revenue is anchored to definition-matched public figures: roofing ~$70B (US Census 2022 Economic Census, NAICS 238160 employer receipts), HVAC services ~$24B (industry research; residential is the larger share in the US), and commercial janitorial ~$60B (a commercial-only slice of the ~$80B US janitorial total). Each national total is allocated to states by that state's relative share of housing (residential) and commercial activity (commercial), then residential vs commercial is split by the national-average share for the trade. Competitor counts are US Census SUSB employer firms by revenue tier (receipt-size tables), redistributed to states by each state's relative share. This is directional market sizing; treat the numbers as estimates and read residential/commercial as an assumed split, not a measured one.
Sources: US Census ACS (DP04, B25001, B25024, B25035); US Census County Business Patterns + Economic Census (commercial establishment and payroll share by state); US Census Building Permits Survey (public county and state building-permit records); Public county tax-assessor and building-permit records; US Census Statistics of U.S. Businesses (SUSB), employer firms by revenue tier (2017 receipt-size, 2022 firm totals), NAICS 238160 / 238220 / 561720; US Census 2022 Economic Census (roofing receipts); industry research for HVAC services and commercial janitorial, definition-matched to contractor-services revenue. Directional market sizing, not an independent per-state survey. National totals are anchored to definition-matched published figures (contractor-services revenue, not materials markets); the state distribution is a modeled share and residential vs commercial is applied as a national-average split, not measured per state. Figures are estimates, ranges where noted.
Frequently asked questions
How much roofing, HVAC, or cleaning work is out there in my state?
We anchor to contractor-services revenue, not materials markets: US roofing contractor services are roughly $70B a year (US Census 2022 Economic Census receipts for roofing contractors), US HVAC services about $24B, and commercial janitorial about $60B. Each national total is allocated to states by that state's share of housing (residential work) and commercial activity (commercial work). Treat the state figures as directional estimates, not an independent per-state survey.
How many contractors compete in my state and trade?
The table shows US Census employer firms (businesses with employees) by state and trade, split into $1-5M, $5-10M, and $10-25M revenue tiers from the Census SUSB receipt-size tables. Employer firms are the universe that actually competes for $1M-plus work; the counts exclude the large tail of no-payroll sole proprietors. HVAC is reported as its analyst-estimated share of the combined plumbing+heating+AC NAICS 238220 code, since Census does not isolate HVAC.
What are healthy financials for a contractor?
That is an operating-margin question rather than a market-size one, so it lives on our contractor financial benchmarks page (levelcfo.com/benchmarks/contractor), which covers job margin, collection rate, DSO, and the public-company anchors from FY2025 SEC filings. This page focuses on how big your market is and how many competitors you face.
Are these market-size numbers measured or estimated?
They are anchored-and-allocated estimates. National totals tie to definition-matched contractor-services figures; the state distribution is a modeled share of housing and commercial activity, and residential vs commercial is applied as a national-average split. Directional market sizing, not an independent per-state survey. Every row carries its calculation method.
Related contractor benchmarks
Make more money with the crew you already have
Drop your info and we’ll show where your team’s time is turning into margin, where it is getting wasted, and where cash is trapped in open jobs. Free audit included.
No commitment. Real numbers, not generic advice.