ANAlpesh Nakrani
SolutionsBlogBooksPraiseAboutWork with me
Back to the blog
Blog/Jul 1, 2026 · 13 min

How to Choose an LLM: A Framework, Not a Leaderboard

The right LLM is the cheapest model that clears your task's eval bar, not the one topping a leaderboard. Here is the five-factor framework I use.

Choosing an LLM is a five-factor fit problem, not a leaderboard problem: accuracy on your own task, cost per successful output, latency against your product's tolerance, context window against your real input size, and whether open weights or a proprietary API fits your deployment constraints. Rank a shortlist on those five factors against a small eval set built from your own data, and the "which model is best" argument mostly dissolves.

I have watched teams burn two weeks debating GPT versus Claude versus Gemini off an Arena screenshot, then ship the winner and watch it fail on their own support tickets in week one. The leaderboard never saw their prompt, their latency budget, or their data. I run revenue at ViitorCloud, and every one of those debates eventually becomes a cost line and a churn number on my desk. Here is the framework I use instead, and the traps that catch smart teams anyway.

The best LLM is not the one on top of a leaderboard. It is the cheapest model that clears your task's eval bar.

Key takeaways

If you read nothing else, read these.

  • Selection is a five-factor decision: task accuracy, cost per successful task, latency, context window, and open vs. proprietary fit. No single leaderboard score covers all five.
  • Public benchmarks are a first filter, not a final answer. MMLU is saturated, and Chatbot Arena's own rankings have been shown to be distorted by undisclosed private testing among top labs.
  • Price per token is not your real cost. Output tokens run four to eight times the price of input tokens on most 2026 pricing sheets, so a "cheap" model can lose on a verbose task.
  • Context window is a spec sheet number until you test it. Effective quality on long-context tasks typically degrades well before you hit the advertised ceiling.
  • The open-weight vs. proprietary gap has narrowed. Some open-weight models now match or beat proprietary frontier models on specific coding and reasoning benchmarks, so brand is no longer a safe shortcut.

What actually separates one LLM from another in 2026

Every model announcement leads with a benchmark score. Almost none of them lead with the number that determines whether the model works for you: how it performs on your task, at your volume, inside your latency budget. Those are different questions, and conflating them is the single most expensive mistake in model selection.

Five factors do the actual work of separating models for a real deployment. Task accuracy on examples that look like your production traffic, not a public test set. Cost per successful task, which folds in retries and output length, not the sticker price per token. Latency at your traffic's p95, not the vendor's median demo. Context window sized to your real input, not the advertised ceiling. And deployment fit: whether you need a hosted API or a model you can run and inspect yourself.

None of these five live on a single leaderboard. That is the practical reason the "best LLM" question has no single answer, and why the framework below asks you to build a small, cheap eval before you compare anything else.

Start from the job, not the leaderboard

Before you open a single benchmark page, write down what the model has to do, in one sentence, with a pass condition. "Summarize a support ticket into three bullet points a human agent can act on in under ten seconds" is a job. "Be a good general-purpose assistant" is not, and a model chosen against a vague job description will disappoint you against a specific one.

A narrow job description does more work than it looks like. It tells you which benchmarks are even relevant, whether you need long context or short, whether latency has to be sub-second or can tolerate a few seconds, and whether the task is closer to classification, generation, or multi-step reasoning. Most bad model choices trace back to skipping this step and going straight to a leaderboard filtered on nothing but "overall rank."

Named benchmarks are still useful here, as a coarse first filter. MMLU tells you roughly how a model handles broad academic knowledge. SWE-bench and its variants tell you how a model handles real GitHub-issue-style coding tasks. Chatbot Arena tells you which outputs human raters preferred in open chat. Use them to cut a field of thirty models to five. Do not use them to pick the final one.

Why MMLU, Arena, and SWE-bench scores mislead you alone

MMLU saturated once frontier models started clearing roughly 90% accuracy, which means it stopped discriminating between the models you are actually choosing among. Worse, contamination audits have found MMLU test questions sitting verbatim inside Common Crawl, the web corpus most models train on. A high MMLU score increasingly tells you a model saw something like the test, not that it reasons well on novel problems.

