Statistical Forecasting algorithms into a user specific model
Hi - I am new to Anaplan and I have a quick question:
Let's presume we are to develop a supply chain demand planning module for a client. Since we exactly know what all lists/line items are needed along with the hierarchy and the calculation formulae for different line items, I prefer to have that developed everything from scratch. But I am wondering how I can get the forecasting algorithms into my model - I can see one standard app from Anaplan for weekly statistical forecasting that has 30 models (that model size - 3.34GB) but I don't want to use that app and modify as I am not sure what/how all the dependencies are built there. I prefer to have all the forecasting algorithms in that app imported into my custom model that is being built from scratch - can you please brief how I can get that done? And your thoughts on if that's a cumbersome process and what's the recommended process?
Thanks,
Answers
-
If you want all of them I suggest you use the app itself as its own model. Configure it with your products/materials, import your data,run the stats forecasting there and then import the results into your demand planning. You can schedule a daily refresh of data for example. In most cases this is what we do.
If you want to re-create a few stats methods only, then you could open the app, find the module where the calculation for these methods is happening (it is all in one module which I forgot) and redo the calcs into your model.
2 -
I really, really like this question. It's very strategic in nature so it's easy to give an opinion. Hopefully, you can use some of these pointers.
First, I really like @nathan_rudman idea on how to use the statistical model in the app hub.
Many implementations I've seen will segregate the forecasting model from the other apps since the forecasts tend to be reused.
However, once you go down that road, you will have to brush up on data integration between models.
An article that is an absolute required reading is data hub performance by @rob_marshall.
It's easy to manually, or semi-automate, data movement but to fully automate you will need to really think about being more strategic about your implementation.
Regarding forecasts, here are some thoughts on strategy and a few tactical points:
- While this may seem a bit far off from your question, the idea of developing an Anaplan Center of Excellence would help tremendously. This will force you, your team, and your customer (or Company) to think very carefully about what it will take to either build forecasts outside of Anaplan and import them in, or to build them inside of Anaplan and figure out how to share, or reuse the same values. See Center of Excellence Intro.
- Regression vs. Classification. Most regression models can be built in Anaplan. If your forecasts require deep-learning, I would suggest using an outside tool like Knime, or Alteryx (if you have the license). To be honest, most supply chain forecasts don't need more than a simple seasonal ARIMA like Holt Winters. This will detect trend and magnitude and has a self-learning component to it after each subsequent data load. If you need classification, like clustering, I would recommend R or Python. You can try to use the Anaplan optimizer to iterate but I've found it easier to just run a simple script and import the results in since it's not very frequent. Lastly, on this point, you can use the new Excel Add-In. It is now possible to push data back into Anaplan but I would only use this in a clutch, as a last resort. There's a lot of security you have take care of on the Anaplan side and you'll probably need to create staging modules to control quality.
- @nathan_rudman idea of a forecast hub is brilliant. This is the way I lean most of the time especially if the forecasts are to be reused. Some forecast models require a lot of transaction trip logs like when actuals exceed the upper or lower control limit, n-number of errors in the same direction, missing data, holidays, closed or remodeled stores, weather, lead time exceptions, etc.. I think you get the idea. Having all these exceptions in one place is perfect for Anaplan and can create lots of interesting reports. Separating all the forecasts allows you to control who can see or edit the data. An absolute must if you plan to calculate or predict stock outs! Nice segregation of duties.
- If you are determined to create forecasts outside of Anaplan, you have to get really good at data integration. Here are a few articles I would HIGHLY recommend you read to start you on that journey. Start with Anaplan Connect,its a free download and plenty of good documentation. Then learn to use the APIs since this is the way all integration tools work. Start with version 1.3 - it's easier and has virtually the same functionality as version 2.
- Who to watch for: @jnoone, @ben_speight, @alexpavel, @scott.smith, and @kavinkumar are data integration pros and consistently get me out of a tight spot with data integration. @jesse_wilson and @chase.hippen are Python pros. Read their best practice articles when you're ready. It will change your world!
And lastly, keep the conversation going. There are a lot of people here in the community that can share their ideas about forecasting.
4 -
Hi
We have implemented Demand planning on Anaplan on our project and we have been successful to derive benefit for business
following are the basic steps we should follow
- Clean the historic data
- Use the functionality provided on Anaplan Demand planning app to remove outliers from your history data
- If you want your forecast should be the right prediction - hold atleast 36 months of history data it would cover following
- Trend
- Seasonality
- The Anaplan provided Demand planning App - provided MAPE for error comparision and auto suggests the forecasting model
- this can be improvised for holts & winter models or exponential smoothing models -
- take copy of forecasting model and provided range of alfa, Beta and Gamma
- compare the outcome across different outputs from the combination
- The one with least error would be the right prediction of forecast
- this can be improvised for holts & winter models or exponential smoothing models -
- For Multi linear regression
- we used Python as this turned out to be much simpler
- and integrated the python output and published the MLR results
- the best fit of Timeseries models & MLR model were picked as per MAPE
Based on the above solution approach we have been able to provide a solution that provided approx 85% forecast accuracy ( before the collaboration process)
Regards
Manas Malhotra
5