Historical Snapshotting



Estimated Level of Effort:
<4 Hours of Model Building

Level of Difficulty:

Recommended Training:
L1 Model Builder Training

Casual Model Builder

Potential ROI:
Decreased response time to address risks
Increased forecast accuracy

You Might Also Like:

Historical Snapshotting

One of Anaplan’s greatest strengths is its in-memory storage, which means that data is always accurate and real-time. However, sometimes it is useful to see what the data was at, at a specific point in time, whether to back up data, to compare changing data over time, or any other reason that comes along with the true diversity in planning empowered by the platform. Historical Snapshotting refers to the ability within Anaplan to capture real-time data values and store them in a way that they will never change.

This seemingly simple idea requires just a few more steps than you might think and cannot be derived by the calculation engine, but by following these simple steps (including one or two shortcuts), you can have Historical Snapshotting up and running in your model in no time. Sometimes called "Time Stamping" or "Version Stamping," this process really covers anytime that real-time data must be captured at a specific moment and saved in a relevant way that can be recalled and compared later, whether that has to do with a specific point in time, the specific version of a plan calculated at the moment, or any other variation.

This functionality is especially powerful when matched with Crediting Rules where you can see which transactions were assigned to which individuals at any point in time, regardless of staffing changes. This is also useful for historical reporting to compare different versions of data over time to show trends and changes in dynamic data in real time.



  1. Identify the module that has source data that you’d like to see over time. There are often many calculations in this data, and they are most often NOT dimensionalized by Time.
    Create a Saved View of the data you would like to have timestamped, usually including some mention that it is a “Snapshot” in the name.
  2. In the Module Settings, Copy this module. You have flexibility over the name you choose, most frequently it is some combination of the name of the original module with the addition of "Snapshot.” It is not necessary to keep the "Include cell data in module copy" setting selected.
  3. In the new module, remove all formulas and clear out all existing data. You can easily accomplish this by setting the formulas to “0” or “BLANK” or “FALSE,” depending on the Line Item Formatting. Just make sure to remove these formulas before moving on to the next step. You can certainly also complete this step manually if you can easily see all data on one screen.
  4. Update the dimension of the module to add your Snapshot dimension (whether it's Time, Versions, or a list). If using a false time dimension, after clicking the "…" in the Applies To setting make sure to keep the current dimension selection and just add the new one by holding “Command” on Macintosh keyboards or "Control" on Windows keyboards to add the new dimension without losing the current module dimension settings.
  5. Build an import into this new module from the saved view you created in Step 1. All dimensions and line items should map automatically, and you will need to fill in the mapping for your time dimension. Set the mapping for your time dimension to “Ask Every Time.” One thing to note, it is best to set your import to Clear All Data, so that if you run the import action multiple times, set to the same Time item to prevent summing any numeric values instead of stamping them from the current source data.
    • Alternatively, you can include a line item in your model where you set the value for the timestamp to set and include a formula referencing this data in your source data module Saved View, for use in mapping. This advanced modification is useful when running multiple Time Stamping procedures or ensuring model-wide consistency, but is not required to get started with your first Time Stamping exercise.
  6. Run your import and select the mapping you would like to use for this snapshot of the data.
  7. Validate that when setting your module dimension to the current snapshot, your data matches the current live data in your source module.
  8. Add your newly-created import action to a Process Action, and publish this Process Action to a relevant administrative Page (or Classic Dashboard, if you have not yet migrated to the UX).
  9. And that’s it! Whenever you have new data that should be captured in Time Stamp, you can run your Process Action to stamp the data to a specific time of your choosing.