Updated 2026-09-26
Methodology · source to finding

How We Analyze Water

Every number on PurityMap comes from a dated public record: EPA monitoring, federal compliance data and utility reports. This page shows exactly where it comes from, how the score is calculated, and what we refuse to claim.

3,792 city reports20,804 evidence records, each tied to a source5 public data sources0 missing tests treated as clean

01

Where the data comes from

Every finding keeps its source document, publisher, sampling date, unit, qualifier and limit. The full list with coverage notes is on the sources page.

EPA UCMR 5

PFAS results (PFOA, PFOS, PFHxS and more) from federally required sampling

Coverage
3,786 cities
Period
Sampled 2023–2025

EPA SDWIS: Lead and Copper Rule

Lead 90th-percentile results from sampled home taps

Coverage
3,808 cities
Period
Latest monitoring round

EPA SDWIS: violations

Health-based violations with contaminant, year and status

Coverage
174 cities with a violation
Period
Since 2016

EPA service-line inventory

Counts of lead, galvanized and unknown service lines per water system

Coverage
Systems that filed
Period
2026 Q2 release

Utility water-quality reports (CCRs)

Hardness, disinfectant and disinfection by-products

Coverage
42 cities (hardness), 58 (by-products)
Period
Latest report on file

We do not run our own lab tests. Where a source does not cover a place or a substance, the report says “Not measured”. All sources and their limits →

02

From a record to a finding

  1. STEP 1

    Collect

    Download the public release (UCMR 5, SDWIS, service-line inventory, utility report).

  2. STEP 2

    Keep the context

    Publisher, sampling date, location, unit, qualifier and limit stay attached to each result.

  3. STEP 3

    Validate

    Unreadable or contradictory results are kept as visible gaps, not dropped or guessed.

  4. STEP 4

    Compare

    Each usable result is compared only with its cited government yardstick.

  5. STEP 5

    Match

    A finding that calls for treatment is matched to a technology and the certification to check.

03

Finding states

A finding state describes what the evidence supports. Missing, unreadable and untested records stay distinct from a laboratory non-detect.

Above guideline

A measured value exceeds its cited limit: a federal limit or action level, an EPA health advisory or a state limit.

Below limit

Detected, but within the limit. The value and the limit are both shown.

Not detected

Tested and not found above the laboratory reporting limit. Never rewritten as "safe".

Not monitored

No published result for this substance. A missing test is never treated as a clean one.

Insufficient evidence

A result exists but cannot be read (missing unit, qualifier or date). It does not count.

Unknown

The record is contradictory or unverifiable. Shown so the gap stays visible.

04

How the Purity Score is calculated

The Purity Score (0–100) summarises how a water system's measured results and compliance history compare with government limits. The score belongs to the water system. A city page shows the score of the system that serves most homes there, and lists other systems with their own scores. We never average scores across systems.

Each result is read against the first yardstick that exists, in this order: the federal MCL or action level, then an EPA health advisory or health reference level, then the strictest US state MCL. Only government sources count, and every yardstick is cited. A contaminant without one is shown but not graded; we never invent a limit. Lithium is shown with its EPA health reference level (10 µg/L, a screening value) but is not graded. Three steps, no hidden inputs:

  1. Score each graded contaminant

    • Not detected 100
    • Below the limit 100 − 40 × (value ÷ limit) from 100 down to 60
    • Above the limit 50 − 50 × (value − limit) ÷ limit 50 at the limit, 0 at twice it
  2. Each contaminant subject takes its lowest-scoring result

    PFAS, metals (lead and copper), disinfection by-products and other. One high reading is not averaged away by clean ones. The track record is not a lowest-scoring result: it starts at 100 and loses points for each health-based violation (below).

  3. Weighted average of measured subjects

    PFAS 30% · metals 30% · disinfection by-products 20% · other 10% · track record 10%. Subjects without a usable result are left out and the weights re-scale, so a missing test never counts as clean. Each contaminant score and the overall are rounded half up (74.5 becomes 75). Hardness is never scored.

0–54Poor
55–74Fair
75–89Good
90–100Excellent

When a subject has a result above its limit, the band says so, for example “Fair (PFAS above federal limits)”, or “above health guidelines” when the yardstick is not a federal limit. The label never hides the finding behind it.

Worked example

