Public AI Energy Index¶
The AI Energy Index is Venturi’s public view of model-level energy, water, and carbon context at venturi.systems/ai-energy. Its versioned public catalog identifies each coefficient’s native unit, measured or modeled basis, workload, scope, and sources. Figures scaled from these coefficients are projections under the stated workload and accounting assumptions. This page explains the public data contract; tenant sustainability views are described in the dashboard overview.
The methodology behind every number is the same one documented in the energy, water, and eco-efficiency pages.
Where the data comes from¶
The public distribution is selected by
latest.json. The current
manifest names aimodels.,
with catalog_version = 2026-06-13.ap2 and
generated_at = 2026-06-13T00:. The selected catalog declares
schema_version = 1.1.0.
The selected public artifact, catalog 2026-06-13.ap2, is unsigned. Its
source_signature contains an UNSIGNED-SEED marker rather than an Ed25519
signature.
This marker identifies the public file as unsigned. A signed-catalog consumer must require an actual valid signature; it must not treat this marker as successful verification. The verification procedure below applies to a separately signed payload.
Preserve the schema, version, source dates, and source citations when reproducing a figure. Verify each signed distribution against its actual payload and signature. Version history records the signature status and eco-efficiency score availability of each published catalog version.
The signed-distribution contract requires consumers to verify and pin a version, retain the last-good version when verification fails, and preserve previously published versions without overwriting their bytes.
The seven views¶
| View | Catalog data and interpretation |
|---|---|
| Overview / Leaderboard | Read energy_wh_per_unit, water_ml_per_unit, and carbon_g_per_unit together with measurement_unit, measurement_kind, energy_scope, task, workload, and source date. The legacy token-energy and per-query sustainability fields are null. Ratings use their stated source cohort where available. Compare only compatible units, tasks, workloads, scopes, and protocols. |
| Model detail | Preserve the exact benchmark_model_id, source citations, protocol, workload, and caveats. Short, medium, and long prompt observations belong to the modeled How-Hungry rows and are nullable; measured AES and Power-Hungry rows use their own task protocols. Show a source standard deviation only where available. |
| Compare | A common task and size class are insufficient: native unit, workload, measurement scope, hardware, and protocol must also be compatible. GPU-only, machine, and facility values must remain distinguishable. |
| Time-series | Treat each catalog snapshot as a publication point. A coefficient change can be a source correction, updated estimate, or new measurement; inspect provenance before assigning a cause. |
| Fleet-scale impact | Scale a non-null coefficient by the count of matching native workload units. Label the result as a projection under those assumptions, with its query or inference denominator and source scope. |
| Reasoning breakdown | Preserve the specific workload and effort setting. GPT-5’s source describes 12 workload/effort combinations and the catalog does not publish a single model-wide aggregate coefficient. |
| Methodology | State the native-unit formula and source assumptions. Do not multiply a Wh/query or Wh/inference coefficient by output-token counts. |
Catalog 2026-06-13.ap2 supplies 30 energy values, 25 water values, 28 carbon
values, and two official AES ratings. It supplies no eco-efficiency scores.
These totals describe value availability in that catalog version only.
Every Model Energy Rating display links back to the AI Energy Score leaderboard through its “how is this calculated?” affordance, because the AI Energy Score documentation requires a link back to the main leaderboard wherever a standalone rating is shown.
The current catalog’s latency_s, tps, and ai_index fields are null on
every row. Its 25 T2 coefficients cite the published How Hungry is AI? v6
Table 4 and its Table 1 infrastructure assumptions. All 30 rows with energy
have populated source_citations; use that field for their source references.
Preserve the cited source and applicable attribution, licensing, and non-endorsement requirements described in licenses.
The three Power-Hungry measurement rows use the separate raw benchmark
dataset at revision 3f216f9377fb9ac0be634ed5fa7a1057d8632ae1.
Its README
declares cc-by-nc-4.0. Keep that dataset’s license distinct from the
accompanying paper’s license and retain its applicable reuse requirements.
Charts¶
Chart inputs retain their native units, source scopes, and measurement kinds.
An uncertainty display requires a non-null source standard deviation; a mean
and standard deviation alone do not supply distribution quartiles. Catalog
2026-06-13.ap2 has no non-null eco_ values, so it does not
supply scores for an eco-efficiency scatter or score-based sort. Keep
unavailable values unrated rather than plotting them as zero.
For time-series comparisons, snapshot_date identifies the catalog snapshot,
not the date of a new measurement. Use source_date, protocol, workload, and
provenance to determine whether points are comparable.
Filters¶
Eleven filters narrow the Overview and combine with AND: provider, model family, task, size class, prompt fixture (short, medium, long), sustainability metric (energy, water, carbon, eco-efficiency), derivation method, confidence, open or proprietary weights, hardware, and date range. Rows with no estimate stay reachable through the “unestimated” option of the derivation-method filter instead of disappearing, and rows measured on hardware other than the AI Energy Score reference are labeled not comparable.
Sourced equivalence cards¶
The fleet-scale view uses three equivalences, and each card states its divisor and source:
| Equivalence | Divisor | Basis |
|---|---|---|
| Average U.S. residential electricity customer | 10.38 MWh/year | 865 kWh/month in 2024 × 12 months, from the U.S. Energy Information Administration (EIA, May 12, 2025) |
| Olympic-size swimming pool | 2,500 kL | Nominal volume of a 50 m × 25 m pool filled to 2 m (2,500 m³). Pools built to the current World Aquatics minimum for the Olympic Games, 2.5 m deep, hold at least 3,125 kL (World Aquatics Competition Regulations, February 2026, Part Two, 15.3.1 and 15.4.1) |
| Typical U.S. gasoline passenger vehicle | 4.6 metric tons CO2/year | 22.2 miles per gallon, 11,500 miles per year, and 8,887 grams of CO2 per gallon (EPA) |
Energy totals in MWh are divided by the household divisor, water totals in kL by the pool divisor, and carbon totals in metric tons CO2e by the vehicle divisor. The EPA figure counts tailpipe CO2 only, so the vehicle card is an approximate comparison for a CO2e total. A card whose underlying projection is null shows the null state instead of a number.
Disclosure on every row¶
The viewer surfaces the same null-not-zero discipline the engine enforces:
- Per-row
derivation_methodandconfidenceare shown inline, so you can see exactly how each number was produced (measured, infra-aware estimate, class analogue, or unestimated) and how much to trust it. Confidence is encoded as a text-and-badge indicator, not by color alone. - An uncertainty band, where the selected source publishes an unambiguous standard deviation. Missing spread remains null; GPT-4.1’s medium value is one such case.
- Null is shown as null, never zero. A model with no available data is visibly unrated, not silently counted as emission-free. A model with no eco-efficiency score sits in an unscored group instead of ranking last.
- Catalog coverage and measurement availability are distinct. The current
coverageblock reports 51 catalog rows against a snapshot estimate of 205 leaderboard models (24.9%). Of those rows, 30 have energy: 25 modeled and five measured. The ratio is not measured-energy coverage or a census of every model available today. - A “how is this calculated?” affordance sits next to each metric, linking to the relevant methodology page.
Published only as the live page¶
The index is published only as the live page, which reads its versioned dataset itself. The viewer offers no file download: no copy of the catalog and no CSV of the current view.
Every numeric field in the dataset is nullable (null, never a fabricated
zero), and the provenance, derivation_method, and confidence fields are
mandatory and non-null on every row.
Verifying a signed catalog¶
For a signed distribution, source_signature is a detached
Ed25519 signature encoded in base64 over the canonical catalog bytes. The
current public UNSIGNED-SEED (...) marker does not meet that contract and
must not be treated as verified. To verify a separately signed catalog:
- Remove the
source_signaturefield and serialize the remaining object as canonical JSON: keys sorted at every level,,and:separators with no whitespace, and non-ASCII characters written as UTF-8 rather than escaped. That is the output of Python’sjson.dumps(payload, sort_keys=True, separators=(",", ":"), ensure_ascii=False). - Encode that text as UTF-8. These are the signed bytes.
- Decode
source_signaturefrom base64 and verify it over the signed bytes with Venturi’s control-plane signing public key. The key is an Ed25519 key, distributed either as PEM (SubjectPublicKeyInfo) or as the base64 encoding of its raw 32 bytes. The verification key and its SHA-256 fingerprint are delivered in the onboarding diligence pack; check the fingerprint of your copy against the pack before you trust a verification result.
This Python example uses the cryptography package and a PEM copy of the key:
import base64
import json
from cryptography.hazmat.primitives.serialization import load_pem_public_key
with open("energy-catalog.json", encoding="utf-8") as f:
catalog = json.load(f)
with open("energy_catalog_ed25519.pem", "rb") as f:
public_key = load_pem_public_key(f.read())
payload = {k: v for k, v in catalog.items() if k != "source_signature"}
signed_bytes = json.dumps(
payload, sort_keys=True, separators=(",", ":"), ensure_ascii=False
).encode("utf-8")
signature = base64.b64decode(catalog["source_signature"], validate=True)
public_key.verify(signature, signed_bytes)
print("signature valid")
Replace energy-catalog.json with the path to the signed payload you saved
and energy_ with your verification key. The unsigned
public marker cannot pass the base64/signature procedure. If a signed byte
changed, including schema_version, catalog_version, or generated_at,
verify raises cryptography. and the script
stops before printing signature valid.
Accessibility¶
The viewer has its own accessibility release gate against WCAG 2.1 AA: ratings carry color-independent text (for example, “Model Energy Rating 4 of 5”) rather than stars alone, provenance is exposed to assistive technology, charts have data-table fallbacks, and the tables and filters are fully keyboard-navigable. Viewer state (filters, sort, and the selected model) is encoded in the URL so any view is deep-linkable and shareable.
Where to go next¶
- Energy methodology: the formulas behind every column.
- Water methodology: the per-query water figures.
- Eco-efficiency methodology: the eco-efficiency score that a scored catalog version supplies to the sort and the scatter.
- Version history: published catalog versions, the signature status and score availability of each, and freshness.
- Licenses & attributions: upstream source credit.
Sign in to send feedback. Opens in a new tab.
Copy page details
Docs feedback: Public AI Energy Index
Page: https://docs.venturi.systems/energy/public-viz/