What does labor cost for an HVAC, plumbing, electrical, cleaning or landscaping business in your metro, compared with the rest of the country? The 2026 LeadDuo Contractor Labor Cost Index answers that for the 50 largest U.S. metro areas, using public wage statistics from the U.S. Bureau of Labor Statistics (BLS) and regional price levels from the U.S. Bureau of Economic Analysis (BEA).
For each trade and metro you get a Cost Index (U.S. = 100), the median hourly wage, the typical wage range, and how wages in that part of the industry moved over the last three years. These are labor-cost figures for planning — they are not prices and they are not what contractors charge.
What you’ll get from this guide
- Plumbing has the widest spread: San Jose scores 157.0 on the Cost Index and Tampa 85.4. Electricians are close behind — Portland 154.2, Seattle 151.1, Chicago 150.3; Orlando is lowest at 84.6.
- HVAC is highest in San Jose (129.7), Seattle (127.3) and San Francisco (126.0), and lowest in Birmingham (82.2).
- Cleaning is highest in San Jose (130.7) and Las Vegas (128.5) and lowest in New Orleans (81.4). Landscaping has the narrowest spread: Boston 121.9 to New Orleans 90.9.
- National median hourly wages (May 2025): HVAC technicians $29.33, plumbers $30.67, electricians $30.38, maids and housekeeping cleaners $17.07, landscaping workers $18.82.
- Three-year wage growth (2022 Q2 → 2025 Q2): +16.2% for HVAC, plumbing and electrical contractors nationally (fastest: Buffalo +29.8%, Columbus +29.3%) and +12.6% for cleaning and landscaping services (fastest: Birmingham +20.8%).
- The same metro can rank very differently by trade: Chicago is 150.4 for plumbers but 123.0 for HVAC technicians.
U.S. benchmarks at a glance
$29.33
HVAC technician median wage / hr
$30.67
Plumber median wage / hr
$30.38
Electrician median wage / hr
$17.07
Maid & housekeeping cleaner median wage / hr
$18.82
Landscaping worker median wage / hr
+16.2%
3-yr wage change, HVAC / plumbing / electrical contractors
+12.6%
3-yr wage change, cleaning & landscaping services
50
Largest U.S. metros covered
How to read the index
The national level is 100. An index of 125 means labor-cost pressure for that trade in that metro runs about 25% above the national level; 90 means about 10% below. The index is driven mainly by local wages for the trade's occupation compared with the national median, adjusted for regional price levels, so it does not always match the wage gap exactly.
- It is relative labor-cost pressure, not a price. It does not tell you what a job costs or what contractors charge.
- Wages are not billable rates. To turn a wage into an hourly rate you can bill, add payroll taxes and workers' comp, unbilled drive and admin time, truck and overhead, and your profit margin.
- Each trade has its own index. Compare a metro with the U.S. within one trade, not one trade with another.
- Median is the middle wage; the typical range runs from the 25th to the 75th percentile, where half of workers in the occupation fall.
HVAC technicians: Cost Index and hourly wages in the 50 largest metros
| Metro | Cost Index (U.S. = 100) | Median wage | Typical range (P25–P75) |
|---|---|---|---|
| San Jose (CA) | 129.7 | $39.45 | $30.69–$51.26 |
| Seattle (WA) | 127.3 | $38.51 | $29.98–$48.65 |
| San Francisco (CA) | 126.0 | $37.73 | $29.78–$48.98 |
| New York (NY-NJ) | 124.8 | $37.50 | $29.49–$44.88 |
| Boston (MA-NH) | 124.6 | $37.75 | $29.68–$46.76 |
| Chicago (IL-IN) | 123.0 | $37.48 | $29.35–$46.53 |
| Minneapolis–St. Paul (MN-WI) | 122.6 | $37.25 | $29.02–$44.55 |
| San Diego (CA) | 120.6 | $36.00 | $28.05–$44.08 |
| Hartford (CT) | 120.5 | $36.63 | $29.27–$41.11 |
| Los Angeles (CA) | 119.5 | $35.49 | $27.99–$40.14 |
| Washington, DC | 116.1 | $34.58 | $27.72–$42.90 |
| Denver (CO) | 115.0 | $34.41 | $28.40–$43.46 |
| Sacramento (CA) | 108.8 | $32.06 | $24.87–$39.77 |
| Providence (RI-MA) | 108.7 | $32.39 | $24.73–$40.62 |
| Portland (OR-WA) | 106.7 | $31.38 | $28.93–$39.11 |
| Riverside–San Bernardino (CA) | 105.6 | $30.92 | $24.99–$37.65 |
| Philadelphia (PA-NJ-DE-MD) | 105.2 | $31.05 | $25.00–$37.99 |
| Baltimore (MD) | 103.8 | $30.38 | $25.54–$40.84 |
| Columbus (OH) | 103.6 | $30.98 | $23.57–$38.88 |
| Detroit (MI) | 102.9 | $30.37 | $23.19–$38.84 |
| Milwaukee (WI) | 101.9 | $30.25 | $25.87–$39.45 |
| New Orleans (LA) | 101.8 | $30.53 | $22.49–$33.96 |
| St. Louis (MO-IL) | 101.6 | $30.29 | $23.58–$37.90 |
| Cleveland (OH) | 101.1 | $30.19 | $24.06–$37.67 |
| Phoenix (AZ) | 100.9 | $29.41 | $22.80–$36.00 |
| Kansas City (MO-KS) | 100.7 | $30.14 | $24.14–$36.69 |
| Buffalo (NY) | 100.7 | $29.89 | $23.99–$37.33 |
| Cincinnati (OH-KY-IN) | 100.7 | $29.92 | $23.45–$37.74 |
| Indianapolis (IN) | 100.7 | $29.89 | $24.03–$42.25 |
| Pittsburgh (PA) | 100.4 | $29.87 | $23.70–$35.73 |
| Salt Lake City (UT) | 99.9 | $29.23 | $22.87–$36.24 |
| Austin (TX) | 99.4 | $29.24 | $23.59–$35.97 |
| Las Vegas (NV) | 99.0 | $28.96 | $23.09–$36.82 |
| Miami (FL) | 98.9 | $27.90 | $23.29–$34.90 |
| Dallas–Fort Worth (TX) | 98.7 | $28.63 | $23.01–$35.71 |
| Nashville (TN) | 98.3 | $28.97 | $23.31–$34.30 |
| Charlotte (NC-SC) | 97.9 | $28.77 | $23.05–$33.54 |
| Virginia Beach (VA-NC) | 97.6 | $28.59 | $23.02–$33.79 |
| Atlanta (GA) | 97.3 | $28.35 | $22.85–$35.91 |
| Richmond (VA) | 97.1 | $28.43 | $22.70–$31.59 |
| Houston (TX) | 97.0 | $28.34 | $22.61–$35.53 |
| Oklahoma City (OK) | 96.9 | $28.91 | $21.62–$35.08 |
| Raleigh (NC) | 96.9 | $28.32 | $22.83–$31.42 |
| Jacksonville (FL) | 96.7 | $28.17 | $22.72–$33.23 |
| Louisville (KY-IN) | 95.9 | $28.33 | $23.18–$32.79 |
| San Antonio (TX) | 95.8 | $28.17 | $22.38–$35.58 |
| Memphis (TN-MS-AR) | 92.9 | $27.30 | $22.76–$34.85 |
| Orlando (FL) | 87.8 | $24.74 | $22.29–$30.36 |
| Tampa (FL) | 86.5 | $24.30 | $22.47–$29.72 |
| Birmingham (AL) | 82.2 | $23.43 | $20.50–$29.05 |
U.S.: median $29.33/hr, typical range $23.25–$37.05. Wages: BLS OEWS, May 2025, SOC 49-9021, hourly. Sorted by Cost Index, highest first. Cost Index values are LeadDuo calculations, not prices.
Plumbers: Cost Index and hourly wages in the 50 largest metros
| Metro | Cost Index (U.S. = 100) | Median wage | Typical range (P25–P75) |
|---|---|---|---|
| San Jose (CA) | 157.0 | $51.71 | $36.56–$74.81 |
| Chicago (IL-IN) | 150.4 | $49.70 | $35.72–$58.91 |
| Minneapolis–St. Paul (MN-WI) | 148.4 | $48.86 | $31.39–$55.28 |
| Portland (OR-WA) | 147.8 | $48.56 | $34.83–$61.71 |
| Boston (MA-NH) | 143.0 | $46.52 | $30.12–$56.68 |
| Seattle (WA) | 141.6 | $45.78 | $29.83–$60.93 |
| Detroit (MI) | 128.4 | $41.53 | $29.42–$47.91 |
| Milwaukee (WI) | 125.6 | $40.72 | $29.98–$51.92 |
| New York (NY-NJ) | 121.1 | $37.79 | $29.76–$51.91 |
| San Francisco (CA) | 120.8 | $37.44 | $30.12–$58.54 |
| Providence (RI-MA) | 120.4 | $38.37 | $27.76–$51.30 |
| Hartford (CT) | 117.4 | $37.11 | $28.16–$44.86 |
| Indianapolis (IN) | 115.7 | $37.01 | $28.76–$46.87 |
| St. Louis (MO-IL) | 115.6 | $37.02 | $27.61–$49.92 |
| Philadelphia (PA-NJ-DE-MD) | 114.4 | $35.99 | $29.28–$49.89 |
| Kansas City (MO-KS) | 114.0 | $36.61 | $27.42–$47.59 |
| San Diego (CA) | 113.3 | $34.86 | $29.52–$45.42 |
| Louisville (KY-IN) | 112.3 | $35.91 | $24.84–$42.51 |
| Los Angeles (CA) | 111.9 | $34.19 | $28.15–$48.70 |
| Washington, DC | 111.9 | $34.55 | $26.82–$45.22 |
| Buffalo (NY) | 109.8 | $34.73 | $24.67–$45.04 |
| Pittsburgh (PA) | 106.8 | $33.70 | $28.74–$40.80 |
| Sacramento (CA) | 103.1 | $31.35 | $27.08–$41.03 |
| Riverside–San Bernardino (CA) | 101.5 | $30.73 | $25.57–$39.06 |
| Salt Lake City (UT) | 101.4 | $31.15 | $24.49–$38.34 |
| Denver (CO) | 101.3 | $30.72 | $28.81–$39.11 |
| Cincinnati (OH-KY-IN) | 100.8 | $31.33 | $24.18–$40.74 |
| Phoenix (AZ) | 100.6 | $30.65 | $26.17–$43.50 |
| Baltimore (MD) | 100.1 | $30.38 | $26.38–$39.76 |
| Columbus (OH) | 98.4 | $30.41 | $23.72–$41.05 |
| Austin (TX) | 98.4 | $30.20 | $23.44–$38.32 |
| Cleveland (OH) | 97.8 | $30.30 | $24.28–$39.94 |
| Dallas–Fort Worth (TX) | 97.4 | $29.45 | $23.04–$36.20 |
| Virginia Beach (VA-NC) | 97.2 | $29.75 | $23.80–$31.49 |
| New Orleans (LA) | 96.9 | $30.03 | $24.43–$36.43 |
| Richmond (VA) | 96.7 | $29.56 | $23.32–$34.63 |
| Houston (TX) | 96.6 | $29.47 | $23.68–$36.39 |
| Raleigh (NC) | 95.5 | $29.10 | $23.26–$33.66 |
| Miami (FL) | 95.3 | $27.77 | $22.86–$30.75 |
| Las Vegas (NV) | 94.9 | $28.70 | $22.78–$42.13 |
| Nashville (TN) | 94.7 | $28.90 | $23.57–$36.10 |
| Jacksonville (FL) | 93.8 | $28.33 | $22.89–$30.74 |
| Birmingham (AL) | 93.7 | $28.89 | $23.67–$30.98 |
| Atlanta (GA) | 93.2 | $28.07 | $22.09–$34.59 |
| Charlotte (NC-SC) | 93.1 | $28.22 | $22.80–$30.88 |
| Oklahoma City (OK) | 92.3 | $28.44 | $22.73–$38.02 |
| Memphis (TN-MS-AR) | 92.0 | $28.22 | $22.82–$36.24 |
| San Antonio (TX) | 91.9 | $27.97 | $22.23–$32.94 |
| Orlando (FL) | 89.7 | $26.62 | $22.85–$29.69 |
| Tampa (FL) | 85.4 | $25.00 | $23.43–$29.67 |
U.S.: median $30.67/hr, typical range $24.13–$40.92. Wages: BLS OEWS, May 2025, SOC 47-2152, hourly. Sorted by Cost Index, highest first. Cost Index values are LeadDuo calculations, not prices.
Electricians: Cost Index and hourly wages in the 50 largest metros
| Metro | Cost Index (U.S. = 100) | Median wage | Typical range (P25–P75) |
|---|---|---|---|
| Portland (OR-WA) | 154.2 | $50.53 | $37.95–$60.26 |
| Seattle (WA) | 151.1 | $48.93 | $36.35–$60.55 |
| Chicago (IL-IN) | 150.3 | $49.21 | $35.77–$57.05 |
| San Francisco (CA) | 140.7 | $44.63 | $33.70–$62.63 |
| San Jose (CA) | 137.4 | $43.77 | $30.49–$61.79 |
| Minneapolis–St. Paul (MN-WI) | 124.6 | $39.37 | $28.52–$50.43 |
| Detroit (MI) | 123.9 | $39.42 | $28.96–$45.36 |
| Boston (MA-NH) | 122.8 | $38.42 | $28.03–$49.11 |
| New York (NY-NJ) | 122.6 | $37.99 | $29.81–$60.59 |
| Hartford (CT) | 118.9 | $37.34 | $28.18–$45.20 |
| San Diego (CA) | 118.8 | $36.62 | $28.90–$48.92 |
| Milwaukee (WI) | 117.9 | $37.41 | $27.48–$47.39 |
| Washington, DC | 117.9 | $36.50 | $28.40–$49.65 |
| Buffalo (NY) | 117.8 | $37.47 | $27.73–$44.80 |
| St. Louis (MO-IL) | 116.7 | $37.10 | $26.13–$47.45 |
| Los Angeles (CA) | 116.2 | $35.49 | $28.29–$49.01 |
| Sacramento (CA) | 116.1 | $35.98 | $25.35–$47.18 |
| Kansas City (MO-KS) | 115.8 | $36.95 | $25.41–$46.85 |
| Philadelphia (PA-NJ-DE-MD) | 114.9 | $35.86 | $27.84–$50.11 |
| Providence (RI-MA) | 114.0 | $35.57 | $26.62–$45.42 |
| Riverside–San Bernardino (CA) | 113.5 | $35.00 | $26.00–$46.89 |
| Las Vegas (NV) | 109.8 | $34.08 | $23.26–$46.72 |
| Cleveland (OH) | 108.5 | $34.07 | $24.21–$41.47 |
| Pittsburgh (PA) | 106.7 | $33.34 | $27.39–$47.62 |
| Baltimore (MD) | 104.0 | $31.54 | $26.96–$44.20 |
| Indianapolis (IN) | 101.6 | $31.31 | $23.16–$41.97 |
| Denver (CO) | 101.1 | $30.36 | $23.52–$38.28 |
| Columbus (OH) | 101.0 | $31.11 | $24.19–$38.45 |
| Cincinnati (OH-KY-IN) | 99.5 | $30.53 | $23.70–$38.23 |
| Salt Lake City (UT) | 99.5 | $30.11 | $23.56–$38.55 |
| Nashville (TN) | 99.5 | $30.45 | $25.10–$37.95 |
| Virginia Beach (VA-NC) | 98.5 | $29.98 | $23.76–$35.42 |
| Phoenix (AZ) | 98.2 | $29.43 | $23.51–$37.05 |
| Louisville (KY-IN) | 97.7 | $30.02 | $23.33–$38.92 |
| New Orleans (LA) | 97.6 | $30.04 | $23.35–$35.56 |
| Richmond (VA) | 97.3 | $29.50 | $23.12–$36.78 |
| Miami (FL) | 97.1 | $28.19 | $23.59–$30.40 |
| Austin (TX) | 96.1 | $29.03 | $22.97–$35.25 |
| Memphis (TN-MS-AR) | 95.5 | $29.27 | $23.23–$36.87 |
| Dallas–Fort Worth (TX) | 95.3 | $28.37 | $22.85–$34.32 |
| Oklahoma City (OK) | 95.3 | $29.33 | $22.51–$36.89 |
| Houston (TX) | 94.7 | $28.45 | $22.71–$35.44 |
| Charlotte (NC-SC) | 94.3 | $28.41 | $23.50–$30.95 |
| Atlanta (GA) | 94.3 | $28.20 | $22.51–$37.94 |
| Jacksonville (FL) | 93.7 | $28.02 | $22.90–$29.54 |
| Tampa (FL) | 92.9 | $27.62 | $23.23–$29.72 |
| Raleigh (NC) | 91.5 | $27.31 | $23.44–$29.72 |
| San Antonio (TX) | 91.1 | $27.41 | $21.78–$31.61 |
| Birmingham (AL) | 90.0 | $27.23 | $22.84–$30.69 |
| Orlando (FL) | 84.6 | $24.43 | $22.75–$28.78 |
U.S.: median $30.38/hr, typical range $23.76–$40.36. Wages: BLS OEWS, May 2025, SOC 47-2111, hourly. Sorted by Cost Index, highest first. Cost Index values are LeadDuo calculations, not prices.
Maids & housekeeping cleaners: Cost Index and hourly wages in the 50 largest metros
| Metro | Cost Index (U.S. = 100) | Median wage | Typical range (P25–P75) |
|---|---|---|---|
| San Jose (CA) | 130.7 | $23.17 | $21.17–$31.82 |
| Las Vegas (NV) | 128.5 | $23.14 | $17.34–$24.22 |
| San Francisco (CA) | 128.1 | $22.40 | $20.34–$30.71 |
| Seattle (WA) | 123.4 | $21.59 | $19.52–$23.07 |
| New York (NY-NJ) | 121.7 | $21.16 | $18.03–$27.01 |
| Los Angeles (CA) | 120.8 | $20.93 | $17.91–$23.91 |
| San Diego (CA) | 117.3 | $20.26 | $17.85–$22.99 |
| Boston (MA-NH) | 110.6 | $18.98 | $18.02–$22.35 |
| Riverside–San Bernardino (CA) | 109.6 | $18.84 | $17.25–$22.35 |
| Portland (OR-WA) | 109.0 | $18.75 | $17.99–$21.77 |
| Denver (CO) | 108.8 | $18.70 | $17.87–$20.15 |
| Sacramento (CA) | 108.6 | $18.62 | $17.59–$22.57 |
| Minneapolis–St. Paul (MN-WI) | 108.0 | $18.56 | $17.77–$20.78 |
| Washington, DC | 107.0 | $18.19 | $16.77–$20.26 |
| Chicago (IL-IN) | 104.8 | $17.94 | $17.17–$21.38 |
| Providence (RI-MA) | 104.6 | $17.98 | $17.19–$19.25 |
| Salt Lake City (UT) | 103.7 | $17.82 | $16.97–$19.37 |
| Phoenix (AZ) | 102.1 | $17.38 | $16.86–$18.75 |
| Hartford (CT) | 101.3 | $17.23 | $16.86–$17.85 |
| Milwaukee (WI) | 101.1 | $17.44 | $16.50–$19.35 |
| Philadelphia (PA-NJ-DE-MD) | 100.6 | $17.09 | $15.49–$18.21 |
| Miami (FL) | 100.3 | $16.52 | $14.66–$17.83 |
| Orlando (FL) | 99.5 | $16.90 | $14.77–$20.54 |
| Baltimore (MD) | 99.1 | $16.69 | $15.91–$17.85 |
| Detroit (MI) | 99.1 | $16.86 | $14.77–$17.71 |
| St. Louis (MO-IL) | 98.5 | $16.95 | $15.71–$17.99 |
| Buffalo (NY) | 97.6 | $16.73 | $16.17–$18.88 |
| Kansas City (MO-KS) | 97.2 | $16.79 | $15.04–$18.22 |
| Cincinnati (OH-KY-IN) | 97.2 | $16.66 | $14.73–$17.72 |
| Nashville (TN) | 96.3 | $16.44 | $14.25–$17.16 |
| Atlanta (GA) | 95.7 | $16.15 | $13.91–$17.93 |
| Raleigh (NC) | 95.3 | $16.15 | $14.17–$17.88 |
| Cleveland (OH) | 95.3 | $16.33 | $14.38–$17.35 |
| Columbus (OH) | 95.2 | $16.24 | $14.27–$17.26 |
| Richmond (VA) | 95.0 | $16.09 | $14.25–$16.84 |
| Tampa (FL) | 93.6 | $15.66 | $14.47–$17.28 |
| Austin (TX) | 93.4 | $15.75 | $13.98–$17.18 |
| Louisville (KY-IN) | 93.2 | $15.91 | $14.38–$17.69 |
| Indianapolis (IN) | 92.7 | $15.69 | $14.32–$17.73 |
| Jacksonville (FL) | 92.6 | $15.51 | $14.47–$17.01 |
| Pittsburgh (PA) | 92.6 | $15.71 | $13.93–$17.44 |
| Charlotte (NC-SC) | 92.1 | $15.50 | $14.27–$17.60 |
| Dallas–Fort Worth (TX) | 92.0 | $15.22 | $13.98–$17.23 |
| Memphis (TN-MS-AR) | 89.7 | $15.21 | $13.79–$17.20 |
| Virginia Beach (VA-NC) | 89.7 | $14.95 | $13.91–$16.91 |
| Houston (TX) | 86.7 | $14.30 | $12.81–$16.45 |
| San Antonio (TX) | 85.5 | $14.21 | $13.16–$16.50 |
| Birmingham (AL) | 83.5 | $13.90 | $13.06–$15.39 |
| Oklahoma City (OK) | 83.1 | $13.88 | $12.84–$17.19 |
| New Orleans (LA) | 81.4 | $13.42 | $10.87–$14.96 |
U.S.: median $17.07/hr, typical range $14.59–$19.03. Wages: BLS OEWS, May 2025, SOC 37-2012, hourly. Sorted by Cost Index, highest first. Cost Index values are LeadDuo calculations, not prices.
Got your price?
LeadDuo Invoice turns it into a quote or invoice in minutes. ServiceHub automates the bookings, reminders, and follow-ups around it.
Landscaping & groundskeeping workers: Cost Index and hourly wages in the 50 largest metros
| Metro | Cost Index (U.S. = 100) | Median wage | Typical range (P25–P75) |
|---|---|---|---|
| Boston (MA-NH) | 121.9 | $23.57 | $21.87–$28.47 |
| San Francisco (CA) | 121.3 | $23.10 | $22.12–$28.87 |
| Seattle (WA) | 121.3 | $23.31 | $22.32–$27.91 |
| San Jose (CA) | 120.9 | $23.24 | $21.75–$27.68 |
| Minneapolis–St. Paul (MN-WI) | 117.3 | $22.67 | $18.84–$24.99 |
| Portland (OR-WA) | 116.0 | $22.33 | $19.39–$23.99 |
| Denver (CO) | 115.7 | $22.25 | $20.65–$23.61 |
| New York (NY-NJ) | 115.6 | $21.89 | $17.93–$23.26 |
| San Diego (CA) | 115.5 | $21.90 | $18.55–$23.35 |
| Los Angeles (CA) | 113.9 | $21.46 | $18.39–$23.57 |
| Sacramento (CA) | 113.5 | $21.69 | $18.51–$23.70 |
| Chicago (IL-IN) | 113.3 | $21.77 | $18.34–$22.93 |
| Providence (RI-MA) | 112.9 | $21.76 | $18.82–$22.70 |
| Hartford (CT) | 112.2 | $21.57 | $17.84–$22.73 |
| Riverside–San Bernardino (CA) | 110.5 | $20.99 | $17.88–$23.01 |
| Milwaukee (WI) | 110.2 | $21.36 | $18.13–$23.11 |
| Salt Lake City (UT) | 109.9 | $21.10 | $18.60–$23.07 |
| Washington, DC | 109.1 | $20.53 | $18.49–$22.25 |
| Philadelphia (PA-NJ-DE-MD) | 106.6 | $20.26 | $17.87–$22.61 |
| Buffalo (NY) | 104.5 | $20.08 | $18.06–$22.95 |
| Kansas City (MO-KS) | 103.2 | $19.93 | $18.10–$22.87 |
| Baltimore (MD) | 101.9 | $19.05 | $17.55–$22.07 |
| Phoenix (AZ) | 100.7 | $18.82 | $18.24–$21.79 |
| Detroit (MI) | 99.4 | $18.67 | $17.99–$22.46 |
| Miami (FL) | 99.3 | $17.99 | $17.38–$21.71 |
| Columbus (OH) | 99.0 | $18.80 | $18.23–$22.11 |
| St. Louis (MO-IL) | 98.8 | $18.77 | $17.88–$22.15 |
| Atlanta (GA) | 98.7 | $18.51 | $17.51–$21.92 |
| Charlotte (NC-SC) | 98.4 | $18.57 | $18.01–$22.30 |
| Raleigh (NC) | 98.3 | $18.51 | $17.98–$22.28 |
| Austin (TX) | 98.0 | $18.45 | $17.59–$22.00 |
| Cincinnati (OH-KY-IN) | 98.0 | $18.56 | $17.69–$22.38 |
| Dallas–Fort Worth (TX) | 97.6 | $18.12 | $17.37–$21.30 |
| Las Vegas (NV) | 97.5 | $18.23 | $17.56–$22.21 |
| Indianapolis (IN) | 97.2 | $18.36 | $17.65–$22.27 |
| Cleveland (OH) | 96.9 | $18.38 | $17.76–$22.14 |
| Nashville (TN) | 96.8 | $18.23 | $17.40–$22.23 |
| Tampa (FL) | 96.2 | $17.89 | $16.98–$21.37 |
| Jacksonville (FL) | 96.2 | $17.94 | $17.26–$21.28 |
| Pittsburgh (PA) | 96.0 | $18.12 | $17.28–$21.68 |
| Louisville (KY-IN) | 95.9 | $18.19 | $16.99–$22.40 |
| Richmond (VA) | 95.5 | $17.87 | $17.28–$21.41 |
| Orlando (FL) | 94.5 | $17.46 | $16.83–$18.78 |
| Virginia Beach (VA-NC) | 94.2 | $17.56 | $16.64–$20.80 |
| Houston (TX) | 93.9 | $17.44 | $16.26–$19.09 |
| Oklahoma City (OK) | 93.2 | $17.68 | $15.47–$19.45 |
| Birmingham (AL) | 93.1 | $17.60 | $14.43–$18.47 |
| Memphis (TN-MS-AR) | 93.0 | $17.55 | $16.72–$20.63 |
| San Antonio (TX) | 91.8 | $17.13 | $15.38–$18.97 |
| New Orleans (LA) | 90.9 | $17.03 | $14.53–$18.12 |
U.S.: median $18.82/hr, typical range $17.40–$22.52. Wages: BLS OEWS, May 2025, SOC 37-3011, hourly. Sorted by Cost Index, highest first. Cost Index values are LeadDuo calculations, not prices.
Why there are two wage-trend tables, not five
The OEWS wages above come from one survey release, so they show levels, not change. For trends we use the BLS Quarterly Census of Employment and Wages (QCEW), which publishes average weekly wages by industry, not by occupation.
HVAC, plumbing and electrical contractors are all in one QCEW industry — building equipment contractors (NAICS 2382) — so they share one trend. Cleaning and landscaping companies are both in services to buildings and dwellings (NAICS 5617), so they share another. Repeating the same number under five trades would suggest more detail than the data has.
QCEW wages cover everyone the industry employs, including office staff, and are not adjusted for inflation. Treat them as the direction and pace of wage pressure in your part of the industry.
Wage trend: building equipment contractors (HVAC, plumbing, electrical), 2022 Q2 → 2025 Q2 (U.S. +16.2%)
| Metro | 3-year change in average weekly wage |
|---|---|
| Buffalo (NY) | +29.8% |
| Columbus (OH) | +29.3% |
| San Jose (CA) | +25.2% |
| Phoenix (AZ) | +24.8% |
| Birmingham (AL) | +24.0% |
| Minneapolis–St. Paul (MN-WI) | +21.0% |
| Pittsburgh (PA) | +20.9% |
| Nashville (TN) | +20.8% |
| Austin (TX) | +20.4% |
| Providence (RI-MA) | +19.9% |
| Las Vegas (NV) | +19.8% |
| Milwaukee (WI) | +19.4% |
| Houston (TX) | +19.0% |
| San Antonio (TX) | +18.9% |
| Charlotte (NC-SC) | +18.5% |
| Indianapolis (IN) | +18.5% |
| Sacramento (CA) | +18.0% |
| San Francisco (CA) | +17.7% |
| Raleigh (NC) | +17.3% |
| Jacksonville (FL) | +17.2% |
| Salt Lake City (UT) | +17.2% |
| Seattle (WA) | +16.9% |
| Orlando (FL) | +16.8% |
| San Diego (CA) | +16.8% |
| Dallas–Fort Worth (TX) | +16.4% |
| Denver (CO) | +16.3% |
| St. Louis (MO-IL) | +16.2% |
| Detroit (MI) | +16.0% |
| Chicago (IL-IN) | +15.9% |
| Riverside–San Bernardino (CA) | +15.9% |
| Miami (FL) | +15.4% |
| Washington, DC | +15.3% |
| Oklahoma City (OK) | +14.5% |
| Boston (MA-NH) | +14.4% |
| Hartford (CT) | +14.3% |
| Tampa (FL) | +14.1% |
| Los Angeles (CA) | +13.6% |
| Philadelphia (PA-NJ-DE-MD) | +10.3% |
| New York (NY-NJ) | +10.0% |
| Portland (OR-WA) | +8.9% |
| Baltimore (MD) | +0.9% |
| Atlanta (GA) | — |
| Cincinnati (OH-KY-IN) | — |
| Cleveland (OH) | — |
| Kansas City (MO-KS) | — |
| Louisville (KY-IN) | — |
| Memphis (TN-MS-AR) | — |
| New Orleans (LA) | — |
| Richmond (VA) | — |
| Virginia Beach (VA-NC) | — |
BLS QCEW, NAICS 2382, private ownership, average weekly wage, second quarter 2022 vs second quarter 2025, not adjusted for inflation. — means BLS withheld or redefined this metro's data for part of the window (8 metros), or the computed change was below −5%, which signals a series break rather than a real wage drop (Louisville: −21.2% after an industry or metro reclassification).
Wage trend: services to buildings and dwellings (cleaning, landscaping), 2022 Q2 → 2025 Q2 (U.S. +12.6%)
| Metro | 3-year change in average weekly wage |
|---|---|
| Birmingham (AL) | +20.8% |
| Milwaukee (WI) | +17.0% |
| Tampa (FL) | +17.0% |
| New Orleans (LA) | +16.9% |
| Phoenix (AZ) | +16.5% |
| Salt Lake City (UT) | +15.9% |
| Hartford (CT) | +15.6% |
| Louisville (KY-IN) | +15.6% |
| Boston (MA-NH) | +15.2% |
| Austin (TX) | +14.8% |
| Detroit (MI) | +14.8% |
| Pittsburgh (PA) | +14.7% |
| Providence (RI-MA) | +14.5% |
| Raleigh (NC) | +14.3% |
| Miami (FL) | +13.7% |
| San Antonio (TX) | +13.6% |
| San Diego (CA) | +13.6% |
| Seattle (WA) | +13.6% |
| Jacksonville (FL) | +13.5% |
| Denver (CO) | +13.4% |
| Las Vegas (NV) | +12.1% |
| Charlotte (NC-SC) | +11.7% |
| Orlando (FL) | +11.7% |
| Los Angeles (CA) | +11.5% |
| Buffalo (NY) | +10.4% |
| Oklahoma City (OK) | +10.3% |
| New York (NY-NJ) | +9.3% |
| Washington, DC | +9.3% |
| Philadelphia (PA-NJ-DE-MD) | +8.0% |
| Sacramento (CA) | +7.1% |
| Baltimore (MD) | +5.9% |
| Riverside–San Bernardino (CA) | +3.4% |
| San Jose (CA) | +3.2% |
| San Francisco (CA) | +0.6% |
| Atlanta (GA) | — |
| Chicago (IL-IN) | — |
| Cincinnati (OH-KY-IN) | — |
| Cleveland (OH) | — |
| Columbus (OH) | — |
| Dallas–Fort Worth (TX) | — |
| Houston (TX) | — |
| Indianapolis (IN) | — |
| Kansas City (MO-KS) | — |
| Memphis (TN-MS-AR) | — |
| Minneapolis–St. Paul (MN-WI) | — |
| Nashville (TN) | — |
| Portland (OR-WA) | — |
| Richmond (VA) | — |
| St. Louis (MO-IL) | — |
| Virginia Beach (VA-NC) | — |
BLS QCEW, NAICS 5617, private ownership, average weekly wage, second quarter 2022 vs second quarter 2025, not adjusted for inflation. — means BLS withheld or redefined this metro's data for part of the window (16 metros).
Methodology and sources
Wages: BLS Occupational Employment and Wage Statistics (OEWS), May 2025 — HVAC technicians (SOC 49-9021), plumbers (SOC 47-2152), electricians (SOC 47-2111), maids and housekeeping cleaners (SOC 37-2012) and landscaping and groundskeeping workers (SOC 37-3011). Hourly median, 25th and 75th percentile wages. Commercial janitors are a separate occupation and are not included in the cleaning figures.
LeadDuo Cost Index: calculated per trade and metro from two input categories — local wages for the trade's occupation compared with the national wage (BLS OEWS), and regional price levels compared with the national average (BEA Regional Price Parities). Exact weights and mappings are not published.
Wage trends: BLS Quarterly Census of Employment and Wages (QCEW), private-sector average weekly wage, second quarter 2022 vs second quarter 2025, NAICS 2382 and NAICS 5617. A metro shows — when BLS withheld or redefined its data for part of the window, or when the computed change is below −5%: a drop that large over three years of rising wages is a series break from an industry or metro reclassification, not a real wage cut (Louisville's −21.2% for NAICS 2382 is one).
Metros: the 50 largest U.S. metropolitan statistical areas, using the 2023 OMB core-based statistical area (CBSA) delineations. Metro names are shortened; the states each metro spans are shown in brackets.
Update cadence: OEWS is released once a year in the spring; QCEW quarterly; BEA regional price parities yearly. See every data source and how we use it.
Underlying government statistics are public. LeadDuo Cost Index values are LeadDuo calculations derived from public economic data. This product uses data from BLS, BEA and HUD but is not endorsed or certified by those agencies.
See your own area
Metro averages hide a lot. Enter your ZIP code in a calculator to see the local wage range and Cost Index for your area, then work out the loaded hourly rate you'd need from your own burden, billable hours and margin:
- HVAC Flat Rate Price Calculator — HVAC technician wages
- Plumbing Price Calculator — plumber wages
- Electrician Cost Calculator — electrician wages
- House Cleaning Price Calculator — cleaner wages
- LeadDuo Price Book — a pricing check that compares your prices with your own costs and target margin. Paid plans add AI starting prices adjusted for your area's labor costs. This is also the place to check landscaping prices, which don't have a calculator yet.
FAQ: LeadDuo Contractor Labor Cost Index
What is the LeadDuo Cost Index?▼
Is this what I should charge?▼
Why is my metro's wage trend missing?▼
Why do HVAC, plumbing and electrical share one wage trend?▼
How often is the index updated?▼
Can I cite these figures?▼
Check your prices against your own costs
LeadDuo Price Book runs a pricing check on every item using your costs and target margin. Paid plans add starting prices adjusted for your area's labor costs.
Join 500+ contractors and service pros
