← The record · All reference data
Grid & consumer energy-cost reference — US EIA
Committed consumer energy-cost baseline for a site’s corridor: what households in that
site’s state pay for electricity and heating fuel, which utility and balancing authority
serve the campus, and the scale of the data-center load against those markets. The
consumer-price half of the demand thread (issue #91, from the 2026-06-10 facility-design
call: “bring in fuel costs at the consumer level due to macro pressures and data-center
demand”). Regenerated by watermark eia / watermark grid; the site/scenario read the
committed YAML (no live pull).
Every state-, utility- and BA-level value below is resolved per site, not baked in: the
reference build keeps the un-slugged reference/eia/*.yaml, and every other site’s copies
live under reference/eia/<slug>/. A site in Indiana pulls the Indiana series and its own
serving utility; nothing about one site’s grid is asserted of another’s.
Files
| File | What | Source |
|---|---|---|
consumer-energy.yaml | The site state’s residential electricity price (¢/kWh), residential natural-gas price ($/Mcf), and total electricity retail sales (million kWh), each as a provenance-tagged annual point. | US EIA API v2 seriesid route — ELEC.PRICE.<ST>-RES.A, the state residential gas series, and ELEC.SALES.<ST>-ALL.A. source: connector. |
grid-profile.yaml | The serving electric utility + balancing authority identification, the EIA-861/930 utility/BA profile, and the campus load as a share of utility / BA / state load. Regenerated by watermark grid. (Issue #94, epic #93.) | Serving utility: corpus-grounded where the record names a tariff, else the EIA-861 service-territory file / state commission territory map, each tagged with its own source and confidence. Profile: EIA-861 per-utility (retail/customers/price) + EIA-930 annual (the site’s BA) + state retail from consumer-energy.yaml — all source: connector. |
ba-interchange.yaml | The balancing authority’s hourly demand / net generation / total net interchange, reduced to window-mean aggregates — the “interchange layer” the campus load is situated against. Regenerated by watermark interchange. (Issue #95, epic #93.) | US EIA-930 Hourly Electric Grid Monitor (electricity/rto/region-data, types D/NG/TI). source: connector. |
The demand → consumer-price-pressure sensitivity
watermark.economics.energy.derive_demand_pressure links the facility’s first-class total
facility_draw (watermark.facility.power, issue #87 — IT load × PUE) to this dataset:
- Annual consumption = facility draw × 8760 h × load factor (~0.9, assumption).
- Demand share = that consumption ÷ the site state’s total retail electricity sales (EIA).
- Households-equivalent = consumption ÷ ~10,500 kWh/household/yr (EIA US avg).
- Price-pressure band = demand share × a stylized demand-to-price transmission coefficient (0.5–1.0 %price/%demand).
The demand share and households-equivalent are the robust, EIA-cited headline. The price-pressure band is a stylized screening sensitivity, not a forecast — retail price formation is far more complex than one coefficient.
Known gaps & caveats
- EIA requires a key (
WATERMARK_EIA_API_KEY, free). Without one,watermark eiareplays the committed offline fixtures (tests/fixtures/economics/eia/); a live keyed pull refreshes to the latest annual vintage. Figures here are EIA annual averages (latest stable annual; EIA annual data lags ~1 year). The committed fixtures + figures are now a genuine recorded keyed pull — 2025 vintage (watermark eia, #120), superseding the earlier hand-transcribed 2023 placeholders. - The campus buys at wholesale/industrial rates, not the residential price. The residential price is the consumer-impact reference, not the campus’s own bill.
- Retail fuel is state-level natural gas, not gasoline. EIA retail gasoline is PADD/region-level (Midwest PADD 2), not state; we use the site state’s residential natural gas ($/Mcf) as the state-level consumer heating-fuel series and do not fabricate a county/state gasoline figure.
- Series values are connector-pulled and regenerable; EIA columns are selected by
name —
periodplus the series’ own value column (price/sales/valueon the/v2/seriesidroute), never by index.
grid-profile.yaml specifics (issue #94)
- The serving utility is grounded, never asserted. Each
grid-profile.yamlcarries the utility with its ownsourceandconfidence:documentwhere the site’s record names a tariff outright,referencewhere the identification rests on the EIA-861 service-territory file plus the state commission’s certified-territory map. A site whose serving LSE is not document-cited says so on the value rather than borrowing a neighbour’s. - The RTO/BA is read off the utility, not chosen — a utility in a PJM transmission zone is FERC-jurisdictional to PJM, and the profile records which BA applies to that site.
- All three load denominators are connector-sourced (#94/#120). Utility retail GWh +
customers + avg price come from the EIA-861 per-utility “Sales to Ultimate Customers”
bulk file (
watermark.grid.eia861, 2024 vintage; downloaded toecon_cache_dir/eia861/, offline replaystests/fixtures/economics/eia861/); the BA’s annual demand is the EIA-930 daily-demand sum viafetch_ba_annual_load; the state retail denominator is shared withconsumer-energy.yaml(#91). - A restructured utility reports in a split — Bundled (SSO) + Delivery (shopping). Retail sales/customers are the sum, and the average price is the bundled (full-service) revenue/sales: delivery-only rows exclude generation, so a blended price would understate the all-in cost. This applies wherever the state’s retail market is restructured.
- The campus load share derives from the first-class
facility_draw(watermark.facility.power, issue #87 — IT load × PUE), at the same ~0.9 load factor as #91.
ba-interchange.yaml specifics (issue #95)
- EIA-930 region-data is hourly; the connector reduces it to window-mean
aggregates inside the fetch (demand mean/peak, net-generation mean, net-interchange
mean/min/max, net-import-hours fraction) so the cached payload and committed fixture
stay tiny. The window is a representative summer month (peak cooling demand,
data-center relevant), not the full year — recorded in
period_start/period_end. - Sign convention: total interchange
TIis + for net exports, − for net imports (EIA-930). One BA window is committed today — PJM, which is a net exporter on average and is the balancing authority every site registered so far resolves to. A site outside PJM pulls its own BA rather than reading this one. - Keyed (
WATERMARK_EIA_API_KEY); offline replaystests/fixtures/economics/eia930/. The committed fixture + figures are a genuine recorded keyed pull of the 2024-06 window (watermark interchange, #95/#120), superseding the earlier hand-authored aggregates (which had overstated net-import hours as ~24% vs the real ~0.6%). - The derived
CampusInterchangeComparisonis a screening view over window means, not an hourly dispatch or locational (LMP/congestion) model — deliverability to the campus bus is the RTO interconnection-queue layer (#96).
Per-site instances
Which utility serves a campus, under which tariff, and what the load works out to against
that utility’s book belong to the site being read. They live beside this file under
instances/:
Every other site’s answers are in its own reference/eia/<slug>/grid-profile.yaml, with
each value carrying the source/confidence it was resolved at.
Cataloged datasets — generated from data/catalog/reference/; run watermark catalog render --apply after editing an entry.
A {…} placeholder in a title resolves to the site reading it — a slug-scoped dataset holds each site’s own copy, so its title names each site’s own county.
eia — Balancing-Authority Interchange Aggregates (EIA-930)
Source: U.S. EIA — Form EIA-930 Hourly Electric Grid Monitor (BA region demand/net-gen/interchange) · License: U.S. Government work (public domain) · Access: keyed · Site scope: basin-shared · Refresh: on-demand
Regenerate: watermark interchange
| file | type | lfs |
|---|---|---|
reference/eia/ba-interchange.yaml | application/x-yaml | no |
eia-consumer-energy — {state} Consumer Energy-Cost Baseline (EIA API v2)
Source: U.S. EIA — API v2 seriesid route (state residential electricity/gas price, total retail sales) · License: U.S. Government work (public domain) · Access: keyed · Site scope: slug-scoped · Refresh: annual
Regenerate: watermark eia
| file | type | lfs |
|---|---|---|
reference/eia/consumer-energy.yaml | application/x-yaml | no |
reference/eia/{site}/consumer-energy.yaml | application/x-yaml | no |
eia-demand-pressure — Facility Demand → Consumer Price-Pressure Sensitivity (EIA + facility load)
Source: Derived — facility draw (air permit, #87) sized against EIA state retail sales + residential price (#91) · License: U.S. Government work (public domain) · Access: keyed · Site scope: slug-scoped · Refresh: annual
Regenerate: watermark eia
| file | type | lfs |
|---|---|---|
reference/eia/demand-pressure.yaml | application/x-yaml | no |
reference/eia/{site}/demand-pressure.yaml | application/x-yaml | no |
eia-grid-profile — Per-Site Campus Grid Profile — Serving Utility, BA & Load Share (EIA-861/930)
Source: U.S. EIA — Form EIA-861 (serving-utility retail sales) + Form EIA-930 (balancing-authority hourly demand) · License: U.S. Government work (public domain) · Access: keyed · Site scope: slug-scoped · Refresh: annual
Regenerate: watermark grid
| file | type | lfs |
|---|---|---|
reference/eia/grid-profile.yaml | application/x-yaml | no |
reference/eia/{site}/grid-profile.yaml | application/x-yaml | no |