How we calculate estimates
Every Woogoro estimate is built from federal labor data, regional cost-of-living indices, and industry pricing models. No guessing, no national averages passed off as local numbers.
Data sources
We pull from two primary federal datasets, updated annually:
BLS Occupational Employment & Wage Statistics (OEWS)
The Bureau of Labor Statistics publishes trade-specific wage data for roofers, HVAC mechanics, plumbers, electricians, and other skilled trades across 393 metropolitan statistical areas. This is the most granular public source of what contractors actually earn by trade and by city.
BEA Regional Price Parities (RPP)
The Bureau of Economic Analysis publishes cost-of-living indices for 387 metro areas. These capture how much more (or less) materials, equipment, and overhead cost in a given city compared to the national average.
Industry base pricing models
We maintain base pricing models for 15 home services, calibrated against published contractor pricing guides, manufacturer MSRP data, and real quotes submitted by homeowners.
How estimates are calculated
Each estimate starts with a national base price for the service, then adjusts it using a city-specific cost multiplier. That multiplier is a blend of two factors:
- 55% labor costs -- driven by BLS trade wages for the specific trade (roofing estimates use roofer wages, HVAC estimates use HVAC mechanic wages, and so on)
- 45% materials and overhead -- driven by BEA Regional Price Parities for the city
This produces 739 city-specific cost multipliers. A roof replacement in San Francisco gets a very different multiplier than one in Little Rock because both labor rates and material costs differ significantly.
On top of the location adjustment, we apply two time-based corrections:
- Annual inflation adjustment -- 3% per year from our 2025 baseline, compounded. This keeps estimates current as costs rise.
- Seasonal demand adjustment -- monthly modifiers per service type. Roofing and exterior work peak in summer. HVAC repair demand spikes in extreme heat and cold. These shifts affect real-world pricing and our estimates reflect that.
What affects accuracy
No estimate is a guarantee. Here is what moves the needle most:
- Project size and scope -- This is the single biggest variable. A 1,200 sq ft roof costs roughly half what a 2,400 sq ft roof costs. The more we know about your specific project, the better the estimate.
- Satellite roof measurement -- When available, we use satellite imagery to measure your actual roof footprint. This eliminates the guesswork of "how big is my roof?" and significantly tightens the estimate range.
- City-level vs. regional data -- For cities with direct BLS and BEA coverage, estimates are strongest. For smaller cities, we fall back to state or regional averages, which are less precise.
- Contractor variation -- Individual contractors typically price 15-25% above or below the market average for the same job. Our estimates target the market midpoint, but any single quote you receive may fall within that range.
We always show an estimated range, not a single number, to account for these variables.
Confidence levels explained
Every estimate comes with a confidence level so you know how much weight to give it:
- High -- Satellite roof measurement plus direct metro-area wage data from BLS. This is our tightest estimate range.
- Medium-High -- User-entered project size combined with city-level pricing data. Solid estimate, slightly wider range than satellite-measured.
- Medium -- City-level data available but no precise project sizing. Good for ballpark planning.
- Low -- Regional or state-level averages only. Useful for initial research but should be validated with local quotes.
How we improve
Our models get better over time through three channels:
- User feedback -- After you get an estimate, we ask "Was this close to what you were quoted?" That feedback directly calibrates our pricing models for your city and service type.
- Community quote submissions -- Homeowners who share their actual contractor quotes help us ground-truth our predictions against real-world pricing.
- Annual data refresh -- BLS and BEA publish updated wage and cost-of-living data each year. We incorporate the latest releases as they become available.
Have questions about our data or methodology? Reach out at hello@woogoro.com.
See it in action
Upload a contractor quote and compare it against local pricing data.
Analyze your quote