Forecast cloud costs
Forecasting uses your historical data to predict what your future cloud spend will be. Accurate forecasting of cloud resource usage helps you align resource allocation to other FinOps capabilities and drives good business decisions.
- FinOps Foundation: Exploring Cloud Cost Forecasting.
DoiT forecasting
DoiT offers enhanced forecasting that is reliable and configurable. Our machine learning model incorporates diverse forecasting models to accommodate various types of time series data and allows forecasting at different granularity levels.
There are several advantages to forecasting cloud costs:
-
Cost optimization: By predicting future cloud usage, you can identify areas to optimize your cost. This could mean turning off unused resources, right-sizing instances, and other enhancements.
-
Improved budgeting: Accurate forecasting helps you create realistic budgets for cloud expenses and allocate resources effectively, avoiding unexpected cost overruns.
-
Better decision-making: Forecasting provides valuable data for you to make better decisions about cloud usage. For example, you can determine whether its more cost-effective to scale up your cloud resources or invest in on-premises infrastructure.
-
FinOps best practices: Cloud cost forecasting is a core principle of FinOps. By forecasting cloud costs, you make sure you're getting the most value out of your cloud investments.
Accuracy
We continuously refine our forecasting system's data processing and modeling capabilities to improve accuracy across all time intervals. Forecasting accuracy is mainly influenced by two factors:
-
Seasonality: At relevant time intervals, particularly hourly and daily, you can observe recurring cost fluctuations at different times of the day or week. When we detect such a pattern, we incorporate it into the forecast to improve accuracy.
-
Outlier handling: Time series can generally be decomposed into trend, seasonality — where relevant — and residuals. Outliers in the residual errors can influence forecasting in a way that's not representative of the series as a whole. We mitigate the effect of such outliers and better capture essential patterns in the data.
Time periods
When setting up a forecast in a Cloud Analytics report, be aware of the maximum number of supported periods.
Time period | Maximum historical periods for the forecast | Maximum forecast periods |
---|---|---|
Hourly | 1000 | 1000 |
Daily | 500 | 100 |
Weekly | 100 | 52 |
Monthly | 36 | 12 |
Quarterly | 12 | 4 |
Annual | 6 | 3 |
Granularity
DoiT forecasting supports two levels of granularity:
-
Total forecast: Provides an overall forecast without breaking down individual dimensions.
-
Forecast per grouping: Provides forecasts for each dimension included in the report's Group by configuration.
If your report is grouped by a large number of dimensions–say, more than a dozen–then the Total forecast option is recommended.
Choosing Forecast per grouping in such cases may result in an overcrowded report. This can be especially concerning for the last period in a report's specified Time Range. When the last period contains both historical data and forecasts, each dimension (grouping) will show two parts: the actual value so far (historical) and the forecast.
See the example below for the differences caused by the levels of granularity.
Example: Forecasting service costs
This example demonstrates how to:
-
Create a Cloud Analytics report to forecast the monthly spend of multiple services.
-
Change the forecast settings to see both the overall forecast and the breakdown by services.
To forecast service costs:
-
Create a new report in the DoiT console.
-
For the Time Range, select the last 4 month with the current month; for the Time Interval, select Month.
In reality, you can change these settings according to your business objectives, though you need to keep in mind the Forecasting time periods restrictions.
-
For the Group by option, select Service, and then filter services to include only those in which we're interested.
-
Select the plus icon next to Forecast to add a new forecast. This will open the Forecast settings dialog, where the suggested time intervals are auto-filled based on the Time Range and Time Interval of the report.
-
Select Apply to save the settings, and then run the report.
The sereenshot below shows the result using the Total forecast granularity. Moving your mouse over a column will reveal the relevant numbers.
-
To break down the forecast per service, select Forecast settings, change the granularity to Forecast per grouping, apply the change, and then run the report again.
Note that in the November column (the last period in the report's Time Range), each service has two segments, the actual and the forecast.