An AWS Savings Plan is a commitment to spend a fixed amount in US dollars on compute every hour for one or three years; in return AWS bills the matching usage at the Savings Plans rate instead of the on-demand rate, automatically. The commitment is charged every hour whether usage exists or not, and an hour not filled is lost. For the bill that means Savings Plans lower the price of the base load, and their value rests on usage filling the commitment in every hour of the term.

How it works

AWS's Savings Plans documentation names four types. Compute Savings Plans apply to EC2 usage regardless of instance family, size, region, operating system and tenancy, and to Fargate and Lambda as well; AWS states up to 66% off on-demand for them. EC2 Instance Savings Plans bind the commitment to one instance family in one region, say m5 in Frankfurt, and apply there regardless of size, operating system and tenancy; AWS states up to 72%. SageMaker AI Savings Plans cover SageMaker instance usage regardless of family, size, region and component, up to 64%. Database Savings Plans, on the same page, apply to Aurora, RDS, DynamoDB, ElastiCache, DocumentDB, Timestream, Neptune, Keyspaces, DMS and OpenSearch Service, for the latest provisioned instance generations and serverless usage, up to 35%. The page on eligible services still lists three types; the recommendation API already accepts the database type. Anyone planning a database commitment checks the current state of the documentation.

Term and payment follow Reserved Instances: one year (365 days) or three years (1,095 days), paid All Upfront, Partial Upfront or No Upfront, except for Database Savings Plans, which AWS offers with a one-year term and no upfront payment only. The rates a plan applies to usage stay the same across the term and do not depend on the size of the commitment. Spot usage, usage covered by Reserved Instances, the regional fee for dedicated instances and the EKS control plane charge are excluded; the EC2 instances under EKS, ECS and EMR are included. A Savings Plan reserves no capacity.

AWS applies plans in a fixed order every hour. Reserved Instances apply first, then Savings Plans, EC2 Instance plans before Compute plans because the latter apply more broadly. Within a plan the commitment goes to the usage with the highest discount percentage first, on a tie to the usage with the lower Savings Plans rate, until the commitment is exhausted; the rest pays on-demand. In an organization the plan applies to the purchasing account first and then, if the management account has turned on discount sharing, to the other accounts.

Cost Explorer recommends a commitment from the on-demand usage of the last 7, 30 or 60 days, per plan type, term and payment option, for the organization or for individual member accounts. The recommended size is the amount at the Savings Plans rate, not the on-demand spend. A purchase can be queued up to three years ahead, to the second, and deleted until its start date; fees begin with the start. After that the terms are fixed: a plan can be neither modified, exchanged nor cancelled. The one exception is returning a plan with an hourly commitment of USD 100 or less within seven days of purchase in the same calendar month, subject to a quota.

What it means for your cost

In the Cost and Usage Report a Savings Plan produces four line item types. SavingsPlanUpfrontFee is the one-time upfront payment for All and Partial Upfront in the purchase month. SavingsPlanRecurringFee is the running commitment, charged hourly rather than monthly as with Reserved Instances, from the purchase on and for every hour after; for All Upfront this line shows the unused part of the commitment. SavingsPlanCoveredUsage is the covered usage, with the on-demand amount as unblended cost and the actual rate in the SavingsPlanRate and SavingsPlanEffectiveCost columns. SavingsPlanNegation cancels that on-demand amount again, grouped per hour by plan, operation, usage type and availability zone, so one negation may stand against several covered lines. Usage above the commitment stays an ordinary Usage line. The savings plan columns carry the ARN, type, payment option, term, the used commitment and the amortised upfront commitment of the period. Which export to choose for this is the subject of AWS CUR 2.0 or FOCUS 1.2.

The unblended view therefore shows the upfront fee in the purchase month, the fee every hour, and at the instances a pair of on-demand amount and negation. Amortized cost spreads the upfront fee across the term and prices every covered hour at its effective cost, the share of the commitment that falls on it. Only that view is fit for charging a cost centre or comparing with on-demand.

Utilisation is the share of the commitment that usage at Savings Plans rates has filled: at a commitment of USD 10 per hour and USD 9.80 of covered usage it is 98% for that hour. Coverage is the share of eligible usage cost that ran under a plan. Both reports are available per plan from the Cost Explorer inventory, AWS Budgets can watch targets for them, and expiry alerts go out 1, 7, 30 or 60 days before the term ends.

Where it goes wrong

  • Committing to the peak hour: every hour counts on its own, and an unfilled commitment is lost. Covering the strongest hour of the day pays, in every other hour, for capacity nobody uses.
  • Sizing on a month with a one-off: a 30-day lookback that contained a migration or a load test yields a recommendation that is too high; the 60-day view smooths it but does not remove the cause.
  • Expecting coverage of other services: Compute and EC2 Instance plans apply to EC2, Fargate and Lambda, not to RDS, DynamoDB or other databases. For those AWS documents a separate database type, inconsistently across its pages.
  • An EC2 Instance plan before the family is settled: the higher discount binds the commitment to one family in one region. A later move from m5 to m7g leaves the plan unused, with no exchange and no cancellation.
  • Utilisation reports ignored: falling utilisation shows in the export as a growing share of SavingsPlanRecurringFee with no covered usage. Without a target and a budget it is first noticed on the invoice.
  • Two commitments on the same usage: Reserved Instances apply before Savings Plans. A plan sized on usage an RI already covers stays unused for that part.

Against Reserved Instances, the discount of a Compute Savings Plan matches a Convertible RI and that of an EC2 Instance Savings Plan a Standard RI, up to 66% and up to 72% respectively. The plan follows changes of family, size, region and operating system without an exchange, reserves no capacity in return, and cannot be sold on the marketplace.

Sources

Read on 2026-10-15. AWS What are Savings Plans?, Savings Plans types, Savings Plans FAQs, Services eligible for Savings Plans, how Savings Plans apply to your usage, Compute Savings Plans and Reserved Instances, Understanding your recommendations, queuing a Savings Plan purchase, returning a purchased Savings Plan, Savings Plans in the Cost and Usage Report, Savings Plans columns, monitoring your Savings Plans, Using the utilization report, Using the coverage report, Savings Plans User Guide (PDF), GetSavingsPlansPurchaseRecommendation.