Nov 17, 2024

#10. Forecasting: Where to start?

By far, one of the most annoying tasks in FinOps, Forecasting. Where to start?

I often searched the FinOps community and documentation about forecasting and read articles that give good details on what forecasting should look like. However, I couldn't find a clear runbook or simple steps to follow for achieving an accurate forecast. So, I'm sharing with you some of my experiences implementing this with different customers.

TL;DR

  • Choose your forecasting strategy based on the required granularity and precision.
  • Forecasts should be driven by business demands, not just statistical cloud records and data.
  • Improving forecasts can only be achieved iteratively by consistently applying the right process.

How to Forecast?

Let's start with the obvious question: Where to forecast?

While I don't have finance or business degrees to dictate which strategy works best for companies, there's a general rule of thumb: the more granular the forecast, the more accurate it will be, but it will also require more effort. Depending on the forecasting KPI we set, we can determine the starting point. This can range from a top-down approach—forecasting the total cloud spend from a business unit perspective—to going down the layers (e.g., team or application layers) to refine the granularity.

Generally, I recommend starting to forecast needs at a team or application level. These groups have the best insight into business demands and are therefore more capable of accurately forecasting cloud needs.

Forecast Business Demands

Forecasts should be based on business needs. Business owners should project their demands (e.g., 3% customer base increase next month). A "middle-out" or "bottom-up" approach is recommended.

Two options for cost calculation:

  1. Use cloud resource costs to reflect anticipated demand. This means using a simple cloud calculator to forecast service demand. Start by listing the top services used (e.g., compute or storage).
  2. Multiply business unit demand by current cost unit for a realistic estimate. If you've calculated the unit cost of cloud services (unit economics), multiply it by the expected demand. For example, if the cost of a user subscription in the cloud is $0.30, and you anticipate 1,000 new users in the following quarter, this should increase the forecast by $300.

Tweak the Precision of the Forecast Iteratively

It's highly unlikely to achieve an accurate forecast on the first attempt. Business owners should hold monthly meetings with FinOps practitioners and engineering leads to discuss the variance between forecast and actual budget from previous cycles. These meetings should serve as post-mortem analyses to improve forecast accuracy. Finally, apply defined variance thresholds (e.g., 5%) to the forecast to account for anomalies or unexpected business demands.

Aggregate Forecasting Reports of applications

Finally, it's time to consolidate everything. The FinOps practitioner should now have forecasting reports from various teams or applications. Their task is to aggregate these into a single, unified cloud forecast report. This comprehensive report should serve as the foundation for budgeting cloud spend. At this stage, it may be crucial to integrate these reports into the organization's internal financial systems.

Summary

To forecast effectively, begin by defining your granularity and accuracy requirements. Start at the application or team level and document their business demands. Unit economics is often the best approach for forecasting demand. However, if your organization isn't using this method, a simple cloud calculator can suffice to estimate anticipated usage based on individual report prices. Use this forecast as the foundation for your next cloud IT budget.

Thanks for reading! Share if you found it helpful. Have questions or suggestions for future topics? We'd love to hear from you!