Example Co.
14 engineers · B2B support software
Summary
| October spend | $26,234 ($315K a year at this rate) |
|---|---|
| Savings with no model change | $6,854 a month (26%) |
| More if one model swap passes testing | $2,067 a month |
| Coding-agent seats | $2,158 a month by moving 4 engineers from API billing to Team seats |
| Billing hygiene | 5 fail · 1 warning · 3 pass |
Two workloads are 51% of spend: the support agent (26%) and nightly contract extraction (25%). Both have a fix that doesn't change the model.
1. Monthly spend by provider and model
- claude-sonnet-5-5 $9,096
- gpt-6.1-sol $6,500
- claude-opus-5-5 $4,718
- gemini-3.8-flash $2,813
- claude-sonnet-5-5 (Bedrock) $1,538
- claude-sonnet-5-5 (in Cursor) $623
- DeepSeek-V4.1-Flash $616
- Cursor seats $270
- text-embedding-3-small $62
| Workload | Provider | Model | October | Share |
|---|---|---|---|---|
| Support agent | Anthropic API | claude-sonnet-5-5 | $6,920 | 26.4% |
| Contract extraction (nightly) | OpenAI | gpt-6.1-sol | $6,500 | 24.8% |
| Call summaries | Google Gemini API | gemini-3.8-flash | $2,813 | 10.7% |
| Claude Code, API key (5 engineers) | Anthropic API | claude-opus-5-5 | $2,610 | 9.9% |
| Ticket triage | Anthropic API | claude-sonnet-5-5 | $2,176 | 8.3% |
| Support agent, EU customers | AWS Bedrock | claude-sonnet-5-5 | $1,538 | 5.9% |
| Evals and staging | Anthropic API | claude-opus-5-5 | $1,152 | 4.4% |
| Escalation drafts | Anthropic API | claude-opus-5-5 | $956 | 3.6% |
| Third-party model usage, incl. Cursor Token Rate | Cursor | claude-sonnet-5-5 | $623 | 2.4% |
| Search query rewriting | Together AI | DeepSeek-V4.1-Flash | $616 | 2.3% |
| Coding-agent seats | Cursor | Teams, 9 Premium seats | $270 | 1.0% |
| Embeddings | OpenAI | text-embedding-3-small | $62 | 0.2% |
| Total | $26,234 | 100% | ||
By provider: Anthropic API $13,814 (52.7%) · OpenAI $6,562 (25.0%) · Google Gemini API $2,813 (10.7%) · AWS Bedrock $1,538 (5.9%) · Cursor $893 (3.4%) · Together AI $616 (2.3%).
2. Effective vs list price, per 1M tokens
Effective price is billed cost divided by tokens. Input is blended across uncached input, cache reads and cache writes.
| Model | Provider, workload | List in / out | Effective in / out | What explains the gap |
|---|---|---|---|---|
| claude-sonnet-5-5 | Anthropic API, support agent and triage | $2.00 / $10.00 | $1.48 / $10.00 | Only 35% of support-agent input comes from cache. Triage has no caching. |
| claude-opus-5-5 | Anthropic API, Claude Code | $4.00 / $20.00 | $0.48 / $20.00 | 94% of input is cache reads. Working as intended. |
| claude-opus-5-5 | Anthropic API, escalations and evals | $4.00 / $20.00 | $3.32 / $20.00 | Little caching. Low volume, low priority. |
| claude-sonnet-5-5 | AWS Bedrock, EU In-Region | $2.00 / $10.00 | $0.62 / $11.00 | In-Region endpoint adds 10%, required for EU data residency. Caching is healthy (76%). |
| gpt-6.1-sol | OpenAI, contract extraction | $2.00 / $10.00 | $1.61 / $10.00 | Runs on the Standard tier although nobody waits on it. Batch is half price. |
| gemini-3.8-flash | Google, call summaries | $0.75 / $3.75 | $0.75 / $3.75 | No caching. List price rises to $1.50 / $7.50 on Jan 1, 2027. |
| DeepSeek-V4.1-Flash | Together AI, query rewriting | $0.30 / $1.20 | $0.21 / $1.20 | Cached input on the shared prompt. |
| text-embedding-3-small | OpenAI, embeddings | $0.020 / n/a | $0.020 / n/a | At list. |
No account has a negotiated discount or commit. Anthropic spend, including Bedrock, runs at $184K a year, under the $250K threshold for a negotiated process. Comps shows what teams in your band get once you contribute your terms.
3. Three savings opportunities
| # | Opportunity | Now | After | Monthly savings | Model change? | Effort |
|---|---|---|---|---|---|---|
| 1. Fix prompt caching on the support agent | $6,920 | $3,316 | $3,604 | No | 1 to 2 hours | |
| 2. Move nightly contract extraction to the Batch API | $6,500 | $3,250 | $3,250 | No | Half a day | |
| 3. Route ticket triage from claude-sonnet-5-5 to claude-haiku-5-5 | $2,176 | $109 | $2,067 | Yes, test first | 1 day plus test |
- Support agent caching. The system prompt starts with the current timestamp and the customer's plan name, so the 11K-token prefix of instructions and 14 tool definitions changes on every request and rarely matches the cache. Move both fields below the cache breakpoint. Effective input price drops from $1.36 to about $0.50 per 1M tokens.
- Batch for extraction. The job runs from 1am to 5am and nobody reads its output until morning. The Batch API costs 50% less and guarantees completion within 24 hours rather than 4, so the only tradeoff is that a slow batch could land later in the day. Same model, same output.
- Haiku for triage. Triage picks one of 23 labels and a priority. claude-haiku-5-5 costs $0.10 / $0.50 per 1M tokens against $2.00 / $10.00. Check label accuracy and escalation recall on 50 labeled tickets before switching.
4. Seat vs API: coding agents
All 5 engineers use Claude Code on a Console API key, billed at API rates (mostly claude-opus-5-5).
| Engineer | Oct API bill | Active days | Best option | Option cost | Difference | Fit |
|---|---|---|---|---|---|---|
| Engineer A | $1,305 | 21 | Team Premium seat | $125 | −$1,180 | Borderline. Heaviest weeks may exceed Premium limits. Keep the API key as overflow. |
| Engineer B | $783 | 20 | Team Premium seat | $125 | −$658 | Likely fits |
| Engineer C | $339 | 17 | Team Premium seat | $125 | −$214 | Likely fits |
| Engineer D | $131 | 9 | Team Standard seat | $25 | −$106 | Likely fits |
| Engineer E | $52 | 4 | Stay on API | $52 | $0 | Below the price of any seat |
| Total | $2,610 | $452 | −$2,158 |
Seat prices are Claude Team monthly rates ($100 and $20 a seat billed annually). Anthropic doesn't publish plan limits as token counts, so fit is estimated from active days, peak weeks and session length. Trial seats for A and B for 2 weeks before committing.
Cursor
9 Teams Premium seats ($30 each) include Cursor's own models only. Claude usage inside Cursor bills at API list price, $341 in October, plus Cursor's Token Rate of $0.25 per 1M tokens, another $282. The rate applies to cached tokens too, and 93% of those 1,127M tokens were cache reads, so it costs 2.5 times the $0.10 cache-read price itself. Engineers on Claude Team seats can run that work in Claude Code instead.
5. Routing card
| Task type | Now | Recommended | Cost per task | Basis |
|---|---|---|---|---|
| Support reply (one agent turn) 300K in October | claude-sonnet-5-5, high | claude-sonnet-5-5, high (test medium) | $0.023 to $0.011 | Caching fix only |
| Escalation draft 9K in October | claude-opus-5-5, high | claude-opus-5-5, high | $0.106 (no change) | Hardest 3% of tickets |
| Ticket triage 320K in October | claude-sonnet-5-5, high | claude-haiku-5-5, low | $0.007 to $0.0003 | To test |
| Contract extraction 210K in October | gpt-6.1-sol, Standard tier | gpt-6.1-sol, Batch tier | $0.031 to $0.015 | Same model |
| Call summary 95K in October | gemini-3.8-flash via gemini-flash-latest | gemini-3.1-flash-lite, pinned | $0.030 to $0.010 | To test before Jan 1, 2027 |
| Search query rewrite 2.1M in October | DeepSeek-V4.1-Flash | openai/gpt-oss-120b | $0.0003 to $0.0002 | To test |
| Coding: feature work | claude-opus-5-5, xhigh, API key | claude-opus-5-5 on Team Premium, high | Seat | See seat table Est. fits for 3 of 4 heavy users |
| Coding: tests and small fixes | claude-opus-5-5, xhigh | claude-sonnet-5-5, medium | Seat | To test on 10 merged PRs Frees Premium limits for feature work |
"To test" means the recommendation comes from billing data and published prices only. Step 3, the model and effort map, checks it on your own tasks before you switch.
6. Billing hygiene
| Check | Result | Detail |
|---|---|---|
| Spend limit on every production project | Fail | OpenAI project extraction-backfill has no monthly limit or alert. |
| Production calls pin a model version | Fail | The call-summary service calls gemini-flash-latest. When the alias moves, quality and price change without a deploy. |
| Credits applying to invoices: Google | Fail | $15,000 in credits sit on billing account example-co-main. The Gemini API project bills to example-co-ai, so October's $2,813 was paid in full. |
| Credits applying to invoices: OpenAI | Pass | $5,000 credit expiring Dec 31, 2026 applies in full at current usage. |
| Evals and staging on separate keys | Fail | $1,152 of eval runs used the production Anthropic key, sharing its rate limits and blending into production cost. |
| Runaway-loop guard | Warning | Oct 18 to 19: the triage worker retried a failing batch for 31 hours, 198M extra input tokens, $412. Add a retry cap and a daily per-key limit. |
| Idle seats | Fail | 3 of 9 Cursor seats had no activity in 30 days ($90 a month). |
| Usage alerts | Pass | Anthropic and Together alerts at 80% of monthly budget. |
| Data-residency surcharge matches policy | Pass | Bedrock In-Region (+10%) is used only for EU customers. |
7. Models worth testing
| Model | List in / out per 1M | For | Why | What to check |
|---|---|---|---|---|
| claude-haiku-5-5 Anthropic | $0.10 / $0.50 | Ticket triage | 1/20th of claude-sonnet-5-5's price | Label accuracy and escalation recall on 50 labeled tickets |
| gemini-3.1-flash-lite Google | $0.25 / $1.50 | Call summaries | gemini-3.8-flash rises to $1.50 / $7.50 on Jan 1, 2027. Without a change, this workload goes from $2,813 to $5,625 a month. | Action-item recall on 30 calls. Also try gemini-3.5-flash-lite. |
| gpt-6.1-terra OpenAI | $1.00 / $5.00 $0.50 / $2.50 Batch | Contract extraction | Half the price of gpt-6.1-sol. With Batch, extraction would cost $1,625 a month. Released Oct 26, 2026. | Field-level accuracy on 30 contracts |
| openai/gpt-oss-120b Together AI | $0.15 / $0.60 | Query rewriting | Half the input price of DeepSeek-V4.1-Flash. Served quantized (MXFP4), so it belongs in the nightly canary. | Click-through on rewritten queries |
| claude-sonnet-5-5 at medium effort Anthropic | $2.00 / $10.00 | Coding: tests and small fixes | Opus at xhigh on every task is the most expensive setting | Pass rate on 10 recently merged PRs |
8. Next steps
- This week: move the timestamp and plan name below the cache breakpoint in the support agent. About $3,604 a month.
- This week: switch nightly extraction to the Batch API. About $3,250 a month.
- This week: pin the call-summary model version, add a limit to
extraction-backfill, move evals to their own key, and remove 3 idle Cursor seats. - Before Jan 1, 2027: test gemini-3.1-flash-lite on call summaries.
- Next 2 weeks: trial Team Premium seats for engineers A and B, keeping the API key as overflow.
- Optional: a model and effort map (step 3) for triage, extraction and coding agents.
Methodology
List prices come from each provider's public pricing page, checked Oct 31, 2026. Effective price is billed cost divided by tokens, including cache reads and writes, batch discounts and regional surcharges, before credits. Savings assume October volumes and current list prices; they are estimates, not guarantees. Recommendations marked "to test" are not yet checked on your tasks. Plan limits are not published as token counts, so seat fit is an estimate.
Price sources: Anthropic · OpenAI · Google · Together AI · Cursor
Example Co. · AI bill teardown · v1 · Nov 3, 2026 · Confidential