FinOps: Monitor Effective Savings Rate Using CloudHealth FlexReports

5 Min Read

Effective Savings Rate, commonly referred to as ESR, is a metric that is quickly gaining popularity in the FinOps world. While utilization, coverage, and savings in dollars are all metrics that help you see the impact of your cloud cost commitment management efforts, individually they may fail to tell the right story.

The Effective Savings Rate (ESR) measures the return on investment for all tools and methods specific to (or across) different cloud providers. It is the one KPI that can be used to measure the true savings performance of different cloud cost saving tools and activities.

Whitepaper
Comparing AWS Tools for Cloud Cost Management and Optimization

Having high reservation coverage while the utilization is low or having a 100% utilization of reservations while at a 10% coverage level are not great recipes to achieve maximum savings. Given the varieties of tools and methods available today to reduce per unit cost and increase savings, it is hard to use traditional indicators like coverage or utilization individually to properly convey improvements in unit rate.

Also, if your architecture is multi-cloud (or trying to be), a generalized metric simplifies understanding costs better. If you have a central reservation management team, it can be especially hard to communicate the success of your efforts to a larger audience without getting into the details of public cloud vendor specific tools and metrics. According to your business goals, you may want to control how rate discounts are redistributed or allocated across different teams, products, or cost centers, in which case, ESR can help set context to how discounts are being distributed.

Monitor Your Effective Savings Rate Using CloudHealth FlexReports

We have identified four steps for how to track your ESR for AWS using CloudHealth FlexReports

Step 1: Create a FlexReport

Create a FlexReport with the dimensions and measures on the CloudHealth user interface as shown below. Click on “save and run report" and export the file.

effective savings rate in cloudhealth

As an alternative, You can leverage CloudHealth’s GraphQL API to programmatically create the FlexReport with the following sqlStatement:

{
  "sqlStatement": "SELECT timeInterval_Day AS Day, 
SUM(pricing_publicOnDemandCost) AS \"SUM(pricing_publicOnDemandCost)\", 
SUM(reservation_EffectiveCost) AS \"SUM(reservation_EffectiveCost)\", 
SUM(savingsPlan_SavingsPlanEffectiveCost) AS
\"SUM(savingsPlan_SavingsPlanEffectiveCost)\", 
bill_PayerAccountId AS Bill_PayerAccountId, product_ProductName 
AS Product_ProductName, lineItem_LineItemType AS LineItem_LineItemType
FROM AWS_CUR WHERE ((lineItem_LineItemType IN 
('SavingsPlanCoveredUsage')) OR (lineItem_LineItemType IN ('Usage')) 
OR (lineItem_LineItemType IN ('DiscountedUsage'))) 
GROUP BY timeInterval_Day, bill_PayerAccountId, product_ProductName, 
lineItem_LineItemType",
  "limit": 100,
  "needBackLinkingForTags": true,
  "dataGranularity": "DAILY",
  "timeRange": {
    "from": "2021-05-06",
    "to": "2021-07-05"
 }
}

Step 2: Calculate Total Effective Cost 

Next, calculate the total effective cost for a particular time period. In this example, we will calculate the effective cost per day by adding cost from AWS Savings Plans, reservations, and on-demand instances. The fields, savingsplan_savingsplaneffectivecost and reservation_effectivecost both reflect the cost from Savings Plans and reservations.

Note that it is important to consider effective costs and not recurring costs, since the upfront costs are important to include. Let's create a comparable column to reflect on-demand cost by using the following formula:

If 
(lineItem_LineItemType = ‘Usage’)
then 
(ondemand_cost = Pricing_publicOnDemandCost)
else
(ondemand_cost == 0)

Now that we have the three buckets of costs, let’s aggregate them to get a single variable of effective cost for a day.

Effective_cost = savingsplan_savingsplaneffectivecost 
+ reservation_effectivecost + ondemand_cost

Note: We assume a 100% utilization for savings tools for the scope of this blog. If you would like to calculate utilization per AWS service, you can use the following example step:

sum((reservation_totalreservedunits) – 
(reservation_unusedreservedunits))
/sum((reservation_totalreservedunits))

Step 3: Calculate Effective Savings Rate

With the calculated field of effective cost, let’s use the formula shown below to calculate the Effective Savings Rate. 

ESR = (1 – [Effective_cost/Pricing_publicOnDemandCost])

Note: This step should give you a number between zero and one. If you would like to consider utilization, multiply ESR with utilization (calculated in the previous step).

Step 4: Visualize Effective Savings Rate to Drive Visibility

The preceding steps should give you an aggregated view of your ESR per day. When we created the FlexReport in Step 1, we included fields “product_productname” and “bill_payeraccountid.” These fields can help provide a narrower view of ESR per product for different payers that you have. This could vary depending on your business goals.

For example, you may want to track ESR per account or you may want a single ESR value to reflect the savings rate across all public cloud providers. Your source data would differ based on these needs, but the process remains the same. 

Finally you can visualize your data in Excel, Business Intelligence (BI) tools, or a web front-end. At VMware, we visualize the following parameters using the Plotly library into a custom dashboard:

  1. X-axis – time period (day/month)
  2. Y-axis – ESR (numeric)
  3. Color – product_productname
  4. Repeat_by – bill_payeraccountid
  5. Filter – product_productname (Amazon Elastic Compute Cloud, Amazon Redshift, Amazon ElastiCache, Amazon Elasticsearch Service, Amazon Relational Database Service) 

Conclusion

CloudHealth FlexReports is a versatile feature that can truly help you achieve multi-cloud reporting with the flexibility that suits engineering and financial needs. Measuring and reporting the Effective Savings Rate has helped the VMware Cloud Business Office tell our cloud cost story better and with ease.

To learn more about how CloudHealth can help your organization optimize its cloud financial management practice, please reach out to our team directly. One of our experts will be happy to walk you through the platform and answer any questions you may have. We also recommend you check out the following resources dedicated to cloud cost management and optimization: 

[Blog] VMware Builds an Equitable Enterprise AWS Chargeback Model Using CloudHealth FlexReports

[Whitepaper] Building a Successful Cloud Financial Management Practice 

[Analyst Report] Forrester Wave: Cloud Cost Management and Optimization 

[Whitepaper] AWS Cost Optimization: Best Practices to Lower Your Cloud Bill

Image
Sanjna profile photo
Sanjna Srivatsa, Data Scientist, Cloud Business Office

Sanjna Srivatsa is a data scientist in the Cloud Business Office at VMware. In her current role, Sanjna focuses on implementing a data and user actionability-driven approach to public cloud cost optimization across VMware.

We Think You Might Like These: