Michigan Water Systems Ranked by Exposure Burden — 2026

Michigan community water utilities ranked by a population-weighted 2021-2026 violation severity score combining EPA SDWIS enforcement data with EPA Community Water System Service Area Boundaries v3 population estimates.

50 Systems
ranked
22,183 PWSIDs
with demographic data
2019-23 Census ACS
vintage
EPA v3 CWS service area
boundaries (March 2026)
How to read this list Systems are sorted by exposure burden: a population-weighted score that combines how many people a utility serves with the severity of the federal violations recorded in the dataset's reporting period. Health-based and treatment-technique violations sum linearly; monitoring/reporting counts contribute on a log scale so large utilities with many sampling sites don't dominate purely through paperwork accumulation. Health-based violations recorded as unresolved in the source snapshot carry an additional 20× weight. See the methodology page for exact weights and rationale.

These 50 Michigan water utilities have the highest population-weighted violation scores in this dataset's reporting window. Scoring combines EPA health-based and treatment-technique violations on a linear scale (10× / 6×), adds a log-scaled contribution for monitoring/reporting lapses, and applies a 20× weight for currently-unresolved health violations. The total is multiplied by each system's population served.

RankWater SystemStatePop servedExposure burdenHealth viol. (since 2021)T&TMRUnresolved
1 Battle Creek - Verona System Michigan 52,508 4,257 8 0 1 —
2 Dearborn Heights Michigan 54,839 1,578 1 1 10 1
3 Benton Harbor Michigan 15,008 1,027 11 11 5 —
4 Taylor Michigan 62,952 510 1 1 4 —
5 Waterford Township Michigan 71,507 497 1 1 2 —
6 City of Flint Michigan 79,519 477 1 1 0 —
7 Redford Township Michigan 38,741 279 1 1 3 —
8 City of Mount Clemens Michigan 15,448 271 2 1 5 —
9 Albion Michigan 7,221 242 2 2 5 1
10 City of Bay City Michigan 40,210 241 1 1 0 —
11 Birmingham Michigan 17,727 232 2 2 1 —
12 Hamtramck Michigan 28,357 213 1 1 3 —
13 Holly, Village of Michigan 6,313 178 1 1 6 1
14 Mount Pleasant Michigan 22,932 151 1 1 1 —
15 Hillsdale Michigan 7,324 151 2 0 1 —
16 Flat Rock Michigan 11,139 140 2 2 1 —
17 Charter Township of Grand Blanc Michigan 22,220 140 1 1 0 —
18 Clinton Township Michigan 96,302 135 0 0 4 —
19 Westland Michigan 89,848 129 0 0 2 —
20 City of Owosso Michigan 16,951 122 1 1 3 —
21 Harper Woods Michigan 16,511 119 1 1 3 —
22 City of Lapeer Michigan 9,053 117 2 2 2 —
23 Mattawan Michigan 4,393 117 1 1 1 1
24 Marquette Michigan 19,411 116 1 1 0 —
25 Jackson Michigan 38,693 111 0 0 26 —
26 Grand Haven Township Michigan 12,215 73 1 1 0 —
27 New Baltimore, City of Michigan 12,053 72 1 1 0 —
28 Macomb Township Michigan 72,008 69 0 0 2 —
29 New Haven, Village of Michigan 6,983 49 1 1 2 —
30 Lincoln Park Michigan 34,179 48 0 0 4 —
31 City of Saginaw Michigan 48,710 46 0 0 2 —
32 Big Rapids Michigan 6,973 46 1 1 1 —
33 Pittsfield Township Michigan 29,559 44 0 0 3 —
34 East Lansing, City of Michigan 44,840 43 0 0 2 —
35 City of Swartz Creek Michigan 3,476 43 2 2 0 —
36 Allegan Michigan 5,743 43 1 1 2 —
37 West Bloomfield Township Michigan 42,568 41 0 0 2 —
38 Saginaw Charter Township Michigan 40,698 39 0 0 2 —
39 Southfield Michigan 54,623 38 0 0 0 —
40 Frenchtown Township Michigan 10,313 38 0 0 47 —
41 Cedar Springs Michigan 3,534 35 1 0 0 —
42 South Haven Area Water & Sewer Authority Michigan 4,490 35 1 1 3 —
43 Inkster Michigan 27,820 35 0 0 2 —
44 Meridian Township Michigan 36,589 33 0 0 1 —
45 River Rouge Michigan 3,947 32 1 1 7 —
46 Kalamazoo Michigan 50,880 31 0 0 1 —
47 Romulus Michigan 19,319 29 0 0 3 —
48 Southgate Michigan 31,624 29 0 0 1 —
49 Marine City Michigan 4,502 28 1 1 0 —
50 Belleville Michigan 3,653 28 1 1 3 —

How to read this ranking

Each row links to a full utility profile with violation history, lead testing results, and service-area ZIPs. The demographic context columns are from independent data sources (ACS, not EJScreen) and are provided for readers who want to examine equity patterns alongside the operational data.

See the full methodology for calculation details, data vintages, and known limitations.

Frequently asked questions

What is "exposure burden"?

A single score combining how many people a water system serves with how severe its federal drinking-water violations have been over the last five years. The formula is population_served × severity_score, where severity_score linearly sums contamination-related events — 10× per health-based violation, 6× per treatment-technique violation, 20× per currently-unresolved health violation — and adds a logarithmic contribution from procedural violations (2× × log10(1 + monitoring_count), 1× × log10(1 + other_count)). The log scaling prevents large utilities with many sampling sites from dominating the list purely through paperwork accumulation. Units are arbitrary — only relative ranks are meaningful. Scaled by 1,000 for display readability.

Why weight violations by severity?

A raw violation count would put systems with many late monitoring reports above systems with actual contamination events — because a large utility with 100 sampling sites failing 5% of them accumulates more MR violations than a tiny utility with real tap-water contamination. The severity weights come from the EPA Safe Drinking Water Act enforcement hierarchy: maximum contaminant level violations and treatment technique failures are Priority 1 (actual public-health risk), while monitoring/reporting violations are Priority 2 (procedural). We publish the weights so readers can recompute the ranking under different assumptions.

Why multiply by population?

Two systems with the same violation record affect very different numbers of people when one serves 500,000 residents and the other serves 3,000. A ranking by raw violation count does not account for the number of people served by each system. Population weighting gives more score weight to systems serving more people; it does not estimate individual exposure.

Is this the same as the Most Unresolved Violations list?

No. Unresolved violations count only currently-open health-based violations as of the latest EPA snapshot — a point-in-time view of records not marked resolved in that snapshot (EPA compliance records are not real-time). Exposure burden weights recorded violations in the stated source window by severity and population served. A system with one serious recorded violation and a large population served can outrank a system with many smaller unresolved monitoring violations; the two lists use different ranking methods.

Where does the data come from?

Violation categorization and counts come from EPA's Safe Drinking Water Information System (SDWIS) via the ECHO enforcement database. Population served comes from EPA Community Water System Service Area Boundaries v3 cross-walked to Census 2020 population via Microsoft building-footprint weights. Demographics come from Census ACS 2019-2023.

ZipCheckup is an independent public-data tool. We are a referral service and do not provide water testing, remediation, or utility services. Rankings reflect publicly-available federal data and are provided for informational purposes. For issues with your specific water system, contact your local water utility or state drinking water program.

Get safety alerts for Michigan

Free updates when EPA data changes for this area. No spam.

Unsubscribe anytime. Privacy Policy.

Share This Page

X Facebook
Check your water filter options Free tool - no phone call required.