
Issue
It is reported by a customer that after forecast run with season linear regression model (strategy 35), the "number of periods per season" is changed to 1.
The setting in forecast profile (/sapapo/mc96b) is 12, as below:
After interactive run, it is noticed on the result screen that this value is changed to 1.
But this did not change the value in forecast profile.
Investigation
It is not hard to find out the reason, if you know the system logic that "if system does not find any seanonality out of the historical data, it will use 1 as the number of periods per seaon to perform the forecast, as if there is no season at all". So it is easy to know that there must be some problem during seasonality check.
-1-
The easiest way would be check the information on "Message" tab, where I see the below information:
- There are not enough historical values for the seasonal model.
As I could see in the customer's system following this message, there're only 9 periods of historical data exists.
-2-
After customer put the correct historical data, the message disappeared, but the issue still does not get solved.
This time there's a different message on the "Message" tab:
- Seasonal test called
- Number of periods: 12, Autocorrelation: 0.053, Limit: 0.30
- Seasonal test is negative
It is obvious that the system does not detect seaonality from the message "Seasonal test is negative", the reason for which is Autocorrelation (0.053) is less than its limit (0.30).
-3-
Customer argues that with the same data, issue does not happen in there SCM4.1 system before upgrade.
Upon checking the customer's SCM4.1 system, it is found that on the "Message" tab:
- Seasonal test called
- Number of periods: 12, Autocorrelation: 0.053, Limit: 0.10-
- Seasonal test is negative
Further checking indicates that the limit of autocorrelation 0.30 is hard coded in the system. In customer's SCM4.1 system, they just modify this parameter with BADI /SAPAPO/SCM_FCSTPARA method 'PARAMETER_SET'.
Technical Information
Function Module to perform forecast is /SAPAPO/PROGNOSE.
"Number of periods per season" is saved in variant '/sapapo/pcom-perio' after it gets the value from input parameter 'prog_parameter'.
Then seasonal forecast is prepared in form ' saison_index_gl_durchschnitt ' in which seasonal test is done by the below coding:
PERFORM saisontest_ram
TABLES
verg
USING
/sapapo/pcom-peran
CHANGING
lv_trendwert
lt_saison
/sapapo/pcom
lv_flg_no_season.
IF lv_flg_no_season EQ 'X'.
/sapapo/pcom-perio = 1.
ENDIF.
Here, as long as 'lv_flg_no_season' is returned as 'X' from form ' saisontest_ram ', which measn season test is failed or negative, "number of periods per season" ('/sapapo/pcom-perio') will always be set to 1.
So it will be quite easy to get the reason why season test is failed or negative just by tracing this flag (' cv_flg_no_season' ) in form ' saisontest_ram '.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
5 | |
4 | |
4 | |
4 | |
3 | |
3 | |
2 | |
2 | |
2 | |
2 |