Here's a detail that quietly breaks cost comparisons: Claude 4.7 and later models use a different tokenizer from earlier ones, and it produces roughly 30% more tokens for identical text.

Why it matters

Price per token is only comparable when the token counts are comparable. If model A costs $3 per million tokens and model B costs $5, B looks 67% more expensive. If B also turns the same file into 30% more tokens, the real gap on your actual work is wider than the sticker price suggests.

It cuts the other way too. A newer model at a lower headline price might not be cheaper in practice.

Which models

The newer tokenizer applies to Claude 4.7 and later. Sonnet 4.6 and earlier use the previous one. So comparing Opus 4.6 against Opus 4.7 on price alone is comparing two different units.

Within a generation this doesn't arise. Fable 5.1 and Fable 5 share a tokenizer, as do the Opus models from 4.7 onward.

What to do about it

If you're switching between generations and cost matters, re-measure rather than calculating from the price list.

re-baseline-tokens.txt
I'm moving from <old model> to <new model> and I want to know what it
actually costs, not what the price list implies.

Take these three representative requests from my app: <paste>

Count tokens for each under both models using the token counting
endpoint. Show me: token counts side by side, cost per request at each
model's rates, and the real percentage change in my bill.

Tell me if the cheaper-looking option is actually cheaper.

Run it on real requests from your own workload, not a sample paragraph. The increase depends on what your content looks like.

The larger point

This is one instance of a general rule worth internalising: the price list is not the bill. Token counts, thinking depth, retries, cache hit rates and how many turns a task takes all sit between the published rate and what you actually pay.

The only number that means anything is cost per completed task, measured on your own work.

Nobody's sticker price is a lie. It just isn't an answer to the question you were asking.