Skip to Content

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:

1.PNG

After interactive run, it is noticed on the result screen that this value is changed to 1.

2.PNG

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/pcomperan
              CHANGING
                 lv_trendwert
                 lt_saison
                 /sapapo/pcom
                 lv_flg_no_season.
  IF lv_flg_no_season EQ ‘X’.
    /sapapo/pcomperio = 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 ‘.

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply