Microsoft 365 cost optimisation
Reducing Microsoft 365 spend without breaking outcomes — licence right-sizing, reclamation, and SKU optimisation.
Microsoft 365 is a meaningful annual line item for any sizeable organisation. Cost optimisation done well — without breaking outcomes — typically yields 10–25% savings. The patterns are well-understood; the discipline is what's missing in many organisations.
Reclaim inactive licences
The single most impactful action: reclaim licences from inactive users.
A licence assigned to a user who hasn't signed in for 90 days is wasted spend. Use the Entra ID sign-in activity:
$cutoff = (Get-Date).AddDays(-90).ToString("o")
Get-MgUser -All -Property UserPrincipalName,SignInActivity,AccountEnabled |
Where-Object {
$_.AccountEnabled -and
$_.SignInActivity.LastSignInDateTime -lt $cutoff
} |
Select-Object UserPrincipalName, @{N="LastSignIn";E={$_.SignInActivity.LastSignInDateTime}}
Validate with HR before stripping licences — some users legitimately don't sign in (long leave, executive assistants with delegated mailboxes). For confirmed inactives, remove the licence.
Typical finding: 5–15% of licences are reclaimable in a tenant that hasn't done this exercise recently.
Right-size SKUs
Many organisations licence everyone at the same tier — typically E3 or E5 — when not everyone needs it. Common right-sizing patterns:
- Frontline workers — F1 or F3 instead of E3/E5. Massive savings; often missed.
- Knowledge workers — E3 sufficient for most; E5 only for those needing the advanced security / compliance / analytics.
- Specialised roles — Visio Plan 1/2, Project Plan 1/3/5, Power BI Pro — assign individually where the broader plan is overkill.
- Apps for Enterprise — for users who need Office desktop but not full Microsoft 365 cloud services.
A licensing inventory by role / department often reveals significant savings.
Step-up SKU pattern
Instead of buying everyone E5, license everyone at a baseline (Business Premium or E3) and add E5 step-up licences to specific users who need E5 features — the security team, compliance officers, executives with high-risk profiles.
The step-up licence costs less than the full E5 difference, and only the users who need it carry the additional cost.
Eliminate redundant SKUs
Tenants sometimes have redundant licences assigned — a user has both E3 and Apps for Enterprise (the Apps part of E3 makes the Apps SKU redundant). Service-plan-level analysis identifies overlaps.
PowerShell can audit:
Get-MgUser -All -Property AssignedLicenses |
Where-Object { $_.AssignedLicenses.Count -gt 1 } |
# Detailed analysis of which SKUs overlap
Audit Power Platform licences
The Power Platform licensing has changed multiple times; many tenants over-license. Common findings:
- Per-user Power Apps Premium for users who only use 1–2 apps — per-app licensing is cheaper.
- Power Automate Premium for users whose flows use only standard connectors — included with M365, no Premium needed.
- Pay-as-you-go more cost-effective than per-user for sporadic use.
The Power Platform CoE Toolkit surfaces who's actually using what.
Optimise Power BI
- Power BI Pro vs PPU vs Fabric capacity — depends on usage patterns; analyse who's authoring vs consuming.
- Premium capacity SKU sizing — many Premium capacities are oversized; check actual utilisation.
Communications licensing
For tenants with Teams Phone:
- Common Area Phone licences for reception / shared phones instead of full user licences.
- Calling Plan vs Operator Connect vs Direct Routing — total cost can vary significantly.
- Per-user calling minutes — many users have far more minutes allocated than they use.
Storage and add-ons
- Audit (Premium) — only needed if regulatory retention exceeds 1 year.
- Multi-Geo — only meaningful for multinationals with specific residency needs.
- Customer Lockbox / Customer Key — only if regulatory requirements drive them.
- Additional SharePoint storage — usually cheaper to delete stale content than to buy more storage.
Operational discipline
The cost-optimisation activities aren't a one-time project:
- Monthly: review newly inactive users; reclaim licences.
- Quarterly: SKU right-sizing analysis across departments.
- Annually: full optimisation review aligned with the EA / MCA renewal.
- At renewal: negotiate based on actual usage data; Microsoft is reasonable when the buyer is informed.
Pitfalls to avoid
- Reclaiming too aggressively — temporary inactivity (vacation, leave) shouldn't trigger removal.
- Downgrading to save money but losing required features — verify the feature isn't critical before removing the licence tier.
- Cost vs value tradeoff — sometimes the higher-tier licence is genuinely valuable; don't optimise the licence cost while costing more in lost outcomes.
For a 5,000-seat Microsoft 365 tenant, even modest optimisation typically saves hundreds of thousands per year. The work to find the savings is one of the higher-ROI activities IT can do.