Forecasting

Forecasting

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. 

  1. 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". 




  1. 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. Error measure and Error weight

  1. Select an Error measure from the dropdown, then choose an Error Weight. 




HWGHTD is a variant of WMAPE that evaluates forecast methods using a broader set of information:
  1. WMAPE evaluates forecast methods primarily based on performance during a 4-period comparison (test comparison) window.
  2. HWGHTD considers both

Performance within the 4-period test window, and historical fit quality across a longer horizon (typically 32 periods called as training window).
 
By balancing historical fit quality and recent forecast performance through a user-defined Error Weight, HWGHTD provides a more robust approach to forecast method selection and can improve overall forecast accuracy and forecast quality.

The Error Weight is a business/user-defined parameter that determines how much importance is assigned to the historical training window versus the test comparison window. The specified weight is applied to the historical training-window error, and the remaining weight (100% minus the Error Weight) is applied to the test-window.


Error Weight Setting
Emphasis
Effect
Higher test weight (e.g., 80% test / 20% train)
Recent forecast performance
More responsive to recent changes
Balanced (e.g., 50% / 50%)
Both recent and historical performance
Stable compromise
Higher train weight (e.g., 20% test / 80% train)
Long-term fit quality
More stable, less sensitive to short-term fluctuations



5. 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. 

  1. 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. 




  1. 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.

Forecast Error in the Forecasting Strategy Grid

The Forecasting Strategy grid now includes a Forecast Error column, so you can see and compare forecast error across item/location/customer combinations directly in the grid, instead of hovering over the Generated Forecast chart one combination at a time.







Sorting by Forecast Error

Click the Forecast Error column header to sort the grid by error. This lets you work exception-based, focusing your review on the combinations with the highest error instead of checking every row individually.




Availability by Forecast Type

Where Forecast Error appears in the grid depends on which Forecast Type is configured for the plan:
  1. Auto-Learning and Manual Auto: Forecast Error is available at every level, the top level and every drill-down level beneath it, including grouped summary rows.
  2. Simplified and Segmented: Forecast Error is available at the ILC (Item / Location / Customer) level. If Group By is active on a Simplified or Segmented plan, Forecast Error is only visible after expanding down to individual ILC rows, it does not appear on the grouped summary row.


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.

  1. To add additional levels, click +Add Level to add a new Level, then click Add Attribute. 
  2. Click Apply to run to build your strategy pyramid.




  1. The Manual Auto output shows the defined pyramid with forecast accuracy measure. 




  1. 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:
  1. 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. 
  2. 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.
  3. 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.
  4. 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
  1. To create a Segmented forecast, first click +Add Segment.




  1. Next, click Create data partition filter. The Filter drawer will slide out; create a filter for the partition. Click Apply.







  1. 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. 




  1. Next, select a combination of attributes for the aggregation level. for example we will select Item, Location, and Customer.




  1. When a segment is completed, you can click the +Add Segment to add another level to the forecast pyramid.





  1. When finished created segments, click Apply to generate the segmented forecast strategy. 






Segmented forecast will output:
  1. All data at the tuple level is displayed, both defined and undefined partition.
  2. The forecast data is disaggregated only for the defined partition to the tuple level.
  3. 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.

  1. Click the Adjust Probabilistic Strategy button to launch the Edit Probabilistic Strategy drawer.
  2. Select whether your forecast is calculated on a weekly or monthly basis using the Weekly or Monthly radial buttons.
  3. Check whether or not to use published adjusted values under the Method Settings.
  4. Adjust the Lower, Forecast, and Upper percentile values according to your strategy. 
  5. Select Normal or Quantile from the Calculation Type dropdown.
  6. Optionally define a Global Filter for the Probabilistic strategy.
  7. Under Partition, add attributes to create a partition.
  8. Click Apply.




  1. 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.



  1. 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.
  2. 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.
  3. 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. 



Probabilistic Forecasting

Overview

Probabilistic Forecasting is a feature in Arkieva's Demand Planning module that helps you move beyond a single-point forecast and understand the range of possible demand outcomes — so you can make more informed, confident planning decisions.

Instead of showing only one forecasted number per period, probabilistic forecasting estimates a probability distribution (or percentile bounds where the distribution is unknown). This lets you see not just what demand is expected to be, but how certain or uncertain that expectation is.

NOTE: Probabilistic Forecasting is accessed separately from the standard (deterministic) forecasting workflow. You will configure and run it through the Adjust Probabilistic Strategy drawer in the Forecasting module.

Key Concepts

Before using this feature, it helps to understand a few foundational ideas.

Single-Point vs. Probabilistic Forecasting

Standard forecasting generates a single value per period — typically close to the average expected demand. This is useful but gives no indication of how confident the system is in that number.

Probabilistic forecasting runs multiple forecast methods, each producing a different outcome. The variability across those outcomes is transformed into a probability distribution, which estimates the variability in the forecast.

Probability Distributions

Once a probability distribution is available, you can answer questions like:

  • What is the demand value that only 20% of outcomes fall below?
  • What value do 90% of outcomes fall below?
  • Where is the median (50th percentile) demand likely to land?

