Token price is the easiest number to read and the least stable thing to optimize against. Providers bill input and output separately, and the ratio between them varies widely: published rate cards in a cost-per-token survey show output priced at roughly 1.6x to 8x input depending on the model (Silicon Data). That ratio alone changes the effective price of a workload with a long prompt and a short answer.
The deeper problem is that a request does not equal an output. A user asks for a summary, the model returns something that misses a required field, the pipeline retries with a repaired prompt, and the second call succeeds. The bill covers both calls. The accepted output is one. If you compare candidates on the first call's token price, the model that needed two attempts looks cheaper than it is.
Cost attribution breaks down when the provider invoice is the only source of truth, because the invoice shows spend rose but not which retry pattern, prompt change or agent loop caused it (Braintrust). The same blindness applies to model comparisons. Once you decide to stop optimizing for spend rather than accepted work, the invoice cannot tell you which candidate won.
A useful reframe: the model is a supplier of first drafts, and your pipeline is the factory that turns drafts into accepted outputs. Factories are judged on cost per good unit, not cost per raw input. Averages matter too. Published comparisons that assume a fixed request profile, such as 3,150 input tokens and 400 output tokens per support ticket, are a starting point, but they assume the request always succeeds on the first try (Silicon Data). Retries are where candidates separate.



