OEG Best Practice: Model load, save, and rollback

AnaplanOEG
edited February 2023 in Best Practices

Model load

A large and complex model such as 10B cells can take up to 10 minutes to load the first time it is in use after a period of inactivity of 60 minutes.

The only way to reduce the load time is by identifying what formula takes most of the time. This requires the Anaplan L3 support (ask for a Model Opening Analysis), but you can reduce the time yourself by applying the formula best practices listed above.

One other possible leverage is on list setup. Text properties on a list can increase the load times, and subsets on lists can disproportionately increase load times. It is best practice not to use list properties but house the attributes in a system model dimensioned by the list.  See Best practice for module design for more details.

Model save

A model will save when the amount of changes made by end-users exceeds a certain threshold. This action can take several minutes and will be a blocking operation. Administrators have no leverage on model save besides formula optimization and reducing model complexity. Using ALM and Deployed mode increases this threshold, so it is best to use Deployed mode whenever possible.

Model rollback

A model will roll back in some cases of an invalid formula, or when a model builder attempts to adjust a setting that would result in an invalid state. In some large models, the rollback takes approximately the time to open the model, and up to 10 minutes worth of accumulated changes, followed by a model save.

The recommendation is to use ALM and have a DEV model which size does not exceed 500M cells, with a production list limited to a few dozen items, and have TEST and PROD models with the full size and large lists. Since no formula editing will happen in TEST or PROD, the model will never rollback after a user action. It can roll back on the DEV model but will take a few seconds only if the model is small.

Author David Smith.
Contributing authors: Guillaume Arnaud and Prakash Hariharan.

Comments


  • @DavidSmith wrote:
      Model Save:

    A model will save when the amount of changes made by end-users exceeds a certain threshold. This action can take several minutes and will be a blocking operation. Administrator have no leverage on model save besides formula optimization and model size reducing. 


    Enhancement request: can the message in the blue box be updated to inform users that the blocking action is saving the model? To the layperson, it is not apparent why a blocking action is taking place. It would help as an administrator to know: 1) the blocking action is due to model save 2) reduce model size and optimize formulas to reduce model save time.

  • @DavidSmith: thank you for the informative post!

     

    Can you provide some additional insight on how model saves work, and some statistics to give us an idea of how long we should expect typical FP&A models to save? For instance, if the standard FP&A model on the App Hub takes 30 seconds to save, and a model of comparable size that we've built with a client (or that a client has built) takes 10 minutes to save, it would tell us that we need to take a look at our formula complexity, and not necessarily model size. Similarly, it would help us set and manage expectations with clients that the model may be unavailable for a few minutes, periodically.

  • @DavidSmith 

     

    Apart from the reasons mentioned above by you , due to Inactivity in the model for more than 60 minutes does the model go back to disk and it has to come back to memory when somebody tries to log back in to the system?  Heap & Stack memory concepts.

     

    Because In one of my client's case our model opening time was around 5 minutes as it was a huge model and we brought it down when we scheduled a job every 10 minutes - This job basically did nothing just to poke the model to stay awake and didn't let it go back to sleep.

     

    Hope my understanding on the concept is correct.

    Thanks,

    Misbah