Microsoft 365 license optimization
Optimizing Microsoft 365 licenses means finding the ones you pay for that do no work, then removing them at a moment the bill can actually go down. The evidence is already in the admin center: the Active users report shows, per user, the last date they used Exchange, OneDrive, SharePoint and Teams, and Billing shows how many licenses you bought and how many are assigned. The catch is timing: on a subscription bought directly from Microsoft under a Microsoft Customer Agreement, you can only reduce the license count within seven days of buying or renewing.
WorkspaceRadar scans Google Workspace, not Microsoft 365. This guide is here because some organisations run both, and the method is the same.
Why last sign-in isn't enough
Microsoft Entra ID records each user's last sign-in, and Microsoft's own guidance suggests 90 to 180 days without one as a reasonable line for an inactive account. It is a security signal first, and as a license signal it has the same weakness as anywhere else:
- A sign-in isn't use. Outlook on a phone, or a background token refresh, keeps an account looking alive while nobody reads or writes anything. Entra records interactive and non-interactive sign-ins separately, and only the interactive one involves a person.
- It says nothing about which service is used. Someone who only reads email on a license that includes the desktop apps, Teams and SharePoint may be on the wrong plan rather than inactive.
- Blocked users still hold a license. Blocking sign-in for a leaver stops access. It doesn't unassign the license, so it keeps counting against the subscription.
What tells you whether a license is used is activity per service, and Microsoft 365 records it.
Check activity in the Microsoft 365 admin center
- Show real names in reports. By default, usage reports hide usernames. A Global Administrator can change this under Settings > Org settings > Services > Reports, by clearing Conceal user, group, and site names in all reports, if your organisation's privacy practices allow it. The change is logged.
- Open the Active users report. Go to Reports > Usage, select Microsoft 365 apps, then the Active users tab. Choose the 90 or 180 day period and Export the table. It has a Last active date for Exchange, OneDrive, SharePoint, Viva Engage and Teams, which licenses each user holds, and when each was assigned.
- Add last sign-in. In the Microsoft Entra admin center, go to Entra ID > Users, then Manage view > Edit columns, and add Last interactive sign-in time. Filter it to before your cut-off date. It helps with accounts that sign in but do nothing, and with the ones that never signed in.
- Compare bought with assigned. Billing > Licenses shows how many licenses each subscription has and how many are assigned. The difference is licenses you pay for with nobody on them.
- Mark the candidates. A license is a candidate when none of its services has been used in the period you chose, and the account is older than that period. Check doubtful cases with the person's manager before acting.
Usage reports usually lag by one to three days. Microsoft defines the last activity date as the most recent day a user performed an intentional activity in the app, which is closer to real use than a sign-in.
Four kinds of unused license
- Inactive users. No activity in any service for months: leavers never offboarded, test accounts, "just in case" accounts.
- Blocked users who keep their license. Common after an offboarding that stopped at step one.
- Shared addresses on a paid license. info@ or support@ set up as a normal user. A shared mailbox stores up to 50 GB without a license; it needs one only for more storage, an archive or a litigation hold.
- Licenses on no one. Bought, never assigned, or freed and never removed from the subscription.
What to do with each one
- Convert to a shared mailbox when a leaver's email has to stay reachable: in Users > Active users, the user's Mail tab, Convert to shared mailbox. Under 50 GB, the license can then come off. Don't delete the account afterwards, because the shared mailbox needs it, and remove any hold before removing a license.
- Unassign the license in Users > Active users, on the user's Licenses and apps tab. The user's data is kept for 30 days, then deleted, except documents stored in SharePoint. Back up or hand over what you need first.
- Reassign the freed license to a new hire instead of buying another.
- Reduce the subscription in Billing > Your products: select the subscription, then Remove licenses, and enter the new total.
The last step is the one that saves money. Unassigning a license frees it; only reducing the subscription's quantity takes it off the bill.
When the saving reaches your bill
This depends on how you bought the subscription:
- Directly from Microsoft, on a Microsoft Customer Agreement (MCA): you can add licenses at any time, but remove them only within seven days of buying or renewing, or of buying extra licenses. After that, a reduction takes effect on the first invoice after renewal. You can schedule it ahead of time, but only while recurring billing is on.
- Directly from Microsoft, on a Microsoft Online Subscription Agreement (MOSA): you can remove licenses, and the next invoice is prorated to the new count.
- Through a reseller (CSP partner): the partner changes the count, on their terms.
- Prepaid with a product key: you reduce at renewal, with a key for fewer licenses.
So under a Microsoft Customer Agreement the useful moment is just before renewal: settle the list, schedule the lower count, and let it take effect on the renewal date.
A routine that keeps it lean
- Monthly: compare bought with assigned in Billing, and check the newest accounts.
- Every offboarding: block sign-in, keep or hand over the data, then remove the license. Don't stop at blocking.
- Quarterly: export the Active users report and review users with no activity in 90 days.
- Before each renewal: decide the number you need and schedule the reduction in time.
Questions
How long should a user be inactive before their license counts as unused? Microsoft suggests 90 to 180 days for inactive accounts. 90 days catches a leaver within a quarter; check people on leave or using a service only occasionally before you remove anything.
Does blocking sign-in stop the charge? No. Blocking stops access, but the license stays assigned and on the subscription. Remove the license, then reduce the subscription.
Does removing a license lower my bill straight away? Not by itself. It frees the license; the bill only drops when you reduce the subscription's quantity, which under a Microsoft Customer Agreement is possible within seven days of a purchase or renewal, and otherwise takes effect at renewal.
Do shared mailboxes need a license? Not up to 50 GB. A license is needed for a larger mailbox, an archive or a litigation hold.
Is there a tool that does this for Google Workspace? Yes: WorkspaceRadar does it for Google Workspace, using activity in Gmail, Drive and Chat rather than last sign-in, and prices each idle seat. The manual method for Google Workspace is in How to find unused Google Workspace licenses.
Sources: Microsoft Learn, Microsoft 365 apps Active users report, Usage reports overview, How to manage inactive user accounts, About shared mailboxes, Remove a license from a former employee Convert a user mailbox to a shared mailbox and Buy or remove licenses.