New See exactly what you're overpaying AWS in under 60 seconds. Try the Calculator for free

Azure Savings Plan: How to Raise Coverage Without Overcommitting

Updated July 9, 2026
20 min read
On this page

An Azure Savings Plan is a commitment-based discount instrument. You agree to spend a set dollar amount per hour on eligible compute or database services for one or three years. In return, Azure automatically applies a discount, up to 65% on compute and up to 35% on databases, to your highest-value eligible usage each hour. Unlike a Reserved Instance, the commitment is not tied to a specific VM family, region, or operating system. It follows your usage wherever it goes.

That flexibility is real. The commitment itself, notably, is not. Once purchased, an Azure Savings Plan cannot be cancelled, modified, or refunded. If your usage drops below the committed hourly amount for any reason, whether that is a migration finishing early, a workload getting decommissioned, or a slower quarter than forecast, you keep paying the full commitment anyway. This is the mechanic that turns “raising coverage” from a simple savings play into a decision with real downside if you get the sizing wrong.

This guide covers what an Azure Savings Plan actually is, how the hourly billing mechanic works with a grounded example, and a specific, staged methodology for increasing your coverage percentage over time without exposing your budget to a bad quarter.

Banner

What Is an Azure Savings Plan?

An Azure Savings Plan is a 1-year or 3-year commitment to a fixed hourly spend on eligible Azure services, in exchange for discounted rates that apply automatically to your highest-cost eligible usage first. Two versions exist: Savings Plan for Compute (up to 65% off Virtual Machines, App Service, Container Instances, Azure Functions, and related infrastructure) and Savings Plan for Databases (up to 35% off Azure SQL Database, Cosmos DB, PostgreSQL, and MySQL). Both are billing constructs. Neither changes how your resources run.

For context, AWS’s equivalent Compute Savings Plan caps at 66%, one point higher than Azure’s 65% ceiling, a distinction covered in more depth in the linked Compute Savings Plan comparison below.

Microsoft launched the Savings Plan for Compute in October 2022 as an alternative to Reserved Instances for teams whose architecture changes too often for a locked-in reservation to make sense. Savings Plan for Databases followed later, in March 2026, extending the same spend-based model to database compute.

The core mechanic in one sentence: you are not reserving a resource. You are committing to a dollar amount, and Azure decides, hour by hour, which of your eligible usage gets the discount.

Azure Portal interface for purchasing a Savings Plan, showing the dollar-per-hour commitment field and 1-year or 3-year term options. This is the single screen where the entire 12- or 36-month financial commitment gets locked in.

Compute Savings Plan vs Database Savings Plan

Dimension Savings Plan for Compute Savings Plan for Databases
Max discount Up to 65% Up to 35%
Term options 1-year or 3-year 1-year only
Eligible services Virtual Machines, App Service Premium v3/Isolated v2, Container Instances, Azure Functions Premium, Dedicated Host Azure SQL Database, SQL Managed Instance, PostgreSQL, MySQL, Cosmos DB
Covers storage or networking? No No
Launch date October 2022 March 2026
Realistic discount range Roughly 30-53% for most 1- and 3-year terms on standard VM series (verify at azure.microsoft.com/pricing, rates change) 12-35% depending on tier; the 35% ceiling applies mainly to serverless SQL Database

Source: Microsoft Azure official documentation, January 2026. Verify current rates, since rates and eligible services change.

How Does an Azure Savings Plan Actually Work?

The billing mechanic runs on an hourly clock, and it is the single most important thing to understand before committing to anything.

You choose an hourly dollar commitment, for example $20 per hour. Every hour, Azure looks at your eligible usage across the plan’s scope and applies the Savings Plan discount to whichever usage generates the largest savings first. If your eligible usage that hour costs less than $20 at standard pay-as-you-go rates, the entire $20 commitment still gets billed. The unused portion is not refunded and does not roll forward into the next hour.

Here is a hypothetical, illustrative example using round numbers, not a live Pricing Calculator run (verify actual VM pricing at azure.microsoft.com/pricing since rates vary by series, region, and OS):

Say your team commits to $20/hour for a 3-year Compute Savings Plan. In this hypothetical scenario, your eligible VM usage in a given hour would cost $28 at standard pay-as-you-go rates. With the Savings Plan applying a roughly 40% discount to that usage tier, your actual bill for that hour lands around $20.50, close to your committed amount, with the small overage billed at standard rates. Now imagine a quiet hour in this same hypothetical scenario where your eligible usage only totals $14 at pay-as-you-go rates. In this scenario, you still pay the full $20 commitment. The $6 difference is not a “credit.” It is gone.

