From 12939ddf95ca5589079efd60cb1b08f38763b4fe Mon Sep 17 00:00:00 2001 From: Sophie <29382425+sophietheking@users.noreply.github.com> Date: Mon, 9 Nov 2026 14:28:57 +0000 Subject: [PATCH 1/4] Restructure Copilot metrics concepts article and move content (#64572) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 55c1f8e9-5332-4dc4-9c87-42147a95f4c9 --- .../copilot-usage-metrics/copilot-metrics.md | 256 ++---------------- .../copilot-usage-metrics/index.md | 2 + .../view-impact-dashboard.md | 6 +- .../view-usage-and-adoption.md | 4 +- .../copilot-usage-metrics.md | 18 +- .../reference/copilot-usage-metrics/index.md | 2 + .../industry-comparisons.md | 75 +++++ .../interpret-copilot-metrics.md | 2 +- .../reconciling-usage-metrics.md | 43 ++- .../usage-metrics-coverage.md | 72 +++++ content/copilot/reference/metrics-data.md | 2 +- .../drive-team-agentic-adoption.md | 2 +- 12 files changed, 237 insertions(+), 247 deletions(-) create mode 100644 content/copilot/reference/copilot-usage-metrics/industry-comparisons.md create mode 100644 content/copilot/reference/copilot-usage-metrics/usage-metrics-coverage.md diff --git a/content/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics.md b/content/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics.md index 03d45a0b230c..85639fbf2272 100644 --- a/content/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics.md +++ b/content/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics.md @@ -1,7 +1,7 @@ --- title: GitHub Copilot usage metrics shortTitle: Copilot usage metrics -intro: '{% data variables.product.prodname_copilot_short %} usage metrics provide visibility into how {% data variables.product.prodname_copilot_short %} is adopted and used across your organization, including engagement, activity, code generation, and pull request lifecycle trends.' +intro: 'Understand how your teams adopt {% data variables.product.prodname_copilot_short %} and where enablement can help them get more value from AI-assisted development.' versions: feature: copilot contentType: concepts @@ -25,252 +25,48 @@ category: ## About {% data variables.product.prodname_copilot_short %} usage metrics -{% data variables.product.prodname_copilot_short %} usage metrics help key stakeholders and decision-makers understand how their teams are adopting and using {% data variables.product.prodname_copilot_short %}. By tracking usage patterns across the enterprise, you can measure engagement, identify opportunities to increase value, and assess how AI-assisted workflows influence pull request throughput and time to merge. +{% data variables.product.prodname_copilot_short %} usage metrics help administrators and decision-makers understand how teams are adopting {% data variables.product.prodname_copilot_short %}. You can track engagement, identify opportunities for training, and explore how AI-assisted workflows relate to pull request throughput and time to merge. -Metrics are available through: +Use the dashboards to explore trends across your enterprise and organizations: -* The {% data variables.product.prodname_copilot_short %} usage metrics APIs, which provide detailed, exportable data at the enterprise, organization, repository, and user levels. See [AUTOTITLE](/rest/copilot/copilot-usage-metrics). -* The {% data variables.product.prodname_copilot_short %} usage metrics dashboard, which visualizes 28-day usage trends across your enterprise and organizations. See [AUTOTITLE](/copilot/how-tos/administer-copilot/view-usage-and-adoption). -* The code generation dashboard, which breaks down how code is being generated by users and agents across your enterprise and organizations. See [AUTOTITLE](/copilot/how-tos/administer-copilot/view-code-generation). -* The {% data variables.product.prodname_copilot_short %} impact dashboard, which groups users into adoption cohorts and connects that adoption to pull request output. See [AUTOTITLE](/copilot/how-tos/administer-copilot/view-impact-dashboard). -* The {% data variables.product.prodname_copilot_short %} usage metrics NDJSON export, which offers raw data for custom BI tools or long-term storage. +* The usage metrics dashboard shows adoption and engagement trends. +* The code generation dashboard breaks down code generated by users and agents. +* The impact dashboard connects adoption depth with pull request output. -## Which usage is included? - -{% data variables.product.prodname_copilot_short %} usage metrics are derived from telemetry across multiple {% data variables.product.prodname_copilot_short %} surfaces, including IDE, {% data variables.copilot.copilot_cli_short %}, and {% data variables.copilot.agent_apps %} activity. Most metrics come from client-side IDE telemetry, and **end users need telemetry enabled in their IDE** for the richest data in these metrics. - -Individual {% data variables.copilot.agent_app %} metrics are available in the usage metrics APIs and NDJSON exports. They are not available in the usage metrics dashboards. Activity from {% data variables.copilot.agent_apps %} is already included in daily, weekly, and monthly active-user totals through server-side telemetry. The individual metrics provide a detailed breakdown but do not change these totals. - -In addition, {% data variables.product.prodname_copilot_short %} usage metrics incorporate **server-side telemetry** to identify active users that client-side telemetry alone may miss. Network conditions, proxy configurations, and client settings can prevent client telemetry from reaching {% data variables.product.github %}, so server-side signals ensure those users still appear in your reports. - -Users surfaced through server-side telemetry are fully counted toward your active user totals (such as daily active users, `daily_active_users` ). When available, they may also appear in `totals_by_ide` (including the most recently detected IDE and {% data variables.product.prodname_copilot_short %} extension versions in per-user reports). However, other dimensional breakdowns—such as `totals_by_feature` and lines-of-code metrics—remain empty until richer telemetry is available for them. Top-level totals and breakdowns for users already captured by client telemetry are unchanged. - -The data **does not include** activity from other {% data variables.product.prodname_copilot_short %} surfaces, such as: - -* {% data variables.copilot.copilot_chat_short %} on {% data variables.product.prodname_dotcom_the_website %} -* {% data variables.product.prodname_mobile %} - -License and seat management data are not included in {% data variables.product.prodname_copilot_short %} usage metrics reports. To view or manage license assignments, use the {% data variables.product.prodname_copilot_short %} user management API, which is the source of truth for license and seat information. See [AUTOTITLE](/rest/copilot/copilot-user-management). - -### Troubleshooting missing usage data - -Detailed breakdowns depend on client-side telemetry from the IDE or {% data variables.copilot.copilot_cli_short %}. This telemetry provides data about features, languages, models, accepted suggestions, and lines of code. Server-side telemetry can show that a user was active, but it can't observe what happens in the editor. - -If client-side telemetry is missing, reports may contain lower numbers or empty breakdowns even when server-side data shows activity. Common causes include: - -| Cause | Effect on your reports | What you can check | -|:--|:--|:--| -| Telemetry is turned off in the IDE, for example with the `telemetry.telemetryLevel` setting in {% data variables.product.prodname_vscode_shortname %}. | The IDE sends no detailed activity. The user may still be counted as active through server-side telemetry, but feature, language, and lines of code breakdowns are empty. | Confirm that IDE telemetry is enabled for your developers. | -| A network proxy, firewall, or VPN blocks the {% data variables.product.prodname_copilot_short %} telemetry endpoint. | Same as when telemetry is turned off. | Allow the {% data variables.product.prodname_copilot_short %} client telemetry endpoint. See [AUTOTITLE](/copilot/reference/copilot-allowlist-reference). | -| The client isn't a supported IDE and doesn't send {% data variables.product.prodname_copilot_short %} telemetry. | The user may be counted as active through server-side telemetry, but the client doesn't appear in `totals_by_ide` or detailed breakdowns. | Use a supported IDE for complete metrics. | - -If a gap persists after you check the causes above, contact {% data variables.contact.contact_support %} and include the affected users, IDEs, versions, and dates. - -## Why {% data variables.product.prodname_copilot_short %} usage metrics may differ across API resources - -The following API resources expose {% data variables.product.prodname_copilot_short %}-related data, but they are not interchangeable and should not be compared directly. Each API resource is designed for a specific use case and data model, and differences in totals or coverage are expected. Use this table to understand which API resource best fits your reporting needs. - -> [!NOTE] -> We strongly recommend using the {% data variables.product.prodname_copilot_short %} usage metrics API for new integrations and analyses, as it provides the most complete and future-facing view of {% data variables.product.prodname_copilot_short %} usage. - -| API resource | Scope | Key capabilities | -| --- | --- | --- | -| [AUTOTITLE](/rest/copilot/copilot-usage-metrics) | Advanced enterprise- and organization-scoped event telemetry with repository- and user-level reports | Provides unified telemetry across completions, chat, and agent modes. Includes usage and lines of code metrics across all IDE modes, languages, and models. Supports detailed breakdowns by feature, IDE, language, model, and user, as well as repository-level pull request activity reports, and is the primary API resource being actively developed and maintained. | -| [AUTOTITLE](/rest/copilot/copilot-user-management) | License and seat assignment | Lists assigned {% data variables.product.prodname_copilot_short %} seats for an organization or enterprise, including license state, user association, and `last_activity_at`. This API resource is the source of truth for license and seat information. | - -## How are metrics attributed across organizations? - -> [!NOTE] -> You can grant **organization-only visibility** into {% data variables.product.prodname_copilot_short %} usage metrics without providing enterprise-level access. -> -> You can do this by creating an organization custom role that includes the "View organization {% data variables.product.prodname_copilot_short %} metrics" permission, and assigning that role to users who need visibility into metrics for a single organization. See [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles). - -Organization-level {% data variables.product.prodname_copilot_short %} usage metrics are based on organization membership, not on where individual actions occur. To appear in an enterprise’s metrics, a user must have an active {% data variables.product.prodname_copilot_short %} seat assigned within that enterprise (in any organization that belongs to the enterprise). As a result, a single user’s usage may appear in multiple organization dashboards, while that same user is counted only once in the enterprise-level total. Organization-level analytics are intended for visibility into adoption and usage within an organization and are not designed to be directly compared to enterprise-level totals. - -Organization-level {% data variables.product.prodname_copilot_short %} analytics are available starting December 12, 2025. This is the first date for which organization-level reports are provided. - -Once a user has a seat in the enterprise, their usage is attributed to **every organization they belong to**, regardless of where the seat is assigned. - -This means: - -* If licenses are assigned in a dedicated “shell” organization for administrative purposes within the enterprise, users still appear in the metrics for all other organizations in the enterprise they belong to. -* If a user also has a {% data variables.product.prodname_copilot_short %} seat in a **separate organization outside the enterprise**, their activity is still included in the enterprise’s organization-level metrics **as long as they have at least one seat within the enterprise**. - -In short: users must be licensed somewhere in the enterprise to appear in its metrics. Once they are, metrics reflect where they work (their organization membership), not which organization provides the {% data variables.product.prodname_copilot_short %} seat or where the activity originated. - -## Supported IDEs - -To be included in the {% data variables.product.prodname_copilot_short %} usage metrics, end users must use one of the following IDEs and {% data variables.copilot.copilot_chat_short %} extension versions. - -Older versions may not send all the events that usage metrics rely on, or may attribute activity to the wrong IDE. Keep IDEs and {% data variables.product.prodname_copilot_short %} extensions current, and use device management tooling to enforce these minimum versions where possible. - -| IDE | Minimum IDE version | Minimum {% data variables.copilot.copilot_chat_short %} extension version | -|:--|:--|:--| -| Eclipse | 4.31 | 0.9.3.202507240902 | -| JetBrains / IntelliJ | 2024.2.6 | 1.5.52-241 | -| {% data variables.product.prodname_vs %} | 17.14.13 | 18.0.471.29466 | -| {% data variables.product.prodname_vscode_shortname %} | 1.107.1 | 0.35.3 | -| Xcode | 14.3.1 | 0.40.0 | - -In per-user reports, each `totals_by_ide` entry includes `last_known_ide_version` and `last_known_plugin_version`. Use these fields to identify developers who need to update. See [AUTOTITLE](/copilot/reference/copilot-usage-metrics/copilot-usage-metrics). - -### Version requirements for SDK-based agent activity - -Some IDEs run {% data variables.product.prodname_copilot_short %} agent sessions through the {% data variables.product.prodname_copilot_short %} SDK. Some versions of these IDEs don't identify themselves when they send agent activity, so that activity is left out of usage metrics. This causes agent interactions and agent lines of code to be undercounted. To include this activity, end users must use one of the following versions or later: - -| IDE | Minimum version for SDK-based agent activity | Affected versions | -|:--|:--|:--| -| {% data variables.product.prodname_vscode_shortname %} | 1.139.0 | 1.134 through 1.138, when using the agent window | -| {% data variables.product.prodname_copilot_short %} plugin for JetBrains IDEs | 1.20.0 | 1.15.0 through 1.19.x | -| {% data variables.product.prodname_vs %} | 18.12 | Insiders (preview) builds before 18.12 | - -If you're planning IDE updates, move developers directly to these versions or later. Generally available versions of {% data variables.product.prodname_vs %} aren't affected. - -For JetBrains IDEs, avoid {% data variables.product.prodname_copilot_short %} plugin versions 1.15.0 through 1.19.x. - -Eclipse and Xcode don't run agent sessions through the {% data variables.product.prodname_copilot_short %} SDK, so they aren't affected. - -Missing data can't be backfilled, because activity from affected versions doesn't identify which IDE it came from. - -Some of this activity was counted as {% data variables.copilot.copilot_cli_short %} activity instead, which can inflate {% data variables.copilot.copilot_cli_short %} metrics. This clears up as developers update the affected IDEs, but earlier {% data variables.copilot.copilot_cli_short %} metrics can't be corrected. {% data variables.copilot.copilot_cli_short %} users don't need to update. - -This issue affects only how activity is attributed in usage metrics. Billing is not affected. - -## Data freshness - -The data in the dashboards and API reports is updated on a regular schedule. - -You can expect data to be available within **two full days**. This means that data for a given day is processed and made available within two full UTC days after that day closes. - -Telemetry that is still being processed can make the most recent days appear incomplete. Wait for the processing window to close before investigating a gap. +For custom reporting or long-term storage, use the usage metrics APIs and NDJSON exports. The APIs provide enterprise- and organization-scoped reports with repository- and user-level detail. See [AUTOTITLE](/rest/copilot/copilot-usage-metrics). ## What does the data measure? -{% data variables.product.prodname_copilot_short %} usage metrics can be grouped into a few main categories: Adoption, engagement, acceptance rate, Lines of Code (LoC), and pull request lifecycle metrics. - -**Adoption** measures how many licensed developers are actively using {% data variables.product.prodname_copilot_short %}. For example, daily active users (DAU) tells you how many unique users interacted with {% data variables.product.prodname_copilot_short %} on a given day. Ideally, you'll see a consistent upward trend in these metrics during rollout. {% data variables.copilot.copilot_code-review_short %} adoption is tracked separately, with distinct active and passive user counts. Active users manually requested a review or applied a suggestion; passive users had {% data variables.copilot.copilot_code-review_short %} automatically assigned to review their pull request. When a user has both signals in the same period, they are counted as active only. For a deeper view of adoption depth, users are also grouped into adoption cohorts. See [Understanding adoption cohorts](#understanding-adoption-cohorts). - -**Engagement** measures describe how deeply developers use {% data variables.product.prodname_copilot_short %} once they’ve adopted it. Key engagement metrics show not only frequency of use but also breadth across features. For example, average chat requests per active user measures how often users open and interact with {% data variables.copilot.copilot_chat_short %}. You'd want to see regular and increasing chat use across languages and IDEs. - -**Acceptance rate** measures how often developers accept {% data variables.product.prodname_copilot_short %}’s suggestions. This helps you understand whether suggestions are relevant and trusted. For example, a high inline suggestions acceptance rate indicates that suggestions are relevant and useful. - -**Lines of Code (LoC) metrics** measure the number of lines {% data variables.product.prodname_copilot_short %} suggested, added, or deleted in the editor, providing a directional view of {% data variables.product.prodname_copilot_short %}’s tangible output. For example, "Lines added" shows how much code was actually accepted and inserted into the editor. - -**Pull request lifecycle metrics** measure how {% data variables.product.prodname_copilot_short %} activity relates to pull request outcomes and delivery flow. These metrics include pull request creation and merge counts, median time to merge, and review suggestion activity. By comparing overall pull request activity with pull requests created by {% data variables.product.prodname_copilot_short %}, you can evaluate how AI-assisted workflows influence throughput and cycle time at the organization or enterprise level. - -Model breakdowns can include models that developers didn't select directly. For example, {% data variables.product.prodname_copilot_short %} can use other models for Auto model selection or for background tasks. - -### Understanding adoption cohorts - -Rather than measuring adoption as a single active-user count, {% data variables.product.prodname_copilot_short %} groups users into **adoption cohorts** based on how they engage with {% data variables.product.prodname_copilot_short %}, not just whether they engage at all. A flat active-user count treats someone who occasionally accepts a code completion the same as someone who orchestrates multiple agent-driven workflows throughout the day. Cohorting separates these two users, so you can see whether your organization's usage is deepening over time rather than plateauing at initial trial. - -Users are grouped into the following phases: - -| Phase | What it represents | -|:--|:--| -| Chat-first users | The user is active but hasn't used a qualifying feature on at least two distinct days in the trailing 28-day window. For example, a chat-first user may be asking questions in {% data variables.copilot.copilot_chat_short %} or agent mode without applying any code edits. In the API, this phase is labeled `No Cohort`. | -| Phase 1: Code first | The user engaged with code completions and/or agent edits, where {% data variables.product.prodname_copilot_short %} writes changes directly into files in the IDE. Using {% data variables.copilot.copilot_chat_short %} or agent mode without producing code completion or agent edit activity does not qualify on its own. | -| Phase 2: Agent first | The user engaged with a single {% data variables.product.github %}-based agent surface, such as {% data variables.copilot.copilot_cloud_agent %}, {% data variables.copilot.copilot_code-review_short %}, or {% data variables.copilot.copilot_cli_short %}. Both active engagement with {% data variables.copilot.copilot_code-review_short %} and having it automatically assigned to review a pull request count as the same surface. | -| Phase 3: Multi-agent | The user engaged with two or more {% data variables.product.github %}-based agent surfaces, or with the {% data variables.copilot.github_copilot_app %}. | - -To be grouped into a phase, a user must meet an engagement threshold of at least two active days out of the trailing 28-day window, using the surfaces associated with that phase. A user only needs two qualifying days on a higher phase's surfaces to progress to that phase. Agent usage alone can qualify a user, without separate days of plain completions. - -Phase assignment is recalculated daily from the trailing 28-day window, so a user's phase can shift from one day to the next as their activity within that window changes. This is expected behavior, not a data error. - -The impact dashboard counts every user who was active during the trailing 28-day window and groups each user by their current phase. The phase classification rules are the same, but the dashboard population is broader than the `totals_by_ai_adoption_phase.total_engaged_users` field in API and NDJSON reports, which counts users who were active on a specific day. - -Users who haven't met any phase's threshold are grouped into **Chat-first users**, which is not a measure of inactivity, but a signal that a user's engagement hasn't yet reached the level needed to reliably classify their adoption depth. For example, a user with fewer than two active days in the trailing 28-day window, or one who only lightly uses a surface like {% data variables.copilot.copilot_chat_short %} on {% data variables.product.prodname_dotcom_the_website %}, shows as a chat-first user. - -Because phase assignment is based on **which surfaces a user engages with**, not simply how many actions they take, a user with high completion volume but no agent usage stays in Phase 1, while a user with lighter but broader usage across agent surfaces progresses to Phase 2 or Phase 3. - -For the underlying schema fields, see [AI adoption phase fields](/copilot/reference/copilot-usage-metrics/copilot-usage-metrics#ai-adoption-phase-fields). - -The impact dashboard's **adoption multiplier** divides the average amount of pull requests merged for engaged users, which are ones in Phase 1, 2, or 3, by the amount of pull requests merged for chat-first users. +Usage metrics help you answer different questions about adoption and development workflows. -This shows the relative impact of deeper adoption, independent of how many users fall into each phase. This is a measurement to understand the potential lift that becoming a more engaged user can provide. - -For example, if engaged users averaged 20 merged pull requests per user per month and chat-first users averaged 10, the multiplier is 20 / 10 = 2x. - -### Understanding industry comparisons - -The impact dashboard's **Industry comparison** widget compares two measures for your enterprise, or for an organization that isn't owned by an enterprise, with aggregated results from participating peers: - -* **Agentic adoption**: The percentage of active users in your enterprise or organization who are agent-first or multi-agent users. -* **Leverage**: The ratio between the pull request merge rate for agentic users and the rate for non-agentic users (per user per month). For example, a leverage score of 4.1x means that agentic users merged pull requests at 4.1 times the rate of non-agentic users during the reporting period. - -Each comparison covers the 28-day reporting period shown in the widget. Peer cohorts use the company size and industry selected when you opt in. Company size options are 1–999, 1,000–4,999, and 5,000+ employees, and there are ten industry options. These values are self-reported and aren't verified. You can compare with peers in your selected industry or across all industries. - -When enough eligible peers are available, each card shows: - -* Where your score ranks within the cohort. -* The difference between your score and the peer median. -* The difference between your score and the top decile. - -The top-decile comparison requires a larger peer cohort than the median comparison, so the median can be available when the top decile isn't. Enterprises and organizations with very few active users can view comparisons, but they aren't counted toward any peer cohort. - -The chart plots your enterprise's score against the distribution of peer scores and marks the peer median and top decile. Some markers may be unavailable if the cohort does not contain enough eligible peers. - -For comparisons within your selected industry, the dashboard expands the peer cohort in this order until enough eligible peers are available: - -1. Participating peers with the same company size and industry. -1. Participating peers with the same company size, across all industries. - -Comparisons always use peers with the same company size. The widget shows which peer cohort was used, so you can tell when a comparison has been expanded beyond your selected industry. - -For {% data variables.product.prodname_ghe_cloud %} with data residency, peer cohorts include only participants hosted in the same data residency region. The dashboard applies the same cohort expansion within that region and does not combine data across regions. - -The dashboard does not use a cohort based only on industry. Comparisons across all industries use participating peers, rather than all {% data variables.product.github %} users or enterprises. - -Participation is controlled by the **Copilot metrics industry comparison** policy and is disabled by default. Enterprises, and organizations that aren't owned by an enterprise, can participate. Organizations owned by an enterprise participate through their enterprise. Enterprises used only to assign {% data variables.copilot.copilot_business_short %} licenses can't participate, because leverage can't be calculated for them. Enabling the policy both contributes your aggregated metrics to peer cohorts and lets you view comparisons. For details, see [AUTOTITLE](/copilot/how-tos/administer-copilot/view-impact-dashboard#opting-in-to-industry-comparisons). - -Rankings appear only after enough enterprises and organizations have opted in to form a peer cohort. If there are not enough eligible peers after the dashboard applies the fallback cohorts, it doesn't show a ranking. A ranking is also unavailable when your own score can't be calculated, such as when there are no active users in the reporting period or no non-agentic users to provide a baseline for leverage. - -#### How industry comparisons protect your data - -* **Opt-in only.** Nothing is contributed until an enterprise owner, or the owner of an organization that isn't owned by an enterprise, enables the **Copilot metrics industry comparison** policy. Enterprises used only to assign {% data variables.copilot.copilot_business_short %} licenses never contribute. -* **Only two summary scores are contributed.** Each participant contributes its agentic adoption and leverage scores for the 28-day reporting period. No user names, user-level activity, code, repository content, or pull request content is contributed. -* **Results are aggregated.** Your scores are combined with those of other participants to calculate cohort statistics, such as the median and top decile. Other participants can't see your enterprise or organization name, which enterprises and organizations participate, or how many participants are in a cohort. -* **Cohort statistics aren't linked to participants.** When cohort statistics are calculated, participants' scores are combined into results that are stored only by date, company size, and industry. These results contain no enterprise, organization, or user identifiers, so they can't be linked back to a specific participant. -* **Rankings are calculated on {% data variables.product.github %}'s servers.** Your own scores are stored with the rest of your {% data variables.product.prodname_copilot_short %} usage metrics. To show your ranking, {% data variables.product.github %} compares your scores with the cohort statistics for the same reporting period. Other participants' scores are never looked up or compared individually. -* **Small cohorts are suppressed.** A cohort's statistics are shown only when it contains enough participants and users. Enterprises and organizations with very few active users aren't counted toward any cohort, so a small number of developers can't shape the results. -* **Company size and industry stay private.** The company size and industry you select are used only to group participants into cohorts. They aren't shown to other participants or verified by {% data variables.product.github %}. -* **Data residency is respected.** For {% data variables.product.prodname_ghe_cloud %} with data residency, data is never combined across data residency regions. -* **Results stay in the dashboard.** Industry comparisons aren't included in downloads, NDJSON exports, or the {% data variables.product.prodname_copilot_short %} usage metrics API. -* **Aggregated results are short-lived.** Cohort statistics are recalculated daily and deleted after 30 days. If you opt out, the dashboard stops showing comparisons immediately, and your data is excluded from cohorts starting with the next daily update. Each daily calculation uses your current opt-in setting, so if earlier results are recalculated after you opt out, your data isn't added back. - -### Estimating potential return on investment +| Category | What it measures | Example question | +|:--|:--|:--| +| Adoption | How many licensed developers actively use {% data variables.product.prodname_copilot_short %}. | Are teams using {% data variables.product.prodname_copilot_short %} regularly? | +| Engagement | How frequently developers use {% data variables.product.prodname_copilot_short %} and which features they use. | Are developers exploring agent workflows after training? | +| Acceptance rate | How often developers accept suggestions. Acceptance trends can suggest whether suggestions are useful. | Are developers accepting a larger share of inline suggestions? | +| Lines of code | Code suggested, added, or deleted in the editor. | How much code is being generated and inserted into files? | +| Pull request lifecycle | Pull request creation and merge counts, time to merge, and review activity. | How does adoption relate to pull request throughput and delivery flow? | -The impact dashboard's **Potential return on investment** section provides a comparison of cost and pull request output between **Phase 0-1 Passive and Code First Users** and **Phase 2-3 Agent First Users**. +Look for patterns across these signals rather than treating any single number as a measure of productivity. Combine trends with developer feedback to understand what is working and where teams need support. -For each phase group, the dashboard shows the monthly {% data variables.product.prodname_copilot_short %} cost per developer, based on actual {% data variables.product.prodname_ai_credits_short %} consumption, and that cost as a percentage of developer compensation. It also shows average pull requests per developer per month. +## Understanding adoption cohorts -You can select a compensation band to update estimates that depend on developer compensation. These figures are estimates rather than exact financial results, so interpret them alongside the adoption multiplier's code-shipped and time-to-merge comparisons. The return-on-investment estimates are available only in the dashboard and are not included in the {% data variables.product.prodname_copilot_short %} usage metrics API or NDJSON exports. +Active-user counts show whether people use {% data variables.product.prodname_copilot_short %}, but not how they use it. Adoption cohorts in the impact dashboard group users by the features they engage with, from code completions and edits to agent-first and multi-agent workflows. This helps you see whether usage is broadening over time. -### Interpreting pull request lifecycle metrics across scopes +Cohorts describe the breadth of qualifying feature use, not simply the volume of activity. A frequent completions user can remain in the code-first phase while someone using multiple agent surfaces qualifies for a later phase. -Pull request lifecycle metrics are available at both the organization and enterprise level. When comparing reports, keep the following in mind: +The impact dashboard uses these cohorts to compare pull request output and time to merge. Its industry comparisons provide additional context from participating peers, and its potential return on investment estimates compare cost and output across adoption phases. These comparisons show associations, not proof that adoption caused a change in productivity. Team composition, project complexity, and experience can also affect the results. -* **Deduplication**: Enterprise-level reports deduplicate users across organizations. Organization-level reports do not. -* **Pull request-only data**: Pull request lifecycle metrics may appear even if IDE usage metrics are absent, since pull request data is derived from repository activity. -* **Attribution timing**: If a repository or organization is transferred between owners, pull request creation, review, and merge events may be attributed to different entities depending on when each event occurred. +## Understanding coverage and limitations -## How can I use these metrics? +Usage metrics combine telemetry from IDEs, {% data variables.copilot.copilot_cli_short %}, and other supported surfaces. They aren't a complete record of all {% data variables.product.prodname_copilot_short %} activity. Coverage varies by metric and report. -These metrics can be used together to answer key questions about your teams' usage of {% data variables.product.prodname_copilot_short %}. +Detailed IDE breakdowns require supported clients with telemetry enabled. Server-side telemetry can still identify active users when client-side detail is missing. -| Question | Use these metrics | -|:--|:--| -| Are my teams using {% data variables.product.prodname_copilot_short %} regularly? | Daily and weekly active users | -| Which features deliver the most value? | Requests per chat mode, agent adoption | -| Do developers trust {% data variables.product.prodname_copilot_short %}’s output? | Acceptance rate trends | -| Are enablement efforts working? | Growth in adoption and engagement after training or communication campaigns | -| Is {% data variables.product.prodname_copilot_short %} influencing delivery speed or pull request throughput? | Pull request merge counts and median time to merge | -| How is {% data variables.copilot.copilot_code-review_short %} being adopted? | Active versus passive code review user counts | -| Is my organization's adoption deepening over time? | Adoption cohort distribution and engagement trends | -| How do I act on the insights from the dashboard? | See [AUTOTITLE](/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics#reviewing-adoption-cohorts) | +Data for a given day is available within two full UTC days after that day closes. Organization-level metrics can overlap because the same user can belong to multiple organizations, so don't add organization totals to calculate an enterprise total. -Look for patterns across these signals rather than focusing on any single number. For example, a steady DAU paired with a rising acceptance rate indicates growing trust and value. +Usage metrics measure activity, not license assignments. Use the {% data variables.product.prodname_copilot_short %} user management API for seat and license information. ## Analyze your metrics in more detail -When you need to explain or validate your findings, use the reference articles to help you understand all the data available, how it compares across surfaces, and how it should be interpreted. See [AUTOTITLE](/copilot/reference/copilot-usage-metrics). +When you need to explain or validate your findings, use the reference articles to check metric coverage and adoption phase definitions, reconcile dashboard and API reports, and interpret industry comparisons. See [AUTOTITLE](/copilot/reference/copilot-usage-metrics). diff --git a/content/copilot/concepts/billing-and-usage/copilot-usage-metrics/index.md b/content/copilot/concepts/billing-and-usage/copilot-usage-metrics/index.md index 835c87a87932..bad24d959d99 100644 --- a/content/copilot/concepts/billing-and-usage/copilot-usage-metrics/index.md +++ b/content/copilot/concepts/billing-and-usage/copilot-usage-metrics/index.md @@ -15,6 +15,8 @@ children: - /content/copilot/how-tos/administer-copilot/view-code-generation - /content/copilot/how-tos/administer-copilot/view-impact-dashboard - /content/copilot/reference/copilot-usage-metrics/copilot-usage-metrics + - /content/copilot/reference/copilot-usage-metrics/usage-metrics-coverage + - /content/copilot/reference/copilot-usage-metrics/industry-comparisons - /content/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics - /content/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics - /content/copilot/reference/copilot-usage-metrics/lines-of-code-metrics diff --git a/content/copilot/how-tos/administer-copilot/view-impact-dashboard.md b/content/copilot/how-tos/administer-copilot/view-impact-dashboard.md index cf8dc8e2f3d4..a091f45221bc 100644 --- a/content/copilot/how-tos/administer-copilot/view-impact-dashboard.md +++ b/content/copilot/how-tos/administer-copilot/view-impact-dashboard.md @@ -15,7 +15,7 @@ category: Instead of a flat active-user count, the impact dashboard groups users into adoption cohorts based on how they engage with {% data variables.product.prodname_copilot_short %}, and connects that engagement to pull request throughput. This gives you a more meaningful signal of adoption depth than daily or weekly active user counts alone. -For a detailed explanation of what the dashboard shows, including adoption cohorts, engagement trends, potential return on investment, and recommendations, see [AUTOTITLE](/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics). +For definitions of the dashboard's metrics, including adoption cohorts, engagement trends, potential return on investment, and recommendations, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/copilot-usage-metrics#impact-dashboard-metrics). ## Prerequisite @@ -52,7 +52,7 @@ Rankings appear only after enough enterprises and organizations have opted in to A ranking also isn't shown when your own score can't be calculated for the reporting period. For example, there might be no active users, or all active users might already be agent-first or multi-agent users, leaving no non-agentic users to compare leverage with. -For details about what data is shared and how it's protected, see [AUTOTITLE](/copilot/concepts/copilot-usage-metrics/copilot-metrics#how-industry-comparisons-protect-your-data). +For details about what data is shared and how it's protected, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/industry-comparisons#how-industry-comparisons-protect-your-data). ### Changing your peer cohort or opting out @@ -65,6 +65,6 @@ To stop participating, click {% octicon "gear" aria-label="Industry comparison s The "Potential return on investment" section provides a directional comparison of cost and pull request output across adoption phases. 1. Under "Average developer cost in your organization", select a compensation band. -1. In the "Transition your developers to be agent-first" card, compare the cost, payroll, and pull request estimates for "Phase 0-1 Passive and Code First Users" and "Phase 2-3 Agent First Users". +1. In the "Transition your developers to be agent-first" card, compare the cost, payroll, and pull request estimates for chat-first and code-first users (Phases 0-1) with those for agent-first users (Phases 2-3). Treat the figures as directional estimates rather than exact financial results. Use them with the adoption multiplier metrics for code shipped and time to merge pull requests. diff --git a/content/copilot/how-tos/administer-copilot/view-usage-and-adoption.md b/content/copilot/how-tos/administer-copilot/view-usage-and-adoption.md index 2b0aa4a76fae..0035803926f7 100644 --- a/content/copilot/how-tos/administer-copilot/view-usage-and-adoption.md +++ b/content/copilot/how-tos/administer-copilot/view-usage-and-adoption.md @@ -24,12 +24,14 @@ After your initial rollout, the {% data variables.product.prodname_copilot_short {% data reusables.copilot.copilot-metrics-dashboard-prereq %} +To grant visibility into metrics for a single organization without enterprise-level access, create a custom organization role with the "View organization {% data variables.product.prodname_copilot_short %} metrics" permission and assign it to the people who need access. See [AUTOTITLE](/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles). + ## Accessing the dashboard {% data reusables.copilot.access-copilot-metrics-dashboard %} 1. In the left sidebar, click **{% data variables.product.prodname_copilot_short %} usage**. -Data in the dashboard is primarily based on IDE telemetry and is supplemented by server-side telemetry to capture additional active users. Data for a given day is available within two full UTC days after that day closes. See [AUTOTITLE](/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics). +Data in the dashboard is primarily based on IDE telemetry and is supplemented by server-side telemetry to capture additional active users. Data for a given day is available within two full UTC days after that day closes. See [AUTOTITLE](/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics). ## Using {% data variables.copilot.copilot_chat_short %} to analyze exported data diff --git a/content/copilot/reference/copilot-usage-metrics/copilot-usage-metrics.md b/content/copilot/reference/copilot-usage-metrics/copilot-usage-metrics.md index 532e1b51d04d..9b4256ba6986 100644 --- a/content/copilot/reference/copilot-usage-metrics/copilot-usage-metrics.md +++ b/content/copilot/reference/copilot-usage-metrics/copilot-usage-metrics.md @@ -21,7 +21,7 @@ The {% data variables.product.prodname_copilot_short %} usage metrics dashboard * Team-level metrics are not pre-aggregated; you construct them by joining the user-teams report with the per-user usage metrics report. See [AUTOTITLE](/copilot/reference/copilot-usage-metrics/team-level-metrics). * Repository-level reports contain one record per repository with pull request activity on the requested day. See [Repository-level fields (API only)](#repository-level-fields-api-only) later in this article. -For guidance on how to read and interpret these metrics, see [AUTOTITLE](/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics). +For guidance on how to read and interpret these metrics, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics). ## {% data variables.product.prodname_copilot_short %} usage dashboard metrics @@ -47,16 +47,20 @@ These metrics appear directly in the {% data variables.product.prodname_copilot_ ## Impact dashboard metrics -These metrics appear in the impact dashboard, which groups users into adoption cohorts and connects that adoption to pull request output. For guidance on interpreting adoption cohorts, see [AUTOTITLE](/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics#understanding-adoption-cohorts). +These metrics appear in the impact dashboard, which groups users into adoption cohorts and connects that adoption to pull request output. For phase definitions and classification rules, see [AI adoption phase fields](#ai-adoption-phase-fields). | Metric | Description | |:--|:--| -| Engagement trends | How the organization's adoption cohort mix and pull request throughput (total pull requests merged per month) have changed over the last six months. | -| Feature engagement | Number of active users who engaged with each included {% data variables.product.prodname_copilot_short %} feature on at least two distinct days during the inclusive 28-day window. | | Adoption cohort distribution | Share of licensed users grouped into each adoption phase (Chat-first users, Phase 1, Phase 2, Phase 3) for the period. Chat-first users correspond to the `No Cohort` value in the API. | -| Adoption multiplier | Compares engaged users (Phase 1, 2, or 3) against chat-first users on code shipped (pull requests merged per user per month) and time to merge pull requests, to show the relative impact of deeper {% data variables.product.prodname_copilot_short %} adoption. | +| Feature engagement | Number of active users who engaged with each included {% data variables.product.prodname_copilot_short %} feature on at least two distinct days during the inclusive 28-day window. | +| Adoption multiplier | Compares engaged users (Phase 1, 2, or 3) against chat-first users on code shipped (pull requests merged per user per month) and time to merge pull requests, to show the relative impact of deeper {% data variables.product.prodname_copilot_short %} adoption. The code-shipped multiplier divides the engaged group's merge rate by the chat-first group's merge rate. For example, 20 pull requests per user per month divided by 10 gives a 2x multiplier. | +| Potential return on investment[^1] | Compares monthly {% data variables.product.prodname_copilot_short %} cost per developer, cost as a percentage of developer compensation, and average pull requests per developer per month between chat-first and code-first users (Phases 0-1) and agent-first users (Phases 2-3). | +| Engagement trends | How the organization's adoption cohort mix and pull request throughput (total pull requests merged per month) have changed over the last six months. | +| Industry comparison | Compares agentic adoption and leverage with aggregated results from participating peers. For definitions, eligibility, and privacy protections, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/industry-comparisons). | | Recommendations | Suggested actions, such as configuring {% data variables.copilot.copilot_cloud_agent %} or enabling {% data variables.copilot.copilot_code-review_short %}, based on the organization's current cohort distribution. | +[^1]: Return-on-investment cost estimates are based on actual {% data variables.product.prodname_ai_credits_short %} consumption. Selecting a compensation band updates estimates that depend on developer compensation. Treat these figures as estimates, not exact financial results, and review them alongside the adoption multiplier's code-shipped and time-to-merge comparisons. Return-on-investment estimates are available only in the dashboard, not in the usage metrics API or NDJSON exports. + ## Code generation dashboard metrics These metrics appear in the code generation dashboard and provide a breakdown of how code is being generated across user-initiated and agent-initiated activity. All values are derived from lines of code (LoC) added or deleted in the IDE. @@ -127,7 +131,7 @@ Per-user reports contain one record per user per day. The 28-day per-user report | `used_copilot_code_review_passive` | `boolean` | Yes | Whether the user had {% data variables.product.prodname_copilot_short %} automatically assigned to review their pull request that day, without actively engaging with the review. Null when there is no {% data variables.copilot.copilot_code-review_short %} signal for the user that day. | | `used_vscode_agent` | `boolean` | Yes | Whether the user used the dedicated {% data variables.product.prodname_vscode_shortname %} Agents window during the reporting period. Omitted when no dedicated Agents-window data is available for the user. | | `client_telemetry_present` | `boolean` | Yes | Whether qualifying client usage telemetry was received for the user that day. `false` means {% data variables.product.prodname_copilot_short %} recorded the user's activity server-side, but no qualifying client telemetry arrived. Null or omitted when unknown or not evaluated, including for users with only {% data variables.copilot.copilot_cloud_agent %} or {% data variables.copilot.copilot_code-review_short %} activity. `true` doesn't guarantee complete telemetry, and `false` doesn't indicate why telemetry is missing. In 28-day reports, describes the record's `day`. | -| `usage_metrics_requirements` | `object` | Yes | Checks the last-known version of each identifiable IDE and {% data variables.product.prodname_copilot_short %} extension against the supported minimum versions. Each component appears in exactly one of `met`, `unmet`, or `unknown`. Null or omitted when no components can be identified or the record predates this field. This field is independent of `client_telemetry_present`, so a user can meet every minimum and still have `client_telemetry_present: false`. In 28-day reports, describes the record's `day`. For minimum versions, see [AUTOTITLE](/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics#supported-ides). | +| `usage_metrics_requirements` | `object` | Yes | Checks the last-known version of each identifiable IDE and {% data variables.product.prodname_copilot_short %} extension against the supported minimum versions. Each component appears in exactly one of `met`, `unmet`, or `unknown`. Null or omitted when no components can be identified or the record predates this field. This field is independent of `client_telemetry_present`, so a user can meet every minimum and still have `client_telemetry_present: false`. In 28-day reports, describes the record's `day`. For minimum versions, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/usage-metrics-coverage#supported-ides). | | `usage_metrics_requirements.met` | `array` | No | Sorted IDE and extension identifiers, such as `vscode` or `vscode/copilot-chat`, whose last-known version meets the minimum. Present, possibly empty, whenever `usage_metrics_requirements` is present. | | `usage_metrics_requirements.unmet` | `array` | No | Sorted IDE and extension identifiers whose last-known version is below the minimum. Present, possibly empty, whenever `usage_metrics_requirements` is present. | | `usage_metrics_requirements.unknown` | `array` | No | Sorted IDE and extension identifiers whose version is missing or unrecognized. Present, possibly empty, whenever `usage_metrics_requirements` is present. | @@ -502,7 +506,7 @@ The `totals_by_client` array appears at the top level of each record in per-user ### Pull request activity fields > [!IMPORTANT] -> Organization- and enterprise-level reports may show different totals due to differences in user deduplication and attribution timing. For guidance on interpreting pull request metrics across scopes, see [AUTOTITLE](/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics#interpreting-pull-request-lifecycle-metrics-across-scopes). +> Organization- and enterprise-level reports may show different totals due to differences in user deduplication and attribution timing. For guidance on interpreting pull request metrics across scopes, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics#interpreting-pull-request-lifecycle-metrics-across-scopes). The `pull_requests` object appears in aggregated enterprise and organization reports, and in repository-level reports. It captures daily pull request creation, review, merge, and suggestion activity, including activity performed by {% data variables.copilot.copilot_cloud_agent %} and {% data variables.copilot.copilot_code-review_short %}. diff --git a/content/copilot/reference/copilot-usage-metrics/index.md b/content/copilot/reference/copilot-usage-metrics/index.md index f8af8dbd5000..471995ed79ce 100644 --- a/content/copilot/reference/copilot-usage-metrics/index.md +++ b/content/copilot/reference/copilot-usage-metrics/index.md @@ -6,6 +6,8 @@ versions: feature: copilot children: - /copilot-usage-metrics + - /usage-metrics-coverage + - /industry-comparisons - /interpret-copilot-metrics - /reconciling-usage-metrics - /lines-of-code-metrics diff --git a/content/copilot/reference/copilot-usage-metrics/industry-comparisons.md b/content/copilot/reference/copilot-usage-metrics/industry-comparisons.md new file mode 100644 index 000000000000..20e86623934d --- /dev/null +++ b/content/copilot/reference/copilot-usage-metrics/industry-comparisons.md @@ -0,0 +1,75 @@ +--- +title: Industry comparisons for Copilot usage metrics +shortTitle: Industry comparisons +intro: 'Understand how {% data variables.product.prodname_copilot_short %} industry comparisons calculate peer benchmarks and protect participant data.' +permissions: '{% data reusables.copilot.usage-metrics-permissions %}' +versions: + feature: copilot +contentType: reference +allowTitleToDifferFromFilename: true +category: + - Copilot usage metrics + - Understand metrics + - Track Copilot usage +--- + +The impact dashboard's **Industry comparison** widget compares your enterprise or organization with aggregated results from participating peers. Comparisons show associations, not causation. Differences in team composition, project type, engineering practices, and adoption maturity can affect the results. + +## Comparison measures + +Each comparison covers the 28-day reporting period shown in the widget. + +| Measure | Definition | +|:--|:--| +| Agentic adoption | The percentage of active users in your enterprise or organization who are agent-first or multi-agent users. | +| Leverage | The ratio between the pull request merge rate for agentic users and the rate for non-agentic users, per user per month. For example, a leverage score of 4.1x means that agentic users merged pull requests at 4.1 times the rate of non-agentic users during the reporting period. | + +## Participation and eligibility + +Participation is controlled by the **Copilot metrics industry comparison** policy and is disabled by default. Enterprises, and organizations that aren't owned by an enterprise, can participate. Organizations owned by an enterprise participate through their enterprise. Enterprises used only to assign {% data variables.copilot.copilot_business_short %} licenses can't participate, because leverage can't be calculated for them. + +Enabling the policy both contributes your aggregated metrics to peer cohorts and lets you view comparisons. For instructions, see [AUTOTITLE](/copilot/how-tos/administer-copilot/view-impact-dashboard#opting-in-to-industry-comparisons). + +## Peer cohort selection + +Peer cohorts use the company size and industry selected when you opt in. Company size options are 1–999, 1,000–4,999, and 5,000+ employees, and there are ten industry options. These values are self-reported and aren't verified. You can compare with peers in your selected industry or across all industries. + +For comparisons within your selected industry, the dashboard expands the peer cohort in this order until enough eligible peers are available: + +1. Participating peers with the same company size and industry. +1. Participating peers with the same company size, across all industries. + +Comparisons always use peers with the same company size. The widget shows which peer cohort was used, so you can tell when a comparison has been expanded beyond your selected industry. + +For {% data variables.product.prodname_ghe_cloud %} with data residency, peer cohorts include only participants hosted in the same data residency region. The dashboard applies the same cohort expansion within that region and does not combine data across regions. + +The dashboard does not use a cohort based only on industry. Comparisons across all industries use participating peers, rather than all {% data variables.product.github %} users or enterprises. + +## Rankings and availability + +When enough eligible peers are available, each card shows: + +* Where your score ranks within the cohort. +* The difference between your score and the peer median. +* The difference between your score and the top decile. + +The top-decile comparison requires a larger peer cohort than the median comparison, so the median can be available when the top decile isn't. Enterprises and organizations with very few active users can view comparisons, but they aren't counted toward any peer cohort. + +The chart plots your enterprise's or organization's score against the distribution of peer scores and marks the peer median and top decile. Some markers may be unavailable if the cohort does not contain enough eligible peers. + +Rankings appear only after enough enterprises and organizations have opted in to form a peer cohort. If there are not enough eligible peers after the dashboard expands the cohort to all industries, it doesn't show a ranking. A ranking is also unavailable when your own score can't be calculated, such as when there are no active users in the reporting period or no non-agentic users to provide a baseline for leverage. + +For guidance on interpreting the results, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics#reviewing-industry-comparisons). + +## How industry comparisons protect your data + +* **Opt-in only.** Nothing is contributed until an enterprise owner, or the owner of an organization that isn't owned by an enterprise, enables the **Copilot metrics industry comparison** policy. Enterprises used only to assign {% data variables.copilot.copilot_business_short %} licenses never contribute. +* **Only summary scores are contributed.** Each participant contributes its agentic adoption and leverage scores for the 28-day reporting period. No user names, user-level activity, code, repository content, or pull request content is contributed. +* **Results are aggregated.** Your scores are combined with those of other participants to calculate cohort statistics, such as the median and top decile. Other participants can't see your enterprise or organization name, which enterprises and organizations participate, or how many participants are in a cohort. +* **Statistics aren't linked to participants.** When cohort statistics are calculated, participants' scores are combined into results that are stored only by date, company size, and industry. These results contain no enterprise, organization, or user identifiers, so they can't be linked back to a specific participant. +* **Rankings are calculated server-side.** Your own scores are stored with the rest of your {% data variables.product.prodname_copilot_short %} usage metrics. To show your ranking, {% data variables.product.github %} compares your scores with the cohort statistics for the same reporting period. Other participants' scores are never looked up or compared individually. +* **Small cohorts are suppressed.** A cohort's statistics are shown only when it contains enough participants and users. Enterprises and organizations with very few active users aren't counted toward any cohort, so a small number of developers can't shape the results. +* **Grouping values stay private.** The company size and industry you select are used only to group participants into cohorts. They aren't shown to other participants or verified by {% data variables.product.github %}. +* **Data residency is respected.** For {% data variables.product.prodname_ghe_cloud %} with data residency, data is never combined across data residency regions. +* **Results stay in the dashboard.** Industry comparisons aren't included in downloads, NDJSON exports, or the {% data variables.product.prodname_copilot_short %} usage metrics API. +* **Aggregated results are short-lived.** Cohort statistics are recalculated daily and deleted after 30 days. If you opt out, the dashboard stops showing comparisons immediately, and your data is excluded from cohorts starting with the next daily update. Each daily calculation uses your current opt-in setting, so if earlier results are recalculated after you opt out, your data isn't added back. diff --git a/content/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics.md b/content/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics.md index 32e8b7f4f442..4148fb3c4170 100644 --- a/content/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics.md +++ b/content/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics.md @@ -81,7 +81,7 @@ The "Language usage" and "Language usage per day" charts show which programming ## Reviewing adoption cohorts -The impact dashboard's adoption cohort distribution shows the share of users in each phase, and how that distribution shifts over time. For what each phase means and how classification works, see [AUTOTITLE](/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics#understanding-adoption-cohorts). +The impact dashboard's adoption cohort distribution shows the share of users in each phase, and how that distribution shifts over time. For what each phase means and how classification works, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/copilot-usage-metrics#ai-adoption-phase-fields). | Signal | What it suggests | Suggested action | |:--|:--|:--| diff --git a/content/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics.md b/content/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics.md index fa2dac3d1f7e..9590c4d36dfd 100644 --- a/content/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics.md +++ b/content/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics.md @@ -27,12 +27,33 @@ The {% data variables.product.prodname_copilot_short %} usage metrics dashboard, IDE-based {% data variables.product.prodname_copilot_short %} usage metrics depend on **telemetry from users' IDEs**. If a developer has disabled telemetry in their IDE, their detailed IDE-based {% data variables.product.prodname_copilot_short %} activity, such as per-IDE, per-feature, and lines-of-code breakdowns, will **not** appear in the dashboard, API reports, or exported data. However, server-side telemetry may still surface these users in your active user counts even when client telemetry is unavailable. -If you notice missing users or unexpectedly low adoption numbers, verify IDE telemetry settings before troubleshooting other causes. +If you notice missing users or unexpectedly low adoption numbers, verify IDE telemetry settings before troubleshooting other causes. For supported IDE and extension versions, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/usage-metrics-coverage). {% data variables.copilot.copilot_cli_short %} metrics (`daily_active_cli_users` and `totals_by_cli`) are collected and reported separately from IDE telemetry. CLI usage does **not** contribute to IDE-based active user counts or other IDE metrics. Do not reconcile `totals_by_3rd_party_agent[].user_initiated_interaction_count`, which counts user-initiated {% data variables.copilot.agent_app %} jobs, with the top-level `user_initiated_interaction_count`, which counts explicit prompts from other supported telemetry. +## Organization attribution + +Organization-level {% data variables.product.prodname_copilot_short %} usage metrics are based on organization membership, not on where individual actions occur. To appear in an enterprise's metrics, a user must have an active {% data variables.product.prodname_copilot_short %} seat assigned within that enterprise. + +Once a user has a seat in the enterprise, their usage is attributed to every organization in that enterprise they belong to, regardless of where the seat is assigned. For example: + +* If licenses are assigned in a dedicated organization for administrative purposes, users still appear in the metrics for the other organizations in the enterprise they belong to. +* If a user also has a {% data variables.product.prodname_copilot_short %} seat in a separate organization outside the enterprise, their activity is still included in the enterprise's organization-level metrics as long as they have at least one seat within the enterprise. + +A single user's usage can appear in multiple organization dashboards, while that user is counted only once in the enterprise-level total. Don't add organization-level totals to calculate an enterprise total. + +Organization-level reports are available starting December 12, 2025. + +### Interpreting pull request lifecycle metrics across scopes + +Pull request lifecycle metrics are available at both the organization and enterprise level. When comparing reports, keep the following in mind: + +* **Deduplication**: Enterprise-level reports deduplicate users across organizations. Organization-level reports do not. +* **Pull request-only data**: Pull request lifecycle metrics may appear even if IDE usage metrics are absent, since pull request data is derived from repository activity. +* **Attribution timing**: If a repository or organization is transferred between owners, pull request creation, review, and merge events may be attributed to different entities depending on when each event occurred. + ## Metric alignment The dashboard and APIs use shared definitions for key metrics: @@ -43,7 +64,7 @@ The dashboard and APIs use shared definitions for key metrics: | Acceptance rate | Code completion acceptance rate | `code_acceptance_activity_count` ÷ `code_generation_activity_count` | Both sources calculate acceptance rate the same way, though rounding may differ. | | Agent adoption | Agent adoption chart | `totals_by_feature` where feature = “agent” | Reflects users who interacted with the {% data variables.copilot.copilot_agent_short %}. | | Language usage | Language usage charts | `totals_by_language_feature` or `totals_by_language_model` | The dashboard visualizes these aggregated fields. | -| Adoption cohort/phase | Adoption cohort distribution (impact dashboard) | `ai_adoption_phase`, `totals_by_ai_adoption_phase` | The phase definitions are shared, but the populations differ. The dashboard includes every user active during the trailing 28-day window, while the aggregated `totals_by_ai_adoption_phase` field counts users active on the record's specific day. Dashboard and API cohort counts and percentages therefore do not match. Users displayed as "Chat-first users" in the dashboard correspond to the `No Cohort` API value. | +| Adoption cohort/phase | Adoption cohort distribution (impact dashboard) | `ai_adoption_phase`, `totals_by_ai_adoption_phase` | The phase definitions are shared. The dashboard uses a trailing 28-day population. Within `totals_by_ai_adoption_phase`, `total_engaged_users` counts users active on the record's specific day, while `users_in_phase_28d` contains the full rolling 28-day phase population as of that day. Don't compare the daily count directly with the dashboard's rolling population. Users displayed as "Chat-first users" in the dashboard correspond to the `No Cohort` API value. | For complete field descriptions, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics). @@ -61,7 +82,7 @@ Each data source aggregates data differently. | APIs | Daily | Each record represents a single day per user, enabling daily trend analysis. | | NDJSON exports | Daily | Mirrors API output for BI tools and long-term reporting. | -Aligning your reporting period with the dashboard’s 28-day window makes most comparisons more consistent. However, it does not make adoption cohort counts match because the dashboard counts distinct users across the window and the aggregated API fields contain daily counts. +Aligning your reporting period with the dashboard's 28-day window makes most comparisons more consistent. For adoption cohorts, distinguish the daily `total_engaged_users` count from the rolling `users_in_phase_28d` population. Align the snapshot date and scope when comparing rolling populations. Don't add daily active-user counts to calculate a distinct 28-day population, because the same user can be active on multiple days. ### Delayed telemetry @@ -81,6 +102,8 @@ The value `Unknown` appears in some API or export breakdowns when telemetry from | Feature | Appears when an older client sends a generic event without specifying a chat mode (for example, `chat_panel_unknown_mode`). | | Model | Appears when the event lacks information identifying the model used. Some internal models (for example, `gpt-4o-mini`) may appear alongside `Unknown` when used for non-user-facing operations such as summarization or intent detection. | +Model breakdowns can include models that developers didn't select directly. For example, {% data variables.product.prodname_copilot_short %} can use other models for Auto model selection or for background tasks. + `Unknown` values are excluded from dashboard visualizations but appear in API and NDJSON data for completeness. The amount of `Unknown` data decreases as users upgrade to newer IDE and extension versions that send richer telemetry. ## Users surfaced by server-side telemetry @@ -88,3 +111,17 @@ The value `Unknown` appears in some API or export breakdowns when telemetry from {% data variables.product.prodname_copilot_short %} usage metrics combine client-side and server-side telemetry to identify active users. Users confirmed as active through server-side telemetry, but for whom no client telemetry was received, are included in your active user totals (such as `daily_active_users`). When available, these users may also appear in `totals_by_ide` (and in per-user reports this includes the most recently detected IDE and {% data variables.product.prodname_copilot_short %} extension versions). However, other dimensional breakdowns (`totals_by_feature`, `totals_by_language_feature`, `totals_by_language_model`, `totals_by_model_feature`) and lines-of-code metrics will still be empty. This means your top-level active user counts may be higher than the sum of users reflected in the breakdown arrays. This is expected behavior and does not indicate a data error. + +## Troubleshooting missing usage data + +Detailed breakdowns depend on client-side telemetry from the IDE or {% data variables.copilot.copilot_cli_short %}. This telemetry provides data about features, languages, models, accepted suggestions, and lines of code. Server-side telemetry can show that a user was active, but it can't observe what happens in the editor. + +Before investigating a gap, allow two full UTC days after the activity day closes for processing. If client-side telemetry is still missing, reports may contain lower numbers or empty breakdowns even when server-side data shows activity. Common causes include: + +| Cause | Effect on your reports | What you can check | +|:--|:--|:--| +| Telemetry is turned off in the IDE, for example with the `telemetry.telemetryLevel` setting in {% data variables.product.prodname_vscode_shortname %}. | The IDE sends no detailed activity. The user may still be counted as active through server-side telemetry, but feature, language, and lines of code breakdowns are empty. | Confirm that IDE telemetry is enabled for your developers. | +| A network proxy, firewall, or VPN blocks the {% data variables.product.prodname_copilot_short %} telemetry endpoint. | Same as when telemetry is turned off. | Allow the {% data variables.product.prodname_copilot_short %} client telemetry endpoint. See [AUTOTITLE](/copilot/reference/copilot-allowlist-reference). | +| The client isn't a supported IDE and doesn't send {% data variables.product.prodname_copilot_short %} telemetry. | The user may be counted as active through server-side telemetry, but the client doesn't appear in `totals_by_ide` or detailed breakdowns. | Use a supported IDE for complete metrics. | + +If a gap persists after you check the causes above, contact {% data variables.contact.contact_support %} and include the affected users, IDEs, versions, and dates. diff --git a/content/copilot/reference/copilot-usage-metrics/usage-metrics-coverage.md b/content/copilot/reference/copilot-usage-metrics/usage-metrics-coverage.md new file mode 100644 index 000000000000..d085d3083426 --- /dev/null +++ b/content/copilot/reference/copilot-usage-metrics/usage-metrics-coverage.md @@ -0,0 +1,72 @@ +--- +title: Coverage and requirements for Copilot usage metrics +shortTitle: Coverage and requirements +intro: 'Check which activity {% data variables.product.prodname_copilot_short %} usage metrics include and which IDE versions are required for detailed reporting.' +permissions: '{% data reusables.copilot.usage-metrics-permissions %}' +versions: + feature: copilot +contentType: reference +allowTitleToDifferFromFilename: true +category: + - Copilot usage metrics + - Reconcile and validate metrics + - Track Copilot usage +--- + +{% data variables.product.prodname_copilot_short %} usage metrics combine client-side and server-side telemetry. Coverage varies by surface and report. + +## Included activity + +Usage metrics include IDE, {% data variables.copilot.copilot_cli_short %}, and {% data variables.copilot.agent_apps %} activity. + +Metrics broken down by {% data variables.copilot.agent_app %} are available in the usage metrics APIs and NDJSON exports, but not in the usage metrics dashboards. Activity from {% data variables.copilot.agent_apps %} is already included in daily, weekly, and monthly active-user totals through server-side telemetry. These breakdowns do not change the active-user totals. + +Detailed IDE breakdowns depend on client-side telemetry. Server-side telemetry can identify active users that client-side telemetry misses, but can't provide all the same breakdowns. For missing-data troubleshooting and an explanation of how these sources affect totals, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics). + +## IDE and client coverage + +IDE-based metrics describe activity in supported editors, not {% data variables.copilot.copilot_chat_short %} on {% data variables.product.prodname_dotcom_the_website %} or {% data variables.product.prodname_mobile %} activity. + +However, the usage metrics APIs and exports also provide server-side client metrics in `totals_by_client`. These metrics count successful model requests through the {% data variables.product.prodname_copilot_short %} API. Known client values include `github_web` and `github_mobile`, so these surfaces aren't excluded from all usage metrics reports. Client request counts aren't equivalent to IDE activity or prompt counts. See [AUTOTITLE](/copilot/reference/copilot-usage-metrics/copilot-usage-metrics#client-metrics-fields). + +## License and seat data + +License and seat management data aren't included in usage metrics reports. To view or manage license assignments, use the {% data variables.product.prodname_copilot_short %} user management API, which is the source of truth for license and seat information. See [AUTOTITLE](/rest/copilot/copilot-user-management). + +## Supported IDEs + +For detailed IDE-based usage metrics, end users must enable IDE telemetry and use the following minimum IDE and {% data variables.copilot.copilot_chat_short %} extension versions. + +Older versions may not send all the events that usage metrics rely on, or may attribute activity to the wrong IDE. Keep IDEs and {% data variables.product.prodname_copilot_short %} extensions current, and use device management tooling to enforce these minimum versions where possible. + +| IDE | Minimum IDE version | Minimum {% data variables.copilot.copilot_chat_short %} extension version | +|:--|:--|:--| +| Eclipse | 4.31 | 0.9.3.202507240902 | +| JetBrains / IntelliJ | 2024.2.6 | 1.5.52-241 | +| {% data variables.product.prodname_vs %} | 17.14.13 | 18.0.471.29466 | +| {% data variables.product.prodname_vscode_shortname %} | 1.107.1 | 0.35.3 | +| Xcode | 14.3.1 | 0.40.0 | + +In per-user reports, each `totals_by_ide` entry includes `last_known_ide_version` and `last_known_plugin_version`. Use these fields to identify developers who need to update. + +### Version requirements for SDK-based agent activity + +Some IDEs run {% data variables.product.prodname_copilot_short %} agent sessions through the {% data variables.product.prodname_copilot_short %} SDK. Some versions of these IDEs don't identify themselves when they send agent activity, so that activity is left out of usage metrics. This causes agent interactions and agent lines of code to be undercounted. To include this activity, end users must use one of the following versions or later: + +| IDE | Minimum version for SDK-based agent activity | Affected versions | +|:--|:--|:--| +| {% data variables.product.prodname_vscode_shortname %} | 1.139.0 | 1.134 through 1.138, when using the agent window | +| {% data variables.product.prodname_copilot_short %} plugin for JetBrains IDEs | 1.20.0 | 1.15.0 through 1.19.x | +| {% data variables.product.prodname_vs %} | 18.12 | Insiders (preview) builds before 18.12 | + +If you're planning IDE updates, move developers directly to these versions or later. Generally available versions of {% data variables.product.prodname_vs %} aren't affected. + +For JetBrains IDEs, avoid {% data variables.product.prodname_copilot_short %} plugin versions 1.15.0 through 1.19.x. + +Eclipse and Xcode don't run agent sessions through the {% data variables.product.prodname_copilot_short %} SDK, so they aren't affected. + +Missing data can't be backfilled, because activity from affected versions doesn't identify which IDE it came from. + +Some of this activity was counted as {% data variables.copilot.copilot_cli_short %} activity instead, which can inflate {% data variables.copilot.copilot_cli_short %} metrics. This clears up as developers update the affected IDEs, but earlier {% data variables.copilot.copilot_cli_short %} metrics can't be corrected. {% data variables.copilot.copilot_cli_short %} users don't need to update. + +This issue affects only how activity is attributed in usage metrics. Billing is not affected. diff --git a/content/copilot/reference/metrics-data.md b/content/copilot/reference/metrics-data.md index 8754daf19234..ca37967d2aa3 100644 --- a/content/copilot/reference/metrics-data.md +++ b/content/copilot/reference/metrics-data.md @@ -87,7 +87,7 @@ The activity report provides visibility into usage of all generally available (G ### Limitations -Telemetry from some third-party IDEs may be incomplete, particularly when users run older versions. For version requirements and troubleshooting guidance, see [AUTOTITLE](/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics). +Telemetry from some third-party IDEs may be incomplete, particularly when users run older versions. For IDE requirements for usage metrics, see [AUTOTITLE](/copilot/reference/copilot-usage-metrics/usage-metrics-coverage). The activity report may exclude usage of {% data variables.product.prodname_copilot %} features that are not yet generally available (GA). Currently, the following feature is not fully recorded: diff --git a/content/copilot/tutorials/roll-out-at-scale/enable-developers/drive-team-agentic-adoption.md b/content/copilot/tutorials/roll-out-at-scale/enable-developers/drive-team-agentic-adoption.md index 5dae739f3dfc..06f4d4d6b7d1 100644 --- a/content/copilot/tutorials/roll-out-at-scale/enable-developers/drive-team-agentic-adoption.md +++ b/content/copilot/tutorials/roll-out-at-scale/enable-developers/drive-team-agentic-adoption.md @@ -41,7 +41,7 @@ Select a real project with enough suitable work for participants to use agentic 1. Confirm the scope before enabling a policy. Organization policies apply to everyone who receives their license through that organization, not only the selected team. Enterprise policies can also restrict which settings organization owners can change. For more information, see [AUTOTITLE](/copilot/concepts/enterprise/policies). 1. Ask participants to install and sign in to both tools before the kickoff. See [AUTOTITLE](/copilot/get-started/quickstart-copilot-app) and [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli). 1. Confirm that each participant can access the project and use the tools under the intended policies and managed settings. -1. Give the person measuring the sprint access to {% data variables.product.prodname_copilot_short %} usage metrics. For the required role, see [AUTOTITLE](/copilot/concepts/copilot-usage-metrics/copilot-metrics). +1. Give the person measuring the sprint access to {% data variables.product.prodname_copilot_short %} usage metrics. For the required role, see [AUTOTITLE](/copilot/how-tos/administer-copilot/view-usage-and-adoption). If you are enabling these tools for the first time, treat the sprint as part of a broader feature pilot. Before kickoff, estimate usage-based costs, set an appropriate budget with the intended stop behavior, and plan to monitor spending during the sprint. For a complete process, see [AUTOTITLE](/copilot/tutorials/roll-out-at-scale/govern-at-scale/pilot-a-feature-or-model). From 43bdc1217bf10dccecba671d481c2d2c4081703c Mon Sep 17 00:00:00 2001 From: hubwriter Date: Mon, 9 Nov 2026 14:45:29 +0000 Subject: [PATCH 2/4] Copilot CLI: Remove mention of llama.cpp from CLI article (#64575) --- .../copilot-cli/customize-copilot/add-llm-models.md | 4 ---- .../copilot/how-tos/github-copilot-app/add-llm-models.md | 7 +++++++ data/reusables/copilot/local-model-prereqs.md | 7 ------- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/content/copilot/how-tos/copilot-cli/customize-copilot/add-llm-models.md b/content/copilot/how-tos/copilot-cli/customize-copilot/add-llm-models.md index c7fb90ed6bbc..1d888129569c 100644 --- a/content/copilot/how-tos/copilot-cli/customize-copilot/add-llm-models.md +++ b/content/copilot/how-tos/copilot-cli/customize-copilot/add-llm-models.md @@ -151,10 +151,6 @@ If you are using Windows and your computer meets the following prerequisites, yo {% data reusables.copilot.mai-local-benefits %} -### Installing llama.cpp for Windows - -{% data reusables.copilot.llama-cpp-windows-install %} - ### Using the model picker to install a local model 1. In a local interactive session, enter `/model`. diff --git a/content/copilot/how-tos/github-copilot-app/add-llm-models.md b/content/copilot/how-tos/github-copilot-app/add-llm-models.md index 9f6f26c20772..353acb47cac9 100644 --- a/content/copilot/how-tos/github-copilot-app/add-llm-models.md +++ b/content/copilot/how-tos/github-copilot-app/add-llm-models.md @@ -78,6 +78,13 @@ If you are using Windows and your computer meets the following prerequisites, yo {% data reusables.copilot.local-model-prereqs %} +* llama.cpp v0.7.0 or later installed and `LLAMACPP_SERVER_PATH` set to its path. Required build version: + + * **{% data variables.copilot.mai_code_1_1_flash %}:**  [b11669](https://github.com/ggml-org/llama.cpp/releases/tag/b11669?utm_source=local-model-prereq-mai-code&utm_medium=docs&utm_campaign=universe-2026) or later + * **{% data variables.copilot.flint_nvfp4_gguf %}:**  [b11803](https://github.com/ggml-org/llama.cpp/releases?q=flint&expanded=true&utm_source=local-model-prerequisite-flint&utm_medium=docs&utm_campaign=universe-2026#release-b11803) or later + + See [Installing llama.cpp for Windows](#installing-llamacpp-for-windows). + ### Benefits of using {% data variables.copilot.mai_code_1_1_flash %} locally {% data reusables.copilot.mai-local-benefits %} diff --git a/data/reusables/copilot/local-model-prereqs.md b/data/reusables/copilot/local-model-prereqs.md index d2289260e703..de77c0cdd104 100644 --- a/data/reusables/copilot/local-model-prereqs.md +++ b/data/reusables/copilot/local-model-prereqs.md @@ -12,10 +12,3 @@ You must have: * **{% data variables.copilot.mai_code_1_1_flash %}:**  60 GB * **{% data variables.copilot.flint_nvfp4_gguf %}:**  23 GB - -* llama.cpp v0.7.0 or later installed and `LLAMACPP_SERVER_PATH` set to its path. Required build version: - - * **{% data variables.copilot.mai_code_1_1_flash %}:**  [b11669](https://github.com/ggml-org/llama.cpp/releases/tag/b11669?utm_source=local-model-prereq-mai-code&utm_medium=docs&utm_campaign=universe-2026) or later - * **{% data variables.copilot.flint_nvfp4_gguf %}:**  [b11803](https://github.com/ggml-org/llama.cpp/releases?q=flint&expanded=true&utm_source=local-model-prerequisite-flint&utm_medium=docs&utm_campaign=universe-2026#release-b11803) or later - - See [Installing llama.cpp for Windows](#installing-llamacpp-for-windows). From dfa4baa7d8ec611215fb197fc0a623b1f5f368d5 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:31:52 +0000 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=A4=96=20src/ghes-releases/lib/enterp?= =?UTF-8?q?rise-dates.json=20update=20(#64620)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> --- src/ghes-releases/lib/enterprise-dates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ghes-releases/lib/enterprise-dates.json b/src/ghes-releases/lib/enterprise-dates.json index ab9332c61a2d..9e4243042a97 100644 --- a/src/ghes-releases/lib/enterprise-dates.json +++ b/src/ghes-releases/lib/enterprise-dates.json @@ -282,9 +282,9 @@ "generalAvailabilityDate": "2026-09-08" }, "3.23": { - "releaseDate": "2026-11-10", + "releaseDate": "2026-11-17", "deprecationDate": "2027-12-08", - "releaseCandidateDate": "2026-11-10", + "releaseCandidateDate": "2026-11-17", "generalAvailabilityDate": "2026-12-08" }, "3.24": { From a98b5177ad722a2363ead3c922ca3a76e3a59b78 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:34:24 +0000 Subject: [PATCH 4/4] Sync secret scanning data (#64621) Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> --- .../data/pattern-docs/fpt/public-docs.yml | 10 ++++++++++ .../data/pattern-docs/ghec/public-docs.yml | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/secret-scanning/data/pattern-docs/fpt/public-docs.yml b/src/secret-scanning/data/pattern-docs/fpt/public-docs.yml index 8ffb672a3285..5c3ff709910c 100644 --- a/src/secret-scanning/data/pattern-docs/fpt/public-docs.yml +++ b/src/secret-scanning/data/pattern-docs/fpt/public-docs.yml @@ -1440,6 +1440,16 @@ hasExtendedMetadata: false base64Supported: false isduplicate: false +- provider: Cloudflare + supportedSecret: Cloudflare Access Service Token + secretType: cloudflare_access_service_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + hasExtendedMetadata: false + base64Supported: false + isduplicate: false - provider: Cloudflare supportedSecret: Cloudflare Account API Token secretType: cloudflare_account_api_token diff --git a/src/secret-scanning/data/pattern-docs/ghec/public-docs.yml b/src/secret-scanning/data/pattern-docs/ghec/public-docs.yml index 8ffb672a3285..5c3ff709910c 100644 --- a/src/secret-scanning/data/pattern-docs/ghec/public-docs.yml +++ b/src/secret-scanning/data/pattern-docs/ghec/public-docs.yml @@ -1440,6 +1440,16 @@ hasExtendedMetadata: false base64Supported: false isduplicate: false +- provider: Cloudflare + supportedSecret: Cloudflare Access Service Token + secretType: cloudflare_access_service_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + hasExtendedMetadata: false + base64Supported: false + isduplicate: false - provider: Cloudflare supportedSecret: Cloudflare Account API Token secretType: cloudflare_account_api_token