← All articles
·6 min read·Cost optimisationLicensing

License Drift: Why Your Microsoft 365 Bill Creeps Up Every Month

Pull up your Microsoft 365 invoices for the last eight quarters. For most organisations the line goes one direction — up — and faster than headcount. Nobody approved that. It's license drift: the slow, unauthorised-by-anyone growth of license spend through a hundred small, individually reasonable decisions.

The four mechanics of drift

1. Asymmetric friction

Adding a license takes one click and no approval — the new hire needs it today. Removing a license requires noticing it's unneeded, checking nothing breaks, and remembering NCE reduction windows. Additions happen in minutes; removals happen at audits. Any system with that asymmetry only grows.

2. Template inflation

License templates and group-based licensing clone the past. Someone set up the "new starter" group with Business Premium in 2023 because the first hire was a manager — and every hire since inherited it. Templates drift upward because upgrading a template fixes a loud problem (someone missing a feature) while downgrading one fixes a silent problem (money).

3. The pilot that never ended

Copilot for ten users "to evaluate." Visio for the ops team "for that one project." Teams Phone "for the sales pilot." Pilots have start dates and no end dates. Each survives because $30 or $15 a month per user is beneath everyone's attention threshold — collectively they're a salary.

4. Offboarding half-life

Disabling accounts is instant; reclaiming their licenses is famously not. Every leaver has roughly a coin-flip chance of their license being reclaimed within a quarter. In a company with 15% annual turnover, that's a permanent standing pool of paid, empty seats.

Why you can't see it on the invoice

The Microsoft invoice reports quantity × price per SKU. It cannot tell you that 31 of your E3 seats belong to disabled accounts, or that the Business Premium count includes 14 people who only use webmail. Drift is invisible at the invoice level by construction — you need assignment-level and usage-level data joined together.

The countermeasures

  • Give removals a trigger. Add license reclamation to the offboarding runbook with a named owner and a 30-day SLA.
  • Expire pilots by default. Every add-on purchase gets a review date at 90 days. No review, no renewal.
  • Audit templates quarterly. Check what the "new starter" defaults actually contain against what starters use.
  • Watch the trend, not the invoice. Track licensed-but-inactive count month over month. Drift shows up there first.
  • Automate the noticing. The failure mode of every countermeasure above is "nobody remembered." SeatPrune tracks license changes over time and flags drift patterns — new duplicate assignments, growing inactive pools, disabled-with-license accounts — continuously, with each finding priced per month.
Drift is not a one-time cleanup problem; it's a rate. You can pay it down annually in a painful audit, or install the process (and tooling) that keeps the rate near zero.

Find out what your tenant is wasting

SeatPrune audits your Microsoft 365 licenses and prices every finding in $/month. Free up to 200 users.

Start Free