Methodology — how the restoration estimate is computed
Reviewed 2026-07-13 · Metric contract version 2026-07-14.v1 · Every figure on this page is a constant in the running code, not a target.
Most outage maps tell you that the power is out. The question people actually have is when it comes back — and most utilities either post nothing or post a placeholder. So we compute an independent estimate from the outage's own recovery trend, publish it before the utility posts anything, and then grade ourselves in public against when power actually returned.
This page explains exactly how that works, including the cases where we deliberately show you nothing.
1. The measurement: what we actually observe
Every ~15 minutes we record how many customers are out in each county, and more often than that for utilities that publish their own live feeds. That series — not a model of the weather, not a guess — is the input. An outage is treated as one continuous event from the first reading above zero until customers-out falls to 10% of the event's peak (the "90% restored" mark, which is when the overwhelming majority of affected people have power back).
2. The estimate: recovery rate, then a bounded correction
- Rate. We take the change in customers-out across a ~2.5-hour window (150 minutes) — recent enough to reflect the crews working now, long enough not to swing on a single reading.
- Projection. Remaining customers ÷ that rate = hours to the 90% mark.
- Deceleration correction. Large outages have a slow tail: the last stragglers are scattered single-service repairs, not one big feeder. For events peaking at 1,000+ customers, once recovery passes the halfway point we stretch the estimate by up to 2×, scaling in gradually. It is capped at 2× and switched off entirely below 1,000 customers, so it can never run away. Without it, large-event estimates were roughly three times worse.
- Ceiling on the wording. Past 48 hours we stop quoting a number and say "restoring slowly" with the measured rate instead — an hour figure that precise is not credible that far out.
3. When we refuse to answer
This is the part that matters most, and the part almost nobody else publishes. We would rather show nothing than show a confident wrong number.
- Too small to model. Below 5 customers out in a county (10 for a city or neighborhood row) the arithmetic is noise. The page says so instead of estimating.
- No usable trend. If the recovery rate is smaller than 5 customers/hour or 1% of those still out, whichever is larger, we call it "holding steady — no clear recovery yet" and publish no time.
- The peak may not have passed. An outage still growing can look like it's recovering for one reading. Before quoting a time we score whether the event's peak is credibly behind us, on a 0–1 scale that must clear 0.60. Evidence in favour: consecutive non-increasing readings (+0.25, more at four or more), time since the maximum (+0.20 at an hour, +0.10 more at three), and how much has already been restored (+0.20, plus +0.15 once 80% is back). Evidence against, subtracted: an active severe weather warning over the county (−0.30), current wind gusts at or above 35 mph (−0.20), and other counties on the same utility still climbing (up to −0.15). Below the threshold the page says "may still be growing" and withholds the time.
We also don't grade ourselves on readings where we showed nothing — the accuracy record only scores estimates a visitor could actually have seen.
4. History: what past outages here actually did
A brand-new outage has no trend yet. When we have enough local history we describe it — as history, never disguised as a live prediction.
- Matching. Past events at the same place are matched by weather type and outage size, and for a range we additionally require past events whose peak was within 2.5× of the current one. A 300-customer blip and a 40,000-customer storm are not "similar outages", and we no longer describe them as such.
- Minimum evidence. A "typical past outage here" claim needs at least 4 comparable events. Below that we say nothing about history — two events are not a pattern. A published range additionally requires that the spread be internally tight (75th percentile no more than 3× the 25th).
- Blending. Once a live trend exists, history's influence fades: a firm live slope barely moves, a thin one leans on history, weighted by how well-matched the history is.
- Cold start. Where we have no tracked history yet, we fall back to federal records — 1.2 million county outage events reconstructed from the U.S. Department of Energy / Oak Ridge National Laboratory EAGLE-I dataset (2014–2025), replayed through the same event rules. These are county-specific only; there is no national average standing in for your county, and we label the source on the page.
5. Calibration: the range comes from our own past errors
When we show "likely 2–5 hr" rather than a single number, that band is empirical. At the close of every outage we compare what we predicted to what actually happened, and pool those ratios by confidence tier. A tier publishes no range until 50 real samples back it, and the reservoir keeps the most recent 400 so the band tracks current conditions rather than last year's.
6. Grading — ours and the utilities'
Every closed event is scored, and the results are published on the accuracy page with the misses included. Two things make that record unusual:
- We grade the utility's posted time by the identical yardstick. Same event, same ground truth, side by side with ours.
- We count how often a posted restoration time slips later. If a utility's own estimate moves back by half an hour or more, that's recorded. It is the single most useful thing we can tell you about whether to believe a posted time.
Published breakdowns are threshold-gated so a single storm can't masquerade as a pattern: a state appears at 5+ graded events, a named utility at 10+. Below those counts the rows exist but the names are withheld.
7. Known limitations
- Coverage is not uniform. Some utilities publish rich live feeds; others publish nothing and are only visible in the county-grain federal baseline. Missing data is not the same as zero outages, and pages say so rather than showing a reassuring zero.
- We report; we don't measure. Customer counts are the utilities' and ODIN's own figures. We never invent a number for a place that reports none.
- An estimate is not a promise. A second storm, a transmission failure, or a re-prioritised crew can invalidate any trend-based estimate instantly. Your utility remains the authority for your account.
- County-wide outlooks are county-wide. Where a utility publishes only county totals, your street may be restored well before or after the county figure suggests — the page labels that explicitly.
Sources and refresh cadence: sources page. Live scored track record: accuracy page. How content is produced and corrected: editorial policy.