Hello RAKSHITHA BAI
Thank you for reaching out and for the detailed questions. Happy to clarify each of them below with the official Microsoft references.
- How Azure Advisor calculates the recommended hourly commitment for Compute Savings Plans:
The recommendation is based on your actual on-demand (pay-as-you-go) hourly usage and cost from Savings Plan–eligible compute resources, not discounted usage. Advisor analyses your hourly PAYG cost over the last 30 days (the API also supports 7 and 60 days), then runs simulations to identify the hourly commitment that produces the maximum net savings. It also runs a shorter 3-day simulation and picks the lower of the two recommendations to prevent overcommitment from stale data. Existing reservations and savings plans are excluded from the calculation.
Reference:
How savings plan recommendations are generated
Choose a savings plan commitment amount
- How the Savings Plan is billed and how savings appear on the invoice
A Savings Plan is a billing offer you commit to a fixed hourly amount for 1 or 3 years and get discounted rates on eligible compute. You are billed for the full hourly commitment for every hour of the term, whether you use it or not. Eligible usage within the commitment is charged at the discounted Savings Plan rate; any usage above the hourly commitment is billed at PAYG rates. Unused commitment in an hour does not roll over.
On the invoice:
- Purchase charges appear as
ChargeType = Purchase and PricingModel = SavingsPlan.
- In Actual Cost data, the
EffectivePrice for usage covered by the Savings Plan is zero (already paid via the hourly commitment).
- In Amortized Cost data, the
EffectivePrice shows the prorated Savings Plan cost attributed per resource, so you can see the monetary value each resource consumed.
- Payment can be upfront or in equal monthly instalments at no extra cost.
Savings are realised as avoided cost , no separate "discount" line item appears, the higher PAYG line is simply replaced with the discounted (or zero) line.
Reference:
What are Azure savings plans?
View savings plan cost and usage details
Calculate EA Savings Plan savings — worked example
- Identifying which resources are consuming the Savings Plan benefit (100% utilization)
Utilization % alone doesn't show which resources are consuming the benefit.
To identify the exact matched resources (VMs, AKS nodes, App Service Plans, Container Apps, Functions Premium, etc.), please use Cost Analysis with Amortized Cost:
- Go to Cost Management + Billing → Cost analysis.
- Change the metric from Actual cost → Amortized cost.
- Add filter: Pricing model = SavingsPlan.
- Set Group by = Resource (or Subscription / Resource group).
- Set Granularity = Daily or Monthly and chart type = Table.
Each row shows the resource consuming the benefit and the prorated cost. The BenefitId / BenefitName fields identify the specific Savings Plan.
For historical utilization %, use Savings plans → Utilization in the Azure portal.
Charge back savings plan costs
View savings plan utilization
- Validating the Savings Plan recommendation using Cost Analysis.
Yes, Cost Analysis is the right tool to validate. However, please note the compute cost in Cost Analysis will not exactly equal the recommended monthly commitment , Advisor deliberately recommends a commitment that covers your steady-state hourly usage, not your peak, so you don't over-commit during off-peak hours.
Suggested filters to validate:
| Setting |
Value |
| Metric |
Actual cost (to see raw PAYG being targeted) |
| Filter — Pricing model |
On demand |
| Filter — Service name |
Virtual Machines, App Service, Functions, Container Instances, Container Apps, Dedicated Host, Spring Apps |
| Granularity |
Daily |
| Group by |
Service / Resource |
Divide the daily PAYG compute cost by 24 to get the approximate hourly PAYG spend, then compare it against Advisor's recommended hourly commitment. Advisor's value should sit at or below your consistent hourly baseline.
- Why Advisor recommends only 9 App Service Reserved Instances even though more App Service Plans exist
The recommended quantity is not based on the total count of App Service Plans in the subscription. It's calculated from actual hourly usage of eligible instances over the past 7, 30, and 60 days. The engine simulates cost with and without reservations at different quantities and recommends the quantity that maximizes savings. Instances are excluded if they:
- Are on non-eligible tiers (only Premium v3 and above and Isolated v2 and above are eligible for App Service RIs)
- Run intermittently, are stopped/deallocated, or autoscale down
- Are already covered by an existing reservation or savings plan
So a recommendation of 9 typically means Advisor detected 9 eligible App Service Plan instances running consistently at eligible SKUs during the look-back window. Other App Service Plans in the subscription are likely on lower tiers, running intermittently, or already covered.
Reservation recommendations — calculation logic
Save costs with Azure App Service reserved instances
Hope this clarifies each of your questions. Please feel free to reach out if any point needs further explanation, happy to help.
If you found the comment helpful, please consider clicking "Upvote it".
Thanks,
Suchitra.