Skip to content

How we rank models

Three kinds of claims, kept apart on purpose: verified facts, computed numbers, and editorial picks.

Dataset last verified: October 24, 2026

The dataset covers 21 models as of October 24, 2026. Every price is read from the vendor page cited on the model page.

What we do not do

We do not run a coding benchmark harness, so we do not publish a score out of 100 and we do not rank models on a number we cannot reproduce.

We do not copy another site’s leaderboard. Their scores come from their own harness and their own tasks; presenting them as ours would be both wrong and easy to catch.

Verified facts

Prices, context windows, output limits, licences and modalities are read from the vendor’s documentation and pricing page. Each model page links the exact source it used and prints the date it was checked.

When a vendor announces a price change, we store it with the start date and show it on the page. A test fails once that date arrives, so a stale price cannot ship quietly.

When a maker’s price table is rendered client-side and cannot be read, we cite an authorized reseller listing (OpenRouter) and label it as such on the card. We never fill the gap with an estimate.

Sources and model links

Each model card lists the maker page, the pricing page, the documentation, and — when they exist — the Hugging Face repository and the Ollama library page. A link says what it substantiates: the maker page proves the positioning, the pricing page proves the rates, the repository proves the weights exist, and the Ollama page proves a local tag.

We never link a page that does not exist to make a card look complete. When the weights are not public yet — Kimi K3.1 Pro and Mistral Large 4 at launch — the card says so instead of pointing at an empty repository.

Computed numbers

“Task cost” is arithmetic, not a measurement: 50,000 input tokens plus 10,000 output tokens at the published base rate. We keep the task under every tier threshold so one column can compare every model.

Caching, batch discounts and long-context tiers are named on the model page but left out of the task cost, because they depend on how you call the model, not on the model.

Editorial picks

A pick is an opinion with a reason attached. The reason must point at a fact on the model page: what the vendor positions the model for, a price, a context limit, or a licence. “Feels smarter” is not a reason.

A model can win at most one category, and the pick page always shows the caveat that could make you choose otherwise.

Videos

Videos are recommendations, not endorsements. We choose hands-on tests and demos over reaction videos, credit the channel, and link out to YouTube instead of embedding a player. Arabic pages prefer Arabic-speaking creators; when a model has no Arabic video yet, the English pick is shown with an “English” label, never passed off as Arabic.

A maintenance script checks every video id against YouTube’s public oEmbed endpoint (`npm run check:model-videos`), so a removed video fails the check instead of rotting on the page.

When a new version ships

One current card per lane, where a lane is maker + family + tier. A new Opus replaces Opus; it does not replace Sonnet, Haiku, or the cheap open-weight model people self-host. When a true successor ships, the old card leaves the index, leaderboard, sitemap and search, and its URL 308s to the successor in both languages. The data stays in the repository as history.

An old model stays only when the successor lacks something it had — a capability, a licence, or a price that still matters — and then it is labelled “Legacy” rather than silently competing with the current card.

Sponsorship

A sponsored video slot, when we sell one, is labelled “Sponsored”, carries rel="sponsored", and never changes a pick or a ranking. Sponsorship buys attention, not position.

Corrections

If a price or a spec is wrong, the date on the page tells you how stale it might be. Send the vendor URL that contradicts it through the about page and we will fix the entry and bump the verification date.