Licensed users who were never active
A seat that never started: the license was assigned, the invoice arrived, and the user never signed in and never touched a workload. These accounts look perfectly healthy in the admin center because there is nothing wrong with them, except that nobody is behind them.
Where never-active seats come from
Licenses get assigned ahead of onboarding for a start date that moved, for a project that fizzled before kickoff, or by an over-broad group rule that licenses everyone in a department including service and test accounts. The user object exists, the license is consumed, and from the billing side the seat is indistinguishable from a productive one.
Nothing cleans these up on its own. The account never appears in sign-in logs, so activity-based reports simply omit it, and the license report shows it as assigned, which reads as fine. Unless someone explicitly asks which licensed accounts have never been active, the seat renews forever.
Detect it manually
With Entra ID P1 you can read each user's signInActivity through Graph PowerShell and look for licensed accounts where it is empty:
Connect-MgGraph -Scopes 'User.Read.All', 'AuditLog.Read.All'
Get-MgUser -All -Property 'displayName,userPrincipalName,createdDateTime,signInActivity,assignedLicenses' |
Where-Object {
$_.AssignedLicenses.Count -gt 0 -and
-not $_.SignInActivity.LastSignInDateTime
} | Select-Object DisplayName, UserPrincipalName, CreatedDateTime- Reading signInActivity requires an Entra ID P1 or P2 license in the tenant plus the AuditLog.Read.All permission; without P1 the property is unavailable and you have to correlate per-workload usage reports instead.
- An empty lastSignInDateTime also occurs when the last sign-in predates April 2020, and a brand-new account has not had a fair chance yet: compare createdDateTime before acting on the list.
How LicenseMeter detects it
LicenseMeter joins Entra sign-in activity with per-workload usage reports (Exchange, OneDrive, SharePoint, Teams) into one last-activity timestamp per user. The rule fires when a licensed account has no observed activity from either source and the account is at least 30 days old, a grace period that keeps freshly created accounts from being flagged during onboarding.
The rule needs a reliable per-user activity signal. If the tenant has no Entra ID P1, detection falls back to the per-workload usage reports alone; if report names are also concealed, per-user inactivity rules are skipped entirely and an aggregate finding reports how many users show no activity, with a hint on how to enable identifiable report names.
What it costs
A never-active finding is priced at the full monthly cost of every SKU the account holds, from the per-tenant price book prefilled with list-price estimates and editable to your negotiated rates.
In the 155-person sample tenant, never-active and long-inactive seats together waste € 751,58 a month across Microsoft 365 and connected apps.
Sample figures come from the deterministic demo workspace, not from customer data. The waste calculator turns your own seat count into an estimate.
Related waste patterns
See which of your seats match this pattern.
Connect read-only and the free scan lists every affected account in your tenant, priced per seat and per month, with a PowerShell remediation script your IT reviews and runs.
After the free scan, 14 days of full monitoring, free. No credit card, read-only access.