How we calculate roof replacement costs

One national price per square foot, one fixed index per city, and a few rules for low, typical and high. Every range on a city cost page is made this way. They are estimates, not quotes.

The formula

low = national base low × city index
high = national base high × city index
typical = (low + high) ÷ 2, rounded to the nearest $50

The headline range on each city page is for asphalt shingles on a 2,000 sq ft roof. Low and high are cut to whole dollars, not rounded. Metal, tile and flat roofs use the same sum with their own base rates. Nothing else is added to a city number: no ZIP adjustment, no inflation factor, no wage term.

The three inputs

1. National base rates

These are our own ranges for a full replacement: tear-off, underlayment, installation and basic flashing. They were compiled in June 2026. They are not a survey of bids and not an average of our cities. Rates are per sq ft and totals are that rate times 2,000 sq ft; the flat roof row is shown for 1,000 sq ft on city pages.

MaterialPer sq ft2,000 sq ft
3-Tab Asphalt Shingles$3.50 to $5.75$7,000 to $11,500
Architectural Asphalt Shingles$4.50 to $7.75$9,000 to $15,500
Standing Seam Metal$12.00 to $20.00$24,000 to $40,000
Metal (Steel/Aluminum)$8.50 to $15.00$17,000 to $30,000
Metal Shingles$7.00 to $12.00$14,000 to $24,000
TPO / EPDM (Flat)$4.00 to $8.00$8,000 to $16,000
Concrete Tile$7.50 to $13.50$15,000 to $27,000
Clay Tile$12.00 to $20.00$24,000 to $40,000
Cedar Shake$7.00 to $13.00$14,000 to $26,000

The asphalt headline range takes the low end of 3-tab shingles ($3.50 per sq ft) and the high end of architectural shingles ($7.75 per sq ft), which gives $7,000 to $15,500. That is why the range is wide: it spans two shingle grades, not a statistical interval.

2. The city cost index

Each city has one fixed index, a number kept in our city data file. It scales the national base up or down for that market. Wichita is 0.89×, which means prices about 11% below the national base.

  • Across the 209 cities we price, indexes run from 0.78× to 1.12×, with a median of 0.89×.
  • 186 cities sit below 1.00× and 23 above it, so the "national base" is a reference line, not the middle of our cities.
  • For some newer cities we reused the index of sibling cities in the same state.
  • The index is not recalculated when a page loads, and it is not computed from wage data.

3. BLS roofer pay, shown for context

City pages show the Bureau of Labor Statistics median pay for roofers (occupation 47-2181, OEWS survey) next to the price, with its release date and a link to the BLS table. It tells you what local roofers earn. It does not enter the formula above. In our own data the index and the metro roofer wage move together only weakly: a correlation of 0.30 across the 141 cities that have both.

Worked example: Wichita, KS

Read from the live data when this page loaded. Check it against the Wichita cost page.

  1. $7,000 × 0.89 = $6,230
  2. $15,500 × 0.89 = $13,795
  3. ($6,230 + $13,795) / 2 = $10,012, rounded to the nearest $50 = $10,000

That gives $6,230 to $13,795, typical $10,000, for asphalt shingles on 2,000 sq ft in Wichita.

Material in WichitaLowTypicalHigh
3-Tab Asphalt Shingles (2,000 sq ft)$6,230$8,250$10,235
Architectural Asphalt Shingles (2,000 sq ft)$8,010$10,900$13,795
Metal (Steel/Aluminum) (2,000 sq ft)$15,130$20,900$26,700
Standing Seam Metal (2,000 sq ft)$21,360$28,500$35,600
Concrete Tile (2,000 sq ft)$13,350$18,700$24,030
TPO / EPDM (flat roofs) (1,000 sq ft)$3,560$5,350$7,120

For context, BLS lists median roofer pay in this metro at $45,760 a year (OEWS May 2025).

What the calculator changes

The calculator on each city page starts from the same per sq ft rates and index, then applies these rules:

  • House footprint is turned into roof area by a factor of 1.15 to 1.40, from the guide figure of 2,300 to 2,800 sq ft of roof on a 2,000 sq ft home.
  • A steep or many-angle roof takes the upper half of the price band. A low-slope, simple roof takes the lower half.
  • A second layer to tear off adds $1 to $3 per sq ft. This add-on is national and is not scaled by the city index.

Limits

This is not a quote. The only exact price is a written bid for your roof.

  • Roof size, pitch, tear-off layers, rotted decking, access, permits and the contractor all move a real price. None of them is in the headline range.
  • The index is one number per city. It cannot see differences between neighborhoods or ZIP codes.
  • Cities that share an index share a price range. What separates them on their pages is supply, storms and housing data, not price.
  • Base rates and indexes are set by us, not measured from a sample of bids in each city.
  • A bid below the low figure or above the high figure does not mean the bid is wrong. Use the range as a place to start asking questions.

Updates

  • Base rates and city indexes are one fixed set, compiled June 2026. They change only when we publish a new set, and the "compiled" date at the top of each city cost page changes with them.
  • BLS pay comes from the OEWS release named next to each figure (OEWS May 2025). BLS publishes OEWS once a year.
  • This page was last edited on 7 October 2026. The worked example above is read from live data each time the page loads.

More on where our data comes from: Sources and Editorial policy. Contractor pay and market size by county: roofing market method.