Need clarification regarding the recommendation logic, billing behavior, and validation process for Azure Compute Savings Plans and Azure App Service Reserved Instance recommendations.

RAKSHITHA BAI 0 Reputation points
2026-07-13T13:37:01.8833333+00:00

Need clarification on the below queries:

  1. How does Azure Advisor calculate the recommended hourly commitment for Azure Compute Savings Plans? Is it based on historical PAYG compute usage or discounted usage? Is there any official Microsoft documentation explaining the recommendation logic?
  2. How is the Savings Plan billed? If the recommended hourly commitment is purchased, is the committed amount billed every month, or is the final bill based on discounted compute consumption? How is the estimated savings reflected in the invoice? Please share any official billing example or documentation.
  3. A purchased Savings Plan shows 100% utilization. Is there a Microsoft-supported way to identify which Azure resources (VMs, AKS, App Service Plans, etc.) are consuming the Savings Plan benefit? Is there any portal view or report that shows the matched resources and the applied Savings Plan benefit?
  4. Can the Savings Plan recommendation be validated using Azure Cost Analysis? Which filters should be used, and should the compute cost in Cost Analysis match the recommended monthly commitment?
  5. Azure Advisor recommends 9 App Service Reserved Instances, while more App Service Plans exist in the subscription. How is the recommended reservation quantity calculated? Is there any official Microsoft documentation explaining this recommendation logic?
Azure Advisor
Azure Advisor

An Azure personalized recommendation engine that helps users follow best practices to optimize Azure deployments.

0 comments No comments

3 answers

Sort by: Most helpful
  1. Christos Panagiotidis 3,301 Reputation points
    2026-07-14T08:51:14.1033333+00:00

    Hi, treat recommendations as usage-based estimates, not purchase guarantees. Savings Plan recommendations analyze eligible compute spend over a lookback window and propose an hourly commitment; reservation recommendations use eligible SKU/region usage and scope. App Service reservations apply to supported App Service stamp/plan meter usage, not every charge shown under the web app. Validate by exporting cost details, grouping by meter/resource/region, and modeling the proposed commitment against a representative busy and quiet period. Purchases are billed for the commitment whether or not you fully use it, while benefit allocation follows the selected scope. Before buying, confirm the exact eligible meters and scope in Cost Management and have Billing support review any recommendation that cannot be reconciled to your usage.

    Was this answer helpful?

    0 comments No comments

  2. Alex Burlachenko 25,030 Reputation points MVP Volunteer Moderator
    2026-07-14T08:13:26.22+00:00

    hi RAKSHITHA BAI & thx for sharing urs issue here at Q&A portal,

    soooo... a lit bit of theory : ) Azure Advisor bases the Savings Plan recommendation on recent hourly PAYG usage and cost for eligible compute resources, normally using 7, 30, or 60-day lookback periods. Azure simulates different hourly commitments and highlights the one expected to produce the highest savings for the selected term and scope. It isn’t calculated from already discounted Savings Plan usage. A Savings Plan is a fixed hourly commitment for one or three years. That committed amount is charged whether u fully use it or not. Eligible compute usage consumes the benefit each hour at discounted rates, usage above the commitment is billed at PAYG rates, and unused hourly commitment doesn’t roll over.

    To identify which resources consumed the benefit, use Cost Management with the Amortized cost view. That allocates the Savings Plan cost to the resources that received the benefit and can expose unused commitment separately. The utilization percentage only tells u how much of the commitment was consumed, not by itself which resources consumed it.

    Cost Analysis can help validate the recommendation, but the total compute cost won’t necessarily equal the recommended monthly commitment. The recommendation is based on the hourly usage shape, not just monthly spend. Two subscriptions can spend the same amount monthly but have very different safe hourly commitments if one has steady usage and the other has spikes. For App Service reservations, Advisor looks at historical hourly usage and simulates reservation quantities to find the quantity expected to maximize savings. That’s why it may recommend 9 instances even though more App Service Plans exist. Only matching eligible instances, SKUs, regions, scopes, and sustained usage count toward the recommendation.

    I collect some docs for u, i hope it would be helpfull https://learn.microsoft.com/azure/cost-management-billing/savings-plan/purchase-recommendations & https://learn.microsoft.com/azure/cost-management-billing/savings-plan/choose-commitment-amount & https://learn.microsoft.com/azure/cost-management-billing/savings-plan/savings-plan-overview & https://learn.microsoft.com/azure/cost-management-billing/reservations/reserved-instance-purchase-recommendations & https://learn.microsoft.com/azure/cost-management-billing/reservations/prepay-app-service

    rgds,

    Alex

    &

    If my answer was helpful pls mark it and additional thx if u follow me at Q&A portal

    and at my blog https://ctrlaltdel.blog/

     

    Was this answer helpful?

    0 comments No comments

  3. Suchitra Suregaunkar 16,125 Reputation points Microsoft External Staff Moderator
    2026-07-13T15:35:05.53+00:00

    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.

    1. 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

    1. 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

    1. 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:

    1. Go to Cost Management + Billing → Cost analysis.
    2. Change the metric from Actual costAmortized cost.
    3. Add filter: Pricing model = SavingsPlan.
    4. Set Group by = Resource (or Subscription / Resource group).
    5. 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

    1. 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.

    1. 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.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.