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
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.
| Material | Per sq ft | 2,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.
- $7,000 × 0.89 = $6,230
- $15,500 × 0.89 = $13,795
- ($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 Wichita | Low | Typical | High |
|---|---|---|---|
| 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.