Rankings Methodology — How ZipCheckup Compares ZIP Codes and States
Version 1.0 — Last updated: April 14, 2026
ZipCheckup publishes rankings that compare U.S. ZIP codes and states across measurable home safety and environmental risk factors. This page explains how those rankings are built, where the data comes from, how we handle edge cases, and what the rankings do and do not tell you.
For a detailed walkthrough of the composite Home Safety Score itself, see Home Safety Score Methodology. This page focuses on how rankings are derived from scores and other federal data.
Ranking Types
We publish two families of rankings:
1. Composite rankings — built on the Home Safety Score, a 0–100 index that combines water quality, lead, radon, and flood risk from federal sources. Examples: Safest ZIP Codes, Lowest Safety Scores, Worst for Homebuyers, Environmental Justice Index.
2. Single-metric rankings — built on one underlying indicator, such as PFAS detections, EPA water violations, lead 90th-percentile levels, FEMA flood claims, PHMSA gas incidents, NIFC wildfire exposure, or NRI risk scores. Examples: Most EPA Violations, Worst Lead Levels, Highest Flood Risk, Worst Wildfire Smoke.
Both families are rebuilt from the same underlying ZIP-level dataset. The difference is in how the sort key is constructed — composite rankings sum multiple normalized components, while single-metric rankings sort on one field directly.
Data Sources
Every ranking is built from federal or official statistical sources. No score or rank is influenced by paid placement, advertiser relationships, or editorial preference.
| Domain | Source | Cadence |
|---|---|---|
| Water violations | EPA Safe Drinking Water Information System (SDWIS) | Daily |
| Lead samples | EPA Lead and Copper Rule (LCR) 90th-percentile results | Monthly |
| Radon zones | EPA Map of Radon Zones (county-level) | Static (updated when EPA revises) |
| Flood claims | FEMA OpenFEMA NFIP Redacted Claims v2 | Periodic (on FEMA release) |
| PFAS | EPA UCMR5 (2023 monitoring cycle) | Static until new UCMR data lands |
| Gas incidents | PHMSA Gas Distribution Incident Reports (2004–present) | Quarterly |
| Wildfire | NIFC fire perimeters, FEMA National Risk Index wildfire score | Monthly / on release |
| Infrastructure | EIA Form 861 utility data, AWIA mandate reports | Annual |
| Air quality | EPA AirNow daily AQI, NEI emissions inventory | Daily / annual |
| Demographics | U.S. Census ACS 5-year estimates, BLS wage series | Annual, with monthly BLS supplements |
When a ranking blends multiple sources (for example, the composite Home Safety Score combines SDWIS, LCR, Radon Zones, and NFIP), each source retains its own update frequency. The ranking inherits the slowest cadence among its inputs plus daily re-aggregation.
How Rankings Are Calculated
Step 1 — Build the base ZIP dataset
For every ZIP code served by at least one reporting public water system, we assemble a record containing the relevant fields: water violation counts (active and resolved), lead 90th-percentile, radon zone, flood claim counts, PFAS detections, gas incident scores, wildfire risk scores, and so on. ZIP codes with no reporting water system are excluded from water-related rankings but may still appear in non-water rankings where coverage exists (for example, radon zones are available nationwide).
Step 2 — Compute the sort key
For single-metric rankings, the sort key is the raw value from the base dataset (violations, PFAS detections, etc.).
For composite rankings, the sort key is the Home Safety Score computed from equally weighted components. See Home Safety Score Methodology for the exact point breakdown, grading scale, and fallback rules when a data source is missing for a given ZIP.
Step 3 — Apply the ranking direction
Each ranking has a fixed direction — either ascending ("worst first": lowest score, most violations, highest lead) or descending ("best first": highest score, fewest violations, lowest lead). The direction is declared in the ranking's metadata and never changes silently between updates.
Step 4 — Handle ties
When two ZIP codes have the exact same sort value, we break ties deterministically: first by the number of underlying data points (more data wins), then alphabetically by ZIP code. Ties are rare at the top of the list because the composite score resolves to integer points, but when they occur the tie-breaker is documented in the exported dataset so results are reproducible.
Step 5 — Aggregate to state level
State rankings are produced by averaging the ZIP-level sort value across all ranked ZIPs in the state, then sorting states by that average. We also report three additional state-level statistics alongside the average: total ZIP codes included, the percentage in grades A or B, and the percentage of ZIPs with at least one health-based violation on record. These three stats give a more complete picture than a single average — a state can have a high average score while still containing a cluster of problem ZIPs.
State averages are unweighted by population. A rural ZIP with 200 residents counts the same as an urban ZIP with 40,000. This choice matches how EPA violation data is reported (per water system, not per capita) and keeps smaller communities visible in the rankings. Population-weighted rankings are a possible future addition but would change the results and are not published today.
Grading Scale
Composite Home Safety Scores are bucketed into letter grades:
| Grade | Score Range |
|---|---|
| A | 85–100 |
| B | 70–84 |
| C | 55–69 |
| D | 40–54 |
| F | 0–39 |
Single-metric rankings use the same A–F scale where applicable (for example, Lead Risk grades map to the EPA 90th-percentile action level at 15 ppb), but some rankings use a raw numeric value only — PHMSA gas incident counts, PFAS detection lists, and FEMA claim counts are reported as counts rather than letter grades because they have no natural 0–100 normalization.
Exclusions and Missing Data
"No data" never means "safe." When an underlying indicator is unavailable for a ZIP (for example, no LCR sample on record, or a ZIP outside FEMA NFIP coverage), we assign a neutral mid-scale value for the affected component rather than a best-case or worst-case default. The composite Home Safety Score falls back from four components (25 points each) to three (33 points each) when FEMA flood data is unavailable. The neutral treatment is disclosed on every affected page.
Service areas without a reporting water system are excluded from water, lead, and PFAS rankings. Large private wells and unregulated small systems are outside EPA SDWIS reporting requirements, so they simply do not appear in those rankings.
States with fewer than 20 ranked ZIPs are published but flagged — the small-sample warning is visible on the state page. This applies mostly to territories and the smallest states; in practice every U.S. state has well over 20 qualifying ZIPs.
Recently resolved violations still count toward the historical ranking, but at 25% of the weight of active violations (see Home Safety Score Methodology for the exact weighting). This preserves the historical record without permanently penalizing utilities that have fixed problems.
Update Schedule
Rankings are regenerated on the same schedule as the ZipCheckup site build:
| Event | Effect on rankings |
|---|---|
| Daily site build | Water violation counts, alert flags, and active/resolved status refresh. Ranks shift when new violations are reported or resolved. |
| Monthly LCR refresh | Lead 90th-percentile values update; lead rankings re-sort. |
| Quarterly PHMSA | Gas incident counts refresh; CO & Gas rankings re-sort. |
| Annual ACS / BLS | Demographic denominators for Environmental Justice Index update. |
| Federal data release (FEMA, NIFC, AirNow) | Ingested within 24 hours of publication; relevant rankings re-sort. |
When a rank changes by more than 10 positions between two builds, we log the change in our internal audit trail so journalists or researchers can ask for the diff. Retroactive score changes from upstream data corrections are also logged.
Reproducibility
Every ranking is derived from public data. The exact code that computes rankings — including the ranking metric definitions, field mappings, and tie-breakers — is maintained in the open-source waterbyzipcode repository. The underlying ZIP-level dataset with the fields used in ranking calculations is downloadable per state as CSV from the Data Downloads section, with the version and build timestamp embedded in every file header.
If you want to reproduce a specific ranking as of a specific date, we publish dated snapshots of the ZIP-level score file. Contact us at [email protected] for access to historical snapshots older than 90 days.
Limitations
- ZIP codes are postal delivery areas, not health boundaries. Water systems, radon zones, and flood zones do not map cleanly to ZIP boundaries. Where there is a mismatch, we use the primary system serving the largest population in the ZIP. This works for most areas but introduces uncertainty in ZIPs with multiple systems or non-residential boundaries.
- Rankings compare measurable risk, not quality of life. A low-risk ZIP is not necessarily a better place to live — the rankings say nothing about housing prices, schools, commute times, crime, or community. Use them as one input among many.
- Upstream data latency varies. EPA SDWIS can lag 30–90 days behind real operating conditions because it depends on utility reporting schedules. We update daily from the latest available data, but our timestamps reflect federal release dates, not real-time monitoring.
- County-level data is county-level. Radon zones and wildfire NRI scores come in at the county level. Neighboring ZIPs in the same county will show the same value for those components. This is a property of the source, not of our ranking.
- This is informational, not advisory. The rankings are a screening tool to help homeowners and renters understand measurable risk factors. They do not replace water testing, home inspection, medical advice, or professional risk assessment. Always verify conditions for your specific address with direct testing when the stakes are high.
Corrections and Feedback
We welcome corrections. If you believe a rank, score, or underlying data point is wrong, email [email protected] with the ZIP code, ranking name, and the specific value you are disputing. We investigate every reported issue, respond with findings, and publish corrections when warranted. Our full correction policy is in the Editorial Policy.
Version History
| Version | Date | Changes |
|---|---|---|
| 1.0 | April 2026 | Initial rankings methodology: composite and single-metric families, five-step calculation pipeline, state aggregation rules, update schedule, and limitations disclosure. |