On this page
- Key Takeaways
- What Is AI Token-Usage Tracking?
- Step 1: How Do You Inventory AI Spend Across Your Portfolio Companies?
- Step 2: How Do You Attribute Token Usage to Teams, Users, and Workflows?
- Step 3: How Do You Roll Usage Data Into One Portfolio View?
- Step 4: How Do You Cut AI Token Spend Without Cutting Capability?
- Step 5: How Do You Set AI Spend Caps Without Throttling Your Best Users?
- Step 6: How Do You Run a Monthly AI Token Review Across the Portfolio?
- How Do Strong Portfolio Teams Avoid Common AI Token-Tracking Mistakes?
- Checklist for Evaluating Your AI Token Tracking Setup
- Track and Cut AI Token Spend Across Your Portfolio with PressW
- FAQ
Key Takeaways
- Start with an inventory, not a dashboard. Most portfolio companies pay for AI through seat plans, API accounts, cloud marketplaces, and expense reports. You cannot track what you have not listed.
- Attribute usage at the source. A workspace per team, an API key per workflow, and team attributes on Claude Code telemetry are what make a per-team report possible later.
- Roll everything into one schema. Portfolio company, team, workflow, user, model, token type, cost, and tasks completed. Cost per completed task is the number to compare across portcos.
- Cut spend with routing, caching, and batching before you cut usage. On current Claude list prices, Opus input costs 40 times Haiku input, and a Sonnet cache read costs 5% of a standard input token.
- Cap by workflow and review monthly. Spend limits and alerts belong on the workspaces and groups you attributed, with a named owner and a standing review.
An operating partner asks a simple question at the quarterly review: what is the portfolio spending on AI, and what is it getting for it? The honest answer usually lives in a dozen places. One portfolio company has Claude Enterprise seats. Another runs agents on the API. A third bought Claude through its cloud provider. Engineers expense personal subscriptions. Nobody can add it up, let alone say which team or workflow drove the number.
Managing this spend is now standard practice. In the FinOps Foundation's State of FinOps 2026, 98% of respondents said they manage AI spend, up from 31% two years earlier. Managing it and seeing it are different things, though. In a 2026 survey of 700 engineering leaders from Harness, a vendor that sells cloud cost tooling, only 20% said they could identify the reason within hours if their AI spend doubled overnight.
Across a portfolio, the problem multiplies. Each company has its own contracts, its own admins, and its own way of tagging (or not tagging) usage. This guide walks through how to track AI token usage and cut spend across your portfolio companies in six steps, using Claude as the working example: inventory the spend, attribute it, roll it up, cut it, cap it, and review it.
What Is AI Token-Usage Tracking?
AI token-usage tracking is the practice of recording how many tokens each team, user, and workflow consumes, what those tokens cost, and what work they produced, so you can manage AI spend the way you manage any other operating cost.
A token is the unit a model reads and writes. You pay for tokens going in (your prompt, documents, and conversation history) and tokens coming out (the model's answer and its reasoning). On Claude, input is also priced differently depending on whether it was cached, so a single request can carry four different rates.
| Token type | What it is | Claude Sonnet 5.5 list price per million tokens | What it tells you |
|---|---|---|---|
| Input | Prompt, documents, and history sent to the model | $2.00 | How much context each task carries |
| Output | The answer, tool calls, and thinking the model writes | $10.00 | How verbose or reasoning-heavy the work is |
| Cache write | Input stored for reuse (5-minute lifetime) | $2.50 | How often you set up reusable context |
| Cache read | Input served from the cache on a repeat request | $0.10 | How much repeated context you are reusing |
Prices come from Anthropic's Claude pricing page. Tracking token type matters because the same workflow can cost very different amounts depending on how much of its input is cached and how much it writes back.
Why is token tracking harder across a portfolio?
Each spend surface reports usage in a different place, with different controls. A fund that wants one view has to know where each one lives. Anthropic's guide to managing Claude Code costs maps this out by setup, and it extends to the rest of Claude.
| Spend surface | Where usage shows up | How to get per-team or per-user data | How to cap spend |
|---|---|---|---|
| Claude Team or Enterprise seats | Spend report in org analytics | Spend report CSV; Enterprise Analytics API on Enterprise | Usage-credit spend limits by organization, group, or member |
| Claude API through the Claude Console | Console usage and cost pages | Usage and Cost API, filtered by workspace, API key, and model | Workspace spend limits |
| Claude Code billed through the Console | The auto-created Claude Code workspace | Claude Code Analytics API, daily per user | Workspace limits, plus per-user monthly spend limits |
| Claude on Amazon Bedrock, Google Cloud, or Microsoft Foundry | Your cloud billing console | OpenTelemetry export or an LLM gateway | Your cloud's budget controls or gateway spend limits |
Step 1: How Do You Inventory AI Spend Across Your Portfolio Companies?
Before anyone builds a dashboard, list every way each portfolio company pays for AI. This is tedious, and it is where most of the surprises turn up.
Pull every source of AI spend
Ask each portco's finance lead for three things: vendor invoices from AI providers, cloud bills that include model usage (Bedrock, Google Cloud, Azure), and card and expense reports that mention AI tools. The expense reports matter. Personal Pro or Max subscriptions on an expense report are spend the company pays for and cannot see or govern.
Record who owns each account
For every account, write down the plan type, the billing owner, the admin, the monthly spend, and how you will get usage data out of it. An account with no admin is the first thing to fix, because nobody can set a limit or pull a report on it.
Separate seats from metered usage
Seat plans and per-token billing behave differently. Seats are a fixed cost you can under-use. Metered API and Claude Code usage is a variable cost that can run away. Track both, but expect different fixes.
Tip: If the inventory turns up idle seats or duplicate tools, 6 Signs You're Overpaying for Claude Licenses walks through the seat-side fixes.
Step 2: How Do You Attribute Token Usage to Teams, Users, and Workflows?
Attribution is a design decision you make before usage happens. If every request runs on one shared key in one default workspace, no report can split it by team later. Set up attribution at the source, one surface at a time.
Give each team and workflow its own workspace and key
On the Claude API, workspaces separate projects, teams, or environments under one bill, with up to 100 per organization by default. The Usage and Cost API can filter and group usage by API key, workspace, and model, and the cost endpoint groups dollars by workspace. A workspace per team and an API key per production workflow is usually enough to answer "which workflow drove the spike?"
Use one naming convention across every portco, such as portco, team, then workflow. It costs nothing and saves a mapping table later.
Tag Claude Code usage by team and cost center
Claude Code reports per-user cost through the Claude Code Analytics API, which returns daily metrics for each user with token counts and estimated cost broken down by model. To group users by team, Claude Code's OpenTelemetry export accepts custom attributes such as department, team, and cost center, and admins can roll telemetry settings out to every developer through managed settings.
Log usage on every request your own apps make
Every Claude API response reports the tokens it used, including cache reads and cache writes. Log those counts next to your own workflow name and task ID. That is the only way to get cost per completed task, because the provider sees tokens and your application sees tasks.
Use the seat-plan reports for chat users
For people on Team or Enterprise seats, the spend report in org analytics lists estimated spend per user and per model, with CSV export. Map users to teams with the groups you already keep in your identity provider.
| Attribution level | Core question | How to set it up | Common risk if skipped |
|---|---|---|---|
| Portfolio company | What does each portco spend? | Separate organizations or accounts per company, one naming convention | Fund-level totals with no way to compare companies |
| Team | Which teams drive spend and adoption? | Workspaces, seat-plan groups, OpenTelemetry team attributes | Cuts land on the wrong team |
| Workflow | What does each automated process cost? | One API key per production workflow | A runaway agent hides inside a shared key |
| User | Who is using it and how much? | Analytics APIs and spend reports by user | Idle seats and heavy users look the same |
| Task | What does one finished piece of work cost? | Log tokens with your own task IDs | Spend you cannot tie to output |

Step 3: How Do You Roll Usage Data Into One Portfolio View?
Once each surface is tagged, pull the data into one place on a schedule. The APIs are built for this: Anthropic says Usage and Cost API data typically appears within about 5 minutes, Claude Code analytics within about an hour, and the cost endpoint reports in daily buckets.
Normalize to one schema
Every row in the portfolio view should carry the same fields: date, portfolio company, team, workflow, user, model, token type, tokens, cost, and tasks completed. If one portco reports by API key and another by seat group, map both to team and workflow before you compare them.
Reconcile to the invoice
Tool-reported costs are estimates at list price unless you configure your contracted rates. Claude Code, for example, has a managed setting that makes its cost figures use your contract rates. Reconcile the rolled-up number to each invoice monthly so finance trusts the report. If you would rather buy than build, Anthropic lists observability and FinOps platforms with ready-made Claude integrations on the Usage and Cost API page.
Watch cost per task first
Keep the portfolio view to a few numbers that lead to a decision, with cost per completed task by workflow at the top. It is the one number you can compare across portcos of different sizes.
Tip: Not sure which numbers to put on the report? 5 AI Token-Usage Metrics Every Company Needs To Know in 2027 covers the short list: active seat rate, cost per active user, model mix, cache read share, and cost per completed workflow.
Step 4: How Do You Cut AI Token Spend Without Cutting Capability?
With attribution in place, you can cut where the waste is instead of across the board. Four levers do most of the work, and you should apply them one workflow at a time, with an eval set to confirm quality holds.
Route each task to the right model
Model choice is the biggest price lever. On Anthropic's current list prices, Claude Opus 5.5 costs $4 per million input tokens and $20 per million output tokens, Claude Sonnet 5.5 costs $2 and $10, and Claude Haiku 5.5 costs $0.10 and $0.50 for prompts up to 100,000 tokens. Classification, extraction, and triage rarely need the top model. Anthropic's Claude Code cost guide makes the same point: Sonnet handles most coding tasks, Opus is for complex reasoning, and simple subagent tasks can run on Haiku.
Cache what repeats
Prompt caching stores a repeated prompt prefix, such as system instructions, an IC memo template, or a reference document, so later requests read it at a fraction of the price. A 5-minute cache write costs 1.25 times the base input price, a 1-hour write costs 2 times, and a cache read costs 0.1 times, or 0.05 times on Opus 5.5 and Sonnet 5.5. The default cache lasts 5 minutes and refreshes each time it is used.
One detail for portfolio setups: prompt caches are isolated by workspace on the Claude API. Splitting one workflow across many workspaces for reporting can lower its cache hit rate, so keep each workflow's traffic in one workspace.
Batch what can wait
The Batch API processes requests asynchronously at a 50% discount on input and output, and the discount stacks with caching. Monthly portfolio pack reviews, overnight document classification, and backfills are good candidates.
Trim context and reasoning
Every request pays for everything in its context. Anthropic's Claude Code guidance covers the main habits: clear the session between unrelated tasks, move specialized instructions out of the always-loaded project file and into skills that load on demand, filter long tool output before the model reads it, and lower the effort level for simple work, since thinking tokens are billed as output.
| Lever | Best for | What to measure | Common risk |
|---|---|---|---|
| Model routing | High-volume, simple tasks such as triage and extraction | Cost per task and eval pass rate by model | Quality drops on tasks that needed the larger model |
| Prompt caching | Workflows that resend the same instructions or documents | Cache read share of input tokens | Cache expires between requests or splits across workspaces |
| Batch processing | Work that can wait hours, not seconds | Share of eligible volume sent to batch | Putting time-sensitive work in a queue |
| Context and effort trimming | Long sessions, agents, and coding work | Input tokens per task, output tokens per task | Cutting context the task needed |

Tip: PressW's Token Optimization service applies routing, caching, prompt tuning, and batching one workflow at a time, and tests each change against evals so quality holds.
Step 5: How Do You Set AI Spend Caps Without Throttling Your Best Users?
Caps are a safety net. Set them on the units you attributed in Step 2, so a limit stops a runaway workflow instead of a whole company.
- Workspace spend limits. In the Claude Console, each workspace can carry a monthly spend cap and alerts at spending thresholds. Workspace limits can be lower than the organization's limits, never higher, and you cannot set a spend limit on the Default Workspace. That is one more reason to move production traffic out of it.
- Per-user limits for Claude Code. The Claude Code workspace is the only Console workspace that supports per-user monthly spend limits. Admins can also cap its share of the organization's rate limits to protect production workloads.
- Seat-plan limits. On Team and Enterprise plans, usage beyond the seat allowance runs on usage credits, with spend limits at the organization, group, or member level.
- Cloud and gateway limits. For Claude bought through a cloud provider, use the provider's budget controls, or route traffic through a gateway that enforces per-user spend limits.
Set alerts below the cap, with a named owner for each one. An alert that goes to a shared inbox is a cap that fails silently.
Step 6: How Do You Run a Monthly AI Token Review Across the Portfolio?
Tracking only pays off if someone acts on it. Run a standing monthly review at each portco, then roll the results up for the operating team.
Keep the agenda fixed
Cover the same items each month: the three workflows with the highest spend, cost per task against last month, changes in model mix, cache read share on the top workflows, spend against budget by workspace or group, and seats with no recent activity.
End with actions and owners
Every review should end with specific changes: a seat reassigned, a workflow moved to a smaller model, a prompt cached, a cap raised for a team that is producing. Assign each one an owner and check it next month.
Re-test when models change
New model releases change the math. Re-run evals on the main workflows when a new model ships and adjust routing if a cheaper model now passes.
How Do Strong Portfolio Teams Avoid Common AI Token-Tracking Mistakes?
The firms that get value from token tracking set up attribution early, compare cost per task instead of totals, and give every number an owner. The ones that struggle hit the same few problems.
Common pitfalls
- Everything in the default workspace. Usage there reports with no workspace ID and cannot carry a spend limit.
- One shared API key per company. When the bill jumps, nobody can tell which workflow did it.
- Caps before attribution. A company-wide cap throttles the heaviest users, who are often the ones getting the most value.
- Comparing totals across portcos. A bigger company spends more. Compare cost per completed task.
- No owner. A report nobody reviews does not cut spend.
Checklist for Evaluating Your AI Token Tracking Setup
Use this for each portfolio company, and again at the fund level.
- Every AI spend source is inventoried, including cloud bills and expense reports
- Every account has a named admin and billing owner
- Production traffic runs outside the default workspace
- Each production workflow has its own API key
- Claude Code telemetry carries team and cost center attributes
- Your apps log tokens per request with a task ID
- Usage from every surface lands in one schema on a schedule
- Reported cost reconciles to the invoice each month
- Routing, caching, and batching are tested against evals before rollout
- Spend limits and alerts sit on workspaces or groups, each with an owner
- A monthly review ends with actions and owners
Track and Cut AI Token Spend Across Your Portfolio with PressW
Tracking AI token usage across portfolio companies comes down to six steps: inventory the spend, attribute it at the source, roll it into one view, cut it with routing, caching, and batching, cap it by workflow, and review it monthly. The tooling exists. The work is setting it up the same way at every company and keeping someone accountable for the numbers.
PressW is an Official Anthropic Partner that helps private equity firms and their portfolio companies run Claude as a managed service. Our Token & Usage Analytics service instruments usage from day one, attributes spend to teams, projects, and workflows, sets budgets and alerts, and runs a monthly review that ends in specific actions. Token Optimization then lowers cost per task without trading away quality. See how we work with private equity firms at the fund level and inside each portco.
If you want a clear picture of what your portfolio spends on AI and where to cut it, Book a Discovery Call.
FAQ
Track AI token usage across portfolio companies by inventorying every spend surface at each company, tagging usage at the source with workspaces, API keys, and team attributes, and pulling it into one schema on a schedule. Anthropic's Usage and Cost API, Claude Code Analytics API, and seat-plan spend reports cover Claude. Compare companies on cost per completed task, not total spend.
Yes. On the Claude API, usage can be filtered and grouped by workspace and API key, so a workspace per team gives you per-team token usage. Claude Code reports daily cost per user, and Team and Enterprise plans include a spend report by user and model. For Claude bought through a cloud provider, use OpenTelemetry or a gateway for per-user data.
Prompt caching saves the most on workflows that resend the same instructions or documents. A cache read costs 10% of the base input price on most Claude models and 5% on Opus 5.5 and Sonnet 5.5, while a 5-minute cache write costs 125%. The saving depends on how often the cached content is reused before it expires.
Model routing means sending each task to the smallest model that does it well. Simple work such as classification, extraction, and triage goes to a fast, low-cost model, while complex reasoning goes to the most capable one. On current Claude list prices, Opus 5.5 input costs 40 times Haiku 5.5 input, so routing is usually the largest single saving.
Set AI spend limits on the units you can attribute, such as workspaces, groups, or individual Claude Code users, instead of one company-wide cap. Add alerts below each limit with a named owner, and review spend alongside output monthly. That way a limit stops a runaway workflow without throttling the teams getting the most value.


