Data distribution design from Data Hub to multiple spoke production models

Options
Hanwen
edited January 10 in Best Practices

Author: Hanwen Chen is a Certified Master Anaplanner and Principle Solution Architect at Anaplan.

Use case

You may have encountered a situation on your Anaplan project where the model size is too big when you try to load data from different business units (BUs)/GEOs/product groups in a Data Hub into a single spoke model. You may need to come up with a design in which there is a core development standard model, and the development standard model spins off multiple production deployed models, and each production deployed model is used for a specific BU/GEO/product group. Because the Data Hub has all the data and there are multiple production deployed models, you need to have a solution in place where the correct data in the Data Hub needs to be sent to the correct production deployed model.

The focus of this article is to provide you with a detailed solution that distributes the data from the Data Hub to multiple spoke production models. The solution has to meet the following objectives:

  1. It can automatically distribute the correct data in the Data Hub to the correct production spoke model.
  2. It needs to be simplified without creating unnecessary artifacts in the models.
  3. It needs to have zero maintenance.
  4. It allows easy change in the future if there is a need to bring in the data of a new BU/GEO/product group into the models.

Solution configuration

For illustration purposes, I use an example where there are two BU production models and the Data Hub has all the projects associated with these two BUs, and the BU specific projects need to be loaded into its own production model.

The solution includes the configuration of both Data Hub and Core BU Dev Model, and the process setup in a scheduler/Anaplan ClouldWorks.

High-level architecture diagram

The diagram above shows how a core BU dev model can spin off multiple BU specific production models through ALM. It also shows how the processes are used to load BU specific projects into its own production model.

“Generate BU1 Parameter” and “Generate BU2 Parameter” are the processes in the Data Hub Dev Model. “Load Project from Data Hub” is the process in the Core BU Dev Model.

Data Hub setup

Data Hub: processes

There are two processes in the Data Hub: “Generate BU1 Parameter” and “Generate BU2 Parameter”. “Generate BU1 Parameter” is to generate BU1 model name that can be used as a filter to fill out only BU1 projects while “Generate BU2 Parameter” is to generate BU2 model name that can be used as a filter to fill out only BU2 projects.

Data Hub: lists

In the Data Hub, there are two lists: “Flat Project” and “Flat BU model.” The “Flat Project” list has the projects. The “Flat BU Model” list has the BU names that represent the BU models.

The “Flat BU Model” list needs to be non-production data and the “Flat Project” lis is production data.

Data Hub: modules, views and line items

There are three modules in the Data Hub: ”Prop: Flat Spoke Model,” “Prop: Flat Project,” and “Admin: Global Setting.”

Module name

Purpose

Prop: Flat Project

It has the project name and its properties.

Prop: Flat Spoke Model

It contains the spoke model name and its properties.

Admin: Global Setting

It stores the values of the parameters that can be used across the model.

  1. “Prop: Flat Project:” View and Line Items
    1. View: There is one view “Export Project to a BU model”. The view is used to export the BU related projects to a BU production model.
    2. Line Item: The blueprint shows the line items in the module. The list “Flat Project” is used in the module.
  2. “Prop: Flat BU Model:” View and Line Items
    1. View: There are three views as shown below.
    2. Line Items: The blueprint shows the line items in the module. The list “Flat BU Model” is used in the module.
  3. “Admin: Global Setting”: Line Items
    . There is no view. The blueprint of the module below shows the line items. No list is applied to the module.

Core BU Dev model setup

Core BU Dev model: process

There is one process: “Load Project from Data Hub”. The process has two actions:”1.1 Validate Correct BU model Data” and “1.2 upd Projects from Data Hub”.

Core BU Dev model: list

There are two lists: “Flat Project” and “Flat BU Model.” Both of the lists need to be production data. “Flat Project” has the BU specific projects and Flat BU Model has the BU model name for a specific BU production model. The name needs to match what is in the list “Flat BU Model” in the Data Hub. For example, if BU1 and BU2 are used in the list “Flat BU Model” in the Data Hub, the item of the “Flat BU model” is BU1 in BU1 Production Model and BU2 in BU1 production model.

Core BU Dev model: modules, view and line Items

There is only one module “Validate BU model Data from Data Hub" with one line item “Correct BU model data from data hub?”. The boolean value of the line item comes from the action “1.1 Validate Correct BU model Data” that gets the data from the data hub.

Process run setup

After we have the processes in place, we set them up to run in a scheduler or Anaplan CloudWorks as shown in the table below. The processes need to be run in sequence.

Model

Process

Data Hub

Generate BU1 Parameter

BU1 Production Spoke model

Load Project from Data Hub

Data Hub

Generate BU2 Parameter

BU2 Production Spoke model

Load Project from Data Hub

Configuration to bring additional BU projects

The solution needs to be set up in a way to allow easy changes. If there is a need to bring another BU project data, such as BU3, into the model, here are the simple steps to follow:

  1. Data Hub changes
    1. Add “BU3” into the list “Flat BU Model."
    2. Add the line item “BU3 Model” into the module “Admin: Global Setting.”
    3. Add the line item “Filter: Load BU3 Model” in the module “Prop: Flat BU Model.”
    4. Add the view “Load BU3 Model Name” by using the filter ““Filter: Load BU3 Model” created in the previous step.
    5. Add a new process “Generate BU3 Model Name” to populate the value for the line item “BU Model for Export” in the module “Admin: Global Setting” by using the view “Load BU3 Model Name” created in the previous step.
  2. BU Production model change
    1. Use Core BU Dev model to spin off BU3 production model.
    2. The item in the production list “Flat BU Model” in the BU3 production model is “BU3.”
  3. Add the new processes into the scheduler/Anaplan CloudWorks as shown in yellow in the table below.

Adding these changes should be very quick, since you can replicate what has been built in the models including naming convention, line item format and formula, view, action/process, etc.

Summary

If you configure the Data Hub, the BU Dev model and the processes like what I have laid out above, you will have a simplified solution that has zero maintenance, and is easy to make changes.

Questions? Leave a comment!

Comments