How Forecast Work
To calculate forecasts, we use Facebook’s Prophet model, trained on 6 months data to generate 1 year of month, quarter, and year aggregated forecast.
Forecast is calculated per business context, so while preparing the data, cost data is first aggregated per business context per day. Then, a filter is applied to remove days with anomalies (FB Prophet model is robust against missing values). This makes the curve smoother and prevents the model from learning from the spikes, and gives a more stable forecast overall, especially further into the future.
Each business context is treated independently, and there is no influence on another business context while calculating forecasts.
After calculating the forecasts (which are given by the model as daily cost values), they are aggregated to monthly, quarterly, and yearly grains in a way that does not compound the prediction error in the aggregate. Also, the confidence intervals (95%) are generated for the prediction.
Since the cost curve in each business context is treated independently, forecasts at lower nodes in a hierarchy will not sum up to the forecasts at higher-level contexts. This is because a higher-level context has a cost-curve which is an aggregate of lower-level curves. In this aggregation, some signals would become stronger (for example a weekly seasonality that occurs in multiple children of a business context), while others might get canceled out, or simply become weaker in the aggregate. This would make forecast of a higher-level context different from its lower level contexts. There would be similarities if all the curves are plotted together, but values will not exactly sum up to the forecast of their parent contexts. Also, if the lower-level context forecasts are simply summed up, there would be double-counting due to Shared context, contributing in a higher difference in the forecast."
Copyright 2023 Yotascale, Inc. All Rights Reserved. Yotascale and the Yotascale logo are trademarks of Yotascale, Inc.