Overview
HazardPrep generates a composite risk score (0–100) for any US address by combining data from four federal government sources. Each address is geocoded using the US Census Bureau API, then assessed across multiple hazard types simultaneously.
The system uses a provider-based architecture where each data source independently calculates risk scores for its domain. Providers run in parallel, and the system degrades gracefully if any source is unavailable — you still get results from the remaining providers.
Assessment Pipeline
1. Address Input
↓ US Census Bureau Geocoder
2. Geocoding → (latitude, longitude, FIPS code, county, state)
↓ Parallel API queries
3. Data Fetch → FEMA + USGS + NOAA + NIFC (concurrent)
↓ Normalize to 0-100
4. Per-Hazard Scoring → individual scores per hazard type
↓ Weighted average
5. Composite Score → overall risk score (0-100)
↓ Rule-based
6. Recommendations → personalized preparation checklist
Data Sources
FEMA Disaster Declarations
API →Federal Emergency Management Agency
Historical disaster declarations by county. Covers floods, hurricanes, tornadoes, wildfires, severe storms, and winter storms.
All US counties, 1953–present
Counts disaster declarations per hazard type for the county. Uses logarithmic scaling (log₂) to normalize: 0 declarations = 0, 1 = 20, 5 = 50, 15+ = 80, 30+ = 100.
USGS Earthquake Hazards
API →United States Geological Survey
Historical earthquake events within 150km of the location over the past 30 years (M2.5+).
Global coverage, address-level precision
Composite of maximum magnitude (60% weight) and frequency of M4.0+ events (40% weight). Max magnitude is scored as (magnitude / 8.0) × 100.
NOAA National Weather Service
API →National Oceanic and Atmospheric Administration
Active weather alerts for the location. Covers hurricanes, tornadoes, severe storms, and winter weather.
All US locations, real-time
Categorizes active alerts by hazard type. Scores by maximum severity: Extreme = 100, Severe = 80, Moderate = 50, Minor = 25.
NIFC Wildfire Data
API →National Interagency Fire Center
Active wildfire incidents within 200km of the location.
All US locations, real-time during fire season
Composite of active fire count (up to 50 points) and total acreage burned (up to 50 points, logarithmic scale).
USDA Drought Monitor
API →USDA / NOAA / National Drought Mitigation Center
Current drought conditions by county. Reports five severity levels from D0 (Abnormally Dry) to D4 (Exceptional Drought).
All US counties, updated weekly
Weighted score based on drought severity and area coverage: D0 = 10%, D1 = 25%, D2 = 50%, D3 = 75%, D4 = 100% of affected area percentage.
NOAA Storm Events Database
API →NOAA National Centers for Environmental Information
Historical severe weather events over the past 20 years. Covers tornadoes, thunderstorms, hail, floods, hurricanes, ice storms, and heat events.
All US counties, 2004–present
Log-scale normalization of event count (up to 80 points) plus casualty bonus (up to 20 points) per hazard type.
FEMA NFIP Claims
API →Federal Emergency Management Agency
Historical National Flood Insurance Program claims by county. Tracks flood insurance payouts over decades.
All US counties with NFIP policies
Composite of total claims count (0–60 points, log scale), total payout amount (0–20 points), and recent claim recency (0–20 points).
NASA/USGS Landslide Catalog
API →NASA / United States Geological Survey
Global landslide events within 100km of the location. Includes event size, fatalities, and injuries.
Global coverage, address-level precision
Event count (0–50 points) plus size-weighted severity (0–30 points) plus casualty score (0–20 points), all log-scaled.
Composite Score Calculation
The overall risk score is a weighted average of individual hazard scores. When multiple data sources report on the same hazard type (e.g., both FEMA and NOAA report hurricane risk), the highest score is used.
| Hazard Type | Default Weight |
|---|---|
| Flood | 20% |
| Earthquake | 15% |
| Wildfire | 15% |
| Hurricane | 15% |
| Tornado | 10% |
| Severe Storm | 10% |
| Winter Storm | 5% |
| Drought | 5% |
| Heatwave | 5% |
Weights are automatically re-normalized when not all hazard types are present for a given location.
Region-Aware Weights
HazardPrep automatically adjusts weights based on your state's region. For example, earthquake weight increases to 25% on the Pacific Coast, while hurricane weight increases to 25% on the Gulf Coast. This ensures the composite score reflects regionally relevant risks rather than applying a one-size-fits-all model. Regions: Pacific, Gulf Coast, Atlantic, Tornado Alley, Mountain West, Upper Midwest, Alaska, Hawaii.
Risk Level Classification
Limitations
- FEMA disaster data is at the county level, not address-specific. Two addresses in the same county will receive the same FEMA-based scores.
- NOAA weather alerts reflect current conditions, not historical risk. Scores fluctuate based on active weather events.
- Wildfire data reflects active fires only. Historical burn area and vegetation analysis would improve baseline risk assessment.
- The composite weighting system uses fixed defaults. Ideal weights would vary by region (e.g., earthquakes weighted higher on the West Coast).
- This tool is for informational purposes only. It should not be used as the sole basis for insurance, real estate, or emergency planning decisions.
Open Source
The scoring engine is available as a standalone npm package: @hazardprep/core. You can integrate it into your own applications, extend it with custom data providers, or contribute improvements.