Track and Know your Spending Across your AI Agents

Learn How

How to Track AI Spend Across Claude, OpenAI, and Copilot in One View

AI spend tracking across tools in nine steps: put Claude, OpenAI, and Copilot bills in one view, find idle seats, and tie cost to adoption and output.

TL;DR

  • Why it is hard: Claude, OpenAI, and Copilot bill by seat, by token, and by AI credit, and they report in at least six places, so no single vendor report shows your total.
  • The fix: Convert every bill to dollars per month, split the total by team, then divide it by weekly active users and by output.
  • Five numbers to keep for every tool: monthly cost, weekly active users, cost per active user, depth of use, and output per active user.
  • Where Worklytics fits: Worklytics AI adoption measurement connects to Claude Enterprise, Claude Code, ChatGPT Teams and Enterprise, Codex, Microsoft Copilot, and GitHub Copilot, and shows adoption, engagement, productivity, and impact in one view, using usage metadata only.

This guide gives a nine-step method for Tracking AI Spend across tools, using Claude, OpenAI, and Copilot as the examples.

Why AI Spend Tracking Across Tools Is Hard for Claude, OpenAI, and Copilot

AI spend is hard to see because each vendor reports its own spend, in its own unit, on its own schedule, and none of them report on the others. In the FinOps Foundation's State of FinOps 2026 survey of 1,192 technology-cost practitioners, 98% of respondents now manage AI spend, up from 63% in 2025 and 31% in 2024. Managing the spend and seeing all of it in one place are separate problems.

Each of the three names covers two products with two bills. Claude has the API, which is the connection developers use to call the model, and the Claude Enterprise workspace. OpenAI has the API and ChatGPT, which have separate billing systems. Copilot has Microsoft 365 Copilot and GitHub Copilot. That makes six reporting sources:

SourceWhat you pay forWhat the report showsWhere it lives
Claude APITokensToken counts and US dollars, with daily cost dataUsage and Cost API
Claude EnterpriseSeats plus usageActive members, seat assignments, spend by model, and spend per userAnalytics page
OpenAI APITokensUS dollars by project, line item, and API keyCosts API
ChatGPT workspaceSeats plus credits or metered usage, depending on the contractSeats bought, seats enabled, and active usersWorkspace analytics
Microsoft 365 CopilotSeats at $30 per user per monthEnabled users and active usersCopilot usage report
GitHub CopilotSeats plus AI creditsAI credits used per userBilling documentation

A token is a small chunk of text, about three-quarters of a word, and API plans bill by the token. Three billing models, six reports, and at least three delivery speeds make a hand-built total slow and easy to get wrong. Anthropic says API usage and cost data typically appears within five minutes. Claude Enterprise spend data refreshes daily with a one-day delay. Microsoft says its Copilot report typically arrives within 48 hours of the end of each day.

Worklytics' integrations page lists connectors for Claude Enterprise, Claude Code, ChatGPT Teams and Enterprise, Codex, Microsoft Copilot, and GitHub Copilot. That covers four of the six sources above. The Claude API and OpenAI API are not on the list, so take their dollar figures from the Claude Cost API and the OpenAI Costs API and add them to the monthly total in Step 2. If those APIs power features in your own product, keep that spend on a separate line, because it follows customer usage, not employee usage. Worklytics' guide to tracking LLM token usage and cost covers that side.

For the connected tools, Worklytics closes the gap. It pulls usage from each tool, matches every user to your team structure, and shows adoption, engagement, productivity, and impact side by side. The output can be reports, real-time dashboards, or a feed to your own data warehouse.

Worklytics combines usage from AI tools and work tools into one data set, then outputs analyses, dashboards, and a data warehouse feed.
Worklytics combines usage from AI tools and work tools into one data set, then outputs analyses, dashboards, and a data warehouse feed.

Step 1: List Every AI Tool and Count Who Actually Uses It

Build the tool list from usage records, not from the finance ledger. The ledger holds only what someone bought centrally or expensed, and a seat count says nothing about use.

Worklytics AI adoption measurement reads weekly activity from each connected tool and lists the tools in one table: weekly active users (people who used the tool at least once in the past seven days), share of the workforce, days used per week, and uses per active day (how many times a person uses the tool on the days they use it). The sample report below shows the format with nine tools, from Google Workspace AI at 40% of the workforce each week down to Miro AI at 5%.

