Every number on the dashboard is calculated the same way, from public data, and checked against laboratory measurement. This page is the working.
The one rule everything else follows. Our figures are accurate to roughly a factor of two to three. So we only ever state a difference when it is at least 5× — comfortably outside that margin. Where two models are closer than that, we say they are too close to call rather than inventing a ranking. This is why the dashboard will not tell you that one model is 20% better than another: we do not know that, and neither does anyone else.
Epoch AI's score on GPQA diamond — a set of science questions hard enough that specialists with web access still get many of them wrong. We do not compute this ourselves; we take Epoch's published score, and their roster is also what decides which models appear here at all.
Calculated, not metered. No AI company publishes per-answer energy, so there is nothing to look up. We use the EcoLogits model, which works from how much of a model fires per word generated and how many words it writes: a 7,000-word-ish answer for a complex prompt, 300 for everyday chat, on a world-average electricity grid.
What actually drives the number is active parameters × tokens generated. That is worth knowing because it tells you what the figure is sensitive to. Sweeping a model's speed from 2 to 100 tokens per second moves the result by under 5%; parameter count moves it by around 4,000×. Size is the whole story, and speed is a rounding error — which is why the dashboard has no speed axis.
The raw EcoLogits formula assumes a model has its hardware largely to itself, which
overstates real energy use by roughly a factor of two. We correct for that against
46 samples vs ML.ENERGY on B200, batch 32-128, applying a factor of 0.53518.
Laboratory measurement sounds strictly better than a model. It is not, for our purpose, and this is the single most important thing on this page.
The same model, on the same benchmark, measured at different serving batch sizes:
| Requests handled at once | Measured energy per answer |
|---|---|
| 8 | 0.236 Wh |
| 64 | 0.087 Wh |
| 256 | 0.041 Wh |
| 4096 | 0.028 Wh |
An eightfold spread from the serving setup alone, for an identical model doing identical work. And measurement only exists for open-weight models — nobody can measure GPT or Claude or Gemini from outside. So publishing measured figures next to modelled ones would have shown open models as roughly 30× greener than closed ones, purely as an artefact of which ones can be measured. That would have been a ranking of serving configurations wearing the costume of a ranking of models.
So every headline figure here is computed the same way, including for the 11 models we do have measurements for. Measurement is used to calibrate and to check our work, never to replace it.
Cross-checking the calibrated model against measurement on the 11 models present in both sources, at matched answer lengths and matched serving configuration: a bit over half land within 2× of the measured value. The worst overestimate is 3.4×; the worst underestimate is 0.39×.
So: good to roughly a factor of two to three. The error is not random noise — it clusters by model family, which the formula cannot capture.
Permitted. Claims about differences of 5× or more. The headline finding — spreads of 200× and up within a single capability band — sits far outside the error bar.
Forbidden. Ranking adjacent models, or any claim of the form "20% worse than". The dashboard must not imply precision it does not have.
The weakest link is honest to name: the calibration comes from open models between 8B and 405B parameters, and is extrapolated to closed frontier models an order of magnitude larger, whose parameter counts are themselves published guesses spanning 3×. The largest figures on the chart carry the most compounded uncertainty, and are drawn as wide bands rather than points for exactly that reason.
Energy cannot be worked out without knowing how big a model is, and how much of it fires per word. Where a maker has published neither, and nothing in the model's name or Epoch's notes settles it, assuming one architecture over another swings the answer about 30×.
Rather than pick, we carry the full span as an explicit band, flag the model, and bar it from every headline claim. Those models still appear on the chart and in the table — leaving them out would quietly reward the silence. Removing them entirely does not change the headline finding.
A further 44 of the 178 models here publish no size at any source and get no energy figure at all. That is not a gap in our data so much as a gap in theirs, which is why the dashboard scores each company on how much of its own line-up can be assessed.
Energy is driven by the total text a model generates — including the reasoning it works through and never shows you. 74 of the models here do exactly that. OpenAI, Anthropic and Google each confirm in their own documentation that this text is generated and billed while being returned only as a summary, or not at all.
Our figures count a fixed answer length. So for those 74 models the number shown is an understatement, not an estimate. Each one is marked in the table. Open-weight models are recorded as showing their reasoning because anyone can run them and read it; closed models whose makers have published no position are recorded as undisclosed, never assumed.
| Models with a capability score | 178 |
| With an energy figure | 134 |
| Cross-checked against laboratory measurement | 11 |
| No parameter count published anywhere | 44 |
| Reasoning hidden / shown / undisclosed | 74 / 75 / 29 |
All three are public and free to access, and we are grateful for them. Any error in how their data is combined here is ours, not theirs.
Published under CC BY 4.0: use them anywhere, including commercially, as long as you credit The AI Footprint and link back. The underlying dataset is models.json — help yourself, and please cite the three sources above as well as this site.