2. MDE Submodels

Base Data

In this step, we create our first submodel, Base Data. It will serve us as a nexus between the uploaded data from our xlsx sheets and the created nodes and drivers.


First, we create blank data nodes 1-10. We use afterwards the Connect Data Button under the formula ribbon to add all data according to the following table:. Do not forget to change the Unit settings accordingly and follow the naming. 

Nr. Node DataSource Table Measure Resulting fx
1. Base Data Revenue Base data BaseData Revenue DATA("Base data", "BaseData", "Revenue")
2. Base Data Volume Base data BaseData Volume DATA("Base data", "BaseData", "Volume")
3. Base Data Internal Cost Rate Base data FTEData InternalCostRate DATA("Base data", "FTEData", "InternalCostRate")
4. Base Data Total Revenue Base data ServiceData TotalRevenue DATA("Base data", "ServiceData", "TotalRevenue")
5. Base Data COGS Base data BaseData COGS DATA("Base data", "BaseData", "COGS")
6. Base Data Billed Days per Project Type Base data ServiceData BilledDays DATA("Base data", "ServiceData", "BilledDays")
7. Base Data Personnel Share Base data PersonnelSplit PersonnelShare DATA("Base data", "PersonnelSplit", "PersonnelShare")
8. Base Data G&A Base data OPEX GA DATA("Base data", "OPEX", "GA","EUR")
9. Base Data M&S Base data OPEX MS DATA("Base data", "OPEX", "MS","EUR")
10. Base Data R&D Base data OPEX RND DATA("Base data", "OPEX", "RND","EUR")

(If you forgot to upload your data, see the last step and do that first.)

Drivers

In our next step we focus on the "Drivers" model. The Drivers are our ways to simulate effects of outside drivers as well as our own actions.  


What we can achieve with following Formulas:

  • with the EXPAND formula we copy our desired Input for chosen dimension level (e.g. Country level of Location Dimension) across all its level values (e.g. Germany) 
  • with the ROLLFORWARD formula we take the most recent value in  the base and continue data (Base Data Volume) and the drivers ( Market Growth)
  • with the FILTER formula we can select or exclude data based on their dimensions level values (e.g. keeping only data for the level value Germany in the dimension level Countries of the Location dimension)
  • with the EXPANDSINGLE formula we set a chosen level ( e.g Year) to a specific level value (=dimension member) ("2018") on a node or value

Once again we create the 9 driver nodes and type in the command by opening each nodes operation editor (fx):

Nr. Use Needed fx (Highlighted according to the formula explanation above)
1. With this node, we want to simulate effects of different market developments on our sales and associated variable costs. We want to start off with 0 development for both country and years and simulate changes from that baseline. EXPAND(0,"Year","Country")
2. With merit increase, we simulate the increase of Salary for different groups which affects our costs. We start again with zero salary increase for all groups and years. EXPAND(0,"StaffGroup","Year")
3. The volume is the past volume increased with the predicted market growth. ROLLFORWARD(('Base Data'.'Base Data Volume'),'Market Growth')
4. Inflation has affects on our costs and the sales price. We want to keep it at zero for all countries and years and then adjust it later on. EXPAND(0,"Year","Country")
5. The Cost of Goods Sold per Product node should only cover the costs for products and exclude the services cost. We need the past total product cost and divide it with the past product sales volume to have a cost per each product. The most current data point should be a starting point for the future estimation.

ROLLFORWARD(
FILTER('Base Data'.'Base Data COGS' * -1,"ProductGroup","Products")/
FILTER( 'Base Data'.'Base Data Volume',"ProductGroup","Products"))

6. To model the cost increase following salary changes, we need the share of COGS belonging to personnel. ROLLFORWARD('Base Data'.'Base Data Personnel Share')
7. General and Administrative: The same use case as for the COGS Personnel Share. Please note that including a number manually in a formula can make the model less readable and harder to change, keeping the data in Excel Sheets results in easier model management. However, it is sufficient for our use case. EXPANDSINGLE(0.9,"Year","2018")
8. Marketing and Sales: See 6 & 7. EXPANDSINGLE(0.55,"Year","2018")
9. Research and Development: See 6 & 7. EXPANDSINGLE(0.8,"Year","2018")


If everything went well your model should look somewhat like this:

You can see the grey nodes are from the submodel "Data Base". 


Next Step

Congratulations on getting to know the four most important formulas of Valsight: EXPAND, EXPANDSINGLE, ROLLFORWARD & FILTER. With their combinations and simple arithmetic operations, you can model most business relationships. You can practice them some more in the Product sub-model. 

Next Page

Was this helpful?

Yes | Somewhat | No