Chatbot Arena has a harder problem than saturation: the ranking itself has been shown to be unfair to some of the models on it. "The Leaderboard Illusion," an April 2025 arXiv paper, found that a handful of providers get to privately test multiple model variants and retract weak scores before anything goes public, with Meta alone testing 27 private variants ahead of its Llama 4 release. Google and OpenAI together received close to 40% of all Arena battle data, while 83 open-weight models combined received under 30%, per the same paper (arXiv:2504.20879). A leaderboard where some entrants get private practice runs and others do not is not measuring the same thing for every model on it.

A leaderboard rank tells you how a model performed on someone else's traffic, with someone else's data access. Only your eval set tells you how it performs on yours.

SWE-bench holds up better than most, because it is grounded in real GitHub issues with real test suites instead of human vibes. But even here, the resolve-rate number that gets quoted hides real information: two models can post an identical SWE-bench Verified score while one burns four times the output tokens to get there, which is four times the inference bill for the same result. The live SWE-bench Verified leaderboard is worth checking directly before you shortlist a model, because a snapshot printed in an article goes stale within weeks and the live page does not.

Cost is the eval-adjusted price, not the sticker price

Per-token pricing is the first number everyone compares, and it is the least useful one on its own. As of 2026, frontier-tier models price roughly $2 to $5 per million input tokens and $12 to $30 per million output tokens, while budget and fast-tier models undercut that by an order of magnitude on the low end. Anthropic's own published rates put Claude Opus 4.8 at $5 per million input tokens and $25 per million output, a useful reference point straight from a provider's pricing page (Anthropic pricing).

Output tokens are the number that quietly wrecks budgets, because they price four to eight times higher than input across most providers, and a verbose model burns through that gap fast. A model that answers in 400 tokens costs meaningfully more per call than one that answers in 150, even at the identical per-token rate, and that difference compounds at volume. I cover the full mechanics of this, including how to model it before you commit, in my guide to LLM inference cost.

# Illustrative eval scorecard, not a live benchmark
model_a: task_accuracy=91% cost_per_1k_calls=$14 p95_latency=1.8s
model_b: task_accuracy=89% cost_per_1k_calls=$3 p95_latency=0.9s
# model_b wins on this task. No leaderboard asks this question for you.

The real number is cost per successful task, which folds in retries, output length, and any escalation to a stronger model on failure. A model that is 20% cheaper per token but fails your task twice as often is not the cheaper model. Compute this number on your own eval set before you sign a contract, not after the first invoice arrives.

Latency and context window: the constraints benchmarks don't test

Latency rarely shows up on a benchmark leaderboard, and it is often the constraint that eliminates candidates before accuracy even gets a vote. A frontier model that reasons brilliantly at three seconds per response is disqualified instantly for an autocomplete feature that needs sub-second replies, no matter what it scores on Arena. Measure p95 latency under your real traffic pattern, not a vendor's cherry-picked demo, and measure it before you fall in love with a model's accuracy numbers.

Context window has the same gap between spec sheet and reality. As of 2026, more than a dozen frontier and near-frontier models ship 1M-plus token windows, and a smaller set advertise up to 10 million. Those numbers describe the ceiling, not the working range. Effective quality on long-context tasks commonly starts degrading well before the advertised limit, often somewhere past 60 to 70% of the window, so a model that "supports" a million tokens may not reliably reason across all of them.

The honest fix is to test at your real input size, not the marketing number. If your typical document is 40,000 tokens, test retrieval and reasoning quality at 40,000 tokens, not at the model's theoretical maximum. A model that wins the context-window spec sheet and loses at your actual size is not the model you want.

Open weight or proprietary: the real 2026 tradeoff

The performance gap between open-weight and proprietary models has closed further than most buyers assume. Open-weight families like Llama, Qwen, DeepSeek, and GLM now post coding and reasoning scores that are competitive with, and on specific benchmark variants ahead of, proprietary frontier models. Brand is no longer a reliable proxy for capability, which means the open-vs-proprietary choice is now mostly a deployment and cost decision, not a quality one.

