Rolling data snapshots of Weekly and Monthly forecast for different Versions
We have a scenario where there is a need to do a weekly forecast for short term (next 13 weeks) and monthly forecast for remaining periods of the fiscal year. The forecast and actuals need to be captured in both weekly view and monthly view. Also the monthly view needs to be tied to a consolidation system (another tool having data at monthly level fiscal periods).
There are many entities and the fiscal calendar is not same for all of them. Majority follow the Gregorian calendar but there are several entities having different starting and ending dates for each fiscal periods. For Ex.
Entity 1 = Period 1, Jan 21, 1st Jan to 31st Jan
Entity 2 = Period 1, Jan 21, 1st Jan to 28th Jan
Entity 3 = Period 1, Jan 21, 1st Jan to 4th Feb
Since this can't be accommodated within the Model calendar due to different dates for fiscal period and the weeks not rolling to specific periods, an option is to have the native calendar set to "Months/Quarter/Years" to get the monthly view and creating a custom weekly list to get the weekly view.
The entity dimension is very big (3000+) and other dimension being used in different modules includes currency type, customers, vendors, channels, time, versions and will result in large sized modules.
Additionally there is a requirement to snapshot the forecast into different versions and use them for variance analysis within Anaplan. So the current forecast needs to be saved into the following snapshots for all key modules and also require variance analysis between them. The Prior 1 to Prior 4 are rolling snapshots and needs to be updated as week changes.
Forecast - WK1 : Snapshot at the start of current quarter Forecast - Prior 1 : Snapshot 1 Week Ago Forecast - Prior 2 : Snapshot 2 Week Ago Forecast - Prior 3 : Snapshot 2 Week Ago Forecast - Prior 4 : Snapshot 5 Week Ago
Any suggestions on the best approach to achieve the weekly and monthly views and also the efficient way to manage the snapshots?
The simplest approach to preserve prior forecasts is to utilise the bulk copy functionality.
This will allow you to create and copy the current forecast into a new forecast version.
However, this action will significantly increase the size of the model if you continue the process for the whole 14 weeks.
You will also need to map each calendar into a standard model calendar so that you can compare across entities, mapping days into weeks and weeks into months/periods.
Your model will be huge and from your requirements this is unavoidable if you want to retain 14+ different forecasts, plan at both weeks and months along with using a variety of different calendars.
My advise in this regard is question why you need to retain so many forecasts when Anaplan's strengths come from the ability to plan into the future not reporting past events. Do you really need this amount of data to achieve this?
We see this problem quite a bit and my suggestion is to work backwards to forwards, meaning from reporting requirements to development of modules and logic. I say this because from the beginning, you stated it will be many modules needing these versions and snapshots, but is that really the case? I would suggest understanding what the true requirements are for reporting and variance analysis and then define the modules/logic for that. When you do this, you very well may need a few modules with all of these versions, but not likely for all of them from a reporting perspective. Also, another idea, you might want to consider mixing native versions (for input) with a custom version list used for reporting. You may already know this, but bulk copy can be used on any list, not just native versions.
Thank you very helpful! Have you seen a good solution for taking monthly forecast snapshots and not letting the data change in those snapshots?
I thought versions and bulk copy would do it, but if a switchover date is included in the snapshot version then actuals could technically change for any line item using "if isactualversion()..." before the switchover date. And if a switchover date isn't used in the snapshot version then actuals data will never get to line items that use "if isactualversion()..." because the system doesn't know when actuals start/stop (even after a bulk copy from actuals to snapshot version A). I'm torn.
Basically I'm looking to freeze/ snapshot data (actuals and forecast) and never have that data change but also be able to refer to these snapshots for variance and other reporting
Snapshotting is always fun. First, I would understand what actually needs to be snapshotted and why? Does it have to be the most granular data or can it be summarized/aggregated up? If the answer is the most granular level, then why? What will it be used for? Is it a nice to have for a report or is it a must have? What type of reports will you be using the snapshots for? Will they be for variance reporting between Actuals and a snapshot or will it be just between snapshots? How many modules are we talking about that need to be snapshotted or is it just one module? Lot's of questions that need to be answered in order to answer the question.
With that said, I would lean towards a custom list for the snapshots and populate it via actions. That way, you don't have to worry about switchover.