Proven savings
Prove a renegotiated AI contract reached the bill: freeze a baseline before the new terms, then see each month what the new rate saved, apart from usage changes and the vendor's own list price changes.
After a renegotiation, the bill often goes up anyway, because usage grew. Vendors › Proven savings separates the two, so you can show what the deal saved.
Freeze a baseline
Before the new terms start, freeze a baseline: the providers and seat tools it covers, the "before" period (up to a year, ending before today and before the new terms), and the day the new terms start. Link it to its agreement if you like.
Veqen keeps its own copy of that period: each model's usage at the list prices of the time and what was billed per day, the token mix, the list prices themselves, and each seat tool's seats and price per seat. Later price book updates can't move it. A baseline can't be edited, only deleted and frozen again.
Freezing needs usage Veqen has checked: a provider whose own usage it reads, or a cloud bill with token lines (see Rates), or a seat tool with a contract. With protection on, OpenAI's and Anthropic's first sync reads their last 90 days (a cloud's bill, 30), so a "before" period can start that long before you connected.
The method
Each line, a model or a seat tool, has a volume and a rate. A model's volume is its usage at the list prices frozen in the baseline, and its rate is what was billed per dollar of that; a seat tool's volume is its seats and its rate the price per seat. The baseline is scaled to the month's days (seat tools to its share of the month).
With baseline volume V0 and rate r0, this month's volume V1 at the frozen list prices, the same usage at today's list prices L1, and this month's bill B1, so that d1 = B1 ÷ L1:
| Part | Formula | Meaning |
|---|---|---|
| Usage change | r0 × (V1 − V0) | What more or less usage added, at the old rate |
| The new rate | (r0 − d1) × V1 | What the negotiation saved |
| List prices | d1 × (V1 − L1) | What the vendor's own list price changes saved |
Bill change = usage change − the new rate − list prices, exactly. A model that wasn't in the baseline is measured against the provider's baseline rate; one that stopped is usage that stopped. A model's list price change is its frozen and today's list prices compared on the baseline's own token mix.
The monthly report
For each month on the new terms:
- Saved by the new rate, saved by list prices, and a year at this rate.
- The bridge from the baseline's bill to this month's: usage change, the new rate, list prices.
- Is the agreed rate on the bill? For each provider, the rate billed against your prices (see Rates); for each seat tool, its invoice against its contract.
- Each line's part.
Print it or save it as a PDF from the page, download a CSV, or read it over the API.
Over the API and MCP
| REST (full-access key) | MCP | |
|---|---|---|
| Baselines, with the newest month | GET /v1/baselines |
vendors with view: "baselines" |
| Freeze one | POST /v1/baselines |
freeze_baseline |
| A month's report | GET /v1/baselines/{id}/report?month=YYYY-MM (&format=csv) |
vendors with view: "savings", baseline_id and month |
| Delete | DELETE /v1/baselines/{id} |
delete_record with kind: "baseline" |
Owners, admins and finance members freeze and delete baselines; the same people read them.