Proprietary APIs win on convenience: no infrastructure to run, automatic updates, a support contract, and predictable latency someone else engineers for you. The tradeoff is real and worth naming plainly. You are trusting a third party with your data path, you inherit their rate limits and outages, and your cost scales linearly with usage forever. Open weights flip that trade. You control the deployment, the data never has to leave your infrastructure, and unit cost can drop sharply at real scale, but you now own the GPUs, the serving stack, and the on-call rotation that keeps it running.

The pattern I see working in production is hybrid, not exclusive. Open-weight models handle the high-volume, well-understood slice of traffic, and a proprietary frontier model is reserved for the smaller share of requests that genuinely need it. Bigger and more general keeps winning on raw capability as scale increases, which is the whole argument in my book The Bitter Lesson, Revisited. But winning on capability and winning on your unit economics are two different contests, and you should only pay for the first one when the task actually demands it.

Build the eval before you pick the model

None of the five factors above mean anything without a way to measure them on your own task, and that means you need an eval set before you need a model. Pull 30 to 50 real examples from your own data, or from a close approximation if you have not launched yet, and write a pass condition for each one that a person could grade without ambiguity.

Run every candidate model against that same frozen set and score task accuracy, cost per call, and latency together, not accuracy in isolation. This is the same discipline I lay out in full in my guide to LLM evaluation, and it is the single habit that separates a defensible model choice from a leaderboard screenshot pasted into a Slack thread.

Name the trade-off honestly: building this eval set takes a day or two you would rather spend shipping. It is worth it anyway. A leaderboard rank is free and tells you almost nothing about your task. A 30-example eval set costs an afternoon and tells you exactly what you need to know, on the data that actually matters.

A five-step framework you can run this week

Here is the sequence I actually use, in order, for a new model decision.

  • Write the job as one sentence with a pass condition. Not "a good assistant," but "extracts the correct order ID from a support email, formatted exactly as XX-000000, in under two seconds."
  • Use public benchmarks to cut a long list to a short one. MMLU, Arena, and SWE-bench-style scores are fine for narrowing thirty models to five. Stop trusting them past that point.
  • Build a 30-to-50-example eval set from your own data. Include the edge cases that actually break things, not just the easy examples.
  • Score every finalist on accuracy, cost per successful task, p95 latency, and context fit, together. The winner is the cheapest model that clears your accuracy bar inside your latency budget, not the highest raw score.
  • Decide open weight or proprietary based on deployment reality, not brand. If two models tie on the eval, the deployment question, not the benchmark, should break the tie.

Run that sequence and the "which LLM is best" debate stops being a matter of opinion. It becomes a number your team can defend, rerun when a new model ships, and hand to whoever signs the invoice.

Frequently asked questions

What is the best LLM to use in 2026?

There is no single best LLM. The right choice is the cheapest model that clears your task's accuracy bar inside your latency and context constraints, measured on your own eval set. Public leaderboards can narrow a long list to a short one, but the final decision has to come from testing on your actual task.

Should I choose an open-weight or a proprietary model?

It depends on deployment reality more than raw capability, since the performance gap has narrowed considerably. Proprietary APIs win on convenience, support, and predictable latency. Open weights win on data control and unit cost at real scale, at the price of owning your own serving infrastructure.

How much does it actually cost to run an LLM in production?

More than the per-token price suggests, because output tokens typically cost four to eight times the input rate and a verbose model can quietly dominate your bill. The number that matters is cost per successful task, which accounts for retries and output length, not the sticker price per token.

Can I just trust a benchmark leaderboard instead of building my own eval?

No, not as the final decision. MMLU is saturated and shows contamination, and research has documented that Chatbot Arena rankings are distorted by unequal private testing access among providers. Use leaderboards to cut a long list down; use a small eval set built from your own data to make the actual call.

Picking an LLM is a five-factor engineering decision with a direct line to your P&L, not a leaderboard screenshot. If you want a team that builds the eval harness alongside the model selection, instead of guessing and re-deciding every quarter, that is the kind of work ViitorCloud's technology consulting practice does for teams making this call under real deadline pressure.

Share
Next

Keep reading

View all blogs

Ask AI about How to Choose an LLM: A Framework, Not a Leaderboard