Eliminating Shelfware in your Microsoft EA: Remove Unused Licenses
Meta Description: Stop paying for shelfware. Learn how to identify and eliminate unused Microsoft licenses across Microsoft 365, Azure, and on-premise environments—freeing up budget and reducing overspend.
Read our guide to Microsoft EA optimization.
Why Shelfware Is a Hidden EA Cost Driver
Unused Microsoft licenses – often referred to as shelfware – quietly inflate your costs. They become a hidden driver in your Enterprise Agreement (EA) because:
- Inflated Renewal Baselines: If you’re licensed for 1,000 seats but only 800 are used, Microsoft will still peg your EA renewal at 1,000. Those unused 200 inflate your baseline and lock in overspend.
- Ongoing Overspend: Every unused seat or service represents money wasted. Over time, shelfware drains funds that could be better spent on real business needs.
Step 1 — Run Usage Reports Across All Platforms
Start by shining a light on the problem. Run comprehensive usage reports across Microsoft 365, Azure, and on-premises environments to pinpoint where licenses and services are not being used:
- Microsoft 365: In the admin center, check active users and service usage. Identify accounts that haven’t logged in or apps that have low adoption. Often, you’ll find Power BI Pro, Teams Phone, or other add-ons assigned to people who never use them – clear shelfware.
- Azure: Use Azure Cost Management and Advisor to find underutilized resources. Look for VMs with near-zero CPU utilization, databases with no queries, or storage and IPs not attached to any resources. Test/dev environments are common culprits (e.g., VMs left running over the weekend doing nothing). Shutting down or resizing these immediately saves money.
- On-Premises: Track inventory of on-premises licenses for servers (Windows, SQL, etc.) and CALs. You may discover servers or software that are no longer in use. Plan to eliminate those licenses and support costs accordingly.
Gathering these usage data points gives you a full picture of what’s being used versus what you’re paying for. Think of it as a shelfware audit – it quantifies the problem and shows where the biggest waste is.
Step 2 — Identify True Business Needs vs. “Nice-to-Haves”
Not every provisioned license is truly needed. Once you have the data, work with stakeholders to distinguish must-haves from nice-to-haves:
- Segment Core vs. Optional: Determine which services are mission-critical (email, core Office apps, etc.) versus which were enabled “just in case.” Optional features, such as advanced analytics or specific security add-ons, often end up unused if there’s no clear business demand.
- Spot Adoption Gaps: Identify licenses that were assigned but never actually used. For example, if you upgraded many users to the Microsoft 365 E5 suite for its extras but most never utilized those advanced features, then a significant portion of that E5 investment is essentially shelfware. Those users could be on cheaper E3 plans without losing productivity.
If a license or service isn’t delivering tangible value, consider it a shelfware candidate. It’s better to remove “nice-to-have” extras now than to keep paying for them on the off chance someone might use them later.
Read about Optimizing Cloud Spend Within Your EA.
Step 3 — Right-Size Microsoft 365 Licenses
Microsoft 365 is a common source of shelfware, so optimizing these licenses can yield significant savings. Make sure each user has the appropriate level of license:
- E3 vs. E5 Downgrades: E5 licenses cost significantly more than E3, so only assign E5 to those who truly require its advanced features. Everyone else can use a cheaper plan without loss of productivity.
- Cut Unused Add-ons: Review every extra license and trim those that aren’t widely used. For instance, if only 50 out of 500 employees host dial-in meetings, you only need about 50 Audio Conferencing licenses – not 500.
- Reassign Inactive Licenses: Immediately reclaim licenses from departed or inactive users. Before any true-up or renewal, ensure no license is assigned to a user who isn’t using it.
By right-sizing plans and removing unnecessary add-ons, you can significantly reduce Microsoft 365 costs without impacting anyone’s work.
Step 4 — Clean Up Azure Shelfware
Azure’s pay-as-you-go model can lead to “phantom” cloud costs. Regularly clean up Azure resources to eliminate cloud shelfware:
- Find Idle Resources: Locate Azure resources with little or no activity – for example, VMs sitting idle and storage or IPs not attached to anything. Shut down those VMs (test servers running 24/7 are common culprits) and delete any unused resources. This yields immediate savings.
- Right-Size and Schedule: Make sure running workloads aren’t over-provisioned. If a server averages only 5% CPU utilization, scale it down to a smaller (and cheaper) instance. Additionally, schedule non-production systems to shut down at night and on weekends, so you don’t incur costs for idle time.
- Review Azure Commitments: Check any reserved capacity or long-term cloud commitments. If you over-committed, see if you can adjust or cancel those reservations. Always align Azure commitments with actual usage to avoid paying for capacity that isn’t needed.
Many organizations discover that a 20% or more reduction in cloud spend is achievable simply by pruning idle resources and optimizing what’s running. Cloud costs drop quickly when you stop paying for VMs and services nobody is using.
Step 5 — Audit On-Premise Licenses
Software isn’t only in the cloud. Many organizations waste money on legacy on-premises licenses, too:
- Avoid Double-Paying: If you migrate systems to the cloud, ensure you cancel the equivalent on-premises licenses. For example, after moving users to Office 365, retire the old Exchange or SharePoint server licenses and CALs. Don’t pay Microsoft for both the cloud service and the legacy system at the same time.
- Renegotiate Active License Counts: If many on-premises systems have been retired or usage has dropped significantly, consider negotiating a lower contract rate at renewal. Reduce the number of licenses under support to match what’s still in use. You can’t get money back for past shelfware, but you can stop paying for it going forward.
By auditing on-premises environments with the same rigor as cloud and SaaS, you ensure you’re not throwing money at infrastructure your organization no longer needs. It’s about retiring shelfware everywhere – on-prem or off.
Step 6 — Build Governance to Prevent Shelfware’s Return
After a cleanup, strong governance will keep your licensing optimized so shelfware doesn’t creep back in:
- Set License Assignment Policies: Establish clear rules on who gets what type of license. Don’t automatically give every new employee an expensive license “just in case.” Tie license levels to job roles and require approval for any exceptions. This prevents over-provisioning from day one.
- Regular Audits and Alerts: Schedule routine (e.g. quarterly) license and cloud usage reviews. Regular check-ins (backed by admin reports and cost alerts) mean you’ll catch unused licenses within months instead of years. Set up alerts to flag inactivity or unusual spikes so you can investigate and reclaim licenses promptly.
- Cross-Functional Oversight: Make license management a team effort between IT, finance, and procurement. For instance, have a finance review of large license purchases to ensure budget oversight. And ensure that IT is notified when employees leave or projects end so that licenses can be removed or reassigned immediately. Shared accountability across teams helps keep shelfware at bay.
Good governance fosters a continuous habit of shelfware cleanup. With the right policies and monitoring, you can maintain an optimized license footprint and free up budget for real needs, rather than paying for unused capacity.
Step 7 — Use Shelfware Cleanup to Strengthen EA Negotiations
Cleaning up unused licenses doesn’t just save costs now – it also gives you leverage when it’s time to renew your Microsoft Enterprise Agreement:
- Lowered Renewal Counts & Proof: After eliminating shelfware, your actual usage numbers will be lower. Use those lean numbers as the starting point for renewal. For example, if you went from 1,000 paid users down to 800 active users, insist on renewing for 800 and use your internal data as proof to justify that reduction. If Microsoft questions the cut, show them your usage reports that prove, for example, 20% of licenses went unused. That evidence is hard to contest – they’ll be more inclined to accept your lower count once they see the numbers.
- Resist Upsell Creep: When Microsoft sees you trimming licenses, they might try to sell you other products to “fill the gap.” Don’t accept “just in case” upsells from Microsoft – only add licenses for products you have a concrete, confirmed need for.
By removing shelfware, you’re signaling that you won’t pay for fluff. Enter your renewal discussions armed with data and a learner footprint. Microsoft’s sales team will have to base the deal on your real needs, not padded assumptions – and that puts you firmly in control of the negotiation.
Shelfware Elimination Checklist
- Run usage reports on all Microsoft platforms (M365, Azure, on-prem) to find inactive accounts and resources.
- Validate business need for each license or service – cut anything that lacks a clear purpose or owner.
- Downgrade or reassign licenses that are overkill (e.g., swap expensive licenses for cheaper ones if advanced features aren’t used).
- Remove unused Azure assets – shut down idle VMs, delete orphaned storage, and rightsize over-provisioned instances.
- Cancel or reduce legacy licenses for on-prem systems that your organization no longer uses.
- Establish governance (policies, quarterly audits, approval steps) to keep license usage optimized and prevent waste.
Use this checklist anytime you suspect shelfware might be creeping in again.
5 Key Recommendations for Immediate Action
- Run a full Microsoft license audit now: Catch and eliminate obvious shelfware before your next renewal.
- Target E3/E5 optimizations: Review who truly needs an E5 license; downgrade the rest to save money.
- Audit Azure usage quarterly: Make cloud clean-up a routine so you’re not paying for VMs or services no one uses.
- Terminate redundant on-prem spend: Stop paying maintenance on old servers or licenses you’ve already moved to the cloud.
- Use savings as negotiation leverage: Take your cleaned-up usage data to Microsoft and negotiate a better, more cost-effective deal based on your actual needs.
FAQ
Q: How much shelfware do most enterprises carry?
A: It varies. Many large enterprises find that at least 10–30% of their Microsoft licenses are sitting unused.
Q: Can unused Microsoft 365 licenses be refunded?
A: No. Microsoft won’t refund you for unused license time during the contract. Just remove them at the next renewal or true-up.
Q: How often should we run shelfware checks?
A: At least yearly (before renewals or true-ups), and ideally quarterly. Frequent shelfware checks catch waste early and keep your true-ups drama-free.
Q: Do Azure commitments contribute to shelfware risk?
A: Yes. If you pre-pay for Azure capacity and don’t end up using it, that spend is pure waste – it’s cloud shelfware. Always commit cautiously based on real needs and adjust as usage evolves.
Q: What’s the best timing to clean up shelfware before an EA renewal?
A: Start around 6–12 months before your EA renewal so you have time to make changes and gather clean data. If you can’t start that early, at least do it right before your final true-up. (Earlier is always better.)