How it works

How we calculate cost ranges

The data behind every number on this site, explained.

The short version

Cost ranges on this site are anchored to real signed-contract data from licensed South Florida contractors, cross-checked against the 1.37 million building permits we've indexed from Miami-Dade, Broward, and Palm Beach counties. We don't use national averages, and we don't use "starting from" bait pricing.

Step 1: Your real property record

When you enter your address, we look it up in our county-property-appraiser snapshot — 2.1 million residential parcels across tri-county. We pull:

  • Folio / parcel number (your home's unique ID)
  • Year built (drives roof age + code-era assumptions)
  • Living square footage (drives roof area + window count estimates)
  • Assessed value (context, not pricing)
  • Bedroom / bathroom counts (where the county publishes them)
  • Homestead status

Step 2: Real permit history for your folio

We then look up every building permit filed at your folio across our scraping coverage. A recent roof permit means your roof is already replaced. A recent impact-window permit means you already have impact protection. The score on your property card reflects this real history, not a guess.

Step 3: Roof area calculation

Most homeowners think of their home in living square footage. Roofers think in squares (100 sqft of roof area). South Florida one-story homes have roof areas roughly 1.2× their living sqft, accounting for soffits, lanais, and pitch. So a 2,000 sqft home has about 24 squares of roof.

roofSquares = round(living_sqft / 100) + 3

Step 4: Per-square pricing

We use per-square market-rate pricing calibrated against actual signed-contract data from licensed South Florida roofers. For 2026 these ranges are:

  • Architectural Shingle: $900–$1,500 per square
  • Concrete Tile: $1,000–$1,500 per square
  • Clay Tile: $1,300–$1,800 per square
  • Standing Seam Metal: $1,500–$2,200 per square
  • Flat (TPO/Modified Bitumen): $1,000–$1,800 per square

These numbers represent typical retail (homeowner-pays) cost for properly licensed, insured, code-compliant work in tri-county. Lower-end estimates correspond to standard installation on single-story low-pitch roofs. Upper-end estimates apply to steep pitches, multi-story access, or significant decking repair. Permit fees, tear-off, underlayment, and code-required wind mitigation are included.

Step 5: Impact-window pricing

For impact windows, we estimate opening count from sqft (roughly one opening per 110 sqft of living area) and price each opening at $2,000–$3,000 installed for typical NOA-approved aluminum-frame windows. Picture windows, large sliders, and French doors are priced separately when surveyed.

Step 6: Score

The 0–100 score on your property card weighs five factors:

  • Pre-FBC: Homes built before 2002 (pre-Florida Building Code) lose 20 points — they typically lack hurricane code compliance.
  • Window permits: No impact-window or shutter permits on record loses 15 points (post-2002 homes are not penalized — they were built to code).
  • Recent roof: No roof permit in the last 15 years loses 15 points (newer-than-15-yr homes get a free pass — original roof is still serviceable).
  • Code violations: Active code violations lose 10 points.
  • High-wind zone: ZIPs in the 33000-33499 range (coastal South Florida) lose 5 points for elevated wind exposure.

What we don't include

  • HOA approval fees (varies, typically $0–$200)
  • Engineering letters for structural changes ($500–$1,500)
  • Stucco bands or decorative finishes ($35–$50/linear foot)
  • Solar / electrical / plumbing reroutes
  • Custom colors or imported materials

Data freshness

Property records refresh quarterly from the county appraisers. Building permits are pulled from municipal portals on a rolling basis. Pricing ranges are reviewed against signed-contract data monthly and updated as market conditions shift (material costs, labor rates, code changes).

Every number on this site traces back to county records and signed-contract data — no national averages, no guesses.

Get your free estimate →