Catch inference cost regressions in a day.
One prompt edit tripled one route. You find out on the invoice.
Provider bills are monthly and in arrears, so a token regression that starts today shows up somewhere between 10 and 30 days from now, blended into growth. SpendGuard watches cost per request instead of total spend and names the route, the model, and the day.
Fourteen real series, one prompt change, detection computed live in your browser.
The problem
Total spend cannot tell a cost regression from growth.
Inference is now a top-three line item, and the two things that move it look identical on a bill. More customers raises spend. A verbose prompt raises spend. The only place they separate is per unit of work, and no provider dashboard reports that. You get one number per API key, monthly.
The insight
Cost per request is stationary. Total spend is not.
Total spend confounds volume with efficiency, which is why a team growing 10% a month cannot read it. Divide by the work done and growth cancels: cost per request, tokens per request, retries per request all sit flat under any steady growth rate, so a shift in them is a shift in behaviour and nothing else. That is exactly the stationarity that CUSUM on percentage changes assumes, and it is why the same detector that goes blind on a spend chart is decisive on a unit-cost chart. The cost of a regression is the same whether you catch it on day one or day thirty. The bill is not.
CUSUM on day-over-day percentage changes of every unit-cost series, Bayesian Online Changepoint Detection (Adams & MacKay 2007) for abrupt shifts, and Benjamini-Hochberg FDR control across every route × model × metric × customer combination, because a few hundred series at α=0.05 with no correction is a daily page for nothing.
How it works
Four steps, no data science team
Provider usage exports, an OpenTelemetry GenAI stream, or the request log from whatever gateway you already run. Token counts and a route label are enough.
Cost per request, input and output tokens per request, cache hit rate, retry rate, and cost per customer, sliced by route, model, prompt version, and plan.
Every series runs through CUSUM and BOCD. What crosses is filtered by Benjamini-Hochberg across the whole run, so surviving alerts survive knowing how many series you tested.
The changepoint has a date. Your prompt versions and deploys have dates. The alert lines them up and prices the delta at current volume, so the argument is already made.
Who it is for
Whoever gets asked why the bill went up
Companies where inference is a real line item and several teams can change a prompt. Usually 10 to 200 engineers, spending $20k to $500k a month across two or three providers, with nobody whose job is to read the token report.
Pricing
- –Full detection engine
- –30-day history
- –Slack alerts
- –One provider
- –All providers and gateways
- –Per-route, per-model, per-customer slices
- –Prompt-version correlation
- –12-month history
- –PagerDuty and webhooks
- –Self-hosted option
- –Cost allocation per customer
- –Budget forecasting from detected regimes
- –SSO and audit log
Competition
What exists, and what it does not do
| Who | What they do | The gap |
|---|---|---|
| Vantage / CloudZero | Cloud cost visibility and anomaly detection across AWS, GCP, and SaaS bills. | Resolution stops at the account, service, or tag. A 3x on one route is a rounding error at that resolution, and the input is the bill, which arrives late. |
| Datadog Cloud Cost Management | Cost data joined to infrastructure telemetry with threshold monitors. | Built for instances and containers. It has no concept of a token, a prompt version, or a cost per request, so the unit-cost series it would need does not exist. |
| Helicone / Portkey / LiteLLM | LLM gateways with per-request logging and spend dashboards. | They have the right data and stop at charting it. A dashboard tells you nothing until someone opens it and knows what a normal Tuesday looks like. |
| Provider consoles | Usage pages from OpenAI, Anthropic, and the rest. | Totals per key, updated daily at best, with no view across providers and no idea which of your routes generated them. |
The honest failure mode: the LLM gateways already sit in the request path and already count tokens per route. LiteLLM or Helicone shipping changepoint detection on their own data is a sprint of work, and they do not have to convince anyone to send it anywhere. The second failure mode is quieter. Plenty of teams look at a 5% bill increase, decide it is growth, and are right, so the alert has to be worth reading on the weeks it fires and nothing was wrong. That means the false-alarm rate is the product, not a feature of it.
Market
Under 2% of the spend it watches
A company spending $60k a month on inference pays $500 for this, which is 0.8% of the bill and less than one caught regression. There are already thousands of companies past $20k a month and the number is growing with every product that ships an agent. Two thousand of them at the Team tier is $12M ARR, and the Scale tier exists because the companies past $100k a month are the ones where a single route can hide six figures a year.