Commitments Planning: RI and Savings Plans
Overview
Spotto Commitments Planning is the working area for Reserved Instances (RI) and Savings Plans (SP) strategy. It combines inventory, utilization, renewal timing, cashflow exposure, and commitment purchase recommendations so you can answer the questions that usually turn into spreadsheet work:
- What is expiring next?
- Which renewals need review before we buy again?
- Where is there still savings to unlock?
- What will this cost if we renew now, delay, or change the commitment shape?
The page is designed for practical review. You can move from a high-level dashboard into renewal rows, monthly renewal groupings, and recommendation details without switching tools.
Why use this?
Without a dedicated commitments view, teams usually piece this together from Azure billing exports, reservation pages, purchase quotes, recommendation lists, and ad-hoc notes. That works, but it is slower, harder to explain, and easy to get wrong when multiple renewals are approaching at the same time.
Commitments Planning gives you:
- A consistent 7-day and 30-day utilization signal for active commitments.
- A single inventory view for coverage, covered cost, scope, expiry, and linked resources.
- A Renewals workflow that shows which commitments should be reviewed before renewal.
- A Renewal Calendar that groups upcoming renewals by month so cashflow and utilization risk are easier to spot.
- A Recommendations view for buy-now and unlock-savings opportunities, including quote context when available.
- Savings Plan request preparation that creates a handoff record for review without buying anything in Azure.
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?
Key capabilities
Where to find it
In the Spotto Portal, open your company and navigate to Investigate -> Analyze -> Commitments.
Dashboard
Summary cards at the top of the page show:
- 7-day utilization
- 30-day utilization
- Covered cost for the current period
- Buy-now annual savings
- Unlock annual savings
- Upcoming RI renewals
- Underutilized renewals
The dashboard is meant to answer the first-pass review questions quickly. It highlights upcoming renewal cost, monthly run-rate exposure, and which renewal months need extra review because utilization or recommendation signals are weak.
Inventory
The inventory table helps you inspect each active commitment with:
- Commitment metadata (scope, status, expiry)
- 30-day utilization
- Commitment size and units
- Coverage percentage and covered cost
- Linked resources
Rows are grouped by commitment type (Reserved instance vs Savings plan) so you can scan quickly without repeating labels in every row.
Renewals
The Renewals tab is a review queue for commitments that are approaching expiry. Each row shows the commitment, expiry timing, and whether there are linked recommendations that should be worked through before you renew.
You can use it to:
- Identify renewals with No linked recommendations so they can be treated as straightforward renewals.
- Flag renewals marked Review before renewal when modernization, rightsizing, licensing, location, or other recommendation signals exist.
- Open a renewal detail dialog to inspect the resources and recommendations to review before making a renewal decision.
This view is not limited to compute reservations. It can include other commitment families, such as SQL reserved capacity and other Azure commitment-backed services supported by the current data set.
Renewal Calendar
The Renewal Calendar groups upcoming renewals by month so you can review concentration risk instead of scanning one row at a time.
Each calendar card can show:
- Expiry date
- Renewal cost
- Utilization and coverage context
- Recommendation count
- Planning scenario hints such as renewing now, delaying, staging smaller purchases, or switching payment shape
If Spotto does not yet have a collected renewal quote, the card can show that the value was Not collected and let you refresh the quote.
Recommendations
The Recommendations tab surfaces commitment purchase opportunities tied to the current commitment strategy view. These are planning recommendations, not a generic recommendation list copied from elsewhere in the portal.
Depending on the scenario, the table can show:
- Buy-now and unlock-savings opportunities
- Savings Plan hourly commitment recommendations
- Expected annual savings
- Net annual cost increase where applicable
- Pricing basis, including Customer quote, Negotiated price, Retail price, Mixed price, or Unknown price
- Lookback window, term, scope, coverage, utilization, overage, wastage, and option class when Savings Plan evidence is available
- Confidence and supporting reasoning
You can open recommendation details to review the proposed purchase, quote status, annual resource cost, and why Spotto is recommending the change.
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.
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.
Savings Plan request handoff
Spotto v1 does not execute Azure Savings Plan purchases. The Prepare Purchase Request action creates a request handoff artifact for review. Missing required fields, unsupported scopes, policy blockers, or incomplete billing context disable the request action until the blocker is resolved.
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
Azure recommendation scenarios
Within Recommendations, use Azure Recommendations to review term scenarios with projected net savings and recommendation markers. These are recommendation options, not realized savings from active commitments.
If no scenario data exists, the view shows an empty-state message rather than inventing a comparison.
Jump from resources into commitments context
On Cloud Resources details, Spotto shows a Reserved Instance or Savings button when the selected resource is tied to commitment coverage. Selecting it opens Commitments with the relevant subscription context.
Review Azure Hybrid Benefit separately
Azure Hybrid Benefit and Azure commitments reduce different parts of the bill. Use Azure Hybrid Benefit to review Windows Server and SQL licensing opportunities, then return to Commitments Planning for Reserved Instance and Savings Plan decisions. Spotto does not add these savings together in the browser.
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, billing, recommendation, and quote inputs collected during subscription processing. That means some sections can appear or disappear depending on what data exists for the selected subscriptions.
In practice:
- Inventory can be present even when no renewal review data exists yet.
- Renewal rows can exist with 0 recommendations if the current renewal does not need extra investigation.
- Recommendation pricing can use a Customer quote when Spotto has collected one, or a broader Azure pricing estimate when it has not.
- 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 management 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 required provider-scope permissions for commitment data or reservation quote workflows.
For Azure onboarding and permission setup, use the Cloud Account guide:
Specifically, confirm Reservations Reader and Reservations Contributor are assigned at /providers/Microsoft.Capacity, and Savings plan Reader is assigned at /providers/Microsoft.BillingBenefits.
Reservations Contributor is required so Spotto can calculate and refresh reservation quote workflows. Reservations Reader is still required for reservation order and reservation detail discovery.
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"
What you're seeing: Commitments renders an empty-state card with a mascot and no inventory rows.
Likely causes:
- No active RI/SP commitments in the selected subscriptions.
- Missing Reservations Reader, Reservations Contributor, or Savings plan Reader at the required provider scopes.
How to fix:
- Confirm the subscription selection includes accounts with active commitments.
- Review cloud account setup and permission assignments in Azure Cloud Account Setup.
- Re-run sync and refresh the page after RBAC propagation.
Utilization shows N/A
What you're seeing: Utilization cards or rows show N/A and low/zero "with utilization data" counts.
Likely causes:
- Utilization data has not been populated for the selected window yet.
- Sync is recent or still in progress.
How to fix:
- Check the cloud account sync status in the Portal.
- Wait for the next sync cycle and refresh.
- Confirm you are filtering to subscriptions that have active commitments.
A renewal shows "No linked recommendations"
What you're seeing: A renewal row appears, but the recommendation count is 0 and the row says No linked recommendations.
Likely cause: Spotto found the renewal, but there are no modernization or optimization actions attached to that renewal in the current data set.
How to use it:
- Treat the row as a simpler renewal review rather than a missing-data problem.
- Open the renewal details if you still want to confirm linked resources before renewing.
- Re-check after the next processing cycle if you expect recommendation data to be added later.
The Renewal Calendar shows "Not collected" for quote cost
What you're seeing: A renewal card has no collected quote value yet.
Likely cause: The renewal quote was not available during the earlier processing cycle.
How to fix:
- Use the quote refresh action from the calendar card if it is available.
- Wait for the quote workflow to complete.
- Refresh the page to check for an updated quoted value.
The Recommendations tab has fewer rows than expected
What you're seeing: Commitments inventory and renewals are present, but the Recommendations tab is sparse or empty.
Likely causes:
- The current subscriptions do not have commitment purchase opportunities in the latest artifact.
- Quote or recommendation inputs are still processing.
- Filters or subscription scope are excluding the affected workloads.
How to fix:
- Clear filters and confirm the right subscription scope is selected.
- Re-check after the next processing cycle.
- Compare against renewal rows to see whether the work is showing up as a renewal review rather than a new purchase recommendation.
A Savings Plan request button is disabled
What you're seeing: A Savings Plan recommendation is visible, but Prepare Purchase Request is disabled. Likely causes:
- The recommendation is missing term, hourly commitment, currency, source recommendation identity, observation hours, or a verified price basis.
- The recommendation was produced by an older calculation version, has low confidence, or is blocked by recent/overlapping RI and Savings Plan activity.
- The recommendation scope is not enabled by policy.
- Billing scope or subscription context could not be trusted for request handoff.
How to fix:
- Review the blocker message shown in the recommendation detail panel.
- Confirm Cost Management and Savings Plan permissions are assigned for the relevant scope.
- Re-run sync after permissions or billing-scope access changes.
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
What you're seeing: Recommendations -> Azure Recommendations has no term scenarios. Likely cause: No Azure recommendation scenarios are available for the current subscriptions and filters. How to fix:
- Clear the Azure Recommendations filters and review again.
- Validate recommendation inputs are syncing for those subscriptions.
- 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