Multiply that quiet-hour gap across a full year in this hypothetical case and the arithmetic gets serious fast. An unused $6/hour gap, sustained across roughly 8,760 hours in a year, is a little over $52,000 in commitment paid for nothing.

Hourly billing chart showing where committed Savings Plan spend exceeds actual eligible usage, creating an unused commitment gap during low-traffic hours. The gap between the flat commitment line and the usage curve is money paid for nothing.

Also Read: Azure Cost Management: 10 Strategies Ranked by Savings Impact for 2026

What Does an Azure Savings Plan Cover, and What Does It Miss?

Coverage differs meaningfully between the compute and database versions, and getting this wrong is one of the most common sizing mistakes.

  • Compute Savings Plan covers: all Azure VM series (with the exception of BareMetal Infrastructure and the Av1 series), including VMs used by AKS node pools, Azure Databricks, and Azure Virtual Desktop. It also covers Azure Functions Premium plan, App Service Premium v3 and Isolated v2, Azure Container Instances, and Dedicated Host.
  • Compute Savings Plan does not cover: storage, networking, licensing charges, or any database service.
  • Database Savings Plan covers: compute charges for Azure SQL Database, SQL Managed Instance, PostgreSQL Flexible Server, MySQL Flexible Server, and Cosmos DB provisioned throughput.
  • Database Savings Plan does not cover: storage, backup storage, geo-replication, serverless Cosmos DB, or SQL Server licensing charges running on Azure VMs or Azure Arc.

This last point trips up more teams than any other. Most Azure SQL Database deployments split spend roughly 60/40 or 70/30 between compute and storage. If you size a Database Savings Plan commitment against your total database bill instead of the compute-only portion, you will overcommit by 30-40% before you even sign the term.

The fix: in Azure Cost Management, filter by Meter Category set to “Compute” before you calculate any baseline. Never size against the full invoice.

How Much Can You Actually Save With an Azure Savings Plan?

The honest range sits well below the “up to 65%” headline for most real deployments. One published Azure Savings Plan walkthrough that ran a specific VM configuration through the Azure Pricing Calculator found discounts of roughly 31% at a 1-year term and 53% at a 3-year term, both well below the advertised 65% ceiling. Treat the top-line percentage as a best case, not a planning number. Run your own VM configuration through the Pricing Calculator before sizing any commitment, since results vary by series, region, and OS.

Here is a hypothetical, rounded scenario built for illustration only, not a live Pricing Calculator output (verify your specific VM pricing at azure.microsoft.com, since rates vary by series, region, and OS):

Annual eligible compute spend at pay-as-you-go rates Approximate 3-year Savings Plan discount Approximate annual savings
$200,000 ~45% ~$90,000
$600,000 ~45% ~$270,000
$1,200,000 ~45% ~$540,000

These figures assume full utilization of the commitment. Drop utilization to 75%, a common outcome when a commitment is sized against peak rather than baseline usage, and the effective savings shrink substantially while the committed dollar amount stays fixed. Utilization, not the headline discount rate, is what actually determines whether a Savings Plan was a good decision twelve months later.

How Do You Size a Commitment Without Overcommitting?

This is the methodology that turns “raise coverage” from a guess into a repeatable process.

Step 1: Pull 30 to 60 days of hourly eligible usage. In Azure Cost Management, filter for Meter Category = Compute (or the relevant database compute filter) and export at hourly granularity. Daily or monthly averages hide the low-traffic hours that determine your real risk.

Step 2: Calculate your P70 or P80. This is the hourly spend level you are at or above for 70% or 80% of hours in your sample window. It is not your average, and it is definitely not your peak. Committing to your average overcommits, because half your hours run below average. Committing to your peak overcommits even more severely.

Step 3: Set your initial commitment at 70-80% of that P70/P80 figure. This leaves headroom for the variance that always shows up once real billing starts, and it deliberately under-shoots rather than over-shoots.

Step 4: Review at 30 days. If utilization is consistently above 95%, you have room to add a second, incremental commitment. If it drops below 80% for two consecutive months, that is your signal something changed, a migration finished, a workload got decommissioned, before you have locked in a full year or three years of the wrong number.

