Machine Learning (ML) Forecast Overview
Organizations often sell hundreds, if not thousands, of finished products to a variety of customers through a network of warehouses, distribution centers, and production centers. Creating a forecast plan that is robust can be a tedious exercise. Arkieva's machine learning enabled forecasting engine automates this process by analyzing the historical sales, generating the best possible hierarchy for forecasting (pyramid), and automatically selecting the appropriate forecast method.
The ML forecast is then combined with the volume anticipated due to Lifecycle events, to establish a starting point for the Demand Plan.

Pyramid Strategy
At the most detailed level, we are trying to forecast demand at the Item/Location/Customer level. However, the data at this level can be sparse and forecasts are inaccurate.
In general, the higher the level of aggregation the better the accuracy but aggregate forecasts still must be converted to a more detailed level for collaboration and operational planning. For example, for budgeting purposes, it may be sufficient to predict the overall increase in sales. However, for planning production or procurement orders, it is necessary to predict the requirements by item and location.
The Pyramid Forecast uses machine learning techniques to automatically develop an aggregation strategy that will both maximize accuracy and provide a useful forecast. When comparing different aggregation strategies, the algorithms evaluate the accuracy of the resulting forecast at the “Item” level derived from the updated forecast at the item, location and customer level.
In the following example, the best forecast strategy is a two-level pyramid:
The data is first aggregated by Item and Location to generate a forecast. It is then disaggregated to the Item/Location/Customer level using the detailed customer information.
The accuracy numbers measure how well the forecast at each level performs with respect to history at the “Item” level. The machine learning algorithm considers all possible aggregations of data by the attributes that the user specifies. A pyramid level is added only if the addition will improve the forecast accuracy at the “Item” level.
In our example, adding the Item/Location aggregation reduces the forecast error at the Item level from 29% to 26%.
Forecast Accuracy
Forecast Accuracy is a measure of how close a forecast is to the actual outcome. It is used to evaluate the performance of forecasting models or processes by comparing forecasted values against actual historical data.
Formula: Forecast Accuracy = 1 – WMAPE
Adjusting the Pyramid Strategy and Probabilistic Strategy
Arkieva uses machine learning to select methods based on accuracy and robustness over time.
Adjust Strategy
There are several ways of running a forecast with Arkieva, ranging from easy to use (Simplified), to more complex models (Segmented). Arkieva provides an easy-to-use Forecast Strategy interface to define your forecast parameters.
- Click the Adjust Strategy button to launch the Edit Forecast Strategy drawer
1. Forecast Planning Bucket
Under the Forecast Bucket section, select whether your forecast is calculated on a weekly or monthly basis.
2. Outlier Handling
Under the Outlier Handling section, you can select whether or not to calculate the forecast using published adjusted values by checking or unchecking the checkbox. Using published adjusted values assumes you have adjusted flagged outliers or made other types of adjustments.
3. Global Filter
Select a defined global filter (from the Settings Manage Filter Preset) to filter data based on a combination of attribute values by selecting items or locations. The Global Filter applies to any filter type except the "Segmented Forecast".
- Click the Manage Filters button to create a Global Filter if the Global Filter dropdown is empty. Click +Add Filter to create a Global Filter.
4. Forecast Type
Under the Forecast Pyramid section, select attributes to build your strategy pyramid.
Auto-Learning
Given a user selected set of data attributes, Auto-Learning automatically creates and selects the best pyramid for forecasting for you. Independent attributes are always included in the run; this can only be modified with the appropriate access. You may add dependent attributes if so desired.
- Select your demand ILC attributes and click Apply. Arkieva's machine learning will scan through multiple pyramids and select the optimal Pyramid and the forecast using the selected Pyramid.
- The Auto-Learning output shows the Optimal Pyramid with forecast accuracy measure. Each level of the pyramid is measured based on the forecast accuracy of an item.
- A drilldown function starting with Item is available after the run is complete. Expanding these items provide details of the remaining attributes such as Location and Customer.
Manual Auto
Manual Auto or Manual Learning assumes you understand the concept of a pyramid forecast and you have a specific pyramid in mind. The lowest level, Level 1, uses independent attributes and is already set because that is the level we wish to implement the forecast.
- To add additional levels, click +Add Level to add a new Level, then click Add Attribute.
- Click Apply to run to build your strategy pyramid.
- The Manual Auto output shows the defined pyramid with forecast accuracy measure.
- A drilldown function starting with Item level is available after the run. Expanding items provide details of the remaining attributes such as Location and customer.
Simplified
Simplified forecasting is Arkieva's basic forecast module and runs the forecast for the tuple level.
You will need to use the Global filter to restrict the data, and select a method from the dropdown (Average MAD w/ Sales Adjustments, Removed Method). Click Apply to run the Simplified forecast.
Simplified forecast displays the forecast at the tuple level, and displays only the selected global filter.
Segmented
Segmented forecast allows you to construct a forecast structure one segment at a time. The segment consists of a partition which defines the attribute values allowed, a selected method, and an aggregation level (forecast level). You can create several segments that would run sequentially, and the segment partitions can overlap.
For each segment, you have complete control over the following:
- Control of data that is processed in each partition. Select any combination of attribute values for the segment; the forecast will be dependent on the defined partition.
- Control over Methods is selected. Each segment requires a method, and you can select from a list of custom methods; new methods can be added.
- Control the level of aggregation of the data. This defines the level of attribute combination to forecast. For example, you may want to forecast the Item, Location and Customer level or just Item and Location.
- Control to define the relationship if any between segments. Relationships between segments are possible but not required.
Each Segment is saved and disaggregated to the lower levels, so be careful of how you construct each level.
Segmented Example:
A basic segmented forecast may be a single segment at the ILC level of aggregation with a partition for a specific item. The forecast is only a process for the partition.
A Segmented forecast can be set up in any way you choose. Let’s say you want to create pyramid to forecast 3 items: A, B and C.
Segmented set up example 1
Seg-1: we can partition such that only item A is selected, and data aggregation is at the item, location and customer level.
Seq-2: we can partition such that only item B is selected, and data aggregation is at the item, location and customer level.
Seq-3: we can partition such that only item C is selected, and data aggregation is at the item, location and customer level.
Seq-4: we can partition for items A, B, and C are selected, and data aggregation is at the item, location and customer level.
Partition 4 overlaps with all other partitions. This requires that each segment has a dedicated method.
Segmented set up example 2
Seg-1 we can partition that items A, B and C are selected, and data aggregation is at the Item, location and customer level.
Seq-2 we can partition such that items A, B and C are selected and data aggregation is at the Item level.
Partition 2 overlaps with partition 1, both are restricted to items A, B and C.
The difference between the 2 examples above is that we are forced to use a dedicated method for segment. Until a run is published, it is not available in the collaboration environment.
Create a Segmented forecast
- To create a Segmented forecast, first click +Add Segment.
- Next, click Create data partition filter. The Filter drawer will slide out; create a filter for the partition. Click Apply.
- Next, select a method from the dropdown. If no methods have been created, the dropdown will be blank; you will need to create a method.
- Next, select a combination of attributes for the aggregation level. for example we will select Item, Location, and Customer.
- When a segment is completed, you can click the +Add Segment to add another level to the forecast pyramid.
- When finished created segments, click Apply to generate the segmented forecast strategy.
Segmented forecast will output:
- All data at the tuple level is displayed, both defined and undefined partition.
- The forecast data is disaggregated only for the defined partition to the tuple level.
- Any unpartitioned data would show the results of the previous run unless deleted.
Edit Probabilistic Strategy
From the Edit Probabilistic Strategy drawer you can configure and run a probabilistic forecast and compare probabilistic forecast results against the standard generated forecast.
- Click the Adjust Probabilistic Strategy button to launch the Edit Probabilistic Strategy drawer.
- Select whether your forecast is calculated on a weekly or monthly basis using the Weekly or Monthly radial buttons.
- Check whether or not to use published adjusted values under the Method Settings.
- Adjust the Lower, Forecast, and Upper percentile values according to your strategy.
- Select Normal or Quantile from the Calculation Type dropdown.
- Optionally define a Global Filter for the Probabilistic strategy.
- Under Partition, add attributes to create a partition.
- Click Apply.
- Toggle from Standard to Probabilistic to view the Probabilistic Strategy.
Pyramid Forecast (Standard View)
The Pyramid Forecast is the forecast suggested by the ML engine. Arkieva uses machine learning to select methods based on accuracy and robustness over time. For this reason, the Pyramid Forecast may not always be the method with the lowest accuracy measure.