Illustrative sample report: nine AI tools ranked by weekly active users, with share of workforce, days used per week, and 14-week change.
Illustrative sample report: nine AI tools ranked by weekly active users, with share of workforce, days used per week, and 14-week change.

A second view shows how people spread across those tools: the median number of tools per active employee, and the share of active employees who use only one.

Illustrative sample report: tools per active user, uses per active day, new tool adopters, and single-tool users.
Illustrative sample report: tools per active user, uses per active day, new tool adopters, and single-tool users.

When several tools are paid for but most active people use only one, the extra tools serve a minority, and Step 8 tests that. For now, record each tool's owner, billing source, seats bought, and weekly active users. Then compare three lists: the finance ledger, your login system's app list, and the usage records. A tool that has active users but is missing from the other two lists is being paid for outside central budgets, through a team card or a free plan, so chase it first.

Step 2: Convert Every Bill Into Dollars per Month

Use one unit, dollars per calendar month, and mark each figure as invoiced or estimated. The formula depends on how the tool bills.

Billing typeDollars per month equalExample
SeatsSeats bought × price per seatMicrosoft 365 Copilot costs $30 per user per month when paid yearly. 500 seats is $15,000 a month.
CreditsCredits used above the included amount × price per creditGitHub Copilot Business includes 1,900 AI credits per user. Credits beyond the pool cost $0.01 each.
TokensTokens by type × rate per token, or the dollar figure from the vendor cost reportThe Claude Cost API groups dollars by workspace. The OpenAI Costs API groups them by project, line item, or API key.
MixedSeat cost + usage costGitHub Copilot Business is $19 per user per month plus any credits beyond the pool.

Tokens are the reason depth of use matters for cost: reading a large codebase into a prompt takes far more tokens than asking a short question.

Mixed billing is where totals drift. GitHub replaced request-based billing with AI credits on June 1, 2026, and code completions stay free. A developer who mainly accepts completions costs the seat price. One who runs chat and agent tasks can pass the included pool. GitHub's usage metrics API now returns AI credits consumed per user, so that difference can be pulled by user.

A promotion made this harder to read. GitHub gave existing customers promotional included usage of $30 per Business seat and $70 per Enterprise seat for June, July, and August, against standard amounts of $19 and $39. When the promotion ended, included usage per seat fell, so a team that stayed inside its pool in August can show overage in September with no change in behavior. Credits can be pooled across the organization, so check credits per user instead of waiting for an overage line.

Claude Enterprise is priced per seat plus usage, and Anthropic says Claude Code and Cowork consume tokens at a significantly higher rate than standard chat. A seat count would miss growth that comes from that usage. Worklytics builds the monthly estimate from seat licensing plus token use by surface, priced at per-token rates. The sample report below shows the format: Claude spend over six months, split into Claude.ai, Claude Cowork, and Claude Code.

Illustrative sample report: Claude monthly cost over six months, split into Claude.ai, Claude Cowork, and Claude Code.
Illustrative sample report: Claude monthly cost over six months, split into Claude.ai, Claude Cowork, and Claude Code.

Treat these figures as estimates and settle the final number against each invoice every month. Record the gap. A gap that keeps growing means a rate or a contract term is missing from the model.

Step 3: Split AI Spend by Team and by Tool

A total tells finance what was spent. A split by team tells leaders who spent it and whether that matches where the work happens.

Each vendor can split only its own spend. Claude Enterprise added usage and cost by SCIM group in July 2026, meaning the user groups IT already manages, and GitHub lets admins set budgets by cost center. Neither can show how Engineering's Claude spend compares with its Copilot spend or with Sales' ChatGPT spend.

Worklytics matches each user in each tool to your team structure, so one report shows spend by department across every tool. The sample report below shows the format, with each department's estimated monthly AI cost and share of the total.

Illustrative sample report: estimated monthly AI cost by department across all tools.
Illustrative sample report: estimated monthly AI cost by department across all tools.

Use the view to ask two questions of every department: does its share of spend match its share of headcount, and does its output (Step 7) justify the difference? Engineering often carries a larger share because coding tools use many tokens. Departments whose spend is growing and whose output is harder to measure need the closer look. Send each department head a one-line monthly statement with spend and active users.

