If you’re building anything on top of ORNL’s EAGLE-I county-level outage dataset (Figshare, CC BY 4.0, 2014–2025), here are three issues we hit building PowerOutageHistory that aren’t obvious from the file headers alone. Sharing in case it saves someone else the debugging time.
MCC.csv’s customer-count denominator is wrong for ~21.7% of countiesAny “% of customers affected” or reliability metric needs a denominator —
how many customers actually live in the county. The obvious source,
MCC.csv, is unusable as-is for a meaningful share of counties.
Example: Henderson County, NC — MCC.csv lists 24 total customers.
Raw snapshot data shows 131,460 customers without power during a single
event. Uncorrected, that’s a county reporting 547,750% of its customers
out — which, left unchecked, would have made Henderson County rank #1 worst
grid reliability in the entire country in our first pass. It’s a data bug,
not a real event.
Fix: reconcile three independent estimates — MCC.csv, the embedded
per-row total_customers field in the newer (2024+) files, and US Census
ACS occupied-household counts — and take the max. Biasing toward the larger
denominator understates rather than overstates severity, which is the
safer direction to be wrong in.
DQI.csv is FEMA-region-level, not county-levelIt’s tempting to use DQI.csv as a per-county data-quality gate — the name
suggests it. It doesn’t work: the file is aggregated to 10 FEMA regions for
2018–2022 only. It cannot tell you anything about an individual county.
Build your own quality gate from the raw event data (years-reporting
coverage, event density, over-attribution share) instead.
About 2.1% of county-years show a peak outage count that exceeds even the reconciled (correct) denominator. This isn’t a denominator problem — it’s the source data itself misattributing a multi-county utility feed to a single FIPS code during major storms. No amount of denominator fixing solves it; you have to flag and exclude these county-years explicitly (we cap displayed values and exclude them from ranking/grading).
We cross-checked our state-level severity rankings against the EIA’s own 2024 utility reliability filings (SAIDI, schedule “Reliability_States”). Spearman correlation: 0.976 (p < 0.0001, n = 51 states/DC) — strong independent confirmation the underlying event-reconstruction method is sound, once the above three issues are handled.
EAGLE-I is 15-minute snapshots, not pre-built “events.” We reproduced
PNNL’s published method (filter to customers_out ≥ 200, then strict
15-minute contiguity — any gap ends the event) and validated it against
their own published Hurricane Uri (Feb 2021, Texas) numbers: 1,012 vs their
1,008 events, matching first-event timing and max duration (311.8h) almost
exactly. For small counties, a fixed 200-customer threshold erases real
signal — we use min(200, max(10, 0.5% of reconciled denominator)).
Full write-up of how this feeds into a public tool: PowerOutageHistory methodology. Data itself: ORNL EAGLE-I on Figshare (CC BY 4.0). Covered on: We Almost Told the Internet a Rural County Had 547,750% of Its Power Out