Arima with Season
Arima is used to calculate trend data, but does not support a seasonal time series. Arima with Season can support time series with a seasonal component.
Robust Seasonal
Like Seasonal, this method fits a trend along with sine and cosine curves. This method uses linear programming to fit a seasonal series in a way that — compared to the regular seasonal method — is less likely to be thrown off by noisy values that depart from the trend or seasonality.
Fourier
Fourier is a special cyclical method which tries to find the cycle on its own. Fourier is a curve-fitting techniques are used to fit a combination of sine and cosine curves to the series. For very stable series with no trend, this can provide the best fit, but in most other situations one of the seasonal methods should work better.
Winters Optimum Additive
This method uses curve-fitting to attempt to select the values of the parameters alpha, beta, and gamma for the Winters additive method which give the “best” results. The algorithm does not use the given alpha, beta, or gamma parameters. The damping and MultiRegWeight parameters are used only in the case where there is not enough history to run Winters method, in which case a linear regression is used to forecast the series. This method will usually produce a good forecast, but the error criterion is based on fitting a curve to past history, so it doesn’t always have superior predictive ability to the ordinary additive Winters method.
Seasonal
The Seasonal method is a regression method fitting a linear trend (as with linear regression) along with sine and cosine curves that allow nearly any seasonal departure from the trend to be fit. This method is best for a series with a long term stable trend. For less consistent series, some of the other seasonal methods will probably be better.
Winters Optimum Multiplicative
This method is the same as Winters optimum additive except the parameters Alpha, Beta and Gamma are chosen to minimize the MSE of the historic forecast.
3 - Period Average
This Moving Average method only takes the average of three periods of historical data, but does not consider any pattern.
Generated Forecast
Arkieva uses machine learning to select methods based on accuracy and robustness over time. Pick Best covers the scenario where if the number of history periods (after leading zeros are removed) are less than the window, the resulting forecast will be a straight constant.

- Apply Sequence: Runs the selected formulas in the specified order. The output generated by each formula is passed as the input to the next formula in the sequence. The final forecast is the result produced by the last formula in the sequence.
- Best candidate: Evaluates all selected formulas and automatically selects the formula that produces the best forecast based on the configured error criteria. If the number of available input data periods is less than the configured error window size, the selected formulas are ignored, and a separate fallback logic is used to generate the forecast.
- Average: Executes all selected formulas independently and calculates the forecast by taking the average of the output values for each period. The resulting forecast represents the mean of all selected formula outputs.
Publishing
Publishing the forecast strategy will publishes the values to the future and history.