Model a change before you make it
Use Scenarios to see how a change in your organization's model use would affect your costs. You can model changes such as switching models, batching some work, or turning on prompt caching. Infracost AI shows the expected cost or savings over the next 12 months.
Scenarios use the spend you have already connected. Each scenario is saved for your organization. Your colleagues can open and change it.
How a scenario is priced
A scenario starts with your last 30 days of metered spend. This spend is grouped by provider, model, token class, and how each request was sent. Each change updates the price of the matching spend. The result is then projected over the next 12 months.
- The window covers the last 30 days. For Billed spend, it ends at the latest date reported by your slowest billing integration. This is at least one day behind. This prevents days that a provider has not reported yet from looking like days with no spend.
- The current month is forecast from that window. Changes start on the first day of next month. This is why both chart lines start at the same figure.
- Growth projects the spend forward. A new scenario assumes that usage grows by 10% each month. The same growth applies with and without the changes. This means growth is never counted as part of a change's savings or cost.
- Subscription fees are left out. Changes to models or routing cannot affect seat fees.
- Quality is not modeled. A scenario prices the same amount of work under different terms. It does not predict whether a cheaper model will do the work as well.
Choose Billed or Notional beside the total to select the spend to price. See Billed and Notional costs to learn the difference. A new scenario starts on Billed. It switches to Notional if there is no billed spend to price.
Build a scenario
- Go to Scenarios and click New scenario.
- Name the scenario. The name appears in the list and is shared with your organization.
- Set the usage rule in the Assuming usage line. Choose whether usage stays the same, grows, or shrinks. Then set the amount per month or per year.
- Click Add change and choose a change. Each change appears as a sentence. You can edit parts such as a percentage, model, or filter.
- Click the filter at the end of a change to apply it to only part of your spend, such as one team, application, or account. The picker shows values found in the window being priced. Keep all spend to apply the change everywhere.
- Click Save.
A scenario can contain up to 20 changes. You need the editor role in your organization to save, rename, or delete a scenario. Anyone who can see the organization's spend can open a scenario and try changes without saving them.
Changes you can model
| Change | What it does | What it assumes |
|---|---|---|
| Switch model | Moves part of one model's spend to another model. | Each token class is repriced using the ratio between the two models' rates. On a bill, your existing discount also applies to the new model. |
| Stop using a model | Moves all spend from one model to another model. | This works like a switch, but there is no share to set. |
| Prompt caching | Serves part of your input from the prompt cache. | Each cached prompt is written once and read twice within 5 minutes. Coding assistants such as Cursor and GitHub Copilot build their own prompts, so their spend does not change. |
| Stop prompt caching | Bills part of your cached prompts as normal input again. | The same prompts are sent, and cache writes were 5-minute writes. Longer writes cost more, so stopping them saves more than the figure shows. |
| Batch API | Sends part of the spend through the provider's batch API. | Anthropic, OpenAI, Bedrock, Google, and Vertex AI offer a published 50% batch discount. Batch results can take up to 24 hours. Spend already sent as batch does not get another discount. |
| Global routing | Moves part of your regional Bedrock spend to global cross-region inference. | Bedrock prices regional inference 10% higher than global inference. Global inference can serve a request from any region. |
| Move to open-weight models | Moves part of your hosted model spend to an open-weight model at the same level in that vendor's range. | Top models move to Kimi K3. Premium models move to GLM 5.3. Balanced models move to DeepSeek V4.1 Flash. Small and very cheap models move to Qwen3.8 Flash. All use the catalog's hosted prices. A model never moves to a more expensive model: if the matching replacement costs more than your current model, it moves to the next cheaper one, and if no open-weight model is cheaper the spending stays where it is. |
The cost.dev/models catalog decides each model's level. The level is relative to that vendor's own range, so one vendor's top model can cost much less than another's. A replacement does not need to be at the same level as the model it replaces: a newer, cheaper model often performs as well as an older, dearer one.
You do not need to change a whole workload. You can change just one pipeline step. For example, run a cheaper model on every item. Keep a frontier model for the items it flags. If your telemetry includes this detail, apply the change only to the agent or feature that handles that step.
Changes run in order. Each line shows what it adds after the lines above it. A later change can use models that an earlier change moved spend to. This lets you chain changes. Changing their order can affect each figure and the total.
Read the figures
The figure at the top of the page shows the scenario's effect over the next 12 months. A negative figure appears in green and means savings. A positive figure means extra cost.
Each change has its own figure for the same period. Hover over the information mark beside a change. It shows how much spend the change applies to, how much could not be priced, and what the figure is based on.
Two charts appear below the changes:
- Monthly spend compares If nothing changes with With changes for each month. The first point is the current month's forecast, so it is the same on both lines.
- Cumulative savings shows the running total as each month is added.
Spend that cannot be repriced is never counted as zero. It stays the same and is shown next to the change. This can happen when the price catalog has no rate for a model. It can also happen when the source did not split costs by token class. A change can still show an amount when some spend could not be repriced. Check the information mark to see how much was left out.
If a change cannot be priced at all, it is left out of the total. For example, this can happen when a model is missing from the catalog. The caption will say so. If no changes can be priced, no total is shown.
There is another limitation when switching between models from different makers. Different makers can count different numbers of tokens for the same text. A scenario prices the money. It does not retokenize the prompt.
Suggestions
Suggested shows changes that may be worth pricing. These changes are based on your billed spend. They refresh in the background. Click a suggestion to open it as a new scenario. You can change the share, filter, or growth rule before saving. Nothing is saved until you save it.
Infracost AI suggests:
- Moving a model to a newer generation that is cheaper for the spend being moved.
- Batching part of a model's spend when only a small amount is already batched.
- Turning on prompt caching for a model that barely uses it.
- Turning caching off when cache writes cost more than the reads save.
- Routing Bedrock through global cross-region inference.
A suggestion appears when it saves at least $10 a month. At most six suggestions are shown. The figure beside a suggestion shows what it saves on its own. A change already in your scenario may affect the same spend and leave less for the suggestion.
To hide a suggestion, click the x in its row. You can also give an optional reason. The suggestion is hidden for everyone in your organization and stays hidden if it returns. Use Show dismissed suggestions and Reopen to restore it. You need the editor role to dismiss a suggestion.
Troubleshooting
There is no spend to price
A scenario needs metered spend from the last 30 days. If the message says there is no billed spend, switch to Notional or connect a billing integration. Subscription fees alone are not enough because changes cannot affect them.
A change shows no figure
A model change needs two selected models, and they must be different. Until then, the line explains what is missing and is not included in the total.
If both models are selected and the line still shows a message, the price catalog has no rate for one of them. Try a model listed under In your spend, Open weight, or Hosted in the picker.
A change applies to less spend than expected
Check the change's filter and the cost mode beside the total. Some changes also leave spend unchanged by design. Caching does not apply to coding assistants. Batching only applies to providers with a batch API. Global routing only applies to Bedrock. The information mark beside the change shows how much spend it reached and why the rest was left unchanged.