Using the right tools for your cloud cost forecasting
We’re at the final blog of our forecasting series! If you’ve been following along the past few weeks, you have explored creating a process for more effective forecasting, establishing a forecasting culture, and building driver-based forecasting. It is now time to put pen to paper and create your forecast.
But where do you start? How do you know how much your workload will cost in the future? AWS has multiple options to help reduce the manual work required to create a forecast on your spend, each with their own advantages. In this blog, we’re going to review three options at your disposal to help automate the creation of your forecast:
- AWS Cost Explorer – the lightest weight solution for visualizing and forecasting your cost and usage. Cost Explorer can be accessed through the AWS Billing Console to provide quick and easy access to pre-made forecasts.
- Amazon QuickSight – a simple way to use machine learning (ML) to create a forecast. QuickSight is a cloud-native, serverless, business intelligence service that can help you create forecasts and visuals for any time series metrics, without any ML experience required.
- Amazon Forecast – the most customizable of the three. Forecast is a fully managed machine learning service that makes it easy to train a predictor and create a forecast using dozens of built-in algorithm types.
To help you decide which solution is right for your organization, we’ll provide an overview of the functionality, forecast viewing options, industry examples, pros and cons, and price point of each of these tools.
AWS Cost Explorer
Business/Product Owners, FinOps Practitioners, Engineers, and Operations
About AWS Cost Explorer
AWS Cost Explorer is an out-of-the-box solution and the simplest way to analyze your costs in AWS. Once enabled, you can view your account’s overall cost and usage data, and any linked accounts under your management account if in an AWS Organization. Additionally, you can filter and group by dozens of custom metrics to get a deeper understanding of your cloud environment.
Cost Explorer allows you to choose custom date ranges to analyze up to 12 months in the past, but you can also select dates up to 12 months in the future, to get forecasted ranges for your cost. These forecasts are based on your past usage with a prediction interval of 80% (i.e., likelihood that the estimate will fall in that range). Note that Cost Explorer will not provide a forecast if there is not enough data to create a forecast with an 80% prediction interval (this is common for accounts that have less than one full billing cycle).
How to view your forecast
To view your forecast in Cost Explorer, select any future date in your date filters. Depending on your date granularity (monthly, weekly, or hourly), Cost Explorer will present your forecasts in the chart type you are currently viewing. Below the chart, the raw data is listed so that you can download the results to a CSV for any additional manipulation or plotting that you require for data analysis or presentation.
Example of how this has been used
A large retail customer was consolidating multiple payer accounts into a single payer for easier management. The finance team wanted to get an estimate for what the total costs of the new merged account would look like for the next calendar year. They were able to quickly arrive at this number for each payer account by setting the date range to 12 months in the future, as seen in Figure 1 above. Once they had forecasts for each payer, it was easy to aggregate them into a single forecast with Cost Explorer’s native exporting feature.
AWS Cost Explorer pros
- Lightweight and simple to set up – no steps required once Cost Explorer is enabled
- Forecasts created automatically when selecting date ranges in the future
- Prediction interval of 80%
- Available in management account or linked account level
- Built in filters based on service, usage type, and time to form forecasts for individual services, accounts, tags, and more
AWS Cost Explorer cons
- If AWS doesn’t have enough data to forecast an 80% prediction interval, Cost Explorer will not provide a forecast
- No ability to change prediction interval to custom value
- If you use the consolidated billing feature in AWS Organizations, the forecasts are calculated with the data from all the accounts
- If you add a new member account to an organization, forecasts don’t include that new member account until the new spending patterns of the organization are analyzed
- Cannot view historical data beyond 12 months
- Cannot use permissions to allow access only to specific datasets
- Cannot use grouping to get multiple forecasts at once
Free (but must be enabled in AWS Billing Console)
Executives, Finance/Procurement, Business/Product Owners, FinOps Practitioners, Engineers, and Operations
About Amazon QuickSight
Amazon QuickSight is a fully managed Business Intelligence service that lets you create visualizations and dashboards to analyze and share your business-critical data. QuickSight allows you to connect data from many different data sources, including native connections to many of AWS’s different storage services, to provide real time analytics. You can use AWS Identity and Access Management, or roles created directly in the tool, to control permissions, scale your users easily, and ensure stakeholders only have access to the correct data sets. Fine grain access control is useful if you want to provide access to billing data for individual teams while ensuring they can’t see the costs of other workloads.
QuickSight can make forecasting easy for any time-series data, such as cost data, using built-in ML algorithms that require no ML expertise. QuickSight will handle prepping and cleansing data, as well as excluding anomalies to ensure your model is built on a useful data set. This user guide will walk you through how to enable forecasting in an analysis in QuickSight.
You can leverage the built-in forecasting functionality for any tools built on QuickSight, such as Cloud Intelligence Dashboards (CID), a part of the Cost Optimization section of the AWS Well Architected Labs. These are templatized dashboards that can be deployed into your environment using AWS CloudFormation. They use your AWS Cost and Usage Report (CUR) as the underlying data source to produce a number of visuals that can help you monitor your cost and usage. If you do not have any business intelligence on your billing data, and want to get started with forecasting, you can deploy this lab easily via a CloudFormation Template and get insights right away.
How to view your forecast
To view your forecast in QuickSight:
- Create a visual that uses a single date field and up to three measures (must be line chart or stacked area line chart).
- On the menu in the upper-right corner of the visual, choose the Menu options icon (the three dots).
- Then choose ‘Add forecast’.
QuickSight automatically analyzes the historical data using ML, and displays a graphical forecast for the next 14 periods (based on your existing time series period). You can make adjustments using the ‘Forecast Properties’ panel on the left-hand side to customize parameters such as forecast length, prediction interval, seasonality, and forecast boundaries.
Example of how this has been used
The FinOps team of a Media and Entertainment company is doing due diligence behind a proposal to move a current on-premises workload onto the cloud. They store a large amount of content for this workload, so storage cost is the key component to determining which solution will be best for them in the long run. With their existing workloads on AWS, they have been conducting large efforts to use different Amazon S3 tiers to take advantage of cheaper pricing. The FinOps team created a chart showing the unit cost of their storage, or the price per GB, of their AWS workloads. With QuickSight forecasting, they were able to estimate unit cost for the next 14 months if they continue to perform these optimization efforts, and create a business case to show the cost benefits of moving to AWS.
Amazon QuickSight pros
- Automatically integrates with any time series data (including billing data) in QuickSight
- Can customize forecast properties such as forecast length, prediction intervals, seasonality, and forecast boundaries
- Easily get pre-built cost forecasting visuals and metrics by deploying the CID from AWS Well-Architected Labs for forecasting on CUR data
- No ML experience required
- Create what-if analysis to update specific data points with target values or date
- Create custom metrics to build forecasts for any Key Performance Indicator (KPI)
- Set appropriate data access based on user permissions
Amazon QuickSight cons
- No what-if analysis for multiple-metric forecasts or dashboards. It can only be done with single metric data points inside of an analysis.
- Custom views need to be created for any changing metrics or granularity desired
- An QuickSight Author Enterprise license starts at $18 per month, with reader access at $0.30/session capped at $5/month
- Incremental costs associated with AWS Glue, Amazon Athena, and Amazon S3
- Estimated total cost for all dashboards together in a large AWS deployment is $100 per month
Data Analysts, Engineers, and Operations
About Amazon Forecast
Amazon Forecast is a fully managed, time-series forecasting service based on ML and is built for business metrics analysis. It allows for ML to be added to applications without dedicated data scientists to create and maintain models for historical data such as sales, web traffic, inventory numbers, cashflow, or in this case, billing data. Outlined in an AWS Machine Learning Blog Post, this solution uses AWS Glue DataBrew to transform CUR data into the appropriate dataset format, which Forecast can then ingest to train a predictor and create a forecast.
At a high level, the tasks involved in setting up this prediction pipeline include:
- Prepare the data
- Transform the data
- Prepare the model
- Validate the predictors
- Generate a forecast
Forecast returns P10, P50, and P90 as the default quantiles for lower, middle, and upper bounds of the Weighted Quantile Loss (wQL), respectively. For more information about predictor metrics, see Evaluating Predictor Accuracy.
How to view your forecast
Once you have followed the steps outlined in the blog post, you are able to explore your insights within the console of Forecast. You can then use your forecast to create what-if analysis, where you can identify the attributes impacting your forecasts to explain and explore different scenarios. The what-if analysis enables creation of multiple scenarios based on potential outcomes.
Example of how this has been used
The engineering team of a HiTech AWS customer was looking to optimize their spend on AWS by making a Compute Savings Plans (CSP) purchase. To maximize their savings, they wanted to be aggressive with their purchase, which required an in-depth understanding of their historical and forecasted compute usage. They created a filtered version of their CUR that included only Compute usage. Then, they used Forecast to predict their level of compute usage over the next year based on existing trends. This forecast allowed them to purchase a CSP at a level that has been fully utilized and is maximizing their savings.
Amazon Forecast pros
- Most flexible of all options to provide custom parameters and data sets
- Editable time series ML parameters to edit forecast
- Create forecast and analysis during any time window you require
- Built in auxiliary data sets, such as holidays and weather, to tie changes in usage to outside factors
Amazon Forecast cons
- Lengthy setup time
- Requires statistical and AWS Infrastructure knowledge to implement
- Requires retraining
The costs associated with this forecast are primarily associated with the model training. For an enterprise customer, you can expect this to be in the $10-$100 range for each time you train the model.
As you can see, AWS has multiple options to help you forecast your costs. AWS Cost Explorer provides the easiest way to get started forecasting costs out of the box with simple yet powerful filtering. Amazon QuickSight offers an easy way to use ML to make predictions on any time series data with minimal set up time and no ML experience required. While Amazon Forecast has the longest set up time, it offers you the greatest customization to fine tune your modeling for your business. Luckily, all of these options can be experimented with for little to no cost. We encourage you to try out all three to determine which best fits your needs.