Guide · AI cost verification

How to check AI usage costs against provider list prices

A usage export says what each request cost. A price sheet says what it should have cost. Comparing the two is the first step of cost verification, and it is easy to get wrong in ways that make spend look smaller than it is.

1. Recompute an estimate from tokens

For each request, multiply uncached input, cached input, cache-write and output tokens by the matching rate in the price table, and add them up. That is a list-price estimate, not a bill: it ignores discounts, credits, commitments and markups.

list-price estimate = uncached input × input rate + cached input × cached rate + cache writes × cache-write rate + output × output rate

The estimate needs every token count it uses. If an export leaves out cached-token counts, do not assume they were zero; leave the estimate out instead. AIYVO’s analyzer computes the estimate only when every record carries both cached-token fields.

2. Compare like with like

Compare reported cost with the estimate over the same records only, in one currency, per provider and model. The analyzer reports the difference as a percentage: (reported − estimate) ÷ estimate.

3. Never count a missing cost as zero

A request with no reported cost is missing, not free. Counting it as zero makes that model look cheaper. AIYVO’s analyzer excludes such records from cost figures, says how many there were, and withholds a total unless every record has a cost.

4. Treat a reported zero as a question

Some exports write 0 where the cost is unknown. A zero can be real (a free tier, a fully cached request) or a gap. Unless you can confirm that every zero is genuine, do not rank models on costs that include zeros. The analyzer withholds the ordering in that case unless the mapping declares the zeros genuine, and records the declaration as yours.

5. Record the cost basis

Say whether reported costs come from invoices or are estimates computed by a gateway or proxy from list prices. An estimate compared with another estimate shows only that two calculations agree.

What a difference does and does not tell you

A gap between reported cost and the list-price estimate can come from discounts, credits, markups, a changed price, a mis-mapped model or an error in the export. It is a reason to investigate, not a saving and not proof of an overcharge. Settling it needs the provider’s invoice.

AIYVO does not verify provider billing. Its analyzer reports the comparison, labels every figure as customer-reported or an AIYVO estimate, and describes any price table it is given as unconfirmed and possibly out of date.

See it on a worked example

The AIYVO analyzer runs offline on a usage export you already have. On this site it is shown step by step on a synthetic export with fictitious models, so you can inspect every input, command and output.

Measuring one real workload? Read how an AIYVO pilot works or send a pilot-interest inquiry to jorge@aiyvo.com. It creates no account, subscription or commitment, and does not guarantee a pilot.