Arkieva supports both normal distributions and quantile-based (non-parametric) distributions, so you are not restricted to assuming a specific shape.

Percentile Bounds

The three core outputs of a probabilistic run are percentile lines, calculated at each individual period — not across the whole forecast horizon.

PercentileHow to Interpret It
Lower (e.g., 20th)There is a 20% chance that actual demand will fall below this value — meaning 80% of the time, demand is expected to be at or above it.
Median (50th)There is a 50% chance that actual demand will equal this value. It represents the median of the forecast distribution.
Upper (e.g., 90th)There is only a 10% chance actual demand will go above this value — meaning 90% of the time, demand is expected to stay at or below it.

Accessing Probabilistic Forecasting

Navigate to the feature using the following path within the SaaS application:

To configure your probabilistic model, click "Adjust Probabilistic Strategy." This opens a configuration drawer with all the settings described below.

Configuring the Probabilistic Strategy

The Adjust Probabilistic Strategy drawer contains several settings. Work through them in order.

1. Time Buckets

Select whether you want to evaluate the model in weekly or monthly buckets.

NOTE: This must match the bucket setting used in your Standard Forecasting configuration. If your standard forecast runs monthly, your probabilistic model must also run monthly. Mixing bucket types is not supported.

2. Use Published / Adjusted Values

Check this option if you have performed outlier corrections in your standard forecast and want those adjusted values to be reflected in the probabilistic model. If you use this setting in standard forecasting, enable it here as well to ensure a valid comparison.

3. Percentile Definitions

Define the three percentile bounds you want to display. The default values are 0.20, 0.50, and 0.90, but you can change these to any valid probability between 0 and 1.

Example configurations:

  • 0.20 / 0.50 / 0.90 — Wide spread; useful for seeing the full range of demand uncertainty.
  • 0.40 / 0.50 / 0.60 — Tight spread; useful for comparing the probabilistic bands closely against your standard forecast.
  • 0.01 / 0.50 / 0.99 — Maximum range; shows nearly the full extent of the distribution.
NOTE: Raising the lower percentile value pushes the lower bound forecast higher, effectively tightening the lower boundary upward. This makes it more likely the Standard Forecast will fall below the lower percentile line.

4. Calculation Type

Select how Arkieva estimates the probability distribution:

Normal Distribution

When demand is assumed to follow a bell curve, confidence intervals can be read directly from percentile markers. Use when you have stable, symmetric demand patterns. This is the default.

The chart below shows how the 50th, 80th, 90th, 95th, and 99th percentiles map onto a standard normal curve.



Quantile Distribution

Makes no assumption about the distribution shape. Use when demand is irregular, skewed, or difficult to characterize.


Traditional vs. Probabilistic Forecast: Side-by-Side

The comparison below illustrates the difference in output between a traditional single-point forecast and a probabilistic forecast across 15 periods. The probabilistic approach adds a mean and standard deviation at each period, enabling range-based planning.



5. Global Filter (Optional)

Use this field to limit the probabilistic run to a specific product family or dataset. Leave blank to run across all available data.

6. Partition (Analysis Level)

Select the level at which you want to evaluate the probabilistic model against your standard model. Options include item, item + location, item + customer, or other attribute combinations.

The underlying forecast is always generated and saved at the tuple level (item, location, customer). The partition setting controls the aggregation level used for comparison and analysis.

NOTE: You can change the partition at any time and re-run the analysis without regenerating the full forecast.

Running the Model

Once all settings are configured, click Apply. Arkieva will generate a probabilistic forecast and display results in the chart above the settings panel.

Reading the Results

The results chart shows multiple lines overlaid for each item at the selected partition level.

Chart Elements

Chart ElementWhat It Represents
Generated ForecastThe single-point forecast produced by your standard deterministic model, based on the previous 3 years of sales history. This is your baseline.
Lower Percentile LineThe demand level below which only X% of outcomes are expected to fall (based on your configured lower bound, e.g., 20th percentile).
Median LineThe 50th percentile. Half of demand values are expected to fall above and half below this line.
Upper Percentile LineThe demand level below which Y% of outcomes are expected to fall (based on your configured upper bound, e.g., 90th percentile).
Standard ForecastA loosely weighted average across the percentile values, combined with other factors derived from sales history. It is not simply one of the percentile outputs.

Interpreting What You See

Use the relationship between the standard forecast line and the percentile bands to assess forecast quality and take action.

Forecast Within the Bands

If the standard forecast line runs close to or through the percentile bands, the standard model is performing well. The probabilistic bounds confirm that the forecast is aligned with what the demand distribution suggests.

Forecast Outside the Bands

There is always a statistical chance that a single forecast value falls outside a given probability range — even a very wide range (e.g., 1st to 99th percentile). When this occurs, the Generated Forecast can be considered a statistical outlier. Consider the following responses:

  • Override the standard forecast manually for that period.
  • Adopt one of the percentile lines (e.g., the 50th percentile) as your working forecast.
  • Investigate whether an outlier, market event, or data quality issue is affecting the standard model.

