# AI adoption

Available at [AI tools → AI adoption](https://app.swarmia.com/ai/adoption/users-and-licenses)

<figure><img src="/files/rqDjPuBzxZXvDbFgipHl" alt=""><figcaption></figcaption></figure>

Track your GitHub Copilot, Cursor, and Claude Code licenses and who is actively using them. Spot adoption trends, identify teams leading the charge, and find unused licenses that might need attention.

You can also compare AI assistant adoption against trends in productivity metrics. Are teams with higher adoption seeing [faster pull request cycle times](/guides/improve-pull-request-flow/reducing-pull-request-cycle-time.md)? Are they [keeping batch sizes in check](/guides/improve-pull-request-flow/analyzing-pull-request-batch-size.md)? Is collaboration increasing, or are more people working alone?

Use the insights to evangelize successful practices from early adopters to teams still getting started. Or identify unused licenses — maybe it’s time to invest in training or stop paying for seats that aren’t being used.

Read more in our full guide on [measuring the productivity impact of AI tools](/features/ai-tools.md).

For more detailed tool-specific activity metrics, see:

* [GitHub Copilot activity breakdown](/features/ai-tools/github-copilot-activity.md)
* [Cursor activity breakdown](/features/ai-tools/cursor-activity.md)
* [Claude Code activity breakdown](/features/ai-tools/claude-code-activity.md)

## Setup

To enable GitHub Copilot, Cursor, and Claude Code metrics, see our instructions for [AI coding tool integrations](/settings/integrations/ai-coding-tool-integrations.md).

## Definitions

* **Members** = The number of current team members.
  * **Contributors** = The *Members* column is renamed to *Contributors* when you select the **Active contributors only** checkbox. This filters the whole view to the current team members who have created at least one pull request in the selected time period.
* **AI assistant enabled** = The number of team members with a GitHub Copilot, Cursor, or Claude Code license at some point during the selected time period.
* **Enabled rate** = *AI assistant enabled* / *Members*
* **Weekly active, avg.** = The average number of users who have accepted code or used chat during a calendar week.
  * **Copilot**: A user is considered active if they have received a suggestion (even if they don't accept it) in their IDE or chatted with Copilot. Users must have telemetry enabled in their IDE for their activity to be included.
* **Active rate, avg.** = *Weekly active, avg.* / *Members*

{% hint style="info" %}
The number of **active GitHub Copilot users before December 12th, 2025,** is based on [GitHub's `last_activity_at` definition](https://docs.github.com/en/copilot/reference/metrics-data#calculation), which includes receiving a code suggestion in an IDE (without necessarily accepting it).
{% endhint %}

## Examples

If you're looking at a team of 5 members and have the "last 14 days" timeframe selected:

* **AI assistant enabled**: If the team has one member who has had a license for the entire last 14 days, one person who terminated their license during that time, and one person who got a license during that time, they're all counted as enabled users, making the total 3. If someone has had a license but terminated it more than 14 days ago, they are not counted.
* **Enabled rate**: 3 / 5 = 60%
* **Weekly active, avg.**: If 3 people were active in the first week and 1 person was active in the second week, that makes the weekly average 2.
* **Active rate, avg.**: 2 / 5 = 40%

## Frequently asked questions

### What happens to historical numbers if the team composition changes?

The *Members* column shows the number of **current** team members, which doesn't consider [historical team memberships](/definitions/frequently-asked-questions/how-do-i-account-for-people-leaving-my-organization.md).

If people join the team, they're shown as members also for the period before they joined the team (given that they've created a PR during the selected time period.

If people leave the team, they are excluded from the members, also from the period before they left the team.

### Why is someone not shown as a user despite having a license?

1. Check that the user belongs to your organization's business plan instead of using a personal license. Can you see them in the [GitHub Copilot](https://docs.github.com/en/copilot/how-tos/administer/organizations/managing-access-to-github-copilot-in-your-organization/granting-access-to-copilot-for-members-of-your-organization#configuring-access-to-github-copilot-in-your-organization), [Cursor](https://cursor.com/analytics), or [Claude](https://console.anthropic.com/settings/members) admin dashboards?
   1. If your **Copilot** licenses are in a different GitHub organization than your repositories, you must [connect both GitHub organizations to Swarmia](/settings/integrations/code-hosting-platforms/github/multiple-github-organizations.md) to properly track them.
2. Check that the **Cursor** or **Claude Code** account is connected to the right contributor in the [Contributor settings](/settings/organization/contributors.md).

   1. Select "All contributors" as the filter.
   2. Type the person's name into the search box.
   3. Use the checkboxes to select the Cursor or Claude Code identity and the contributor it belongs to.
   4. Click "Merge".

   <figure><img src="/files/45fM2Ewt68cRXooDH8U4" alt=""><figcaption></figcaption></figure>

### Why is it showing 0 users for today?

Many of the APIs we use are not real-time. We sync the AI adoption data daily, so there can be a delay of up to 24 hours for the numbers to become visible in Swarmia.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.swarmia.com/features/ai-tools/ai-adoption.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
