How to decide whether to build a New Model or add the new functionaliy into an exisiting model


I am about to start modeling our Sales Commission Payments process, but I am wondering whether to build it as a stand alone model or add the functionality within our existing Operating Costs Model.


The Calculation for the actuals (which is the part of the process that currently exists) will work of a set of lists which are not currently within the existing model, but once we have done phase 1 to build the payment calculation, we will then look at using that calculation to feed back into the operating cost model to help us budget better for the Sales Commission, so we'd then want to tie up the employee and the cost centre to the employee and the cost centre within the existing model.


What would be the most efficient way to build this?




Best Answer

  • usman.zia
    Answer ✓

    Hi @kateward 


    Great question and I'm sure there are multiple ways to approach this. 


    My recommendation would be to keep it within the existing model simply because of the requirement to feedback the output of the sales calculations into the operating cost model. Having this connection makes it much easier to interogate the values being produced by the sales calculation piece.


    If common dimensions are used within the new process keep them the same and where applicable for relationship you could use mapping modules. 


    Also the benefit is that you can keep it one controlled environment than 2. 


    I hope this helps,









  • Many Thanks Usman. I was leaning towards this for the reasons you suggested.

  • @kateward 

    Whilst it is usually better/simpler to keep everything in one place, I'll share a a couple of other considerations as to why split models (which we often consider if models get too big)


    1.  Are the users of the new functionality a subset of the existing users, or completely different.  If they are different than administration/security is easier if they are in separate models

    2. Do the results of the Commissions need to be real time fed back into the next phase? If the processes are different steps (and run by different people (as above), then splitting the models can be considered and only "approved" values are sent over on a schedule


    Also, I would also build a Data Hub if you haven't already to support the models.  If you do this now, should you decide/need to split the models at a later date, if means the Data Hub can be used to support a single source of truth and be at the centre of the Connected Planning architecture that you will develop


    I hope that helps give more insight to the decision


  • @DavidSmith 

    Thank you, some very useful points to consider.


    The existing users will be allowed access to see the calculation and the results of it, but the team that calculate the commissions and feed in the inputs wouldn't have access to anything within the existing model.


    In terms of a Data hub, we have a functional area within our model which we have called Data Hub, which is where all our input data comes in, but we don't have a separate Data hub which then feeds into the models. Would you recommend splitting this out entirely?




  • Hi @kateward 


    As @DavidSmith mentions it is best practice to create a separate data hub model which feeds into your current model. 


    There are many reasons for this but mainly it is to support scaling of business modelling from one place where the data is stored to create "one single source of the truth". 


    Please see the article in the link below:





  • @kateward 

    We do recommend splitting it out, actually to it's own workspace.  

    If you are familiar with our modelling standards PLANS, the S stands for Sustainability.  Build with the future in mind


    We hope that you will build out more and more models/use cases so planning for that now makes it so much easier whilst the set up is small.


    Have a read of the following article which we wrote outlining all things data and data hubs, including the most efficient way to stage data

    and the following are a lot of our general best practices include the Planual; the "rule" book




  • @DavidSmith @usman.zia 

    Thank you, I'll take a look at those and work out what we might need to do. When we built this model with our partner that's how he set it up, This is my first model, so it might take me some time to digest and work out what would be my best way forward to work on changing this to be ready for scalability in the future as we do have more builds planned.

  • @kateward 

    My advice would be not to rush, definitely

    If it was me this would be my approach

    1. In your existing model, document what lists and data are updated from source systems

    2. Copy the model and call it data hub (sorry not very imaginative)

    3. Delete all of the Planning modules

    4. Look at the imports to the key lists and data modules from source systems; the actions should still be there. They should still run, although you will probably need to upload the files again if you want to test

    5. Create system modules for the key lists and create saved views to provide the source for the export to the planning model

    6. In the planning model create imports pointing to the Data Hub for the lists and data modules

    7. Copy the planning model and test the imports, To be safe, I would delete all elements and the re-import; you obviously should have the same as you planning model

    8. Assuming all is in order, you can then delete/tidy up the external import processes in the planning model and use the Data hub imports/processes


    I hope helps

    Start slowly and be methodical and you shouldn't have any issues


    Good luck


  • @DavidSmith 

    Thank you very much for your help.