Result on recordContaminant scoreSubject score
PFOS 6 ng/L (federal MCL 4)50 − 50 × 0.5 = 25PFAS = lowest = 25
PFOA not detected100
Lead 2 µg/L (action level 15)100 − 40 × 0.133 = 94.7 → 95Metals = 95
No by-product result on fileNot measuredLeft out
Lithium 12 µg/L (health reference level 10)Shown, not gradedOther: left out
Nitrate violation in 2019, back in compliance in 2020−8 (resolved 3 to 10 years ago)Track record = 100 − 8 = 92
Overall = (0.30 × 25 + 0.30 × 95 + 0.10 × 92) ÷ 0.70 = 45.2 ÷ 0.70 = 64.57, rounded to 65, Fair (PFAS above federal limits). Confidence: moderate (3 of 4 core subjects measured; disinfection by-products pending).

The track record: health-based violations

Every health-based violation (a maximum contaminant level, disinfectant level or treatment technique) in a rolling 10-year window. The track record starts at 100 and loses points for each one. It never goes below 0.

ViolationDeduction
Open: not yet back in compliance−40
Resolved less than 3 years ago−20
Resolved 3 to 10 years ago−8

Repeated filings count once: at most one deduction per contaminant per calendar year, the most severe. A violation counts only here, never a second time through a contaminant. An open health-based violation caps the score at 74 (Fair), so a system cannot be rated Good or Excellent while it is out of compliance; its label then reads “Fair (open health-based violation)”.

Worked example from a live record: a capped score

NEW YORK CITY SYSTEM · PWSID NY7003493 · Purity Score 74/100 (Fair) · Confidence: high

How this number was reached
  1. Measured results81
  2. Cap appliedopen health-based violation74
  3. Published74

The measured results give 81; the cap (reason: open health-based violation) sets the published score at 74. Open the New York City report →

05

Confidence is a separate measure

High

All four core subjects have a usable result: PFAS, metals, disinfection by-products and track record.

Moderate

Three of the four. Most systems today: PFAS, lead and the national violation record are on file for most systems, by-products only where a utility report is on file.

Low

Two or fewer. The score covers little, and the report says which subjects are missing.

The track record comes from national EPA compliance data, so it is always measured. Missing data lowers confidence, never the score and never raises it. Each report lists the subjects still pending a source.

06

The limits we compare against

PurityMap never sets its own thresholds. Each result is read against the first government yardstick that exists: federal MCL or action level, then EPA health advisory or health reference level, then the strictest state MCL.

ContaminantLimitTypeSource
PFOA4 ng/LMCLFederal MCL (2024)
PFOS4 ng/LMCLFederal MCL (2024)
PFHxS, PFNA, HFPO-DA (GenX)10 ng/L eachMCLFederal MCL (2024). EPA has proposed rescinding these three; they apply until a final rule
PFBS2,000 ng/LHealth advisoryEPA health advisory (2022): no federal MCL
PFHxA400,000 ng/LState MCLStrictest state MCL (Michigan): no federal limit or EPA advisory
Lead15 µg/LAction levelAction level (not an MCL): triggers utility action
Copper1.3 mg/LAction levelAction level (not an MCL)
Arsenic10 µg/LMCLFederal MCL
Nitrate (as N)10 mg/LMCLFederal MCL
Total trihalomethanes80 µg/LMCLFederal MCL
Haloacetic acids (HAA5)60 µg/LMCLFederal MCL
Radium 226/2285 pCi/LMCLFederal MCL
Uranium30 µg/LMCLFederal MCL
Lithium10 µg/LReference levelEPA health reference level (a screening value, not a legal limit): shown, not graded

A PFAS compound with none of these yardsticks is shown with its measured value but not graded. PFAS mixture rules (the federal Hazard Index and state sum-of-PFAS limits) are not part of the score yet; each compound is read on its own.

07

Treatment recommendations

Treatment called for

A health finding above its limit, lead or galvanized service lines on record, or a past health-based violation a home filter can address.

Precautionary

Lead detected below the action level. Optional, because household plumbing can add lead the utility sample does not see.

Household preference

Hardness and taste. Never presented as a health treatment.

No treatment indicated

Nothing in the record calls for it. The page says so and shows no products.

