The middle-out approach combines bottom-up and top-down approaches. First, a “middle level” is chosen and forecasts are generated for all the series at this level. For the series above the middle level, coherent forecasts are generated using the bottom-up approach by aggregating the “middle-level” forecasts upwards. For the series below the “middle level”, coherent forecasts are generated using a top-down approach by disaggregating the “middle level” forecasts downwards.
This approach is implemented in the
forecast() function by setting
method="mo" and by specifying the appropriate middle level via the
level argument. For the top-down disaggregation below the middle level, the top-down forecast proportions method is used.