How estimates are built
Methodology
Every calculator combines public geographic indexes with HomeTrueCost base-price and scope assumptions. Public sources inform relative adjustments; they do not validate the final installed price.
The pipeline
01
Labor
Assumed base labor dollars × a state/national employee wage ratio. HVAC uses SOC 49-9021; most other non-roof projects use construction-labor proxy SOC 47-2061. Wages are not contractor billing rates.
02
Materials
Base materials × your state's goods price level (BEA goods-RPP ÷ 100).
03
Permits
Assumed base allowance × a manually assigned state index. Added as a flat allowance; contingency still applies. Confirm your jurisdiction's actual fee.
04 → Total
( Labor + Materials ) × project size × scope factor × seasonal curve × quality tier + Permits, then × 1.10 contingency. Dollars are never multiplied by dollars-plus-indexes — only $ × dimensionless factors, then a flat 10% on top. Displayed labor, materials, and permits round to whole dollars; their sum is the subtotal, with rounded 10% contingency added.
((base_labor*wage_idx + base_mats*goodsRPP_idx) * seasonal * tier + permitBase*permitIdx) * 1.10
Worked example, live numbers
Roofing, Texas, mid-grade, medium pitch, June — computed right now from the current manifest, the same call the calculator makes:
- Labor
- $7,305
- Materials
- $6,619
- Permits
- $315
- Subtotal
- $14,239
- Contingency (10%)
- $1,424
- Total
- $15,663
Model sensitivity band $12,750–$18,600 — cross-market index spread, not quotes.
Sources
| Source | Used for | Refresh |
|---|---|---|
| BEA Regional Price Parities 2024 (via FRED) | goods-RPP column / 100 | annual Dec · free download |
| BLS OEWS May 2025 (Public API v2) | state/national annual-mean wage per SOC group (47-2181 roofers, 49-9021 HVAC, 47-2061 general proxy) | annual May · free, email-registered key raises quota |
| Zonda Cost vs Value | base-spec calibration boundary | annual Q1 · cite + link; no verbatim reproduction |
Uncertainty bands
Every estimate shows a sensitivity band beside its point figure. It applies cross-state index differences to the model; it has not been calibrated against variation in local contractor bids.
Labor ± trade spread
Half the observed cross-state wage band, per trade.
Materials ±9.0%
Half the observed goods-RPP band, all states. Same figure for every project.
Permits flat · $50 outward
No range data, so permits don't move. Band ends round outward — the range can never exclude the mid.
What bands are not
- Statistical confidence intervals
- Bid guarantees
- Intra-city precision
State averages cannot measure differences between cities or job sites. Contractor bids may fall outside the band. Base prices, tier/scope multipliers, seasonal curves, and permit indexes are assumptions rather than a survey of local prices.
Canada coverage
Pilot calculators under /ca/ run the same model in Canadian dollars against a separate manifest (last verified 2026-09-12, hash c156425586e8002a):
✓ Province-priced
Wages
Job Bank NOC medians per province — roofers 73110, HVAC 72402, general labour 75110. Full differentiation, same as US states.
= National average
Materials
No provincial goods index exists in Canada. We ship the gap labeled rather than modeled — base specs converted at the 2025 Bank of Canada average (1.3978 CAD/USD), pending contractor recalibration.
| Source | Used for | Refresh |
|---|---|---|
| Job Bank wages 2025 (NOC medians, ref 2023-2024) | provincial/national median per NOC group | annual Nov · free bulk CSV, Open Government Licence |
| Bank of Canada FXUSDCAD 2025 average | USD→CAD base conversion (pending contractor recalibration) | annual · free Valet API |
| Zonda Cost vs Value | base-spec calibration boundary | annual Q1 · cite + link; no verbatim reproduction |
Try the Canadian roofing calculator
Limitations
01
Estimates, not advice
Planning figures from public data — never professional guidance, never a bid.
02
Permits vary by city
A state-indexed allowance is shown, not a quote. Confirm exact fees with your city.
03
Annual data lags shocks
Material spikes trail yearly BEA/BLS releases; the quarterly index and crowdsourced actuals recalibrate drift.
04
Model calibration
Wages and goods-RPP adjust a calibrated base spec; they are not contractor quotes or a substitute for local bids.