Pricing Methodology
How EstimationPro AI calculates construction and remodeling costs.
Last updated: 2026-06-27
Data Sources
EstimationPro pricing is built from multiple independent data sources that we cross-reference for accuracy. No single source drives our estimates. Each source contributes a different dimension of the pricing picture.
BLS Occupational Employment and Wage Statistics (OEWS)
- 16 construction trades tracked
- 530+ metropolitan statistical areas
- Median, 10th, 25th, 75th, and 90th percentile wages
- Annual release with semiannual survey periods
Used for: labor rate benchmarks, regional wage multipliers
BLS Producer Price Index (PPI)
- 11 commodity series tracked
- Lumber, steel, copper, concrete, plastics, more
- Monthly index updates
- Year-over-year trend analysis
Used for: material price trend detection, volatility classification
Federal Reserve Economic Data (FRED)
- Construction spending (TTLCONS)
- Housing starts (HOUST)
- Building permits (PERMIT)
- Case-Shiller home price index
- CPI for shelter
Used for: macroeconomic context, demand-side pricing signals
Contractor Feedback
- Anonymous aggregation of user estimate edits
- Line-item price adjustments by real contractors
- Weekly graduation into the pricing database
- Anomaly detection filters out outliers
Used for: real-world price validation, gap identification
Consumer Cost Guides
- Angi / HomeAdvisor project cost data
- Fixr cost guides
- Home Depot retail pricing
- Monthly verification against published ranges
Used for: consumer-facing price validation, retail material costs
Commodity Markets
- Copper (Alpha Vantage LME data)
- Aluminum (Alpha Vantage LME data)
- Lumber futures (PPI proxy)
- Steel mill products (PPI series WPU1017)
Used for: volatile material price tracking, trend indicators
Regional Adjustment Model
National average prices are adjusted to reflect local market conditions. Our regional model uses a multi-layer approach that maps any U.S. ZIP code to a cost multiplier.
How ZIP Codes Map to Multipliers
ZIP to State
The ZIP code is resolved to a U.S. state. This lookup uses a ZIP prefix table covering all valid ZIP ranges.
State Multiplier
Each state has a base cost multiplier derived from BLS OEWS wage data for 16 construction trades. States with higher median trade wages get higher multipliers.
Region Adjustment
States are grouped into 8 BLS regions (New England, Middle Atlantic, East North Central, etc.). A regional labor multiplier adds a second adjustment layer based on cross-state wage patterns.
Metro Override (where available)
For the 50 tracked metro areas, a more precise MSA-level multiplier overrides the state/region calculation. These are derived directly from metro-level OEWS wage data.
Multiplier Calculation
multiplier = stateMultiplier * regionLaborMultiplier
// Applied to national average price
regionalPrice = nationalPrice * multiplier
// Example: Roofing shingle in Seattle (WA)
stateMultiplier(WA) = 1.07
regionLabor(Pacific) = 1.13
composite = 1.07 * 1.13 = 1.21
nationalPrice = $5.00/sqft
seattlePrice = $5.00 * 1.21 = $6.05/sqft
Explore regional multipliers for any ZIP code using the Construction Cost API /api/v1/multipliers endpoint.
EstimationPro Cost Index (EPCI)
The EPCI is a composite index that measures relative construction costs across U.S. metro areas and states. It provides a single number for comparing how expensive construction is in different locations.
Formula
// National average = EPCI 100
// EPCI 125 = 25% above national average
// EPCI 87 = 13% below national average
What EPCI Measures
The EPCI reflects the combined effect of local labor rates, material delivery costs, and market demand on construction pricing. It is weighted toward labor costs (which vary more by region than materials) because labor typically represents 40-60% of a remodeling project.
Comparison to ENR CCI
| Feature | EPCI | ENR CCI |
|---|---|---|
| Focus | Residential remodeling | Commercial/heavy construction |
| Baseline | 100 = national average | 100 = 1913 prices |
| Coverage | 51 states + 50 metros | 20 cities |
| Update frequency | Monthly | Weekly |
| Cost | Free (open data) | Paid subscription |
| Project-specific costs | Yes (5 project types) | No |
View the full EPCI dataset on our interactive Cost Index map or access it programmatically via the API.
Pricing Database
The core of EstimationPro's cost engine is a curated pricing database of construction materials, labor tasks, and installed assemblies.
Item Structure
Each pricing item includes a low, typical, and high price range, a unit of measure, source citations, a last-verified date, and a volatility classification. Items are tagged by trade (e.g., roofing, plumbing, electrical) for organized retrieval.
Volatility Tiers
Items are classified into three volatility tiers that determine how often they require re-verification:
30-day expiration. Items like copper wire, lumber, and steel whose prices change frequently with commodity markets. Flagged as stale after 30 days without verification.
90-day expiration. Most items fall here: shingles, drywall, fixtures, standard labor tasks. Prices shift seasonally or with moderate market changes.
180-day expiration. Items with predictable pricing: concrete, gravel, sand, basic hardware. Prices change slowly and predictably year to year.
Assembly Matching
Beyond individual items, the database includes 62 pre-defined assemblies for common project scopes (e.g., "standard bathroom remodel," "kitchen cabinet refacing," "room addition 200 sqft"). When a user describes a project, semantic embedding search (Gemini Embeddings, 768 dimensions) matches the description to the closest assembly, which provides a structured scope of work and cost framework.
Accuracy & Validation
We use multiple validation strategies to maintain pricing accuracy. No single method is sufficient on its own, so we layer them for comprehensive coverage.
Multi-Source Cross-Referencing
Every pricing item is validated against at least two independent sources. When sources disagree significantly (more than 25% variance), the item is flagged for manual review. We weight professional/contractor sources more heavily than consumer-facing estimates.
Confidence Scoring
Each item carries a tolerance value (typically 0.20-0.40) representing the expected variance between the low and high price ranges. Items with wider ranges are less certain. The tolerance value is used by the AI estimator to express appropriate confidence levels in generated estimates.
Anomaly Detection
Contractor feedback (estimate edits) is filtered through anomaly detection before entering the database. Edits that deviate more than 2 standard deviations from the current price range are flagged rather than auto-applied. This prevents typos, misunderstandings, and bad-faith edits from corrupting pricing data.
Contractor Feedback Loop
When contractors edit line items in their estimates, those edits are anonymously aggregated. Items with consistent contractor adjustments (three or more edits in the same direction within a feedback window) are candidates for database updates. This creates a continuous improvement cycle where real-world pricing data flows back into the system.
Post-Generation Scope Checking
After generating an estimate, the system runs a completeness check against the matched assembly scope. Missing line items are flagged, and the AI is prompted to add commonly forgotten items (permits, waste disposal, protection of existing finishes, etc.).
Update Schedule
Different data sources are updated on different schedules, reflecting how quickly each data type changes.
| Data Type | Frequency | Source |
|---|---|---|
| Commodity prices (copper, aluminum) | Weekly | Alpha Vantage |
| PPI series (lumber, steel, concrete) | Monthly (15th) | BLS PPI |
| Consumer cost guide validation | Monthly | Angi, Fixr, HomeAdvisor |
| Contractor feedback graduation | Weekly (Sunday 2 AM) | EstimationPro user edits |
| Regional wage multipliers | Annually (with OEWS release) | BLS OEWS |
| Housing starts and permits | Monthly | FRED / Census |
| Pricing database review | Monthly (1st) | Internal audit |
| Staleness check (volatility-based) | Continuous | Automated per-item expiration |
Limitations
Transparency about what our data does not cover is as important as documenting what it does. These are the known limitations of our pricing methodology.
-
National Averages with Regional Adjustment
Our base prices are national averages adjusted by state/metro multipliers. We do not have ZIP-code-level granularity. Two ZIP codes in the same state will receive the same multiplier, even if local market conditions differ (e.g., rural vs. suburban within a state).
-
Residential Focus
Our pricing database is calibrated for residential remodeling and renovation projects. Commercial, industrial, and heavy civil construction projects use different pricing structures, labor agreements, and material sourcing that our data does not reflect.
-
Specialty Trades Excluded
Highly specialized work such as historic restoration, pool construction, solar panel installation, and elevator installation is not covered in our standard pricing database. These trades have unique cost structures that do not map well to our general pricing model.
-
Market Lag
While we track PPI and commodity data monthly, there is an inherent lag between wholesale price changes and retail/installed pricing. Sudden supply shocks (natural disasters, tariff changes) may not be reflected for 30-90 days depending on the volatility tier of the affected items.
-
Estimates Are Not Bids
AI-generated estimates are budgetary guides, not binding contractor bids. Actual project costs depend on site-specific conditions, scope complexity, contractor availability, and other factors that no database can fully capture. Contractors should always perform their own takeoff and site assessment before submitting a bid.
Citing This Methodology
Researchers, journalists, and Wikipedia editors are welcome to cite this page. Our data is available under Creative Commons Attribution 4.0 (CC BY 4.0) for non-commercial use.
EstimationPro AI. "Pricing Methodology." EstimationPro.AI, 2026-06-27.
https://estimationpro.ai/tools/methodology
For data inquiries, contact brad@estimationpro.ai. For the raw dataset, visit our Kaggle page.
See the Data in Action
Use our free tools to explore construction costs powered by this methodology.