Talk to a roofer now ☎ (252) 582-9330 Connects you to an independent partner contractor. We are paid for calls. Calls may be recorded.

Every price range on this site is produced the same way, from public data published by US federal agencies. Nothing is entered by hand for an individual city, and no contractor pays to change a figure. This page describes the sources, the calculation and the limits, so you can judge the numbers for yourself — or reproduce them.

Where the data comes from

DatasetPublisherWhat we use it for
Sub-county population estimates
sub-est2024, summary level 162 (incorporated places)
US Census Bureau, Population Estimates Program Deciding which cities get a page, and reporting each city's population. We cover every incorporated place above 20,000 residents.
Regional Price Parities
RPPs: All items, 2023 vintage
Bureau of Economic Analysis Adjusting a national cost range to local price levels. RPPs measure how far prices in a metro area sit above or below the national average, which the BEA sets at 100.

How a city range is calculated

  1. Start from a national range. Each job type has a low-to-high range for a typical American project, stated in the units the trade actually uses.
  2. Apply the local price index. The BEA Regional Price Parity for the city's metro area is divided by 100 and applied to both ends of the range. A metro at 112 lands 12 % above the national figure; one at 88 lands 12 % below.
  3. Fall back to the state index when a city sits outside any metropolitan statistical area, since the BEA publishes RPPs for states as well as metros.
  4. Round to planning precision. Ranges are rounded rather than presented to the dollar, because a range accurate to the dollar would imply a precision the underlying data does not have.

Across the 1,923 cities covered here, the resulting index runs from 0.80 to 1.18 — a spread of roughly 47 % between the cheapest and the most expensive place to have the same work done.

What these figures are not

They are planning ranges, not quotes. A price parity index captures the general cost of living in an area; it does not know the pitch of your roof, the state of what is behind your walls, or what a particular contractor has in their order book this month. Two neighbours can receive quotes at opposite ends of the same range for defensible reasons.

Three limits worth stating plainly:

  • The price index is annual. The 2023 vintage is the most recent published by the BEA. It does not capture a material price spike that happened last quarter.
  • Metro-level, not neighbourhood-level. One index covers an entire metropolitan area, so it cannot separate an expensive suburb from a cheap one.
  • General prices, not trade prices. RPPs measure all consumer items. They are a reasonable proxy for local labour and overhead costs, not a construction price index.

Coverage

This site currently publishes 1,923 city pages across 51 states, each with its own population figure and price index. You can browse them from the cost by metro index.

Reproducing or citing this

Both datasets are free, public and require no licence. The Census population file is available from the Population Estimates data page, and the price parities from the BEA regional price parities page. Anyone with a spreadsheet can check our arithmetic against them.

If you maintain a library guide, a consumer information page or a homeowner resource list and want a correction, a clarification or more detail on the method, please get in touch — we would rather fix an error than leave it standing.

How this site is funded

This site is free to use and carries no subscription. When a visitor chooses to contact a professional through it, we may be paid a referral fee by that roofer or by a partner network. That fee never changes the cost ranges shown above, which are calculated from the public data described on this page and are the same for every visitor.

Scroll to Top