Making Decisions with Probabilistic Forecasts

Probabilistic forecasting does not automatically replace your standard forecast. It provides a lens for evaluating it and gives you structured options when the standard model needs review. It also enables direct input into S&OP and supply planning by producing multiple named demand scenarios, replacing ad-hoc percentage adjustments with data-driven bounds.

Common Decision Scenarios

SituationRecommended Action
Standard forecast is within the bandsConfidence is high. Proceed with the standard forecast.
Standard forecast is consistently below the lower boundThe model is likely under-forecasting. Consider overriding upward or adopting the 50th percentile as your working forecast.
Standard forecast is above the upper boundThe model may be over-forecasting. Review demand history and consider adjusting down.
Forecast falls outside even a very wide rangeTreat as a statistical outlier. Investigate underlying data before acting.
Uncertainty is very wide across all bandsDemand is highly variable. Narrow the percentile window (e.g., 40/50/60) to get a closer look or investigate root causes of variability.

Selecting a Percentile as Your Forecast

You can choose to use any of the percentile lines as your planning forecast value. The percentile you select reflects the level of confidence you are planning to meet:

  • Lower percentile (e.g., 20th) — Lean inventory strategy; acceptable risk of stockout in some cases.
  • Median (50th) — Balanced approach aligned with expected demand.
  • Upper percentile (e.g., 90th) — Service-level protection; ensures coverage for most demand scenarios.

Frequently Asked Questions

Q: What is the difference between a Probabilistic Forecast and a Generated Forecast?

The Generated Forecast is based on historical data (typically the previous 3 years of sales history) and produces a single point estimate. The Probabilistic Forecast produces a range of values — a lower bound, a midpoint, and an upper bound — representing the statistical likelihood of where actual demand will fall.

Q: What do the lower, middle, and upper percentile values represent?

Each percentile setting defines the probability that actual demand will fall below that forecasted value: the lower percentile (e.g., 0.2) means there is a 20% chance actual demand will fall below this value; the middle percentile (0.5) represents the median; and the upper percentile (e.g., 0.9) means there is only a 10% chance demand will exceed this value.

Q: Can users customize the probability range?

Yes. Users are not limited to preset percentiles. Any lower and upper probability can be selected — for example, 1% and 99% — to create a wider or narrower range depending on planning needs.

Q: What happens if I increase the lower percentile setting?

Raising the lower percentile value pushes the lower bound forecast higher. This makes it more likely that the Standard Forecast will fall below the lower percentile, as you are effectively tightening the lower boundary upward.

Q: Why does the Generated Forecast sometimes fall outside the Probabilistic Forecast range?

There is always a statistical chance that any single forecast value falls outside a given probability range. Even with a very wide range (e.g., 1st to 99th percentile), outlier outcomes are possible. When this occurs, the Generated Forecast value can be considered a statistical outlier relative to the probabilistic distribution.

Q: What statistical assumption does Probabilistic Forecasting make about the data?

By default, it assumes a normal distribution. For skewed data, a normal distribution may not be the best fit — in such cases, quantile-based estimates are more appropriate.

Q: Why use a Probabilistic Forecast instead of the Generated Forecast?

Probabilistic forecasting produces multiple demand scenarios — standard, lower percentile, middle, and upper percentile — that can feed directly into S&OP and supply planning processes. Without it, planners typically create scenarios by manually applying an arbitrary percentage adjustment (e.g., ±X%) to the current forecast, which is less rigorous and less data-informed.

Q: What is the Standard Forecast in relation to the percentiles?

The Standard Forecast is loosely a weighted average across the percentile values, combined with other factors derived from sales history. It is not simply one of the percentile outputs but incorporates broader historical patterns.

Q: Does probabilistic forecasting replace the standard forecast?

No. The standard (deterministic) forecast remains your primary baseline. Probabilistic forecasting is a complementary analysis tool that helps you evaluate and, where appropriate, override or supplement the standard forecast.

Q: What forecast method does probabilistic use?

Probabilistic forecasting does not select a single method. Instead, it runs multiple forecast methods simultaneously, uses the variability across their outputs to build a probability distribution, and expresses the result as percentile bounds. The concept of a "best method" no longer applies — the distribution itself is the model.

Q: Can I run probabilistic at a different aggregation level than my standard forecast?

Yes. The partition setting controls the aggregation level for analysis and comparison. The underlying forecast is always saved at the tuple level (item, location, customer), so you can analyze at any level without changing the stored forecast data.

Quick Reference: Configuration Checklist

Before clicking Apply, confirm the following:

  • Time bucket matches your Standard Forecasting configuration (monthly or weekly).
  • Use Published Values setting is consistent with your standard forecast settings.
  • Three percentile values are entered (e.g., 0.20, 0.50, 0.90).
  • Calculation type is selected (Normal Distribution or Quantile Distribution).
  • Partition level is set to your desired analysis level.
  • (Optional) Global filter applied if running on a subset of data.



Also available as shorter articles
This article has been split into focused articles, each covering one part of what is above: