How We Rank 250+ Models
Model rankings are easy to fake and easy to fudge, so ours follow rules designed to survive skeptical reading. This post is the methodology behind the rankings, stated plainly enough to be checked.
Named benchmarks, never invented composites
The benchmark lanes are raw, named, public benchmarks: LiveCodeBench and SciCode for coding, AIME and MATH-500 for math, GPQA, MMLU-Pro, and HLE for knowledge and reasoning, among others. Each lane shows the benchmark's own scores with provenance. What you will not find is a proprietary mega-score that blends unlike things into one unfalsifiable number and quietly encodes editorial choices.
The capability index is rescaled, and says so
For an overall view, we use a capability index derived from the Epoch Capabilities Index: openly published data and methodology, re-fit by us for models Epoch has not scored. Where a model lacks a score, the index shows nothing: an omitted number is missing, never silently zero, because "no data" and "scored terribly" are different facts.
The second plane: how models actually behave here
Benchmarks are the lab; production is the field. A separate telemetry plane tracks what our own traffic observes: speed, reliability, uptime, and realized cost per model and provider. That plane feeds routing and failover and gives the rankings a reality check benchmarks cannot: a model that aces a leaderboard and times out at dinner hour is both of those things, visibly.
Where the rankings flow
The same data backs the model pages, the compare surfaces, and the methodology bands on every best-of roundup: when a roundup says a pick follows the coding lane, that lane is one click away, with the same numbers. One data plane, several views, no private arithmetic.
The standing invitation
The strongest check on any ranking is your own prompt: run it across the contenders in parallel tabs and see whether our numbers predicted your result. When they do not, that is signal (benchmarks measure benchmarks), and it is why the rankings link the evidence instead of asking for trust.
Found this helpful? Share it: