Scenario Analysis/Multiple Current Versions


Hi team,


I'm looking at whether I can lock down a previous Version/s within Anaplan but continue to run multiple live versions, this would normally be where we have 1 standard live version but there may be a request for a scenario analysis off this live version. The process for a FP&A model would be:


- Create a Plan version before the beginning of the financial year which is allocated the  'Current Version' item and all formulas in Modules are set to  'Current Version' where appropriate

- Once the financial year has begun a rolling forecast version is created and the Current Version is switched to this version and the Plan version 'Edit From' & 'Edit To' are both set to 'None'. This effectively locks down the plan version & retains all the original values

- Management may request a scenario analysis at this point that branches off the current rolling forecast.


My understanding is that if you wish to lock down previous versions using the Formula Scope 'Current Version' method then effectively you can only ever have 1 live version at any moment (the Current Version) but I would require 2 live versions and also a locked down plan version. 


Does anyone know of a workaround for this?


Many thanks






  • Hi Mark,


    I would imagine dynamic cell access is a perfect fit for this. Also, ideally you would never change the current version in Anaplan; this is a setting unavailable to users who are not workspace admins. So the rolling forecast/live forecast is always the Anaplan Current Version. Import actions can then update the other versions (again an option available to all users instead of just workspace admins). To 'lock down' the values, a simple checkbox with no dimensions providing only read access to the 2 Plan versions


    Let me know if this works!




  • Hi @anirudh 


    Ok - so you are saying to keep the version 'Live' as in all the formulas are still operational but they will be protected by DCA? My definition of locked down is that the data no longer has formulas but the values remain


    I think your idea is fine but it means you must have Version as a dimension on every driver (because it needs to remain static for the Plan version) and also you cannot really use List Properties as you require the ability to hold some data constant while others remain dynamic


    Have I correctly interpreted your answer?



  • Hello @MarkTurkenburg 


    You need to have one SYSTEM module for Version, call it as a version management. You can create a boolean flag and allow multiple versions to be chosen in that.


    Your DCA drivers should be dependent on this version management. Your DCA drivers can also look at the other parameters and calculate the LOCK/UNLOCK.


    So you can lock/unlock versions from a centralized version management.




  • Hi @ArunManickam 


    Thanks but DCA doesn't stop/freeze calculations, it only prevents the user from adjusting the values?


    If so this means that you have to make sure that all your variables etc are running off Version as a Dimension, otherwise if 1 changes it will change your locked down version?









  • @MarkTurkenburg I think the confusion here is that the solution that I and @ArunManickam are suggesting assume that you import the data from your rolling forecast version into the 2 other versions; the versions are then DCA controlled by a centralised DCA module

    In other words, calculations do not run at all in the other 2 versions. This can be done using the formula scope on the driver modules by restricting to just Current Version






  • May be I am missing to understand your concern yet. Let me attempt to answer with my understanding of your question.


    Yes, complete solution will include beyond DCA. The formula is in your control, you could define where it should calculate and where it should not.


    Yes, you need to include this version dimension in all the line items in which you want to run the comparision.


    You could also have a subset of this custom version and limit certain line items to certain version types, in that case you can save space and calculation.




  • @MarkTurkenburg ,


    Not sure this will help, but please check out this message that I think is what you are wanting.






  • @ArunManickam  I think I need to step it out as I haven't explained myself clearly but I think the situation is as below:


    - Ideally I would like to have a Plan Version where the formulas have been locked/hard coded. Eg you create the Version like any other version but then you can remove all the formulas so only the values remain. Then you could apply DCA to guarantee that not adjustments will be mistakenly made. This ensures that the data never changes and there is no need to track down a movement if it occurs. As you know models can become very complex & a movement can come from many places (e.g. Sub-Set adjustment, List Property adjustment, Formula adjustment)

    - Then I would like to have a couple of Live Versions where the formulas are working etc


    - From what I can see this is not possible, what is possible is:


    - I create the Plan Version and be make sure that every line item references also contains Version as a dimension. This way when you apply DCA against the version you will not be able to adjust any values but this also carries it's own risks, being:


    - You cannot adjust any formulas within the model as any adjustment will drive a value change in the Plan version. We are constantly changing/adjusting our model and any formula adjustment will drive a movement to the original value even if DCA is applied

    -  I would need to create separate Sub-sets  for this Version only because if the subset changes in the future, the data in the module which references the sub-set will change even though DCA is applied because DCA does stop any formulas, just input from the user

    - You need to make sure that your list properties are certain not to change in the future because any adjustment in a List property that references a list item in your locked version will cause an adjustment, even if DCA is applied


    Do you agree with my summary or have I gone down the wrong path?


    Thanks for your help



  • @rob_marshall 


    Thanks but I don't think that is relevant for my query. I'm wanting to lock down/hard code values in a version & I can't see how using a Fake Version dimension would assist in accomplishing that as you essentially you end up with the same problems as with the native Version dimension (see my last post to Arun)


    I might be over-thinking it but I would imagine that a locked down/hard coded Plan/Budget version and then a Rolling Forecast version and possibly additional scenario analysis versions are required for a high percentage of FP&A models within the AP ecosystem. It obviously works fine if you only require 1 Live model as you can set the Formula scope to Current Version but once you move to greater than 1 live version it seems to become very difficult


    What would be fantastic is the Formula Scope option to be able to set to a number of Versions, possibly referenced by a Boolean like with DCA. This would by-pass all of this


    If my only option is DCA then I think it is better to create copies of the relevant modules, rename them Plan, remove the Version dimension and import the data from the Plan Version & then apply DCA. You can then to create modules for Variance analysis between the Version being analysed and your Plan but at least there is no chance that the plan numbers will change. It is far from ideal but currently that is my only solution



  • Just another point but very important, using DCA/Fake versions etc to lockdown a version means that you can not change the model structure - e.g. formula adjustments at any point will drive movements in your Plan version. Our models are constantly evolving as we seek to improve them and hence you need to be able to hard code your Plan version that may of been created 10 months ago, before multiple model adjustments have been made






  • Hello @MarkTurkenburg ,


    I think understand your problem statement.


    Instead of removing formulas and locking the values in the PLAN version, we could take a snapshot of the PLAN version into a STATIC PLAN version (Copy PLAN version on a specific time into STATIC PLAN). STATIC PLAN version is read only for all. By this way, you eliminate the step of removing formulas.






  • Hi @ArunManickam 


    Thanks but the read only version STATIC PLAN (I'm assuming you make it read only in the User Section or DCA) will still be effected if a formula in the model changes. Read only will only prevent the user from changing data but I require the values to be effectively Hard Coded so even if the model is improved the original values remain



  • Hi Mark,

    On importing to a static plan version, it is effectively decoupled from formulas as the values are all now in blue and editable unless controlled by DCA or User Read/Write access
  • Fantastic @anirudh 


    How do I import a Static Version?


    Many thanks



  • Here is my versions setting:




    And here's a data module with just one line item; Data with the formula of '10' to simulate having calculations:


    Note the Current Version formula scope and that the other 2 versions are all blue


    Create a saved view in all the data modules with the plan version only using filters/or right-click and select and show only the plan version:


    Import this data back into the same modules but ensure to use the fixed version in the import action options. Enter the static plan in this field and run the action




    That's pretty much it!







  • Hi @anirudh 


    Thanks but that doesn't work for the following reasons:


    - I wish to have 2 or more Live versions running at 1 time. This means I need to keep the formula scope on Line Items set to All except Actual or All Versions. This means I cannot import directly into them as below

    - This is a time consuming method as you need to create import processes for each module (which may run up into the 100's)


    So my current workaround of creating PLAN modules which are a copy of the original module, removing the line item formulas and then importing into them is the only solution. This is quite a shortfall of Anaplan, I'm surprised I thought there would be a better solution to what must be a common problem




  • This is actually a very important topic which in my view limits a lot the way how we can lock versions in Anaplan.

    If you copy your budget into a new version which has to have NO movement in numbers you normally do a bulk copy and then make a version Read only.

    However we can also limit edit from edit to as It's also possible that there is a Budget version which should not be editable or recalculated for a specific year BUT open for a next year input.

    So calculations have to stay in but not for a locked period.


    What can cause a recalculation?

    Changing parent, changing master data, changing parameter which is not specified by Versions/Time Period.


    If I understand it correctly - the only way to get data from recalculating is to use Formula Scope - Current Version and you have to have only 1 version being recalculation and that's it. In this case you also get limited in using apprioaches like Formula Scope - Actual Version which is handy as you want to show actuals for the month of actuals and for other month let input be possible.

    Are there more articles, best practices related to this topic of locking a version / time period from being recalculated?