Independent and free. No login, no email required. How we make money
FieldPricing

Data checked · source: US Bureau of Labor Statistics

How we get our numbers

Short version: wages are US government data, billed rates are our model, and we show the model.

Wages

Every wage figure on this site comes from the Occupational Employment and Wage Statistics programme at the US Bureau of Labor Statistics, May 2025 release. We pull it through the BLS public API.

BLS data is public domain. In the Bureau's words: “You are free to use our public domain material without specific permission, although we do ask that you cite the Bureau of Labor Statistics as the source.” We cite it on every page.

We publish the median. Where BLS suppresses a figure for a metro area, we leave that metro out rather than estimating it.

Billed rates — this part is ours, not the government's

A wage is what the worker receives. A billed rate is what the customer pays. They are different numbers and conflating them is the most common mistake in cost articles.

We convert one to the other with two multipliers:

Billed rate = wage × 1.3 × 1.7 to 2.45

1.3× labour burden covers employer payroll taxes, workers' compensation, liability insurance and benefits.

1.7× to 2.45× overhead and profit covers the truck, fuel, tools, parts stock, dispatch, software, unbilled drive time, warranty work, and margin.

Combined: 2.21× to 3.19× the wage.

This is a judgement, not a measurement. A one-person operation working out of a pickup sits near the bottom of that range. A shop with a dispatcher, financed jobs and a warranty department sits at or above the top. We chose a range rather than a single number because the honest answer is a range.

If you run a shop and our multiplier does not match your books, we would like to know — write to us. Real numbers from real shops are how this gets better.

Reproduce our numbers yourself

Everything below is what you need to rebuild our wage tables from scratch without asking us for anything. If you are a journalist, a librarian, or somebody who thinks we are wrong, this section is for you.

The exact data we pull

Series ID construction

OEWS series IDs are 25 characters:

OE + U + areatype(1) + area(7) + industry(6) + occupation(6) + datatype(2)

Area type N = national, M = metropolitan area. Industry 000000 = all industries (what we use). Data type 08 = median hourly wage, 07 = 25th percentile, 09 = 75th percentile.

Worked example — median hourly wage for plumbers in the Chicago metro area:
OEUM00169800000004721520 8 → area 0016980 (Chicago-Naperville-Elgin), occupation 472152, data type 08.

The occupations we track

Trade on this siteSOC codeBLS occupation title
Hvac Technician49-9021Heating, Air Conditioning, and Refrigeration Mechanics and Installers
Plumber47-2152Plumbers, Pipefitters, and Steamfitters
Electrician47-2111Electricians
Roofer47-2181Roofers
Carpenter47-2031Carpenters
Painter47-2141Painters, Construction and Maintenance
Tile Setter47-2044Tile and Stone Setters
Equipment Operator47-2073Operating Engineers and Other Construction Equipment Operators

Occupation definitions: 2018 Standard Occupational Classification. Metro area codes are CBSA codes as used by BLS; we cover 49 metropolitan areas.

Known limitations — read these before citing us

Update cadence

Wages are refreshed when BLS publishes a new OEWS release, normally once a year in spring. Material and equipment prices are re-checked quarterly. Every page carries the date it was last checked, and corrections are logged with dates on the corrections page.

Using our figures

You may cite, quote and reproduce any number on this site. We would appreciate a link, but we do not require one and we will not chase you for one. The underlying BLS data is public domain and belongs to everybody; our arithmetic on top of it is not something we intend to fence off.

Software prices

One source only: the vendor's own public pricing page, read on a stated date, with the page linked. Not review sites, not resellers, not last year's blog post.

Where a vendor does not publish a number, we write that the vendor does not publish it. We never calculate a discounted price the vendor did not print, and we never repeat a figure from another comparison site.

What we will not do

Update schedule

Current source list

Median wages we currently publish, for reference: HVAC technician $29.33, plumber $30.67, electrician $30.38, roofer $26.65, carpenter $29.12, painter $23.75, tile setter $26.77, equipment operator $28.78 per hour.