Every number on this site comes from a published source we can name, or from arithmetic we show you. This page is the receipt.
National baselines
Installed cost per roofing square (100 sq ft), including tear-off of one existing layer, underlayment, and standard flashing. Each material's band was triangulated from at least three published sources (named per material on its cost page):
| Material | Published band (per square) |
|---|---|
| Asphalt Shingle — 3-Tab | $350 – $475 |
| Asphalt Shingle — Architectural | $450 – $675 |
| Metal — Exposed Fastener | $850 – $1,300 |
| Metal — Standing Seam | $1,100 – $1,850 |
| Cedar Shake | $700 – $1,150 |
| Concrete / Clay Tile | $1,200 – $2,100 |
Sources
| Source | What we took from it |
|---|---|
| Angi — Roof Replacement Cost (2026 cost data) | National average ~$9,600; installed per-sq-ft bands by material |
| Homewyse — Cost to Install Composition Roof (May 2026) | Composition/laminated shingle installed $6.20-$8.02 per sq ft |
| This Old House — New Roof Cost Guide (2026), built on Homewyse data | Per-sq-ft averages by material; 2026 homeowner survey (labor ~65% of project cost) |
| HomeGuide — Roof Replacement Cost (2025) | National average $10,800; $3-$6 per sq ft installed |
| U.S. Bureau of Labor Statistics — OEWS May 2025 (published 2026), occupation 47-2181 Roofers | Median hourly wage by state; national median $26.65 — the basis of every state labor modifier |
State adjustments
Roofing is local labor. We adjust each state's rates from the national band using the U.S. Bureau of Labor Statistics OEWS (May 2025) median wage for roofers (occupation 47-2181) in that state, applied to the labor share of the installed price: modifier = 1 + 0.60 × (state wage ÷ $26.65 national median − 1), clamped between 0.85 and 1.28. A handful of states carry a documented extra adjustment where code or logistics demonstrably override the wage signal (Florida hurricane code, Hawaii and Alaska logistics) — each is named, with its reason, in the dataset and on the state's page where it applies.
Where sources disagreed
When published sources disagreed by more than 20%, we did not quietly pick the convenient one. Current flags:
- Cedar shake: This Old House/Homewyse publish $1,315 per square, above our $1,150 high bound (Angi and HomeGuide support $600-$1,500 / $700-$1,100). We kept the narrower published-consensus band and flag the outlier here rather than widening silently.
- Standing seam metal: worked-example calculator tables publish $1,800-$2,450 per square, above our $1,850 high bound; Angi's metal band ($700-$1,600) sits lower. Our band bridges the two; premium coastal/urban installs can exceed it.
- Tile: This Old House/Homewyse publish $2,221 per square vs Angi $1,000-$2,000. Our $1,200-$2,100 band follows Angi/HomeGuide consensus; structural reinforcement, when needed, is extra and not in any band.
- Florida: BLS wages are low ($22.88 median) but installed prices are not — hurricane-code fastening and water-barrier requirements plus demand justify the documented 1.20 state adjustment.
Washington validation
Washington is our home market and was validated first: Dataset puts WA architectural shingle at the figure above per square. Cross-checks: WA roofer mean wage $33.11/hr (BLS OEWS May 2025) is among the highest in the US, consistent with upper-half pricing; the Phase 1 prototype's Snohomish-area sample ($520-$640 per square) sits inside the dataset band. No red flag.
Satellite estimates
The estimator measures roof area and pitch from Google Solar API building data and reports the imagery date with every estimate. Satellite area typically runs within ±5–10% of a tape measurement. Segment complexity (number of roof sections, share of steep area) adjusts the billable squares by a factor of 1.05–1.17, and every result is a range — ±10% around the priced midpoint, widening to ±15% on lower-quality imagery or highly complex roofs. Decking condition, hidden layers, and flashing state cannot be seen from above; that is why a roofer's on-site price can differ, and we say so on the estimate itself.
Refresh cadence
The dataset is reviewed quarterly. Costs verified October 2026 (dataset version 2026-10-30).