Freeze the workload before multiplying prices
Write down the feature and the unit source:
| Field | Buyer record |
|---|---|
| Business outcome and feature boundary | |
| Provider and exact model/version | |
| Requests per period | |
| Input tokens per request | |
| Cached input tokens per request | |
| Output tokens per request | |
| Tool, image, audio, search, storage, or embedding units | |
| Low, expected, and peak assumptions | |
| Unit source and access date | |
| Workload owner |
Do not fill these cells with an optimistic average because the request count is easy to guess. If the supplier cannot show how the units are measured, record that as a quote risk and ask for a metering plan.
Use a dated rate snapshot
The evidence packet records one illustrative standard paid-tier row per provider. Rates are volatile, model-specific, and qualified by each source:
| Provider/model | Base/uncached input per 1M | Cached input per 1M | Cache write per 1M (5m / 1h) | Output per 1M | Important qualification |
|---|---|---|---|---|---|
| OpenAI GPT-5.6 Terra | $2.00 | $0.20 | — | $12.00 | The official model comparison page has separate tool, batch, and capability details. |
| Anthropic Claude Sonnet 4.5 | $3.00 | $0.30 cache read | $3.75 / $6.00 | $15.00 | Cache-write values are the 5-minute and 1-hour TTLs; endpoint choices need separate treatment. |
| Google Gemini 3.5 Flash | $1.50 | $0.15 context cache | — | $9.00 | Context-cache storage, grounding, and non-token charges are separate. |
See the Anthropic pricing page and prompt-caching documentation, and Gemini API pricing for the provider-specific definitions. This table is a dated planning input, not a promise that these prices will remain unchanged or apply to your account.
Apply the formula transparently
For a simple token scenario, record disjoint usage categories once. In the worksheet, “uncached input” already excludes cache reads and cache writes; do not subtract cached tokens again:
token estimate = (
uncached input × base input rate
+ cached input × cached-input rate
+ 5-minute cache-write tokens × 5-minute cache-write rate
+ 1-hour cache-write tokens × 1-hour cache-write rate
+ output tokens × output rate
) ÷ 1,000,000
The worksheet's synthetic test uses 600,000 uncached input tokens, 200,000 cached input tokens, and 100,000 output tokens against rates of $2.00, $0.20, and $12.00. That arithmetic produces $2.44. A separate test prices 5-minute cache-write units; neither fixture is a forecast for a customer. Run it with:
npm test --prefix sites/dealdigg.com/evidence/P94
Then add other charges in separate columns. Do not hide tool calls, images, storage, hosting, support, taxes, currency conversion, or supplier margin in a single “AI cost” number.
Model low, expected, and peak scenarios
Keep three rows rather than one false precision point:
| Scenario | Usage source | API estimate | Other metered charges | Hosting/support | Total | Decision owner |
|---|---|---|---|---|---|---|
| Low | Observed or explicitly assumed | |||||
| Expected | ||||||
| High/peak |
The buyer should define what happens when the high case arrives: alert, rate limit, queue, degrade to a cheaper model, pause a feature, or approve more spend. The cap owner and the operator who can take the action belong in the quote review, not only in an engineering backlog.
Reconcile usage with the invoice
After launch, compare the provider's usage or cost record with the invoice for the same period. Keep the model/version, unit counts, rate snapshot, credits or discounts, other charges, and unexplained difference. A mismatch is a change or investigation item, not a reason to silently adjust the worksheet.
Record rate changes and workload changes in a dated log. If a provider changes the model, tokenizer, cache-read or cache-write TTL terms, or tool price, re-run the low/expected/peak scenarios and ask the commercial reviewer whether the quote or support scope changes. The supplier's margin and any fixed maintenance fee should remain separate from provider consumption.
Commercial stop condition
Do not accept an AI cost assumption as quote-ready when the workload owner, measured unit source, exact model, cap owner, alert response, invoice reconciliation path, or rate-review date is blank. This worksheet helps expose the commercial questions; its cap result is a planning control, not provider billing enforcement. It does not set a contract price, guarantee a future bill, or provide legal advice. Have the buyer, FinOps, commercial owner, and qualified counsel review the actual agreement where appropriate.