Savings · · By Radosław Korbecki

Unused AI licences: how to find paid seats nobody uses

Compare seats paid for, seats assigned and seats in use for each AI product, then check when the contract lets you reduce them.

Primary sources reviewed 26 October 2026. Documentation review; no customer-account testing.

Compare three numbers for every product

Seat-based AI products are bought in one place, assigned in another and used in a third. Finance sees the quantity on the invoice, IT sees assignments in the admin console and usage reports show who actually used the product. An unused seat is the gap between these numbers, and each number has its own source.

The three seat counts and where they come from
NumberWhere it comes fromCommon trap
Seats paid forInvoice, order form or licensing partner statementAn annual commitment billed monthly still counts the full quantity
Seats assignedThe product’s admin console or licence reportSeats held for joiners or a planned rollout look unassigned
Seats in useThe product’s usage or activity reportEach product defines activity differently and reports with a delay

Start with unassigned seats

Seats that are paid for but assigned to nobody are the simplest saving: no one is affected when they go. Ask whether they are held for a reason, such as new joiners or a rollout that has not started, and record that reason if they stay.

Assigned but inactive seats need a conversation with the team that holds them. Some people use a tool rarely but at important moments; others never started. The activity report shows the pattern, not the reason.

Where each product reports seat activity

Each vendor reports activity in its own place, with its own definition and delay. This summary reflects the vendors’ documentation on 26 October 2026. These reports change often, so check the linked page before relying on a detail.

Microsoft 365 Copilot. The Copilot usage report in the Microsoft 365 admin center covers 7, 28, 90 or 180 days. It lists everyone licensed in the past 180 days, including people who never used Copilot, with their last activity date. Opening the Copilot pane does not count as activity; submitting a prompt does. Data for a day is typically available within 48 hours, user names are hidden by default and the same per-user data is available through Microsoft Graph. Microsoft lists cases where the dates can be blank, such as use within 24 hours of the licence being assigned. Source: Microsoft Copilot usage report.

GitHub Copilot. Organisation owners can sort members by their last Copilot activity in the organisation’s Copilot settings, download the activity report as CSV, or read last_activity_at through the seat API, which GitHub marks as public preview. Receiving a code suggestion, using Copilot Chat and generating a pull request summary all count. Activity in the IDE is recorded only when the user has telemetry enabled, so a developer can look inactive while using Copilot. Updates can take up to 24 hours, and after 90 days without activity the value is cleared. Source: GitHub Copilot activity data.

ChatGPT Enterprise. Administrators have workspace analytics, and OpenAI’s Analytics API provides aggregated usage and activity metrics for a workspace through a workspace-scoped admin key. OpenAI says availability, roles, freshness and export formats can change, so confirm how the current reports define an active member before comparing ChatGPT with other products. Source: ChatGPT workspace analytics and Analytics API.

Claude Enterprise and Team. Owners have a usage analytics dashboard; on Enterprise, Admins see everything except spend. Enterprise organisations can also use the Analytics API, enabled by the Primary Owner. It counts a user as active on a day when they sent at least one chat message or had a Claude Code or Cowork session with activity, and it returns each user’s last activity date once last-activity reporting is enabled. Activity data for a day is typically available around 13:00 UTC the next day. Source: Claude usage analytics and Claude Enterprise Analytics API.

Cursor. Team and Enterprise customers have usage analytics in the Cursor dashboard. A user is active in a period if they used at least one AI feature (Tab, Agent, Background Agent or CLI). Data is collected only from client version 1.5 or later, so people on older versions can look inactive. Enterprise customers can also read daily usage per user through the Admin API, up to 30 days per request. The analytics documentation does not state a data delay. Source: Cursor team analytics.

What counts as active, and how late the data is, as documented on 26 October 2026
ProductCounts as activeTypical delay
Microsoft 365 CopilotAn intentional action with an AI feature, such as submitting a promptWithin 48 hours
GitHub CopilotAny Copilot interaction; IDE use is recorded only with telemetry enabledUp to 24 hours
ChatGPT EnterpriseConfirm in OpenAI’s current analytics documentationConfirm in OpenAI’s documentation
Claude Enterprise (Analytics API)A chat message, or a Claude Code or Cowork session with activity, that dayNext day, around 13:00 UTC
Cursor Teams and EnterpriseAt least one AI feature used: Tab, Agent, Background Agent or CLINot stated

Decide what counts as active

One prompt in the window is enough to count a seat as active in most of these reports, but one prompt may not justify its price. Pick one window, for example 28 or 30 days, apply it to every product and say which one you used. Look at a longer window before removing seats: holidays, project cycles and month-end work all distort a short one.

Activity is not value. A report can show that a seat was used; it cannot show whether the work justified the cost. Treat low activity as a question for the team, not as a verdict.

Activity per person is personal data under the GDPR. Agree with your data protection officer how it is used. Counts by team are often enough to decide, and reports should avoid singling out people in very small groups.

Check when you can reduce seats

Finding an unused seat and being able to stop paying for it are different questions. Many AI subscriptions are annual, and several vendors allow reductions only at renewal. These are the vendors’ published standard terms on 26 October 2026. A negotiated agreement can differ, so check your own.

Microsoft 365 Copilot. Under new commerce through a Cloud Solution Provider, the licence count can be reduced only within seven days of the licences being added, whether at purchase, at renewal or mid-term. After that it cannot go down until the next renewal. Bought directly under a Microsoft Customer Agreement, a reduction made after the first seven days takes effect on the first invoice after the renewal date. A direct subscription can be cancelled for a prorated refund only within seven days of its start or renewal, and Microsoft says subscriptions bought through a proposal from a Microsoft seller are not eligible. Enterprise Agreements have their own terms, not covered here. Source: Microsoft Partner Center, buying licences and cancelling a subscription.

GitHub Copilot. A removed seat is billed until the end of the current billing cycle. GitHub states that revoking a seat does not result in a prorated refund and that the removal shows in the next monthly billing cycle. Source: GitHub changelog, 28 August 2026.

ChatGPT Enterprise. OpenAI’s Services Agreement requires notice of non-renewal or a scope reduction at least thirty days before the next renewal term starts. If you reduce the licence count, quantity or minimum commitment, OpenAI may adjust or remove discounts based on your previous purchase. Source: OpenAI Services Agreement, section 1.2.

Claude Enterprise. On self-serve plans, seats can be added at any time, but reductions to the seat count take effect only at renewal. Removing a member frees the seat for someone else; the seat allocation and the bill do not change. On plans bought through Anthropic’s sales team, seat changes go through the account manager. Source: managing Claude Enterprise seats.

Value each finding from the date the reduction can take effect. A seat that can only be removed at an anniversary ten months away is still worth recording, but it saves nothing until then.

Turn the list into a decision

Write each candidate saving as a finding: what was observed and over which window; what it is worth and on what assumption, such as removal at the anniversary at the invoiced price; the evidence and its limits; who decides and by when; and how the result will be checked.

Confirm the saving on the first invoice after the change takes effect. Until then it is a potential saving. Reporting potential and verified savings separately keeps the figure credible with finance.

SpendAssure records these findings with their evidence and checks the outcome on later invoices. See how findings work in the product.

A checklist for your next licence review

  • Do you have seats paid for, assigned and active for every seat-based AI product?
  • Is the activity window stated, and is it the same across products?
  • Have unassigned seats been removed, or their reason recorded?
  • Has each team holding inactive seats confirmed whether it still needs them?
  • Do you know the date from which each contract allows a reduction?
  • Will the saving be checked on the next invoice?