Methodology & Data Sources

Every number on WattRate is computed from public EIA data with a stated formula and a stamped data window. Here's the whole chain.

Sources

Page typeSourceWindow on this site
StatesEIA monthly residential retail-sales series (Forms EIA-826, EIA-861, EIA-861M), via the EIA Open Data API v2. Public domain.Through June 2026 · fetched 2026-09-20
UtilitiesForm EIA-861 annual data — residential customers, revenue, and sales per utility. Public domain.2024 annual · fetched 2026-09-20
CitiesThe serving utility's EIA-861 data where mapped; otherwise the clearly-labeled state average. City population: 2020 Census (approx.).Matches utility or state window

Formulas

  • Average monthly bill = residential revenue ÷ residential customers (monthly: EIA-826; annually: EIA-861 revenue ÷ customers ÷ 12).
  • Price per kWh = residential revenue ÷ residential sales. It bundles supply, delivery, taxes, and fees — the all-in rate a household effectively pays.
  • Typical usage = residential sales ÷ residential customers for the same month (kWh/month).
  • Ranks compare tracked entities only: states against states+DC; utilities against the largest ~250 utilities we track, within their state.

Honest limitations

  • Revision lag. EIA revises monthly data for roughly two months; the state window shown is the latest published month, which may still be revised.
  • Averages hide distribution. An "average bill" blends apartments and detached houses, mild and extreme usage. Treat it as a benchmark, not a forecast of your invoice.
  • Utility ≠ full bill for everyone. Some customers buy generation from retail suppliers (deregulated markets); utility figures then reflect the delivery-dominant bill shape of EIA's reported revenue.
  • City pages are grounded estimates. Where a city's primary utility is mapped, its annual figures stand in for the city; unmapped cities use state averages and say so on the page.
  • Unit contract. The pipeline asserts EIA's units (price ¢/kWh, revenue thousand $, sales million kWh) on every fetch and refuses to store mis-normalized data.

Refresh cycle

A scripted pipeline re-fetches EIA data monthly, rebuilds the database, and every page stamps "Data through {month} · verified {date}". If a fetch fails verification, the site keeps the last good data and the stamp shows exactly how old it is.