Microsoft 365 license inventory, utilization analysis, and compliance audit across all managed tenants.
Microsoft 365 license inventory, utilization analysis, and compliance audit across all managed tenants.
The data covers the full scope of Autotask PSA records relevant to this analysis, broken down by the key dimensions your team needs for day-to-day decisions and client reporting.
Who should use this: Microsoft 365 administrators, security teams, and account managers
How often: Weekly for license management, monthly for adoption reviews, quarterly for optimization
Microsoft 365 license inventory, utilization analysis, and compliance audit across all managed tenants.
High-level license counts, utilization rate, and compliance score.
EVALUATE
ROW(
"TotalLicenses", [Total Licenses],
"ActiveLicenses", [Active Licenses],
"ConsumedLicenses", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[consumed_units]),
"AvailableLicenses", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[available_units]),
"WarningLicenses", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[warning_units]),
"SuspendedLicenses", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[suspended_units]),
"UniqueSKUs", DISTINCTCOUNT(BI_MicrosoftPartnerCenter_Subscribed_Skus[sku_part_number]),
"TotalTenants", [Total Tenants]
)
Visual breakdown of all licenses by their current state.
The vast majority of licenses (99.9%) sit in "available" state, meaning they have been purchased or provisioned but never assigned. Many of these are free-tier or trial SKUs with high default seat counts (1,000,000 for Fabric Free, Power Automate Free, Teams Exploratory). Only 4,217 licenses are actually assigned to users.
EVALUATE
ROW(
"UtilizationPct",
DIVIDE(
SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[consumed_units]),
SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[active_units]),
0
) * 100
)
Top license SKUs ranked by total volume. Shows active, consumed, and available counts per SKU.
| Metric | Value |
|---|---|
| Products | 137 |
| Consumed | 4,217 |
| Active | 3,255,762 |
| Customers | 38 |
EVALUATE ROW("UniqueProducts", DISTINCTCOUNT('BI_MicrosoftPartnerCenter_Subscribed_Skus'[sku_part_number]), "TotalConsumed", SUM('BI_MicrosoftPartnerCenter_Subscribed_Skus'[consumed_units]), "TotalActive", SUM('BI_MicrosoftPartnerCenter_Subscribed_Skus'[active_units]), "Customers", DISTINCTCOUNT('BI_MicrosoftPartnerCenter_Subscribed_Skus'[customer_id]))
SKUs that have licenses in a warning or suspended state. These need immediate review.
| License (SKU) | Warning | Suspended | Total | Risk % |
|---|---|---|---|---|
| 398 | 0 | 398 | 100.0% | |
| 0 | 30 | 0 | 100.0% | |
| 0 | 25 | 0 | 100.0% | |
| 0 | 25 | 0 | 100.0% | |
| 25 | 0 | 25 | 100.0% | |
| 0 | 6 | 0 | 100.0% | |
| 0 | 3 | 0 | 100.0% | |
| 0 | 3 | 3 | 100.0% | |
| 0 | 1 | 11 | 9.1% | |
| 0 | 1 | 0 | 100.0% | |
| 0 | 1 | 1,176 | 0.1% | |
| 0 | 1 | 0 | 100.0% | |
| 0 | 1 | 0 | 100.0% | |
| 0 | 1 | 0 | 100.0% | |
| 0 | 1 | 0 | 100.0% | |
| 1 | 0 | 1 | 100.0% |
Office 365 E1 carries the largest warning count at 398 seats. Several SKUs show suspended licenses with zero total units, which typically means the subscription was cancelled but the record persists. These should be cleaned up in Partner Center.
SKUs where active licenses exceed consumed licenses. These represent unused capacity.
| License (SKU) | Active | Consumed | Unused | Utilization |
|---|---|---|---|---|
| 1,000,000 | 0 | 1,000,000 | 0.0% | |
| 1,000,000 | 0 | 1,000,000 | 0.0% | |
| 1,000,000 | 99 | 999,901 | 0.0% | |
| 50,000 | 0 | 50,000 | 0.0% | |
| 10,000 | 0 | 10,000 | 0.0% | |
| 10,000 | 0 | 10,000 | 0.0% | |
| 10,000 | 0 | 10,000 | 0.0% | |
| 10,000 | 0 | 10,000 | 0.0% | |
| 10,000 | 0 | 10,000 | 0.0% | |
| 10,000 | 0 | 10,000 | 0.0% |
Most of the "waste" here comes from free-tier and trial SKUs that Microsoft provisions with very high default seat counts. The real concern is paid SKUs where active seats exceed consumed seats. Filter out free plans to get a clearer picture of actual spend waste.
Per-tenant breakdown showing license counts, utilization, and compliance status.
| Client | Licenses | SKUs | Utilization | At Risk | Status |
|---|---|---|---|---|---|
| Anderson & Associates | 3,032,448 | 18 | 0.1% | 405 | Issues |
| Baker Industries | 50,000 | 1 | 0.0% | 0 | Review |
| Carter Legal Group | 30,564 | 12 | 1.3% | 26 | Issues |
| Davis Financial Services | 20,403 | 14 | 1.7% | 4 | Issues |
| Edwards Healthcare | 20,121 | 5 | 0.0% | 0 | Review |
| Franklin Manufacturing | 20,115 | 12 | 0.4% | 25 | Issues |
| Garcia Construction | 10,132 | 9 | 0.8% | 0 | Review |
| Henderson Consulting | 10,103 | 11 | 1.5% | 0 | OK |
| Irving Technology | 10,013 | 3 | 0.1% | 0 | Review |
| Jackson & Partners | 10,011 | 2 | 0.1% | 0 | Review |
Across 10 managed clients, the portfolio holds 3,256,186 total licenses spread across 137 unique SKUs. Of those, 3,255,762 are in an active state and 4,217 are assigned to users, resulting in a 0.1% utilization rate.
That utilization number looks alarming at first glance, but context matters. A large portion of the inventory consists of free-tier and trial SKUs that Microsoft provisions with 1,000,000 or 10,000 default seats (Fabric Free, Power Automate Free, Teams Exploratory, various Dynamics 365 trials). These inflate the denominator without representing real spend. If you filter those out, the utilization on paid SKUs tells a different story.
424 licenses sit in a warning state and 99 are suspended. The largest warning block is Office 365 E1 with 398 seats. Warning typically means a subscription is past its billing date or a trial is approaching expiration. Suspended licenses have already lost functionality. Both categories need review before they escalate into client-facing outages.
The compliance score of 100.0% looks healthy on the surface because the numerator (clean licenses) is dominated by those massive free-tier allocations. A more meaningful compliance metric would focus on paid SKUs only. That said, the 16 SKUs with compliance flags in section 4.0 are worth reviewing individually.
Based on the data above, here are the steps that will have the most impact on license compliance.
This is the single largest compliance flag. Check whether the subscription billing is current. If this is a legacy SKU that should have been migrated to Microsoft 365 E3 or E5, start the migration and decommission the old plan.
Several SKUs (Defender for Office 365, Clipchamp Premium, Power BI Pro for Departments) show suspended licenses against a total of zero. These are orphaned subscription records. Remove them from Partner Center to keep the inventory clean.
This client holds 93% of the total portfolio and has both warning and suspended licenses. Schedule a dedicated license review meeting to address outstanding billing issues and right-size unused SKUs.
The current 0.1% utilization rate is misleading because free SKUs dominate the count. Create a filtered view that shows paid-only utilization. That number is what matters for cost control.
Run this query on a monthly cadence. Add a filter to exclude SKUs where the name contains "Free", "Trial", or "Adhoc" to focus on the licenses that carry real cost. Track the trend over time.
A warning state means the license subscription has a billing issue or is about to expire. The license still works, but if the issue is not resolved during the grace period (typically 30 days), it moves to suspended.
Active licenses are seats you have purchased and enabled. Consumed licenses are seats that have actually been assigned to a user. The gap between the two is your unused inventory.
Compliance score = (Total Licenses - Warning Licenses - Suspended Licenses) / Total Licenses. A score of 100% means no licenses are in a warning or suspended state.
Most of the "active" license count comes from free-tier and trial SKUs that Microsoft provisions with 1,000,000 or 10,000 default seats. These inflate the active count but do not represent real spend. Filter to paid SKUs for a meaningful utilization figure.
Yes. Add a filter on customer_id in the DAX queries to scope the report to one tenant. Proxuma Power BI also supports per-client filtering in the dashboard.
Monthly at minimum. If you manage more than 20 tenants, consider running it weekly so warning licenses are caught before they become suspended.
Connect Proxuma Power BI to your PSA, RMM, and M365 environment, use an MCP-compatible AI to ask questions, and generate custom reports - in minutes, not days.
See more reports Get started