A filter qualifies only with a certification we checked in the NSF, WQA or IAPMO listing for that exact contaminant. Merchant offers are attached afterwards and never change which filters qualify. Try the filter finder →

08

What we never claim

  • A safe or unsafe verdict

    We show what was measured against the published limit. Whether that matters for you depends on your plumbing, health and household.

  • That a missing test means clean water

    Untested substances are labelled "Not measured", never counted as a pass.

  • Numbers we did not find

    Every value links to a dated public source. If a figure is not in the record, the page says so.

  • That the utility record is your tap

    Utility results describe the system. Household pipes, especially for lead, can differ.

  • That a ZIP code is a service area

    ZIP pages point to the likely city report and ask you to confirm the supplier on your bill.

  • A product before the evidence

    Filters appear only after a finding calls for them, and only with a verified certification for that contaminant.

09

When a page is published and indexed

A page is offered to search engines only when it carries a sourced fact no other page has. Thin pages stay available to readers but out of the index.

PageIndexed when
City reportAlways: every city has its own PFAS, lead and system record
PFAS / lead / hard-water page for a cityThe record has that finding (PFAS detected, lead or service lines on record, a hardness value)
Best filter for a cityA finding calls for treatment; otherwise the page says no filter is called for
CountyAt least two city reports
Contaminant by state or countyDetected in at least one city
ZIP codeNever: a ZIP is not a service area, so it points to the city report
Water systemPoints search engines to its city report
10

Editorial process and AI assistance

Pages are prepared with AI assistance and reviewed by the PurityMap Editorial Team before publication. AI drafts explanations, summaries and FAQs from the structured findings; it is never used to invent measurements, sources, testing or reviewers. Product analysis is document-based unless a page explicitly describes hands-on testing. Corrections can be submitted from any page and are checked against the cited source.

Submit a correction →
11

Version history

AreaDateChange
score2026-09-26Purity Score update: the score belongs to the water system (PWSID); all UCMR 5 PFAS and copper shown, graded against the first government yardstick that exists; new track-record subject; open-violation cap at 74; weights 30/30/20/10/10; half-up rounding.
method2026-09-24Occurrence counts separate detected from tested cities; index rules for counties, ZIP codes and contaminant hubs.
method2026-09-23PFAS, lead and hard-water pages indexed only with a matching finding; lead service-line inventory added.
filters2026-09-11First published recommendation engine: tiers, verified-claim gating, offer independence.
score2026-09First published Purity Score, against the 2024 federal benchmark set; confidence reported separately.

Frequently asked questions

Is the Purity Score a safety rating?

No. It summarises how a system's published results compare with their cited limits (federal limits, EPA health advisories and state limits), so records can be compared. Safety questions belong to the specific finding, its limit and your household.

How is the Purity Score calculated?

Each graded contaminant gets 0–100: not detected scores 100, a result below its limit scores between 60 and 100 depending on how close it is, and a result above the limit scores 50 or less (0 at twice the limit). Each contaminant subject takes its lowest-scoring result. The track record is not a lowest-scoring result: it starts at 100 and loses 40 points for each open health-based violation in the last 10 years, 20 for one resolved less than 3 years ago and 8 for an older one, at most once per contaminant per calendar year and never below 0. The subjects are averaged with weights: PFAS 30%, metals 30%, disinfection by-products 20%, other 10%, track record 10%, and the result is rounded half up. An open health-based violation caps the score at 74 (Fair).

Does a city have its own Purity Score?

No. The score belongs to the water system. A city page shows the score of the system that serves most homes there, and lists other systems with their own scores. We never average scores across systems.

Why does a system with fewer tests not get a higher score?

Subjects without a usable measurement are left out of the average instead of counted as clean, and the confidence label drops. Not testing never earns points.

Why is lead compared with an action level, not a limit?

Lead has no enforceable maximum contaminant level. The 15 µg/L action level applies to the 90th-percentile result from home taps and obliges the utility to act. We label it that way everywhere.

Is hardness part of the score?

No. Hardness affects scale, appliances and soap, not health. It is shown where a utility report is on file and can trigger a softener suggestion, but it never moves the score.

Do affiliate commissions influence recommendations?

No. A filter qualifies only when a finding calls for treatment and the model has a verified certification for that contaminant. Offers are attached afterwards and never add, remove or reorder products.