Claude Code Analytics: Track Team Usage and ROI (Setup)

David IyaDavid Iya November 3, 2026 8 min read

What Claude Code analytics shows

Claude Code analytics is a dashboard for the people paying for Claude Code across a team. It answers three questions: who is using it, how much of their work it touches, and whether that work ships. You do not install anything for the usage half. It is already collecting for Team and Enterprise organizations, and you only need to connect GitHub for the half that looks at merged pull requests.

My take: this is the first place to look before you buy more seats or cut any. Telemetry pipelines and spend reports are useful, but most team leads never get past "people seem to like it". The dashboard gets you to real numbers from your own codebase in a day, with no infrastructure.

Where to find the dashboard on each plan

There are two different dashboards, and which one you get depends on how your team pays for Claude Code.

Claude Code analytics by plan

Team and EnterpriseAPI (Console)
Whereclaude.ai/analytics/claude-codeplatform.claude.com/claude-code
Who can see itAdmins and OwnersRoles with the UsageView permission: Developer, Billing, Admin, Owner and Primary Owner
Usage metricsYes: accepted lines, accept rate, daily active users and sessionsYes: accepted lines, accept rate, active users and sessions
SpendThrough the spend report in analytics settings, or OpenTelemetryYes, daily, plus a per-user team insights table
Contribution metrics with GitHubYes, in public betaNot available
Leaderboard and CSV exportYesNo leaderboard
Programmatic accessEnterprise only, through the Enterprise Analytics APIClaude Code Analytics API with an Admin API key

If your developers mostly sign in to the desktop app with their claude.ai work accounts, you are on the first column. If they run on API keys from the Console, you are on the second. Code Review has its own separate dashboard for review activity and spend, so do not look for it here.

Turn on contribution metrics

Usage and adoption numbers show up for every Team and Enterprise organization without setup. Contribution metrics, the part that looks at merged pull requests, need four steps and two people: a GitHub admin and a Claude Owner.

  1. A GitHub admin installs the Claude GitHub app on your GitHub organization from github.com/apps/claude.
  2. A Claude Owner opens claude.ai/admin-settings/claude-code and switches on Claude Code analytics.
  3. On the same page, the Owner switches on GitHub analytics.
  4. The Owner completes the GitHub sign-in and picks which GitHub organizations to include.

Data usually appears within 24 hours, then updates daily. If you see "GitHub app required", step one did not happen on the right GitHub organization. If you see "Data processing in progress", give it a few days and confirm the app is installed.

How PR attribution works

When a pull request merges, Claude Code analytics pulls the added lines from the diff, finds Claude Code sessions that edited the same files around that time, and matches the PR lines against what Claude Code actually wrote. Before matching, it normalizes each line: whitespace trimmed, repeated spaces collapsed, quotes standardized and everything lowercased. Merged PRs that contain Claude Code lines get a claude-code-assisted label in GitHub.

The attribution rules that change what you see

RuleWhat it means for your numbers
Sessions from 21 days before to 2 days after the merge countWork from a session older than three weeks will not be credited, even if it shipped
Lines rewritten by more than 20% are not attributedHeavy human editing removes the credit, which is the right call but lowers the number
Lock files, generated code, build folders and test fixtures are excludedBoilerplate does not inflate the totals
Lines over 1,000 characters are skippedMinified or generated output does not count
Only effective lines count: more than 3 characters after normalizationBlank lines and lone brackets are ignored
Source and destination branch are not consideredA merge into any branch can count

The metrics are built to undercount. Only lines with high confidence in Claude Code's involvement are counted. So if the dashboard says a third of your merged PRs had Claude Code in them, the real share is that or higher. I would rather report a conservative number to a finance team than defend an inflated one.

Read the numbers without fooling yourself

