Commitments: Savings Plans, Reserved Instances, Azure Reservations and GCP CUDs
Commitments
Section titled “Commitments”The Commitments page answers four questions about the discounts you have already bought: what you own, how well it is used, when it ends, and what to buy next.
It covers AWS Savings Plans and Reserved Instances, Azure reservations and Azure savings plans, and GCP committed use discounts (CUDs).
Coverage and utilization are different things
Section titled “Coverage and utilization are different things”These two numbers get confused constantly, and they fail in opposite directions.
| Metric | Question it answers | What a bad number means |
|---|---|---|
| Coverage | How much of my eligible usage is running at a discounted rate? | Low coverage means you are paying on demand for steady workloads. Buy more. |
| Utilization | How much of what I committed to am I actually using? | Low utilization means you are paying for a commitment you are not consuming. You bought too much, or the workload moved. |
You want both high. High coverage with low utilization means you over committed. Low coverage with high utilization means you under committed and have room to buy more.
Utilization is cost weighted, not an average of percentages. A 100 unit commitment at 50 percent and a 1 unit commitment at 100 percent scores 50.5 percent, not 75 percent, because the big commitment dominates the money at stake.
The page targets 80 percent utilization, shown as a dashed line on the chart and as the colour threshold in the tables.
What the page shows
Section titled “What the page shows”Pick a range of 30, 60 or 90 days.
Stat cards
- Coverage, the share of eligible usage covered over the range
- Utilization, against the 80 percent target
- Effective savings rate, the share of your on demand bill saved
- Unused commitment, money committed but not consumed
- Expiring soon, counts in the next 30 and 90 days
Utilization chart stacks used against unused per day, with the 80 percent reference line.
Inventory has tabs for Active, Expiring in 90 days and All, with columns for commitment, term, scope, monthly cost, utilization over 30 days, and end date.
Purchase recommendations has tabs for All terms, 1 year and 3 years, with columns for option, term and payment, upfront, monthly commitment, monthly savings and break even.
Options for the same usage are alternatives. Pick one per row group rather than adding them up, or you will double count the savings.
Break even shows Immediate when an option has no upfront payment, because there is nothing to pay back.
Provider support
Section titled “Provider support”Not every capability exists for every provider, and the gaps matter when you plan.
| Capability | AWS | Azure | GCP |
|---|---|---|---|
| Inventory | Yes | Yes | Yes |
| Coverage | Yes | Yes | Yes |
| Daily utilization | Yes, exact | Estimated | Estimated |
| Purchase recommendations | Yes | No | Yes |
Azure and GCP utilization is estimated. Azure reports reservation hours and GCP reports committed use credits per region, so Xplorr derives cost from the commitment price rather than reading it directly. The page shows a disclaimer when any estimated figure is in view.
Azure has no purchase recommendations here. Azure Advisor reservation advice is collected by the normal sync and appears on the Recommendations page instead.
Permissions
Section titled “Permissions”Commitment data needs a few permissions beyond the basic cost connection. The page lists them per provider when it has no data yet.
AWS
ce:GetSavingsPlans*ce:GetReservation*savingsplans:DescribeSavingsPlansec2:DescribeReservedInstancesrds:DescribeReservedDBInstanceselasticache:DescribeReservedCacheNodesAzure: Reservations Reader, Savings plan Reader, and Cost Management Reader.
GCP: Compute Viewer, Recommender Viewer, and read access to the billing export.
When data refreshes
Section titled “When data refreshes”The commitment sync runs daily at 03:30 UTC, after the cost sync.
- The first run backfills 30 days of utilization history.
- Later runs refetch the last 3 days, because providers keep revising recent days.
- Purchase recommendations refresh on a 7 day cycle.
Admins can click Sync now. Only one commitment sync runs at a time, so if another is already in progress you will be told to wait rather than starting a second.
Azure savings plan history builds up day by day rather than backfilling, so a newly connected Azure account fills its chart gradually.
Expiry tracking
Section titled “Expiry tracking”Commitments are graded by how close they are to ending:
| Window | Status |
|---|---|
| Already past the end date | Expired |
| 7 days or fewer | Critical |
| 8 to 30 days | Warning |
| 31 to 90 days | Notice |
| More than 90 days | No badge |
A commitment with no end date on record shows No end date.
An expiry is not a small event. When a reservation lapses, that usage reverts to on demand pricing the same day, which shows up as a step change in your bill rather than a gradual drift.
Alerts
Section titled “Alerts”Two commitment alerts are raised automatically and appear with your other alerts.
Expiring: fires 30 days out and again 7 days out. The 7 day alert is high severity.
Low utilization: fires when a commitment averages below 80 percent over the last 7 days, and needs at least 3 days of data before it will fire at all. Below 50 percent it is high severity.
Each alert is raised once per commitment per month, so resolving one does not bring it back the next day, and an unresolved expiry re-raises the following month.
Troubleshooting
Section titled “Troubleshooting”“No commitment data yet”
The sync has not run since you connected the account, or the permissions above are missing. The sync runs daily at 03:30 UTC. Admins can force it with Sync now.
Utilization looks wrong for Azure or GCP
It is estimated for those providers. Compare the trend rather than the exact figure, and use AWS numbers when you need precision.
A commitment is missing from the inventory
Some AWS reservation types are reconstructed from Cost Explorer rather than read from a direct API. If a commitment exists in your provider console but not here, check that the matching Describe permission is granted.
Recommendations disappeared after a sync
They do not. Stale recommendations are only cleared after a complete refresh, so a partial provider failure leaves the previous set in place.
Coverage is high but the bill did not fall
Check utilization. Coverage counts usage running under a commitment; it says nothing about whether you are using everything you committed to.
Can I buy a commitment from Xplorr? No. Xplorr is read only. It tells you what to buy and what it would save; you make the purchase in your provider console.
Why do recommendations show several options for the same workload? They are alternatives at different terms and payment options. Choose one per group.
Does the 80 percent target apply to everyone? It is the default target on the page. Steady production workloads can justify higher; bursty ones often should not be committed at all.
How does this differ from the Savings Coverage page? Savings Coverage focuses on the on demand against committed split of your compute spend. This page focuses on the commitment contracts themselves, their utilization and their expiry.
Related guides
Section titled “Related guides”- Savings Coverage for the coverage gap view
- Recommendations where Azure reservation advice appears
- Anomaly Detection for how alerts reach you