| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||
3 | https://www.prosperops.com | |||||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||||
5 | AWS Compute (EC2, Lambda, Fargate) Effective Savings Rate | |||||||||||||||||||||||||||
6 | ||||||||||||||||||||||||||||
7 | PLEASE MAKE A COPY OF THIS SHEET IN ORDER TO POPULATE | |||||||||||||||||||||||||||
8 | ||||||||||||||||||||||||||||
9 | Formula | |||||||||||||||||||||||||||
10 | ||||||||||||||||||||||||||||
11 | Effective Savings Rate (ESR) = What you saved / What you would have spent with no discounts | |||||||||||||||||||||||||||
12 | ||||||||||||||||||||||||||||
13 | This method measures the RI/SP Only ESR scope (see notes 1 and 3 below) | |||||||||||||||||||||||||||
14 | Learn more at https://effectivesavingsrate.com | |||||||||||||||||||||||||||
15 | ||||||||||||||||||||||||||||
16 | STEP 1: CONFIGURE TIME PERIOD OVER WHICH TO MEASURE ESR | |||||||||||||||||||||||||||
17 | ||||||||||||||||||||||||||||
18 | Time Period | |||||||||||||||||||||||||||
19 | ||||||||||||||||||||||||||||
20 | Start Date | 2025-06-01 | ||||||||||||||||||||||||||
21 | End Date ** | 2025-07-01 | ||||||||||||||||||||||||||
22 | ||||||||||||||||||||||||||||
23 | ** End Date is non-inclusive, i.e. data is pulled through 23:59:59 up to, but not including, the date specified | |||||||||||||||||||||||||||
24 | ||||||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||||
26 | STEP 2: EXECUTE THE FOLLOWING AWS CLI COMMANDS FROM THE AWS MANAGEMENT ACCOUNT | |||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||||
28 | AWS CLI Commands (Select your command line environment) | macOS, Linux, Unix | ||||||||||||||||||||||||||
29 | ||||||||||||||||||||||||||||
30 | aws ce get-savings-plans-utilization --time-period Start=2025-06-01,End=2025-07-01 --filter '{ "Dimensions": { "Key": "SAVINGS_PLANS_TYPE", "Values": [ "ComputeSavingsPlans", "EC2InstanceSavingsPlans" ] } }' --query 'Total.Savings.[{OnDemandCostOfSPHoursUsed: OnDemandCostEquivalent}, {NetSPSavings: NetSavings}]' | |||||||||||||||||||||||||||
31 | aws ce get-reservation-utilization --time-period Start=2025-06-01,End=2025-07-01 --filter '{ "Dimensions": { "Key": "SERVICE", "Values": [ "Amazon Elastic Compute Cloud - Compute" ] } }' --query 'Total.[{OnDemandCostOfRIHoursUsed: OnDemandCostOfRIHoursUsed}, {NetRISavings: NetRISavings}]' | |||||||||||||||||||||||||||
32 | aws ce get-savings-plans-coverage --time-period Start=2025-06-01,End=2025-07-01 --filter '{ "Dimensions": { "Key": "SERVICE", "Values": [ "Amazon Elastic Compute Cloud - Compute", "Amazon EC2 Container Service", "Amazon Elastic Container Service", "Amazon Elastic Container Service for Kubernetes", "AWS Lambda" ] } }' --query 'SavingsPlansCoverages[].Coverage.{OnDemandCost: OnDemandCost}' | |||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||||
35 | STEP 3: ENTER DATA AS SHOWN, USING THE VALUES GENERATED IN STEP 2 | |||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||||
37 | Calculations | Command → Value | ||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||||
39 | A. Savings Plan On-Demand Equivalent Spend (EC2, Fargate, Lambda) | $100.00 | get-savings-plan-utilization → OnDemandCostOfSPHoursUsed | |||||||||||||||||||||||||
40 | B. Reserved Instance On-Demand Equivalent Spend (EC2) | $100.00 | get-reservation-utilization → OnDemandCostOfRIHoursUsed | |||||||||||||||||||||||||
41 | C. On-Demand Spend (EC2, Fargate, Lambda) | $100.00 | get-savings-plan-coverage → OnDemandCost | |||||||||||||||||||||||||
42 | D. Compute On-Demand Equivalent Spend (A + B + C) | $300.00 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||||
44 | E. Savings from Compute related Savings Plans | $30.00 | get-savings-plan-utilization → NetSPSavings | |||||||||||||||||||||||||
45 | F. Savings from Compute related Reserved Instances | $30.00 | get-reservation-utilization → NetRISavings | |||||||||||||||||||||||||
46 | G. Compute RI & SP Savings (E + F) | $60.00 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||||
49 | STEP 4: ENTER COST TO ACHIEVE SAVINGS OUTCOME, IF ANY | |||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||||
51 | H. Cost to Achieve Savings (CMP, service, time, tooling, etc. cost) | |||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||||
54 | STEP 5: SEE YOUR EFFECTIVE SAVINGS RATE | |||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||||
56 | AWS Compute ESR (G - H) / D | 20.0% | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||||
58 | WARNING: Your Savings Plan blended discount exceeds 60%, which likely means your AWS private rate discounts are bundled with your Savings Plan discounts (see note 2 below). This will inflate your ESR so it should NOT be compared with other ESRs or published ProsperOps AWS Compute RI/SP Only ESR benchmarks. ProsperOps removes bundled Savings Plan private rate discounts from ESR calculations for our customers. If unbundling private rate savings isn't feasible, consider measuring your All Discounts ESR which is inclusive of spot savings, private rate savings, etc (see note 3 below). | |||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||||
60 | Notes | |||||||||||||||||||||||||||
61 | 1. This ESR calculation is scoped to AWS Discountable Compute (i.e., EC2, Fargate, and Lambda, exclusive of Spot) savings from Reserved Instances and Savings Plans. It does not measure additional discounts from EDPs and/or Private Pricing Agreements which would deliver incremental savings and a higher ESR. | |||||||||||||||||||||||||||
62 | 2. Learn more about Savings Plan bundling at https://www.prosperops.com/blog/savings-plan-bundling-a-change-to-the-aws-discount-model/ | |||||||||||||||||||||||||||
63 | 3. Learn more about RI/SP Only and All Discounts scopes at https://www.prosperops.com/blog/introducing-savings-scopes/ | |||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||||
65 | Last Updated: 2025-05-23 | |||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||||