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 3 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

One caveat we'd rather state than hide: the county file does not publish a story count, so this works off living area. On a two-story home the roof covers roughly half the footprint of the living space, so this formula runs high — treat the range as an upper bound and expect the surveyed number to come in lower. On single-story homes, which are most of tri-county, it lands close.

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 starts at 100 and subtracts for four things. Every home starts from the same baseline for its age, and a permit can only ever move your score up — we never deduct points because a permit is missing from our files.

  • Building code era (0 to −30). From year built. Homes from 2012 on lose nothing; 2002–2011 lose 5; 1994–2001 lose 15; 1983–1993 lose 22; 1970–1982 lose 27; anything earlier loses 30. Those are the real South Florida milestones — the post-Andrew 1994 code tightened roof attachment, and the 2002 Florida Building Code added opening protection.
  • Roof age (0 to −28). Dated from your most recent roof permit if we have one. Nothing lost at 10 years or under, −5 through 15, −12 through 20, −20 through 25, −28 beyond that. If we have no roof permit we fall back to the age of the house, capped at 20 years — Wilma in 2005 and Irma in 2017 drove two mass re-roofing waves through tri-county, so treating an undocumented roof on a 1960s home as sixty years old would be the worst case rather than the fair one. We say on your card when we've had to do this.
  • Opening protection (0 or −15). Nothing lost if a window or shutter permit is on file, or if the home was built to the 2002 code. Pre-2002 homes with no such permit lose 15, flagged as an assumption.
  • Open code violations (0 or −10). From the county violation file.

What the score does not do

It does not predict an insurance decision. We can read a county file; we cannot tell you what a carrier will do at renewal, and any tool that claims otherwise is guessing.

It also does not punish you for our own gaps. We hold permit records for roughly a quarter of tri-county parcels, and coverage swings hard by city — we have permits for about 79% of parcels in Pembroke Pines and effectively none in Boynton Beach, Pompano Beach or Lake Worth. An earlier version of this score deducted points whenever it found no permit, which meant two identical 1960s Broward homes scored 75 and 45 based on nothing but which city portal we had scraped. That is fixed. Where we had to assume something, the property card lists the assumption, tells you what it cost you, and shows the score you'd have if the assumption is wrong.

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 →