Commitments Planning: RI and Savings Plans
Overview
Commitments Planning is the working area for Reserved Instances (RI) and Savings Plans (SP). It brings utilization, coverage, renewal timing, cashflow exposure and purchase recommendations into one page, so you can see what is expiring, what is wasted, and where a commitment would still save money.
In the Spotto Portal, open your company and go to Investigate -> Cost -> Commitments. The page shows one cloud account (Azure tenant) at a time.
Utilization and coverage
Two numbers answer different questions. Utilization asks whether you use what you paid for. Coverage asks whether your eligible usage is paid for at the committed rate.
How Spotto calculates them:
- Utilization comes from Azure's daily reservation summaries (used hours ÷ reserved hours) over the last 1, 7 and 30 days. The portal treats a commitment as underutilized when its 30-day utilization (or 7-day, if 30-day isn't available) is below 80%.
- Coverage is covered usage ÷ eligible usage. Spotto works it out per resource from billing records, and per commitment family (for example compute reservations) from covered and eligible cost.
- Observed covered cost is the amortized cost of usage that commitments covered in the period.
High utilization only means reserved hours were used by matching resources. A VM that runs all day at 5% CPU still uses 100% of its reserved hours, so check rightsizing recommendations before you renew.
What to do about each state
Turn the evidence into a decision
Select the labelled briefcase Business Value button beside Notes. The brief combines live inventory, utilization, modelled opportunity, currency/coverage quality, and renewal facts with a priority body of work.
Financial opportunity remains labelled as modelled; partial evidence and mixed currencies are not presented as one total. Generate tailors only the narrative for permitted users and saves it to the exact scope. Clear removes that saved narrative and immediately restores the standard Business Value content without deleting Customer Context or changing live facts. Regenerate when evidence changes. Above 100 subscriptions, the curated live brief remains available without tailoring.
Current position and priority work
Validate stable uncovered demand before approving purchase opportunities. Review underutilized and expiring commitments before renewal dates remove flexibility, and separate opportunities that first need usage optimization or stakeholder confirmation.
Business outcomes
Commitments convert predictable cloud demand into savings. The value is not the discount alone: it is making a risk-adjusted investment that preserves enough flexibility for migrations, growth, retirement, and architecture change.
Cost of delay
Stable uncovered demand can leave material savings unrealized. Conversely, underused or automatically renewed commitments can lock budget into capacity the customer no longer needs.
Decision required
Approve which actions to take now, which assumptions must be validated, and who owns renewal and utilization review.
Validate with stakeholders
When you can manage Company Notes, select any question in the portal to retain the answer in the relevant Customer Context note.
- Which workloads are stable enough to support a one- or three-year decision?
- What migrations, retirements, growth, or architecture changes are planned?
- How much flexibility are stakeholders willing to exchange for savings?
The page, tab by tab
Summary
The cards above the tabs show 7-Day Utilization, 30-Day Utilization, Observed Covered Cost, Buy Now Annual Savings (direct buy recommendations for current eligible shapes) and Unlock Annual Savings (net benefit after resizing or moving first, then committing).
Dashboard
Charts of when RIs come up for renewal and what they cost, the RI renewal schedule, renewal months that include underutilized RIs, and Savings Plan run rate and coverage. Savings Plan cards only appear for values Spotto has evidence for.
Inventory
One row per active commitment, grouped by Reserved instance and Savings plan: scope, status, expiry, 30-day utilization, size, coverage, covered cost and linked resources. Other views list all covered resources and summarize by region and SKU. Open a row for its details, including the Check Cancellation Quote card for reservations (Azure's read-only refund quote: refund amount, cancellation fee and net cancellation cost) and any suggested reservation moves.
Renewals
A review queue of commitments within 60 days of expiry (and recently expired ones). It opens with one renewal decision at a time. The decision card shows expiry timing, retail estimate, the annual cost increase if you don't renew, linked recommendations to work through first, and every affected resource available in the current evidence. Use Previous and Next, the left and right arrow keys while a decision navigation control has focus, or the queue beside the card to move between decisions. Select Show All Renewals for the searchable, filterable table, then Focus on one decision to return to the focused view.
Linked recommendations can be labelled Rightsizing before renewal, Modernization before renewal, Licensing before renewal or Location or scope change. A decision with No recommendations is a straightforward renewal. The queue isn't limited to compute reservations; it can include SQL reserved capacity and other commitment-backed services in the data. If resource attribution is incomplete, the card only lists resources supported by the available evidence.
Renewal Calendar
Upcoming renewals for the next 12 months grouped by month, so you can see where renewal cost concentrates. Cards show expiry date, renewal cost, utilization and coverage, recommendation count and planning hints such as renewing now, delaying, staging smaller purchases or changing the billing plan. When no renewal quote was collected, the card shows Not collected and offers Refresh quote.
Recommendations
Spotto Recommendations opens with one purchase opportunity at a time. Its card shows expected annual savings or net annual cost increase, pricing basis (Customer quote when Spotto has collected one, otherwise an Azure estimate), and all affected resources available in the current evidence. Open Review opportunity details for the proposed purchase, quote status and annual resource cost. Use Previous, Next or the queue to move between opportunities. Show All Opportunities opens the searchable, filterable table; Focus on one decision returns to the focused view. Resource attribution is labelled unavailable when Spotto has no resource-level evidence for an opportunity.
Azure Recommendations compares term scenarios with projected net savings; these are options, not realized savings. When no scenario data exists, the view says so rather than inventing a comparison.
From a resource
On Cloud Resources details, a Reserved Instance or Savings button appears when the resource is covered by a commitment. It opens Commitments in that resource's context.
Azure Hybrid Benefit is separate
Hybrid Benefit and commitments reduce different parts of the bill. Review Windows Server and SQL licensing in Azure Hybrid Benefit. Spotto doesn't add the two savings together.
Savings Plan recommendations
Savings Plans are hourly spend commitments. They are not reservation SKU or quantity quotes. When Spotto shows a Savings Plan recommendation, review:
- Hourly Commitment - the proposed commitment amount per hour and currency.
- Annualized Commitment - the hourly commitment projected over a year.
- Scope - whether the recommendation is scoped to shared, subscription, or resource-group usage.
- Lookback - the usage window used for the recommendation.
- Coverage and utilization - how much eligible usage the commitment is expected to cover and how fully the commitment is expected to be used.
- Wastage and overage - estimated unused commitment and usage that remains on pay-as-you-go rates.
- Price basis - whether the values come from negotiated customer pricing, retail fallback pricing, mixed evidence, or unknown pricing.
- Confidence and reasoning - the evidence supporting the recommendation and any uncertainty.
Azure can expose Savings Plan recommendations through Azure Advisor, the Azure portal purchase experience, and the Benefit Recommendations API. The surfaces do not have identical scope and lookback behavior:
| Surface | Scope and lookback notes |
|---|---|
| Azure Advisor | Subscription-scope recommendations with a 30-day lookback. |
| Azure portal purchase experience | Shared, subscription, and resource-group recommendations with a 30-day lookback. |
| Benefit Recommendations API | Shared, subscription, and resource-group recommendations with 7-, 30-, and 60-day lookbacks. |
Spotto labels missing recommendation fields as unavailable instead of showing a zero when the source did not provide enough evidence.
Azure recommendation savings and scenario costs describe the selected observation window. Spotto preserves those provider values and only shows an annual or term projection when the response includes a usable totalHours denominator. The projection assumes the observed hourly economics continue for the modeled horizon; it is not a provider-reported annual total or realized savings guarantee. Azure's total scenario cost after a reservation is not presented as the reservation purchase price.
Savings Plan utilization uses provider utilization when available or amortized used-versus-unused commitment cost. Zero-cost ActualCost rows can identify covered resources, but they do not prove paid commitment utilization. Coverage percentages include only verified eligible cost; ineligible and unknown-attribution amounts are shown as data-quality context outside the denominator. Current coverage and proposed what-if coverage are separate scenarios.
Buying a Savings Plan
Spotto shows the recommended hourly commitment, term, affected resources, and available planning evidence. Review the opportunity with your team, then have someone with purchase rights confirm the current price and terms in Azure before buying. Spotto does not submit a purchase request or execute an Azure Savings Plan purchase from this page.
Microsoft reference:
- Savings plan recommendations
- Choose a savings plan commitment amount
- Benefit Recommendations API
- View savings plan utilization after purchase
- View savings plan cost and usage details
- Download your savings plan price sheet
Technical reference
| Component | Details |
|---|---|
| Inputs | Azure commitment and billing coverage datasets, resource-to-benefit linkage data, renewal timing, recommendation artifacts, and quote or pricing-estimate data when available. |
| Outputs | Dashboard cards, inventory rows, renewal queue rows, monthly renewal calendar groupings, recommendation models, and optional term strategy scenarios. |
| Defaults | Utilization focuses on 7-day and 30-day windows. Renewal views prioritize upcoming expiries and show recommendation context only when the current artifact includes it. Savings Plan recommendation filters support the lookback and term evidence available in the current artifact. |
How it differs from other Spotto pages
Commitments Planning is different from the standard Recommendations and Cloud Resources pages:
- It is organised around commitment decisions, not just resources.
- It combines expiry timing, renewal review, and purchase planning in one workflow.
- It can show quote-specific pricing context, which may differ from generic estimated savings views.
- It keeps renewal review and recommendation review together so you can see the cost of renewing before you decide whether to modernize first.
How it works
Spotto builds the page from commitment inventory, billing coverage, recommendation and quote data collected during subscription processing, so sections appear only when their data exists:
- Inventory can be present before any renewal falls inside the review window.
- Recommendation pricing uses a Customer quote when Spotto has collected one, or an Azure pricing estimate when it has not. Purchase quotes come from Azure's price calculation and refund quotes from Azure's refund calculation; neither changes the commitment.
- Monetary totals are hidden rather than combined when subscriptions use different currencies.
- Renewal rows can exist with 0 recommendations if the current renewal does not need extra investigation.
- Savings Plan recommendation pricing can use Negotiated price when customer price evidence is available, Retail price when only retail fallback evidence is available, Mixed price when evidence comes from multiple bases, or Unknown price when no reliable basis was collected.
- Renewal Calendar cards can offer quote refresh actions if pricing was not collected during the earlier processing cycle.
Why commitment data can be missing
When Commitments shows no RI/SP data or reservation quote actions are unavailable, the common causes are:
- There are no active Reserved Instances or Savings Plans in scope.
- The Spotto cloud account is missing the provider-scope permissions for commitment data or quotes.
Confirm Reservations Reader and Reservations Contributor are assigned at /providers/Microsoft.Capacity, and Savings plan Reader at /providers/Microsoft.BillingBenefits. Reservations Reader is needed to discover reservation orders and details; Reservations Contributor is needed so Spotto can calculate and refresh reservation quotes. See Azure Cloud Account Setup.
Savings Plan recommendations and utilization also depend on Cost Management billing access for the relevant subscription or billing scope. If shared-scope recommendations are expected, the billing scope must be visible to the Spotto cloud account; otherwise, Spotto can only show the lower-scope evidence it can read.
Microsoft notes that initial Savings Plan utilization can take up to 48 hours to appear after purchase, and later usage data can still lag by several hours. Recent purchase timing also matters: recommendation systems need time to reflect new reservations or Savings Plans, and Microsoft recommends waiting at least 7 days before buying the other commitment type for the same eligible usage.
Troubleshooting
The page shows "No Reserved Instance or Savings Plan data yet"
Likely causes: no active RI/SP commitments in the selected cloud account, or missing Reservations Reader, Reservations Contributor or Savings plan Reader at the required provider scopes.
How to fix:
- Confirm the selected cloud account has active commitments.
- Review permissions in Azure Cloud Account Setup.
- Re-run sync and refresh the page after RBAC propagation.
Utilization shows N/A
Likely causes: utilization for that window hasn't been collected yet, or sync is recent or still running.
How to fix: check the cloud account sync status, wait for the next sync cycle and refresh.
The Renewal Calendar shows "Not collected"
Likely cause: the renewal quote wasn't available during the last processing cycle.
How to fix: use Refresh quote on the card, wait for it to complete, then refresh the page.
The Recommendations tab has fewer rows than expected
Likely causes: there are no purchase opportunities in the latest data, quote or recommendation inputs are still processing, or filters exclude the workloads.
How to fix:
- Clear filters and confirm the right cloud account is selected.
- Re-check after the next processing cycle.
- Check Renewals: the work may appear as a renewal review rather than a new purchase.
A Savings Plan recommendation is incomplete
What you're seeing: A Savings Plan opportunity is visible, but some commitment details or planning evidence are missing. Likely causes:
- Azure did not provide a term, hourly commitment, currency, observation hours, or a usable price basis for the recommendation.
- Recommendation evidence is incomplete, has low confidence, or is affected by recent or overlapping RI and Savings Plan activity.
- The recommendation scope is not enabled by company policy, or billing scope cannot be verified.
How to fix:
- Review any blocker shown with the opportunity.
- Confirm Cost Management and Savings Plan permissions are assigned for the relevant scope.
- Re-run sync after permissions or billing-scope access changes, then verify the current price and terms in Azure before buying.
Savings Plan values look stale after a recent purchase
What you're seeing: Savings Plan recommendations or utilization do not immediately reflect a recent Savings Plan or reservation purchase. Likely cause: Azure recommendation and utilization systems update on a delay. Advisor and portal recommendations can take several days to reflect recent purchases, and recommendation updates for other scopes can take longer. How to use it:
- Avoid using Spotto or Azure recommendations to buy overlapping reservations and Savings Plans for the same usage immediately after a purchase.
- Wait for the next sync after Azure has refreshed utilization and recommendation data.
- Treat recommendation rows with stale or missing evidence as review inputs, not purchase instructions.
Azure Recommendations has no scenarios
Likely cause: no Azure recommendation scenarios exist for the current subscriptions and filters.
How to fix: clear the Azure Recommendations filters, confirm recommendation inputs are syncing, and re-check after the next processing cycle.
Looking to enhance your cloud setup for cost efficiency, performance, reliability, or security?
Talk to a cloud specialist. Email us or schedule a 30-minute consultation and let's optimize your cloud environment together.
Book a Free Consultation