Updated
Methodology
Every number on this site can be traced back to either a published statistic or a documented assumption. This page explains which is which, and how they are combined.
The shape of every estimate
A cost estimate that gives one number is pretending to a precision it does not have. Every calculator here returns three: a low, a typical, and a high figure, each built from the same model with different assumptions about how things go.
Alongside the range, each result carries a confidence level derived from how wide the range is relative to the typical value, downgraded when we had to fall back to national data because no location was given. A result labelled low confidence is not a broken calculation — it is an honest signal that the inputs available cannot pin the answer down.
How labor is priced
Labor starts from the Bureau of Labor Statistics Occupational Employment and Wage Statistics, which publishes mean hourly wages by occupation and state every year. We use the specific trade for the job — roofers for roofing, HVAC mechanics for heating and cooling, tile and stone setters for tile floors — rather than one blended construction figure, because the trades differ from each other by more than the states differ.
That wage is not what a homeowner pays. A contractor bills a rate that also covers payroll taxes, workers’ compensation insurance, general liability, vehicles and equipment, non-billable time, office overhead, and profit. We model this as a multiplier of 2 to 2.75 (typically 2.35) applied to the published wage.
This multiplier is our own assumption and it is the single largest source of uncertainty in every project calculator. It is the first thing we would replace with better data, and it is why the ranges on project estimates are wider than the ranges on energy estimates.
How materials are priced
No public agency publishes a national residential material price index at the granularity these calculators need, and the proprietary construction cost databases that do exist cannot be reproduced. So material baselines are our own editorial figures, reviewed against publicly advertised supplier pricing and manufacturer specifications, and they are labelled as assumptions everywhere they appear.
Regionally, materials are modeled as moving only a quarter as far as local labor costs. Building materials are largely national commodities; what varies locally is freight, yard margin, distribution labor, and sales tax — not the commodity price itself.
Why the total range is narrower than its parts
On any breakdown table, adding up the low column gives a number below the headline low. That is deliberate and it is the statistically correct thing to do.
Summing the extremes assumes every line lands at its worst case simultaneously — that the shingles, the labor, the decking, the flashing, and the permit all come in at the top of their range on the same job. That is very unlikely. We combine components as partially independent uncertainties using a root sum of squares, which is the standard method for propagating uncertainty and produces a range that is actually usable for budgeting.
Location
Location is optional and is used only when it genuinely changes the answer. We ask for a ZIP code or a state, never a street address. A ZIP code is matched to its state through published postal prefix ranges, and the state selects rows from the wage, price, and climate tables.
The fallback hierarchy, most specific first:
- ZIP code, matched to a state
- State selected directly
- National average, disclosed on the result and with confidence downgraded
We do not build city pages that swap a place name into otherwise identical content. Where local guidance genuinely differs — climate, regulation, price — that belongs in the calculator, not in a thousand near-duplicate pages.
Assumptions, versioned
Everything that is our judgement rather than a published statistic lives in one reviewable file with a version number, currently 2026.07.1. Every result states the version that produced it, so an estimate saved today can be reproduced later.
- Contractor burden multiplier. Billed labor is modeled as the BLS mean wage for the trade multiplied by 2–2.75 (typical 2.35) to cover payroll burden, insurance, overhead, and profit.
- Regional material sensitivity. Material prices are modeled as moving 25% as far as local labor costs, reflecting freight and local distribution rather than commodity price differences.
- Contingency guidance. 10% for like-for-like replacement, 15% where hidden damage is common, and 20% for renovation crossing several trades.
Provenance labels
Every figure carries one of these labels, shown on results and dataset panels:
- primary
- Taken directly from an official statistical source.
- secondary
- From an official source, but a different vintage or geography.
- derived
- Computed from primary data by a formula documented here.
- assumption
- Our own engineering judgement. Documented and versioned, but not measured.
- fallback
- A stand-in used because the specific value was unavailable.
Current datasets
13 datasets are in use. Full detail, including retrieval dates and known limitations, is on the data sources page.
- electricity-prices — v2026.06, June 2026 (primary)
- trade-wages — v2025.05, May 2025 (primary)
- climate — v2026.07, 2021–2025 mean (mixed)
- zip-prefixes — v2026.07 (reference)
- material-baselines — v2026.07.1, 2026 national baseline (assumption)
- appliances — v2026.07.1, 2026 (secondary)
- assumption-registry — v2026.07.4, 2026 review (assumption)
- exterior-baselines — v2026.07.1, 2026 national baseline (assumption)
- gasoline-prices — v2026.09.1, Week of 2026-09-07 (primary)
- auto-insurance — v2026.07.1, 2023 (primary)
- vehicle-baselines — v2026.07.1, 2026 (mixed)
- employment-baselines — v2026.09.1, June 2026 (primary)
- marketplace-fees — v2026.07.1, July 2026 (secondary)
What we will not do
- Present an estimate as a quote, a bid, or a guarantee.
- Publish a number we cannot trace to a source or a stated assumption.
- Copy proprietary cost tables, or scrape a site against its terms.
- Generate thousands of near-identical city pages to farm search traffic.
- Require an account, an email address, or a phone number to see a result.
- Sell your details to contractors, or pass them to anyone at all.