Every Microsoft 365 estate above 3,000 seats carries seven to fourteen percent inactive entitlement at any given moment. The telemetry to prove it sits inside the tenant the buyer already owns. The reason it stays paid for is that the next true up, the next renewal, and the next add on attach all priced from the inflated number. Shelfware identification is the optimization play that sits in front of every other Microsoft 365 negotiation. It is also the one that returns dollars fastest.
The shelfware label gets applied loosely inside most enterprises and that is part of the reason the dollars never come out. The contracting move requires a tight definition that Microsoft cannot dispute at the table.
A license is assigned to a named user, the buyer is paying for it inside the EA or MCA E, and the user has not authenticated against any workload covered by that license for ninety days or more.
Three adjacent categories that look like shelfware but require different remediation. Treating them as the same category is the most common reason the cleanup stalls.
The reason most enterprises do not act on shelfware is not lack of data. It is lack of an inventory the procurement team can present at the renewal table. Three sources, all already inside the tenant, all already accessible.
The Active Users report and the License usage report give the population level snapshot. They are coarse but they are unambiguous. Microsoft cannot dispute their own admin center.
The authoritative answer at the user level. Sign in events tied to specific apps and resources, with date and frequency, retained for thirty days at the lowest tier and up to two years with retention configured.
Per workload data from Exchange, Teams, OneDrive, SharePoint, Defender, Purview, Power BI, and Copilot. The signal that distinguishes the overprovisioned user from the truly inactive one.
The number sounds small at the population level and becomes substantial at the contract level. The reason it persists is that nobody calculates it in dollar terms at the moment the renewal quote is drafted.
Eight thousand E3 seats at a discounted EA price of roughly $26 per user per month. Annual spend on E3 base alone of $2.5M. A ten percent inactive rate translates to $250K per year on the base SKU alone, before add ons.
Layer in the typical add on stack. Defender for Endpoint Plan 2, Entra ID P2, Power BI Pro, Teams Phone. The blended add on spend doubles the base. Inactive entitlement carried across both layers reaches $500K per year. Across a three year EA term that is $1.5M of cash held against entitlement the tenant proves was never consumed.
Forty two thousand seats blended across E3 and E5 with E5 at fifty percent attach. Annual base spend approaching $22M. A nine percent inactive rate against the blended base translates to roughly $2M per year before add ons.
The number that makes the conversation move is the renewal projection. Microsoft will quote the next term against the assigned count, not the active count, with a year over year uplift on top. The same nine percent compounded across uplift and term length produces a multiyear exposure that frequently lands above $9M. That is the number procurement needs to walk into the renewal with.
Identification is the cheap half of the work. The dollars only come out when the inactive count is converted into a true down position, a renewal anchor, or both. Microsoft does not refund. Microsoft accepts a different starting number on the next instrument.
Before contracting, run the reassignment pass. Reassign idle seats to active users currently waiting on provisioning. Reassign overprovisioned seats inside the same SKU pool. Reassignment costs nothing and reduces the seat count Microsoft can quote against.
The reassignment pass is also the precondition for the contracting move. If the buyer cannot demonstrate that the inactive population has been operationally drained, Microsoft will argue that the inactive count is reabsorbing latent demand. The reassignment record removes that argument.
The Enterprise Agreement permits seat count adjustments at anniversary in defined directions. The Enterprise Agreement Subscription, the M365 EA variant, permits a downward adjustment at each anniversary. The MCA E permits monthly downward flexibility on most subscriptions.
The contracting move is to time the cleanup so that the inactive population is removed at the anniversary window with the documentation to support it. The renewal that follows starts from the lower seat count rather than from the inflated one. The math compounds across the remaining term.
Our internal checklist for the ninety day inactive test. Entra ID sign in queries, workload telemetry queries, reassignment sequencing, and the documentation pack to take into the renewal table. Sent on request.
The shelfware position needs to be ready before the renewal quote is drafted, not after. The earlier the data lands, the cleaner the anchor at the table.