Some spend cannot be tied to a team after the fact. Anthropic's cost report files default-workspace spend under a null workspace ID, and Console playground usage carries no API key. Create one workspace per team before you need the split, and track what remains as a shared line with a named owner. For per-user Claude Code cost, Anthropic points to its Claude Code Analytics API rather than a split by API key.

Step 4: Compare Paid Seats With Active Users

Divide each tool's monthly cost by its weekly active users to get cost per active user, then count the seats nobody used.

Vendor reports make this hard to compare. Microsoft counts an enabled user as active after any intentional Copilot action, such as submitting a prompt, in the window you pick, from 7 to 180 days, so a 180-day view counts someone who tried Copilot once five months ago. Its active users rate, which is active users divided by enabled users, inherits that window. Use one window for every tool: weekly active users.

Worklytics reports weekly active users for every tool in the same format, with licensed seats beside them. Its own Claude Enterprise renewal guide uses weekly active seats above 60% of licensed seats as the bar for renewing as is.

Here is the arithmetic, using the sample report below. It shows 500 licensed Microsoft 365 Copilot seats and 442 weekly active users. That leaves 58 idle seats, which is $1,740 a month at the $30 list price, or $20,880 a year.

Illustrative sample report: monthly cost against estimated monthly value for each AI tool, with the Microsoft 365 Copilot seat gap called out.
Illustrative sample report: monthly cost against estimated monthly value for each AI tool, with the Microsoft 365 Copilot seat gap called out.

A department view of the same kind, built for ChatGPT, shows which departments hold seats but show low weekly activity. The sample assumes $30 per seat.

Illustrative sample report: estimated monthly ChatGPT cost by department (the sample assumes $30 per seat).
Illustrative sample report: estimated monthly ChatGPT cost by department (the sample assumes $30 per seat).

Idle seats were 11.6% of the Copilot line in that example. Where a department holds paid seats but shows low weekly activity, as HR and Operations do in the ChatGPT sample, the fix is training first, then a smaller seat count at renewal if activity stays under the bar. This guide to exporting and analyzing Microsoft 365 Copilot usage data shows how Worklytics breaks Copilot adoption down by department, team, and manager.

Step 5: Measure How Deeply Each Tool Is Used

Active users show who showed up. Depth of use shows what they did, and it predicts the bill for token-priced tools and the renewal for seat-priced tools.

Vendors measure depth in different ways. ChatGPT workspace analytics defines power users as the top 20% of message senders with 75 or more messages a week and three or more tools a month. Microsoft reports average prompts per active user. Neither compares across tools.

Worklytics engagement measurement uses one scale for every tool: days used per week, uses per active day, and tokens per active user per week, plus the type of work being done, such as coding, research, analysis, summarization, drafting, or email.

The sample Claude report below shows the format: the share of employees using Claude.ai weekly, the share of engineers using Claude Code, and tokens per active user per week (48.2K in the sample). On a token-billed plan, tokens per user per week is the early warning on cost, because it climbs before the invoice does.

Illustrative sample report: Claude active users by product and tokens per active user per week.
Illustrative sample report: Claude active users by product and tokens per active user per week.

Seat-based plans need a different depth signal. The sample ChatGPT report measures sessions per active user (4.2) and messages per session (6.8). Those two numbers separate a thinking partner from a search box: a user with 2 sessions of 12 messages gets more from a seat than one with 8 single-message lookups.

Illustrative sample report: ChatGPT sessions per active user, messages per session, prompt length, and advanced model share.
Illustrative sample report: ChatGPT sessions per active user, messages per session, prompt length, and advanced model share.

Depth can also separate teams on identical seats. The sample GitHub Copilot report shows the median share of code written with Copilot for each engineering team, from 7% for DevOps to 26% for the offshore team, a 3.7 times spread.

Illustrative sample report: share of code contributed by GitHub Copilot for each engineering team, with team medians labeled.
Illustrative sample report: share of code contributed by GitHub Copilot for each engineering team, with team medians labeled.

If teams on one seat price differ that much, the price says little about the value each team gets. Low-end teams need training or fewer seats, and the top team shows what good use looks like. The guide to tracking Claude Code usage across an engineering org covers the same depth measures for Claude.

Step 6: Divide Spend by Hours Saved

Estimate hours saved by task type, then divide monthly spend by those hours to get the cost per hour saved.

