Methodology

How we convert benchmark workloads, model scores, usage and token prices into the chart measures.

Terms used below

AA means Artificial Analysis. An AA score is a model configuration’s Artificial Analysis Intelligence Index score. A configuration can include a reasoning setting, such as low or high.

An AA standardized task is one weighted task unit in the AA Intelligence Index evaluation. It is a common unit for comparison. It is not a typical user request.

A listed price is a provider’s published price on OpenRouter. It does not include a user’s routing rules, discounts or final bill.

1. Tokens used for one standardized task

AA reports a cost and a price per million tokens for each token component. We use these two values to recover the token quantity:

$$\text{component tokens per task}=\frac{\text{component cost}}{\text{component price per million}}\times 1{,}000{,}000$$

The components are ordinary input, cache-read input, cache-write input, answer output and reasoning output. Total tokens per task are:

$$T_m=I_m+R_m+W_m+A_m+G_m$$

m identifies the model configuration. We compare recovered answer plus reasoning tokens with AA’s output-token figure. We exclude a configuration if the difference is more than 10%. This check reduces errors caused by incomplete chart data.

We hold these token quantities constant through time. This isolates changes in token prices and the available model set. It does not assume that a model’s real user requests stay constant.

2. Cost for one standardized task

For each provider endpoint, we apply that endpoint’s prices to the five token components:

$$C_{m,e}(t)=\frac{I_mP_{\mathrm{in},e}(t)+R_mP_{\mathrm{read},e}(t)+W_mP_{\mathrm{write},e}(t)+(A_m+G_m)P_{\mathrm{out},e}(t)}{1{,}000{,}000}$$

I is ordinary input. R is cache read. W is cache write. A is answer output. G is reasoning output. e is one provider endpoint. t is the date and time.

All prices in one calculation come from the same endpoint. We never combine one provider’s input price with another provider’s output price. If an endpoint has no separate cache-write price, we use its ordinary input price for cache-write tokens.

The listed cost for model m is the cheapest complete endpoint cost:

$$C_m(t)=\min_{e\in E_m(t)} C_{m,e}(t)$$

3. Cost over time

The score-band view groups configurations by AA score. The default average uses OpenRouter token market share. For score band b:

$$\operatorname{BandCost}_b(t)=\frac{\sum_{m\in b}V_m(d)\,C_m(t)}{\sum_{m\in b}V_m(d)}$$

Vm(d) is the model’s OpenRouter token volume on usage day d. The equal-model option gives each included model the same weight.

The threshold view does not average models. For a minimum AA score q:

$$\operatorname{ThresholdCost}_q(t)=\min_{m:\,S_m\ge q}C_m(t)$$

This produces a price floor. A model can set the floor even if it has little OpenRouter usage.

4. Capability demand over time

The default measure first estimates how many AA standardized tasks each model’s token volume could represent:

$$N_{m,d}=\frac{V_{m,d}}{T_m}$$

It then uses those estimated tasks to weight model scores:

$$\overline{S}^{\mathrm{task}}_d=\frac{\sum_m N_{m,d}S_m}{\sum_m N_{m,d}}$$

We divide by tokens per task because models use different token quantities for the same AA workload. Without this adjustment, a verbose model would receive more weight only because it used more tokens.

The request measure replaces estimated AA tasks with observed OpenRouter request counts. The Ramp measure replaces them with Ramp’s model-level enterprise spend shares.

The frontier line is the highest AA score among models released by that date. Coverage is the share of the selected weight that we could match to an AA score. Unmatched usage stays in the coverage denominator.

5. Capability versus cost

This chart uses one matched set of models and one set of estimated AA-task weights. This keeps the capability and cost calculations comparable.

The blue line is the task-weighted score from section 4. The orange line applies the same weights to each model’s listed task cost:

$$\overline{C}^{\mathrm{mix}}_d=\frac{\sum_m N_{m,d}C_m(d)}{\sum_m N_{m,d}}$$

The orange line reprices the observed model mix at the cheapest listed endpoint for each model. It is not actual user spend.

The green line uses the blue score as a minimum requirement:

$$C^{\mathrm{floor}}_d=\min_{j:\,S_j\ge\overline{S}^{\mathrm{task}}_d}C_j(d)$$

The green line is not usage-weighted. It shows the cheapest available way to serve the average capability level. The series starts on 1 February 2026.

The optional Ox Alpha scenario is illustrative, not an AA result. It assigns a score of 54.0, with 50–58 as a reasonable uncertainty range, and 800,000 tokens per task. The token figure is the rounded median among valid AA configurations scoring from 50 to 58. Ox Alpha enters the calculation only while its OpenRouter endpoint remains a free preview. The score estimate is an inference from its relative position in Nate’s benchmark suite, checked against independent DeepSWE, LiveCodeBench, and Terminal-Bench results.

6. Listed and effective cost

The main charts use listed prices. The model table also shows an effective estimate. Effective input prices can already include cache use, routing and discounts. We therefore apply the effective input price once to all prompt-side tokens:

$$C^{\mathrm{effective}}_m(t)=\frac{(I_m+R_m+W_m)P^{\mathrm{effective}}_{\mathrm{in},m}(t)+(A_m+G_m)P^{\mathrm{effective}}_{\mathrm{out},m}(t)}{1{,}000{,}000}$$

We keep listed and effective estimates separate. Combining an effective input price with separate cache prices could count the cache adjustment twice.

7. Missing data and model settings

We do not estimate a missing AA workload. A model enters a task-cost calculation only if it has a valid token breakdown, an AA score, an OpenRouter match and a complete endpoint price on that date.

For usage measures, we use the AA default configuration when it is available. Otherwise, we use the median-score matched configuration. This prevents one OpenRouter model’s token volume from being counted once for every reasoning setting.

OpenRouter’s daily usage series names the leading models and groups the rest as “other.” Unnamed and unmatched volume remains part of the coverage denominator. It does not receive the average score of the matched models.