The dashboard shows five summary numbers at the top: PRs with Claude Code, lines of code with Claude Code, the percentage of merged PRs with Claude Code, the suggestion accept rate and lines of code accepted. Below them are charts for adoption, PRs per user, a with-and-without breakdown of PRs, and a leaderboard of the top 10 contributors. The CSV export includes every user, not just the top 10.

  • Lines accepted is activity, not output. It counts lines Claude Code's Edit and Write tools added or removed in accepted edits, and lines deleted later do not reduce it. Use it to see engagement, never as a productivity score.
  • PRs per user is the closest thing to a velocity number. Watch its trend as adoption grows, and put it next to the engineering metrics you already track before drawing conclusions.
  • A dip in daily active users usually means friction, not disinterest. Check whether a policy change, a login problem or a new repo setup lines up with the date.
  • Use the leaderboard to find people to learn from, not to rank people. The top users are your best source of prompts and workflows for everyone else.

My recommendation: pick one number to report upward, the share of merged PRs with Claude Code, and one to manage the rollout with, daily active users. Everything else is for spotting problems. Teams that report ten metrics end up arguing about the metrics instead of the work.

Pull the data out with an API

If you want the numbers in your own reports, there are two routes. On the Enterprise plan, a Primary Owner creates a key with the read:analytics scope at claude.ai/analytics/api-keys, and the Enterprise Analytics API returns per-user engagement, usage and cost across Claude, including Claude Code. That API is not available on the Team plan. For contribution data only, you can also search GitHub for PRs with the claude-code-assisted label.

For API customers, the Claude Code Analytics API returns daily per-user records with an Admin API key: sessions, lines added and removed, commits, pull requests, tool accept and reject rates, and estimated cost and tokens by model. Metrics arrive with up to a one-hour delay. It is not currently available on Claude Platform on AWS. Treat any spend figure from analytics as an estimate, and use your actual billing page for real costs. For the bigger cost picture, see how much Claude Code costs per month and how to read token usage.

Free Claude Code drops, straight to your inbox

Short, practical drops on skills, MCP, agents, prompts, and more. No spam, unsubscribe anytime.

Frequently asked questions

Where is the Claude Code analytics dashboard?

For Team and Enterprise plans it is at claude.ai/analytics/claude-code, visible to Admins and Owners. For API customers using the Console it is at platform.claude.com/claude-code, visible to roles with the UsageView permission.

How do I see how many pull requests Claude Code wrote?

Turn on contribution metrics. A GitHub admin installs the Claude GitHub app, then a Claude Owner switches on Claude Code analytics and GitHub analytics at claude.ai/admin-settings/claude-code and connects the GitHub organizations. Data usually appears within 24 hours.

Why does the Claude Code analytics dashboard show no contribution metrics?

Contribution metrics are not available with Zero Data Retention, for repositories on GitHub Enterprise Server, or for Console API and third-party provider usage. Otherwise check that the GitHub app is installed on the right organization and give processing a few days.

Are Claude Code analytics numbers accurate?

They are deliberately conservative. Only high-confidence lines count, lines rewritten by more than 20% are not credited, and generated files are excluded, so the real impact is at least what the dashboard shows.

Does Claude Code analytics show cost per developer?

On the Console dashboard, the team insights table shows estimated spend per user. On Team and Enterprise, export the spend report from analytics settings or set up OpenTelemetry for per-user tokens and cost.

Last reviewed by David Iya on November 3, 2026

David Iya

Written by

David Iya

Forbes 30 Under 30 · Y Combinator

Keep reading

Claude CodeSetup

Claude Code Managed Settings: Enforce Team Policy (Setup)

Claude Code managed settings are the policy your organization puts above every developer's own settings: permission rules, blocked bypass mode, allowed models, MCP servers, telemetry and more. You deliver them three ways: a managed-settings.json file, an MDM profile or registry key, or server-managed settings from the claude.ai admin console. Here is how to pick one, deploy it, and prove it is actually in force.

David Iya 9 min
Read article
Claude CodeSetup

Claude Code OpenTelemetry: Track Usage and Cost (Setup)

Claude Code can export metrics and events through OpenTelemetry to your own collector, so you can see sessions, tokens, estimated cost, commits and tool activity per person, team and model. Turn it on with CLAUDE_CODE_ENABLE_TELEMETRY=1, pick exporters, point it at an endpoint, and lock it in managed settings for a team. Here is the setup, what each metric tells you, and what stays private by default.

David Iya 9 min
Read article

Ready to build it yourself?

Join Claude Code Club, the #1 community for learning claude code, for $9/month.

← Back to the blog