Vendors rarely report time saved, and the few that do cover only their own tool. Claude's analytics page, for example, includes an estimated time saved figure, but only for Claude.

Worklytics productivity measurement sorts AI activity into task types, multiplies the uses by typical time per task and the hourly rate of the people involved, and applies the same method to every tool. It then checks the estimate by comparing output between high-adoption and low-adoption teams. The sample report below shows the format: 1,240 hours saved per week across the organization, a median of 1.5 hours per active user per week, and $2.4M in annualized value.

Illustrative sample report: estimated hours saved per week, hours saved per active user, and annualized value.
Illustrative sample report: estimated hours saved per week, hours saved per active user, and annualized value.

The math on one seat, using the sample's 1.5 hours a week: that is about 6.5 hours a month. Spread over a $30 seat, it is about $4.60 per hour saved. Break-even is seat cost divided by loaded hourly cost, which is pay plus benefits and overhead per working hour. With example inputs of a $30 seat and a $50 loaded hourly cost, a seat pays for itself after 36 minutes of saved time a month.

Because break-even sits under an hour a month, saved time rarely decides whether to keep a seat. Use decides: whether the seat is active (Step 4) and, for token-priced tools, whether the tokens produce output (Step 7).

Saved hours turn into money only when the time goes to other work or avoids a hire. The sample's $2.4M is estimated value, not cash, so keep it in a separate column from invoiced spend.

Step 7: Check Output and Quality Against Spend

Compare output per active user across tools and against low-AI baselines, then confirm the output stays in place.

Claude Enterprise's own Claude Code dashboard reports cost per commit (a saved change to code), which helps, but it cannot compare Claude Code with Copilot or Cursor on the same team. Worklytics AI impact measurement links usage to output measures such as merged pull requests, so one method applies to every tool. A pull request is a bundle of code changes sent for review.

The first sample view compares pull requests merged per month by engineers with low AI use (median 4.67), heavy Cursor use (5.54), and heavy Claude Code use (6.86).

Illustrative sample report: pull requests merged per month by engineers with low AI use, heavy Cursor use, and heavy Claude Code use.
Illustrative sample report: pull requests merged per month by engineers with low AI use, heavy Cursor use, and heavy Claude Code use.

A second sample view lines up four coding tools. Dividing its pull requests by its active users gives 9.2 for Claude Code, 1.3 for GitHub Copilot, 1.0 for Codex, and 0.9 for Cursor.

Illustrative sample report: weekly active share, active users, pull requests contributed, and estimated value for four coding tools.
Illustrative sample report: weekly active share, active users, pull requests contributed, and estimated value for four coding tools.

Read comparisons like these as leads, not proof. The counts link pull requests to tools, and heavy users choose their own tools. Then check that the output stays in place. A third sample view tracks pull requests reverted (undone after merging) per month before and after a Claude Code rollout, so any rise in reverts shows up next to the rollout marker.

Illustrative sample report: pull requests reverted per month, before and after a Claude Code rollout.
Illustrative sample report: pull requests reverted per month, before and after a Claude Code rollout.

When reverts rise with spend, plain cost per pull request flatters the tool. Use spend divided by pull requests that stay merged, which means merged minus reverted.

Teams without code need an output they already count. The sample view for sales development reps counts unique clients reached per week, with medians of 8.5 for no AI use and 12.2 for heavy AI use. Pick one output for each team before you compare spend, and keep it fixed so before-and-after comparisons stay valid.

Illustrative sample report: unique clients reached per week by sales development reps with no, light, and heavy AI use.
Illustrative sample report: unique clients reached per week by sales development reps with no, light, and heavy AI use.

Step 8: Decide What to Keep, Cut, or Merge

Sort tools by how often and how deeply each team uses them, then apply one rule to each group.

Worklytics plots each tool by days used per week and uses per active day and labels it core, habitual, specialist, or exploring. In the sample chart, the dividing lines sit at 2.5 days a week and 4 uses per active day.

Illustrative sample report: each AI tool plotted by days used per week and uses per active day.
Illustrative sample report: each AI tool plotted by days used per week and uses per active day.
GroupPlain meaningSpend decision
CoreUsed most days, with many uses per dayRenew and plan for growth
HabitualUsed most days, with lighter useRenew, and check overlap with core tools
SpecialistDeep use by one or two teamsLimit seats to those teams
ExploringLight and irregular useSet an end date and a keep-or-drop test

