Every NOAA-reported severe storm. Every roof in the impact zone scored on satellite and street-view AI. Within 24 hours.
'AI' in roofing usually means a chatbot stapled to a contractor's website. Roffy uses it differently. Our scoring model ingests recent satellite imagery, Google Street View photography, parcel records, and NOAA storm event data for every property in a storm-impact zone. The output is a 0-100 priority score that ranks homes by replacement likelihood.
This is what makes the difference between a 'lead' (someone who filled out a form) and a 'replacement candidate' (a home our vision stack identifies as needing work).
Four data layers feed the scoring model:
The combined score is the input that determines lead priority tier. Homes scoring 80+ are the highest-priority tier; 50-80 is mid-tier; below 50 are excluded. As the platform accumulates contractor-reported close-rate data per tier, we'll publish calibration numbers — for now, treat the score as a relative ranking rather than a calibrated close-rate predictor.
Most ML demos optimize for recall: 'we identified 94% of damaged roofs.' Impressive on stage, misleading in production. The number that matters is precision: of the roofs we say are damaged, what percentage actually need work?
Roffy's model is tuned for high precision. In high-precision mode we surface fewer leads. We're okay with that. The unit of value to a contractor is calls that don't waste their time, not total leads in inventory.
Every Roffy lead in your dashboard includes: priority score (0-100), the specific storm event reference (date, hail size, wind speed), the satellite imagery our vision model scored, the Street View imagery if available, estimated roof age, and verified owner contact info.
You're not getting a name and a phone number to call cold. You're getting a structured artifact you can open with 'I noticed your roof looks like it took some impact in Tuesday's storm — want me to take a quick free look?'
Honest answer: we're early. The scoring stack is calibrated against the underlying data (storm event severity, parcel/permit records, satellite and street-view signals), but we haven't accumulated enough contractor-reported inspection feedback yet to publish a calibrated precision number per tier. As that data accumulates we'll publish it. In the meantime, the 80+ tier is the highest-priority subset; the credit guarantee (see below) protects you on materially miscategorized leads regardless of tier.
If a lead is materially miscategorized — you go to the door and the roof clearly doesn't need work, or the property is non-residential, demolished, or the wrong owner — flag it and we credit your account. Credits are capped per the guarantee policy (see Terms section 5). We make it right when the underlying lead was wrong.
We use a combination of commercial providers (Maxar, Planet) and public sources (USGS, state GIS). Imagery is typically 30-90 days old for routine scoring, with on-demand fresher imagery for high-priority post-storm windows.
Exclusive territory. AI-scored leads. Published pricing. Live in 18 metros across the storm belt.