The forecast is the first value that is calculated for every item/warehouse combination. It is our best guess of how many stock units we will sell of a certain item/warehouse combination in the future. It is also the most difficult value to calculate, because it involves calculating the unknown – what will happen in the future. Once forecast is calculated, it is used as one of the important factors in calculating EOQ. See About economic order quantity (DC1 Inventory Control).
The following sections are included:
- Forecast components
- Forecast calculation methods
- Exponential smoothing (with or without trend)
- Moving average
- Forecast copy
- Automatic forecast calculation (variation of Forecast copy)
- Forecast calculation
- Demand retrieval
- Forecast retrieval
Forecast components
The actual forecast value consists of several forecast components, each derived in a different way:
Customer forecast
This is a separate forecast component retrieved from the customer’s own forecast. This information is found in DC1 as delivery schedules, normally received via EDI. When the forecast calculation program is run it checks through the delivery schedules for each item/warehouse record. If it finds any delivery schedule plans it will accumulate that quantity for all customers within the forecast period time frame and update that quantity into the Customer forecast field in the Item/Warehouse file, on the Inventory management panel. This field exists on item/warehouse level as well as on item/warehouse/forecast period level in the Forecast file. On customer level you can control if delivery schedules from that customer should be included as customer forecasts, depending on the expected accuracy from that customer.
Dependent forecast
Dependent forecast is calculated through the lower level requirement calculation in DC1 Supply Plan. The calculation goes through all item structures. Based on the original forecast for the parent item, it calculates how many components will be needed to build a specific quantity of the parent item. This is accumulated for all structures and transferred to Dependent forecast in the Forecast file.
The lower level requirement calculation can be run both from DC1 Supply Plan (supply plan calculation) and from DC1 Inventory Control (inventory calculation). See Calculate lower level requirements from supply plan or see Run the inventory calculation for more information.
Base forecast
This is the calculated forecast based on the demand data updated from sales order processing and based on the different forecast calculation methods available.
Forecast
The final forecast will be the total of the above. This means that customer forecast and dependent forecast (if DC1 Supply Plan is active) will be added to the base forecast and the result is put into the forecast field on item level and period level.
Forecast calculation methods
The following methods can be used when forecast is calculated:
Exponential smoothing
This method is an average of the demand in all previous periods, where the weight for a period’s demand decreases with time.
If you choose exponential smoothing, the forecast is calculated based on the forecast and demand values in the historical forecast periods, where the values in each forecast period carry exponentially less and less weight as you go back in time. That is, the statistics in the older forecast periods influence forecast less than the statistics for the most recent forecast periods.
The alpha factor (smoothing factor) is used to control how quickly the exponential smoothing method should react to changes in demand. A low alpha (0.01 – 0.10) makes the forecast react slowly to changes in demand and therefore produces a stable forecast. A high alpha (0.40 – 0.50) makes the forecast react quickly to changes in demand, risking an unstable forecast.
Note: See section Alpha value for more information.
Exponential smoothing can be combined with demand adjustment, workday adjustment, seasonal adjustment and sales promotion adjustment. In addition you can have exponential smoothing that accounts for trend by setting Trend code to YES in the Item file.
Moving average
This method is an arithmetic average of a certain number of periods (n), where (n) = the number of forecast periods to use for the average. Unlike the exponential smoothing, this method gives equally as much weight to older forecast periods as to the most recent forecast periods.
Like exponential smoothing, the moving average method can be combined with demand adjustment, workday adjustment, season adjustment and sales promotion adjustment.
Forecast copy
Forecast copy is the easiest method to be used for forecast calculation. This method allows you to copy actual demand, including demand adjustment, from the corresponding forecast period in the previous year. It uses a (+ or -) percentage to modify the copied demand to reflect the expectations for this year.
Note: With this method, you cannot use any adjustments.
Automatic forecast calculation
This method is a variation of Forecast copy. The system automatically calculates the markup or markdown percentage. This is achieved by comparing the demand average from the corresponding periods last year with demand average for the current year. The percent of deviation between the two averages is then used as the markup/down for the current forecast. The demand for the same period last year is taken as a base and then the markup/down percentage is applied to calculate the current year’s forecast.
The number of periods to use for the period average used to determine the markup/down percentage is defined in the Forecast control code table.
Guidelines for using the forecast methods
It is difficult to define rules to determine which method is the most effective to use. However, there are a few general guidelines worth noting:
Method | Description |
---|---|
Exponential smoothing | This is theoretically the most efficient forecast method. It provides the most accurate forecasts.
However, this method works best when the demand rate is relatively high, specifically when there are very few (or no) forecast periods with zero demand. In this case Moving average gives the best results. To use Exponential smoothing there should be at least 10 units demand per period on average. If demand is low for an item, and some periods have zero demand, it is often best to use Moving average. |
Moving average | This method is also simple to understand and verify, as opposed to Exponential smoothing. |
Forecast copy | This method is efficient in cases where there is extremely strong seasonal demand for an item. You will not get an accurate forecast for an item that sells only four months out of the year using the other two methods. |
Automatic calculation | This method offers an alternative when using Forecast copy for dealing with seasonal demand that does not require for a seasonal profile to be built.
For items that show a clear trend pattern, you will get a more accurate forecast by combining trend analysis with Exponential smoothing. Likewise, with items that show a clear seasonal pattern, you will get a more accurate forecast by combining season adjustment with Exponential smoothing or Moving average. Note: This does not include items with an extremely strong seasonal demand. In this case it may be better to use Forecast copy. If you use trend and/or seasonal adjustments it is important to make sure that the trend and/or seasonal patterns still exist (over several periods). |
Forecast calculation
The Forecast file contains records for all existing item/warehouse combinations from the Item file. When the inventory calculation is run, the records in the Forecast file are updated with period forecasts. There are several ways to calculate forecast:
- You can calculate forecast for an individual item from the Forecast file. See Calculate forecast for instructions.
- You can calculate forecast for a selection of items from the inventory calculations program. See About working with inventory calculations for instructions.
Note: If you want to simulate forecast before you perform the calculation, see About simulating inventory calculations for instructions.
The forecast is calculated at two levels for each item/warehouse combination:
Level | Description |
---|---|
Year forecast | Year forecast is stored in the Item file along with EOQ, ROP and SST. It is the sum of forecasted demand from the start of the present forecast period up to and including one year into the future. This information is retrieved from the Forecast file. |
Period forecast | Period forecast is stored in the Forecast file for each item/warehouse combination. This file contains one record per forecast period for one year into the future, plus one or two years history, depending on the value in History, no of years in the IC control file. |
Both forecast values are recalculated each time the inventory calculation routine is executed.
Override calculated forecast
A manual override year forecast can be established in the Item/Warehouse file, on the Inventory management panel by entering the desired override value in Manual year forecast. If you enter a value here, it is used in all places in the system where a forecast is needed. You also specify how long the manual override is to be used by entering an end date in End override date. You can enter the value 999999 in the field to indicate that the override is to continue indefinitely.
The calculated year forecast is still updated in the system, but it is not used anywhere as long as the manual override applies.
Adjust calculated forecast
Several adjustments can be made when deriving forecast. You can read more about the available forecast adjustment methods in About working with demand adjustments, About working with seasonal adjustments, About working with workday adjustments, and About working with sales promotion adjustments.
Demand retrieval
The demand data that is used in the forecast calculation is retrieved from DC1 Distribution. Demand is retrieved per item/warehouse combination and forecast period, and it is stored in the Forecast file. It can be updated for historical, present and future periods.
Note: Demand is always updated from the customer’s primary warehouse (defined in the Business partner file) and if a substitute item is used the update will be made on the original required item.
Demand can be retrieved from sales orders, internal orders and inventory movements. Credit orders decrease the demand quantity and number of movements because they represent a reduction in real demand.
Sales order demand
For sales orders, the requested delivery date is the deciding factor when placing demand in a forecast period. That is, demand is placed in the forecast period for which a specific item was demanded.
Note: If the requested delivery date is greater than the end date of the most future active forecast period, the demand will be placed in the most future active forecast period.
The Update demand data field in Work with sales order types controls if sales orders of a specific sales order type should update the demand statistics in DC1 Inventory Control. If this field is set to 1 (Update demand), or 2 (Update demand when delivered from stock, but not when BtB), then the system retrieves demand from the following functions in the sales order cycle:
- Sales order line maintenance
- Sales order deletion, of a whole order
- Sales order structure line maintenance
- Cash sale maintenance, deletion of whole order
- Cash sale line maintenance
- Sales order copy
- Sales order copy, delete copied lines
The following circumstances do not influence demand:
- Backlogged lines do not influence demand. The original demanded quantity is used.
- If an order line is moved due to running sales order re-planning, demand will not be influenced. This is due to the fact that the requested delivery date is not changed during re-planning.
See section Run IC initialisation program (application files) for information about how demand statistics are loaded from the sales order cycle to the Forecast file during the IC initialisation.
Internal order demand
Internal orders are handled as any other orders in the system. Internal orders are of specific order types, so by setting the applicable field in Work with sales order types to YES or NO you can decide if you want to include the internal orders. Normally, you would include the internal orders for the forecast calculation at the supplying warehouse.
Inventory movement demand
The Incl inv movements field in the IC control file controls if the demand should be retrieved from the Inventory movements routine in DC1 Distribution.
For inventory movements, today’s date is used.
Forecast retrieval
When the forecast has been calculated it can be retrieved to, and used, in several other inventory control routines. The forecasted demand is retrieved for one item/warehouse record starting at any specified date for any specified length of time. This start date and length of time is totally independent of the start and end date of a given forecast period.
The forecast is retrieved automatically by the system in the following calculations:
- Calculation of EOQ for the period dependent method.
- Calculation of forecasted demand during replenishment time component in the ROP calculation.
- Calculation of several values in the analysis/printout functions.
Note: The forecast is always retrieved automatically by the system, but you can simulate a forecast retrieval manually. See Simulate forecast retrieval for more information.
Conditions
The forecast retrieval is handled differently depending on the following conditions:
Condition | Information |
---|---|
A | Start date and number of days is the defined time span. The start date can be specified as any date or as a forecast period ID (first date of that period). The time span can be specified in number of days or in number of weeks, months or periods. |
B | Start date is a forecast period ID and time span is specified as number of periods. |
Retrieval of overridden/manual forecast values
If Manual year forecast is active in the Item/Warehouse file, on the Inventory management panel, then the override value is used instead of the calculated forecast in the Forecast file and the calculated year forecast in the Item file. Depending on the conditions, different calculations are performed when the forecast is retrieved:
Condition | Information |
---|---|
A | Forecast/day = Retrieved forecast = NDAY * Forecast per day (where NDAY is the number of days time span entered directly) |
B | Retrieved forecast = where NPER is the number of periods time span entered into this function |
Retrieval of calculated forecast values
When no manual forecast values have been defined, the calculated forecast values in the Forecast file are retrieved for the specified time period. Depending on the conditions, different calculations are performed when the forecast is retrieved.
Condition | Information |
---|---|
A |
|
B |
|
Forecast error calculation
When the inventory calculation is run, the system calculates the forecast errors for each item/warehouse combination in the system. These values are stored in the Forecast file per forecast period.
See About working with inventory calculations for information about how to run the calculation.
The following sections describe the calculation error values that are used to calculate the tracking signal:
MAD
MAD is the mean average absolute forecast error. It looks at the difference between forecast and demand over all old forecast periods. The errors are weighted together via exponential smoothing, giving an average error. The absolute error between forecast and demand is the MAD value. Note: “Absolute” means that plus and minus signs are ignored.
Total MAD is the total calculated mean absolute deviation. It is based on the comparison between the total forecast (including forecast from additional demand plans) and the total demand (including demand from additional demand plans). If demand plans of type Additional forecast are not used in your system, then the total MAD is the same as the normal MAD.
MRD
MRD is the relative forecast error. It looks at the difference between forecast and demand over all old forecast periods. The errors are weighted together via exponential smoothing, giving an average error. The relative error between forecast and demand is used, meaning that plus and minus signs are observed. The result is that MRD will always be less than MAD, because when calculating MRD plus and minus errors will cancel each other out.
Tracking signal
The tracking signal is calculated as Tr = MRD/MAD. The MRD can be positive or negative, but the absolute value of MRD is always less than or equal to MAD, which is always positive.
Therefore you can see that
-1 <= MRD/MAD <= +1 |
and therefore
-1 <= Tr <= 1 |
If the tracking signal is close to zero, you have on the average, a good forecast as far as having equally many (and equally large) positive and negative forecast errors. If MRD and the tracking error are zero, it means that all errors over the old forecast periods have cancelled each other out.
If the absolute value of MRD is close to the MAD value, you will get a tracking error close to +1. This means a bias exists in the forecast, with mostly positive or negative errors. If this is the case, some kind of systematic error has occurred and you should change the way in which you calculate forecast for the item/warehouse combination in question.
Tracking limit
To fine-tune the tracking error test, you can enter a value 0-1 in Tracking limit in the Forecast control code table. If the calculated tracking signal is not within the limit you set, the system records this as a tracking error. A normal value for the tracking limit is 0.2 – 0.8 depending on how sensitive an error test you want to have.
Number of tracking errors
In every forecast calculation the tracking error test is performed. You can specify how many consecutive tracking errors are permitted before an error report line is printed on the Inventory calculations error report. This is done by completing the No of track errors field in the Forecast control code table.
If a tracking error occurs in just one period, it could be a coincidence. Therefore, you may want to wait for a number of periods (calculations) before you want the error report line to be printed.
The number of consecutive tracking errors is displayed per item/warehouse record in the No of track errors field in the Item/Warehouse file, on the Inventory management panel. If the Start inventory calculations program is executed and no tracking error is found for a particular item/warehouse combination, this field is reset to zero.
Note: If Tracking limit in the Forecast control code table is zero, then the tracking error test cannot be performed.
Forecast error
The forecast deviation test is another way of detecting error in the forecast calculation. By entering a percentage in Maximum deviation in the Forecast control code table you activate an error test for the forecast calculation for item/warehouse combinations linked to the control code record that you are working with.
The system then checks the previous period forecasts against the present period forecast. If the difference between the two exceeds the maximum deviation percentage, a report line is printed on the Inventory calculation error control report, and Forecast error in the Item/Warehouse file is set to YES.
Note: If no maximum deviation is entered in Maximum deviation the system cannot run an error test.
Enquiries and printouts
- Forecast file enquiry – Adjustment history. This enquiry can be accessed from the Forecast file. It displays changes to the base forecast, customer forecast, or demand adjustment.
- Forecast file list printout
- Period forecast analysis report
- Aggregate forecast list printout
Related topics
- Calculate forecast
- Maintain a forecast
- Simulate forecast retrieval
- About economic order quantity (DC1 Inventory Control)
- About working with demand adjustments
- About working with inventory calculations
- About working with inventory control codes
- About working with seasonal adjustments
- About working with sales promotion adjustments
- About working with workday adjustments
- About DC1 Inventory Control
- About supply planning
- Setting up DC1 Inventory Control