How to reduce an Azure commitment coverage gap
A commitment coverage gap is the share of your reservation-eligible cloud spend that is still being billed at on-demand rates. Closing it is usually the largest single saving available on a steady-state Azure estate, and unlike rightsizing it requires no change to how anything runs — you are buying the same compute at a lower unit price.
What a coverage gap actually is
Coverage is the proportion of eligible spend covered by a commitment. It is calculated as committed spend divided by eligible spend, where eligible spend is the total of everything a reservation or savings plan could have applied to. A coverage figure of 25% means three-quarters of the spend that could have been discounted was paid at list price.
The important word is eligible. Not all cloud spend can be committed: storage transactions, egress, many PaaS consumption charges and anything already on spot pricing sit outside the eligible base. Measuring coverage against total spend rather than eligible spend understates the gap and makes the estate look better than it is. Any figure you act on should name which denominator it used.
How to measure it properly
Three numbers describe the position completely, and you need all three:
- Eligible total — everything a commitment could apply to, over a consistent window.
- Committed — what reservations and savings plans currently absorb.
- On-demand base — eligible spend still paid at on-demand rates. This is the addressable gap, and it is the only one of the three that is directly actionable.
Measure on amortised cost, not actual. Actual cost records an upfront reservation purchase as a single large charge in the month it was bought, which makes month-to-month comparison meaningless. Amortised cost spreads that purchase across the term it covers, which is what you want when judging whether coverage is improving.
Use a window long enough to represent steady state. Thirty days is the usual minimum; anything shorter and a single batch job or a migration weekend distorts the baseline.
Why gaps persist even in well-run estates
Coverage gaps are rarely the result of carelessness. The recurring causes are structural:
- Growth outruns commitments. A reservation bought against last year's footprint covers a shrinking share of a growing one. Coverage decays quietly unless it is reviewed on a schedule.
- Fear of over-committing. Teams that have been burned by an unused three-year reservation tend not to buy again. The rational response is shorter terms and a smaller covered baseline, not abstinence.
- Ownership sits in the wrong place. Engineering can see the usage but cannot approve a multi-year purchase; finance can approve it but cannot verify the usage is durable. Gaps live in that seam.
- Nobody is measuring eligibility. Without a clear eligible base, coverage is quoted against total spend and the gap is invisible.
The three levers, and the order to pull them
Cloud savings come from three distinct levers. They are not interchangeable, and the order matters more than most teams expect.
1. Usage levers — remove or shrink what is not needed
Usage optimisation reduces consumption: deleting orphaned disks and unattached IPs, rightsizing over-provisioned VMs and databases, reclaiming sparse network address space, and consolidating log analytics workspaces onto a shared commitment tier.
Do this first. Committing to spend you are about to eliminate locks in waste for one to three years. Every unit of consumption removed before you commit is a unit you never have to pay a discounted rate for either. Teams that buy reservations before cleaning up routinely end up over-committed against a footprint they then shrink.
2. Rate levers — pay a lower unit price for the same usage
Once the footprint is honest, rate optimisation is where coverage improves. The instruments differ in flexibility and depth of discount:
- Reservations suit steady-state workloads with a predictable shape. Deepest discount, least flexibility, one or three-year terms.
- Savings plans commit to an hourly spend rather than a specific resource, so the discount follows the workload as it moves between families. Slightly shallower discount, materially more flexible.
- Spot capacity applies only to interruptible work — batch, CI, rendering, anything that can be evicted and resumed. Deepest discount of all, unusable for anything that must stay up.
3. Licensing levers — stop paying twice
If your organisation already owns Windows Server or SQL Server licences with active Software Assurance, hybrid benefit applies those licences to cloud instances and removes the licence uplift from the rate. This is frequently the least-exploited lever, because it requires someone to reconcile entitlements held by procurement against instances running in engineering — a conversation neither side initiates on its own.
Sizing a commitment without over-committing
The safe approach is to commit to the floor, not the average. Take the eligible on-demand spend, find the level it has not dropped below across your measurement window, and commit somewhere at or under that line. Usage above the floor stays on-demand, where it costs more per unit but carries no obligation.
As arithmetic: if eligible spend has never fallen below a given monthly floor over a representative window, a commitment sized at that floor is covered in every observed month. Sizing at the average instead guarantees that in every below-average month you are paying for capacity you did not use.
Two further guards are worth applying. Prefer shorter terms while the estate is still changing shape — the discount is smaller but the exposure is bounded. And stage the purchases: buying to 60% coverage, observing a full billing cycle, then extending is substantially safer than buying to 90% in one move.
What to watch after committing
Coverage is not a one-off project; it decays. Two things need continuous attention.
Utilisation of the commitment itself. A reservation that is only partly consumed is worse than no reservation, because you have paid up front for the shortfall. Utilisation should be reviewed on the same cadence as spend.
Cost anomalies against a moving baseline. Useful anomaly detection compares each day's billed cost against a trailing mean with a standard-deviation band, and separately flags large day-over-day jumps. That combination catches both a slow drift and a sudden spike. It also needs a warm-up period: with only a few months of history, the earliest days are omitted while the baseline establishes itself, and trends should be read as short-window rather than seasonal.
Anomalies matter to coverage because the thing that most often destroys a carefully sized commitment is an unrelated change — a migration, a new environment, a decommissioning — that shifts the eligible base underneath it.
Common mistakes
- Quoting coverage against total spend. It flatters the number and hides the addressable gap.
- Committing before cleaning up. Locks in waste for the length of the term.
- Measuring on actual rather than amortised cost. Upfront purchases make the trend unreadable.
- Treating 100% coverage as the goal. It is not. Full coverage means zero headroom, and any dip becomes waste. Most estates are best served somewhere well short of full coverage, with the volatile top slice left on-demand.
- Reviewing annually. Coverage decays continuously; an annual review means eleven months of drift.
Where to start
Establish the three numbers — eligible total, committed, on-demand base — on amortised cost over a thirty-day window. That single measurement tells you whether a coverage gap is your biggest opportunity or a distraction from a rightsizing problem. Only then decide which lever to pull.