Inference bills are rarely reduced by one big decision. They come down through four changes with very different effort-to-saving ratios, and doing them in the wrong order wastes weeks.
What the dashboard needs to show
- —Spend split by local versus hosted, per day — the trend line that shows migration working.
- —Semantic cache hit rate, and average tokens saved per hit.
- —Where each request went: cache, local model, or escalated.
- —p95 latency against your budget, not average latency.
- —Batch size versus latency, so the trade is visible rather than assumed.
The order that pays
The first three are quick and reversible, so they should happen before the expensive one. Together this sequence can take a bill down by an order of magnitude — but the honest framing is that most of the early saving comes from not calling a model at all.