In the sample, Google Workspace AI is core. ChatGPT, Gemini, and Microsoft 365 AI are habitual. Claude, GitHub Copilot, and Cursor are specialist. Copilot and Miro AI are exploring. The same table adds each tool's 14-week change in weekly users, which shows whether a tool is gaining or losing people.

A team view shows where tools overlap. In the sample, Customer Support uses six AI tools, each between 1.2 and 3.1 days a week, while Cursor and GitHub Copilot show use only in Engineering and IT.

Illustrative sample report: days per week each team uses each AI tool.
Illustrative sample report: days per week each team uses each AI tool.

Six tools at similar frequency means none is primary. Keep the one with the most days per week and the lowest cost per active user, then check whether the others do work it cannot. Give specialist tools seats only in the teams that use them. Review the exploring group first, because a tool nobody relies on costs the least to drop, then the specialist seat lists, and leave core tools for last.

Step 9: Run a Monthly Review With Privacy Built In

Review one page every month on a fixed cut-off date, using usage metadata only.

Set the cut-off at the third business day of the month. The slowest sources need that long: Microsoft's Copilot report arrives up to 48 hours after each day ends, and Claude Enterprise spend data runs one day behind. Keep each vendor's own alerts as the early warning. Claude Enterprise notifies admins at 75% and 90% of an organization spend limit, and GitHub admins can set budgets by user, cost center, and enterprise. The monthly page explains why the numbers moved. Keep the review to three questions:

  • Money: Which tool's cost per active user rose, and was the cause seats or tokens?
  • Use: Which tools sit under the weekly active bar, and which team holds the idle seats?
  • Output: Where did spend rise while output per active user stayed flat or reverts climbed?

Splitting spend by team needs a link between each tool's user list and HR data, which raises a privacy question. Worklytics answers it with an open-source privacy proxy that runs in the customer's own cloud. The proxy swaps each person's identifier, such as an email address, for the same stand-in code in every source, so records still match across tools, and only this de-identified data reaches the platform. Worklytics reads usage metadata, such as how often a tool is used and by which team, and never the content of prompts or outputs. Worklytics' security and privacy design has the detail.

Worklytics privacy proxy: workplace tool data is filtered and de-identified in the customer cloud before it reaches the platform.
Worklytics privacy proxy: workplace tool data is filtered and de-identified in the customer cloud before it reaches the platform.

To see these numbers for your own Claude, OpenAI, and Copilot tools, start with Worklytics. Most organizations see their first AI adoption metrics within a week of setup.

FAQs

How do I track AI spend across Claude, OpenAI, and Copilot in one view?

Convert each bill to dollars per month, split the total by team, then divide it by weekly active users and by output. The three vendors report in different units and places, so a tool such as Worklytics that reads usage from Claude Enterprise, ChatGPT, and both Copilots and matches it to your team structure removes the manual joins. Add raw API spend from the Claude and OpenAI cost reports.

What is cost per active user for AI tools?

It is a tool's monthly cost divided by the number of people who used it in the past week. Use the same weekly window for every tool, because vendors define active differently. A rising figure means seats are going unused or token use is growing faster than adoption.

Can I track AI spend without reading employee prompts?

Yes. Spend, seat use, and depth of use come from usage metadata. ChatGPT workspace analytics does not expose message text or file contents, and Worklytics reads only metadata such as how often a tool is used and by which team.

How does GitHub Copilot's June 2026 billing change affect spend tracking?

Since June 1, 2026, every Copilot plan bills in AI credits at $0.01 each. Business seats include 1,900 credits, Enterprise seats include 3,900, and code completions do not use credits. Track credits consumed per user through GitHub's usage metrics API, not seat counts alone.

What is a good weekly active rate for AI seats?

Worklytics' Claude Enterprise renewal guide uses weekly active seats above 60% of licensed seats as its bar for renewing with confidence. Treat that as a starting point, adjust it after two months of your own data, and compare departments, because an average hides teams with seats and no habit.

How often should I review AI spend across tools?

Monthly, on a fixed cut-off such as the third business day, because the slowest vendor report arrives up to 48 hours after each day ends. Use each vendor's spend alerts between reviews.

Request a demo

Schedule a demo with our team to learn how Worklytics can help your organization.

Book a Demo