cancel
Showing results for 
Search instead for 
Did you mean: 

IBP - SAP6 Model - Demand Sensing Setup

Former Member
0 Kudos

Hi all,

I'm trying to play around with IBP demand sensing and to set up an easy test case.

In the SAP6 sample for IBP for Demand (which is also described in the IBP600 "IBP- Configuration for demand" file) one can see that several key figures are created, which are named sth. with *profile0, *profile1, *profile2 and so on. Moreover it's mentioned that the snapshot feature is a necessary prerequisite to use demand sensing.

-     Are these topics related? (Though it wouldn't fit with the naming conventions for snap shots)

-     What data is stored in the *profile key figures, the weighting and how proceed with the set up?

I'm happy and thankful for every little hint!

Cheers

Benjamin

Accepted Solutions (1)

Accepted Solutions (1)

anna_linden
Active Participant
0 Kudos

Hi Benjamin,

I will answer a little more detailed as not everyone will have the training material.

When taking a look at the SAP6 sample model that was delivered with SAP IBP 5.0, you will see that this model is already preconfigured for the IBP Demand Planning as well as Demand Sensing.

Demand Sensing requires certain key figures that are used internally by the algorithms but that should not be visible to users. Also, certain naming conventions need to be followed.

Following key figure IDs are a prerequisite and must exist in the Planning Area:

FORECASTBIAS, FCTBIASMAPEIMPROV and FCTBIASWEIGHT0 - FCTBIASWEIGHT3 (correlates with theBias Horizons 1-4 on the configuration UI).

In additional key figures for the 3 main input signals needs to get maintained. The capital letters describe the key figure ID that we use in SAP6 for those purposes, but every customer can name those differently in the end (only the Suffixes like <keyfigureid>PROFILE0 are fixed).

  1. The Forecast Signal. e.g. CONSENSUSDEMAND (Consensus demand)
  2. The Sales Signal e.g. ADJDELIVQTY (Delivered qty adjusted)
  3. The Open Order Signal e.g. FUTUREORDEREDQTY (Future Ordered Quantity)

For the FUTUREORDEREDQTY, CONSENSUSDEMAND and the ADJDELIVQTY, you need 8 additional key figure IDs each (they always start with the name of the key figure and the with a fixed suffix, e.g. CONSENSUDEAMANDPROFILE0. Those should be configured exectly as described in the SAP6 sample.

In addition, there are 4 more for the FUTUREORDEREDQTY.

All of these key figures are used internally by the demand sensing algorithm and would not be visible to the end user.

Regarding the snapshots:

Another prerequisite for IBP Demand Sensing is the snapshot. But it has nothing to do with the naming conventions.

You would create a new snapshot key figure for the Forecast Signal (in case of SAP6 its the CONSENSUSDEMAND) via the "Manage Snapshot Configurations" on the start page of the Configuration Tile. It must be of type "Change History". Base Planning Level Location, Product, Customer, Weekly level. In case of SAP6 that is LOCPRODCUSTWEEKLY.

Use the same suffix that is also entered in the Forecast model for the "Consensus Forecast Snapshot Suffix".

The From and To fields need to be filled according to the customers needs.

  • FROM=0 means that the snapshot is always executed from the current day. e.g. snapshot is scheduled every monday, then the snapshot data starts always from the Monday onwards.
  • TO - would be the number of days for which you want to take the snapshot. Here, the following formula would apply TO= (SENSINGHORIZON in weeks + SNAPSHOT FREQUENCY-1)*7
  • Example: SENSINGHORIZON is 6 weeks (42 days - must correspond with the number of Forecast preiods that was maintained when setting up the Forecast Model), SNAPSHOT FREQUENCY: for weekly snapshots use the number 1, for bi-weekly use 2, for monthly use 4 as input. So the forula would be (6+4-1)*7=63

The snapshot that is being generated works via revisions and only 1 key figure is being created in the Planning Area. All snapshots are being stored in this one key figure (thats different from the other snapshot type that is normally used in IBP). Revision date = the data on which the snapshot was taken.

Please note that only the latest revison is seen in Excel. The other revisions can be seen via the Change History UI.

So what you do in general is to load the historic sales, shipment and forecast data as well as the historic snapshots to the system. Then, you run demand sensing e.g. weekly and create a new demand sensing snapshot e.g. monthly (via the batch jobs in the excel UI).

Technically, only one historic snapshot revision would be needed for the algo to run, but we recomment having 52 weeks worth of historic data and snapshot revisions in the system so that the algo can produce high qualitative results based on a strong data foundation.

BR Anna

Former Member
0 Kudos

Hi Anna,

thanks sooo much! Indeed it's a more detailed answer than expected, but I'm sure it'll be really useful not only for me!

Regarding the necessary key figures and just for deeper understanding:

I assume that the PROFILE0 - PROFILE7 key figures are somehow used within the algorithms for the transformation of the statistical forecast from a weekly level to a daily level, don't they?

Could you provide a short explanation of how the *profileX key figures are internally used and how the disaggregation from weeks to days works? (...or provide a hint for further reading on the topic?)

Thanks again and best regards

Benjamin

anna_linden
Active Participant
0 Kudos

Hi Benjamin,

you are correct. The profiles are used for the daily disaggregation. *PROFILE0 would e.g. represent the first day of the week.

On a high level base, we are using pattern recognotion principles to compute a short term forecasst in daily buckets.
The Demand Sensing algorithm is IP of SAP so we unfortunately cannot provide any detailed information around its inner life and processes here.

I hope this was still helpful. Please let me know in case you have further questions around this topic.

Best Regards,
Anna

Former Member
0 Kudos

Hi Anna,

thanks so much for your help! Though the insights would obviously be interesting the provided infos are more than sufficient .

Using your description the setup of the little demo worked fine so far, but I'm experiencing problems while uploading the historical snapshot, which is needed for demand sensing, as I described here...

I'm not sure whether this is still your area of expertise (and I think I'm actually not the only one experiencing this data import issue), but if you have any idea on how to fix it, you'd make my day! 

BR

Benjamin

Former Member
0 Kudos

Hi Anna,

sorry to bother you again, but the demand sensing run is still not working.

Maybe a bit more detailed as it might help you to provide advice...

To keep it simple I set up the PA with only 1 Customer, 1 Location and 1 Product. The necessary key figures are in place as you recommended above and as one can see in the SAP6 example. The historical snapshot import finally worked and it shows only the last revision as you mentioned.

The result after running the statistical forecast looks as follows (the historical data is loaded, just the cells are hidden):

Since the KF are in German here the translation:

Row2: Statistical Forecast, Row3: Snapshot of SFCST, Row4: Open Orders, Row5: Actuals/Historical sales, Row6: Shipments, Row7: Adjusted Actuals

When I run the demand sensing operator now, it keeps running for exactly 2:02 hours to finally end up with the following error code in the log file:

FILE_TYPE:DAAA96DE-B0FB-4c6e-AF7B-A445F5BF9BE2

RECORD_SEPARATOR:35

COLUMN_SEPARATOR:124

COLUMNS:Time|Severity|Category|Method|User|DSRRootContextID|DSRTransactionID|DSRConnectionID|DSRCounter|Thread|Text

SEVERITY_MAP:DEBUG|Debug|INFO|Information|VERBOSE|Verbose|WARNING|Warning|ERROR|Error|FATAL|Fatal

HEADER_END

2016-01-21 17:41:34,874|ERROR|BPCProxy|FPMXLClient.BPCProxy.Common.Wcf.InterceptorChannelFactory`1+InterceptorRequestChannel.Request||||||7|The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Basic realm="SAP NetWeaver Application Server [Z1C/100]"'.#

2016-01-21 17:41:46,046|ERROR|UILayer|?.?|bgotthardt|||||1|SOPRibbonExtension.DLL time stamp: 28.08.2015 17:33:50#

I already installed the latest Excel Ad in and tried to figure out what issue I'm facing, but without success. It might be related to an issue a colleague is facing:



Also a bit strange is that whenever I load data for one of the KF, that the other KF data are somehow deleted. Happens since I imported the snapshots, I think.


Do you have any advice?


BR

Benjamin



anna_linden
Active Participant
0 Kudos

Hi Benjamin,

the error message does not look like its DS related. A colleague already replied to your colleague regarding the https issue. Following thread is also helpful here:

http://scn.sap.com/thread/3802640

Once this is http issue is solved, can you please try to run Demand Sensing again?

Also, can you please provide pictures of the forecast model that you set up? The tabs "General" and "Forecasting Steps" are intersting here. I can check if those are set up correctly and would cause the algorithm to fail.

BR Anna

Former Member
0 Kudos

Hi Anna,

your colleague was referring to expired passwords. I haven't had any issues like this before, but just in case, I changed it. Still the same error...

As question... Is it possible that the error I encounter is some kind of "timed out" error due to an error in my PA or the forecasting model?

Please find attached the screenshots you were asking for.

BR and thanks a lot!

Benjamin

anna_linden
Active Participant
0 Kudos

Hi,

yes- you probably have a timeout. I think the algo is terminated automatically after 2 hours, thats why you see it running for so long.

Regarding the Forecast Model:

Are you using a SAP6 copy and just renamed the names of the key figures? So the "Konsensprognose" would be CONSENSUSDEMAND, the "Kuenftige bestellte Menge" would be FUTUREORDEREDQTY, "Historisch bestellte Menge" would be CONFQTY and "Gelieferte Menge" would be ADJDELIVQTY?

If yes, then it looks OK to me. You could even decrease the number of historical periods. Minimum for your set-up would be 180 days. Or do you have 490 days of historic data in your system?

Regarding the user... Not sure why this occurs. I would propose to open an OSS for this issue then.

BR Anna

Former Member
0 Kudos

Hi Anna,

first in response to your question regarding the KF and the model:

Yes for the key figures

No for the model. I built up a model from scratch to keep it more simple. I didn't use UoM and so on... just the necessary KF and MD

In the meantime I figured out that the error I'm encounterting and which I posted above is most likely not related to my demand sensing issue. Basically I receive the error every time, I log on to any PA (also well working ones) so it shouldn't be an issue.

Bottom line: I set up the Demand Sensing part, can run the operator, which then keeps running for two hours and finally leaves me with an error without any hint or entry on the log file.

Regarding the setup:

-     MD (Customer, Location, Product)

-     basic KFs (for actuals, open orders etc.) and for Statistical Forecasting

-     historical data loaded for 2015 (including historical forecasts)

-     open order data loaded

-     the KF for Demand Sensing according to SAP's naming convention (without the KF          necessary for UoM, since I didn't use it)

-     Snapshot KF and historical snaphots loaded

Basically I followed the steps in the model description and your previous hints. Since the normal demand planning works fine, my guess right now that the timeout in my model is either related to an error with the transformation helper level or it might be related to the historical snapshots.

As you said, I can only the the last revision of the historical snapshots, which equals the historical forecast data I loaded. Is this correct?

In the change history (please refer to the picture below) I can see the change history of the snapshots though.

Sorry to bother again!

BR

Benjamin

Answers (0)