Sixty-day hourly compute usage chart with the P70 baseline highlighted, showing the recommended Savings Plan sizing point sitting below both the average and peak usage lines.

Also read: Azure Savings Plan Scope: Subscription vs Shared vs Management Group vs Resource Group

How Do You Raise Coverage Without Increasing Lock-In Risk?

This is the actual question behind “how to raise coverage without trapping yourself in the wrong commitment,” and it deserves a direct methodology rather than a single tip.

Layer, do not lump. Instead of committing to 80% of your estate in one purchase, buy an initial Savings Plan at your P70 baseline from the sizing steps above, then add a second, smaller commitment once 60-90 days of billing data confirms the first one is running above 90% utilization. Each additional layer is a smaller bet, informed by real data rather than a projection.

Reserve the stable core, plan for the flexible remainder. If part of your VM estate has run in the same configuration for six or more months with no planned changes, a Reserved Instance captures a deeper discount on that specific slice (up to 72% versus 65%) precisely because it is not going anywhere. Use the Savings Plan for everything that might move, scale, or migrate. Mixing both instruments against the wrong slice of your estate is the single most common coverage mistake teams make.

Treat every commitment as reviewable on a fixed calendar, not an ad hoc one. A 3-year commitment does not mean “set it and never look again.” Put a quarterly reminder on the calendar to pull utilization from Azure Cost Management. Microsoft will not alert you when utilization drops. You have to go looking.

Know your exit options before you need them. Azure Savings Plans cannot be cancelled or exchanged once purchased. You can, however, trade in an existing eligible Reservation for a Savings Plan, and Azure lets you scope a plan down (or broaden it) at any time without changing the hourly commitment itself. Understand these levers before signing, not after usage drops.

The pattern underneath all four of these: coverage should rise in response to evidence, not in a single leap of faith. Every team that gets trapped by a Savings Plan got there by committing to a number that made sense on a spreadsheet but never got checked against 60 real days of billing data.

Azure Savings Plan vs Reserved Instances: A Fast Answer

Both are commitment-based discounts. The difference is what you are committing to. A Savings Plan locks in a dollar-per-hour spend level that follows your usage across any VM family, region, and OS. A Reserved Instance locks in a specific VM family, size, and region, in exchange for a deeper discount, up to 72% versus the Savings Plan’s 65% ceiling on compute.

Choose the Savings Plan when your architecture is still evolving, you are migrating between VM families, or you want a single commitment covering VMs, App Service, and Container Instances together. Choose Reserved Instances when a workload has run in the same configuration for six-plus months with no planned changes and maximizing the discount percentage matters more than flexibility.

For the full side-by-side, including how Azure applies both when they overlap on the same VM: Azure Savings Plan vs Reserved Instances: Which One Actually Saves More?

How Do You Buy an Azure Savings Plan? (Step-by-Step)

What you’ll accomplish: purchase a correctly-sized Azure Savings Plan through the Azure Portal. Estimated time: 15-20 minutes, assuming you have already pulled your usage baseline using the sizing methodology above.

Prerequisites:

  • An active Azure subscription with billing permissions (Subscription Owner, Contributor, or Savings Plan Purchaser role for EA/MCA accounts)
  • At least 30 days of usage history reviewed in Azure Cost Management
  • Your calculated P70/P80 hourly baseline from the sizing steps above

Step 1 Navigate to Azure Portal, then Cost Management + Billing, then Savings Plans.

Step 2 Review the Azure Advisor recommendation shown on this screen. Treat it as a starting reference, not a final answer, since Advisor’s recommendation is based on historical averages rather than your P70/P80 calculation.

Step 3 Select Savings Plan for Compute or Savings Plan for Databases, depending on which workload you are covering.

Step 4 Choose your term (1-year or 3-year for compute; 1-year only for databases).

Step 5 Enter your hourly commitment amount using your own P70/P80-based figure, not the Advisor default, unless they happen to match.

Step 6 Set the scope: single subscription, resource group, management group, or shared across the whole billing account. Shared scope maximizes flexibility for most multi-subscription organizations.

Azure Savings Plan scope selector showing four coverage options. Shared scope applies the commitment across every eligible subscription under the billing account automatically.

Step 7 Choose your payment frequency, monthly or upfront. Unlike AWS, Azure does not currently discount the upfront option, per Microsoft’s official documentation: both options cost the same total over the term. Choose based on budget or fiscal-year allocation needs rather than expecting extra savings from prepaying.

Step 8 Review the confirmation screen showing your commitment, term, and estimated savings, then purchase. The commitment activates at the next full billing hour.

What to do if this doesn’t work: if the Advisor recommendation does not appear or seems based on an unusually short window, check that your subscription has at least 7-30 days of eligible usage history. Recommendations improve significantly with 60 days of data. If your organization uses an Enterprise Agreement, confirm your role has purchasing permission before troubleshooting further, since a permissions gap is the most common cause of a missing purchase option.

How do you know it worked? Within one billing cycle, check Cost Management, then Savings Plans, then Utilization. You should see your committed hourly amount alongside actual covered usage. If utilization sits below 70% in the first 30 days, that is your first signal to revisit sizing before the pattern compounds across the full term.

What Happens If You Already Committed Wrong?

If usage has already dropped below your committed amount, the two remedies are the same trade-in and layering options covered above, applied after the fact rather than before. Neither option refunds what has already been spent on unused commitment. This is precisely the structural gap that makes commitment sizing a decision worth getting right the first time, or worth handing to a system built to adjust on a shorter cycle than a fixed 1- or 3-year term allows, which is the specific gap Usage.ai’s Insured Flex Commitments are built to close:

Instead of a fixed term with no exit, commitments adjust on a quarterly cadence. If a commitment becomes underutilized because usage patterns shifted, Usage.ai buys back the unused portion and pays it out as cashback, in real money, not credits. Scale down and there is no penalty. Scale up and coverage adjusts automatically. This removes the single biggest reason teams under-commit on Azure in the first place: fear of getting stuck. Source: Usage.ai project documentation.

How Does Usage.ai Fit Into an Azure Savings Plan Strategy?

Everything in the sizing and layering methodology above is manual work: pulling usage data, calculating P70/P80 baselines, reviewing utilization quarterly, and deciding when to add or trade in a commitment. Usage.ai automates that cycle.

Continuous usage analysis. Usage.ai reviews Azure usage every 24 hours across every connected subscription, tracking current VM patterns, existing commitment coverage, and utilization drops that signal risk before a full quarter passes. That 24-hour cycle catches shifts roughly three days faster than Azure Advisor’s typical refresh pattern (this comparison point is drawn from Usage.ai’s previously published Azure content rather than an official Microsoft-published refresh interval; Microsoft does not publish a fixed Advisor refresh SLA, so treat the exact hour count as directional rather than an official Azure figure), and at $6,000-12,000 per day in uncovered spend for a mid-sized estate (a figure benchmarked primarily against AWS workloads in Usage.ai’s published data; treat this as directional for Azure pending an Azure-specific benchmark), that gap compounds quickly across a single missed refresh window. Source: Usage.ai project documentation.

Automated, staged purchasing. Rather than a single large commitment sized against a historical average, Usage.ai purchases in increments tied to real-time usage trends, which mirrors the layering approach described earlier in this guide, just without the manual quarterly calendar reminder.

Insured Flex Commitments with a buyback guarantee. Every commitment purchased through Usage.ai carries no multi-year lock-in. Commitments adjust quarterly. Scale down? No penalty. Underutilized? Cashback paid in real money, not credits. This is the standalone differentiator that directly answers the “wrong commitment” risk covered throughout this guide.

Billing-layer access only. Setup takes roughly 30 minutes and requires no infrastructure changes, since Usage.ai reads billing data rather than modifying how workloads run.

Fee model tied to results. Usage.ai charges a percentage of realized savings only. If it saves nothing, there is no fee.

For the mechanics of how Insured Flex Commitments work on the compute side specifically, including how AWS and Azure Compute Savings Plans compare in coverage: What Is a Compute Savings Plan?

If your database estate is part of the coverage picture, the same underutilization risk applies with different numbers: Azure Database Savings Plans: How to Buy & Optimize

See how Usage.ai automates Azure Savings Plan sizing and buyback protection

Choose an Azure Savings Plan When… Choose a Reserved Instance When…

Choose a Savings Plan when: your VM estate spans multiple regions or families that may keep changing. You are actively migrating workloads. You want one commitment covering VMs, App Service, and Container Instances together. This is your organization’s first Azure commitment and you want flexibility while you learn real usage patterns.

Choose a Reserved Instance when: a workload has run in the same region and family for six-plus months with no planned changes. Maximizing the discount percentage matters more than flexibility. You have Windows VMs eligible for Azure Hybrid Benefit stacking, which can push combined discounts above 80%.

Use both when: your estate has a genuinely stable core and a genuinely flexible remainder. Reserve the core for maximum discount. Cover the remainder with a Savings Plan sized against its own P70/P80 baseline, not the full estate’s.

Banner

Frequently Asked Questions

1. What is an Azure Savings Plan?

An Azure Savings Plan is a 1-year or 3-year commitment to spend a fixed dollar amount per hour on eligible Azure services. In exchange, Azure applies automatic discounts, up to 65% on compute services like Virtual Machines and Container Instances, and up to 35% on database services like SQL Database and Cosmos DB. The discount follows your usage across any region, VM family, or OS rather than locking to a specific configuration.

 

2. What is the difference between an Azure Savings Plan and a Reserved Instance?

A Savings Plan commits to a dollar-per-hour spend and applies across any eligible VM family, region, and service. A Reserved Instance commits to a specific VM family and region for a deeper discount, up to 72% versus the Savings Plan’s 65% ceiling. Savings Plans suit evolving architectures; Reserved Instances suit stable, unchanging workloads where maximizing discount percentage is the priority.

 

3. How much can you realistically save with an Azure Savings Plan?

The advertised ceiling is 65% on compute and 35% on databases, but real-world results for standard VM series commonly land in the 30-53% range depending on term length, series, and region. The gap between the headline number and realistic savings is precisely why sizing the commitment against actual usage data, rather than the advertised maximum, matters more than the discount percentage itself.

 

4. What happens if I don’t use my full Azure Savings Plan commitment?

Azure bills your full committed hourly amount every hour for the entire term, whether you use it or not. Unused commitment does not roll over to the next hour and is not refunded or credited. If your usage drops significantly, you can layer a second, smaller commitment or trade in an eligible Reservation, but the original committed spend keeps billing regardless.

 

5. Can I cancel or modify an Azure Savings Plan after purchasing it?

No. Azure Savings Plans cannot be cancelled, exchanged, or modified once purchased for either compute or database plans. You can trade in an existing eligible Reservation toward a new Savings Plan, and you can change the plan’s scope at any time, but the hourly commitment itself and the term length are fixed for the life of the plan.

 

6. How do I size an Azure Savings Plan commitment correctly?

Pull 30-60 days of hourly eligible usage from Azure Cost Management, filtered to Compute (or the relevant database meter category) to exclude storage. Calculate your P70 or P80, the spend level you are at or above for 70-80% of hours, then commit at 70-80% of that figure. This leaves headroom for normal variance and avoids sizing against your average or peak, both of which overcommit.

 

7. Does an Azure Savings Plan cover database services?

Compute Savings Plans do not cover databases. A separate product, Savings Plan for Databases, covers Azure SQL Database, SQL Managed Instance, PostgreSQL, MySQL, and Cosmos DB at up to 35% savings, though most production tiers land closer to 12-18%. Storage costs are excluded from both plan types.

 

8. What is the safest way to raise Azure Savings Plan coverage without increasing risk?

Increase coverage in stages rather than in one large commitment. Start at a conservative P70 baseline, confirm 60-90 days of utilization above 90%, then add a second, smaller commitment rather than resizing the first. Pair this with a fixed quarterly review of utilization in Azure Cost Management, since Azure does not alert you automatically when a commitment starts underperforming.

 

9. Can Azure Savings Plans and Reserved Instances be used together?

Yes. When both apply to the same usage, Azure applies the Reserved Instance discount first since it is deeper, then applies any remaining Savings Plan commitment to uncovered usage. Size the Savings Plan against only the flexible, non-reserved portion of your estate to avoid paying for overlapping coverage.

 

10. How does Usage.ai reduce the risk of an Azure Savings Plan commitment?

Usage.ai’s Insured Flex Commitments adjust quarterly instead of locking for a full term. If a commitment becomes underutilized, Usage.ai buys back the unused portion as cashback, in real money, not credits, removing the fear of committing to a number that turns out wrong months later.

 

11. Is an Azure Savings Plan worth it?

Yes, for any team with predictable baseline compute or database usage. A correctly-sized commitment, based on your P70/P80 baseline rather than the advertised ceiling, reliably saves money even at realistic 30-53% discount levels. It is not worth it for workloads under 6 months old or with usage swinging more than 30% month to month, since utilization risk outweighs the savings.

Cut cloud cost with automation
Latest from our blogs