Business Simulation Models and Parameters Here I explore the heart of a business simulation - it's models and associated parameters. |
I use a standard model and parameter file structures for most of my business simulations.
The diagram below lists the main model groups an how they link to each other with a description to the right.
![]() |
This group of models is invoked whenever the simulation is run and is used to setup the data files to be used. |
This group of models is invoked when each period simulated before decisions are entered and is used to pre-set parameters for the period. |
|
This group of models is invoked directly after decision entry to check the decisions to see if they are illegal or unusual |
|
This group of models is invoked to simulate the black-box marketplace and economic factors and where appropriate competition/ |
|
This group of models is invoked to simulate the internal operation of the business and accounting results. |
|
This group of models is invoked to analyse the business and make comments about how it performed. |
|
This group of models is invoked when it is appropriate and possible to analyse overall performance' |
For short (2 hour) business simulations there will be some 350 logic steps. For intermediately complex business simulations (1 day) there will be some 800 logic steps and more complex simulations have proportionally greater sizes. However, these statistics are for normal business simulations. Where the simulation is novel or the situation complex, the logic size can be significantly greater [1]. For example, the novelty and situational complexity of my Training Challenge simulation meant that the logic was nearly four times greater than a normal business simulation (1900 logic steps rather than 500 logic steps)
The example above shows that the model size for most simulations is linearly correlated with duration. The two exceptions (red square outliers) were business simulations that were very novel and this added to model complexity [1].
The design time for five of the sample simulations was plotted against model size and these seem to be highly correlated. My paper Computer Business Simulation Design: Novelty and Complexity Issues [1] discusses the reasons for this. Overall, the time to develop a new business simulation depends on it's duration and novelty.
Learn more about indicative design times
Another aspect of the model is a language used for the mathematical calculations. to be made, provide a range of functions, allow logical structures and allow logic and calculations to be repeated. One of the best modeling languages is BASIC as this has all the language elements to do the calculations. There are several reasons why I use a high-level language. The example below shows nested, multi-step conditional statements. It was used in my Training Challenge simulation to calculate how time needed to be adjusted if there was insufficient time for selling, prospecting, course updating, course development, business improvement or professional development.
Code Example
1. Easy to model complex logic. The example above shows a nested conditional statement and where calculations are repeated for each market - consider how you might do this using a spreadsheet.
2. Clarity - each stage in the calculation is shown and commented on. This clarity helps when designing the model and if you have to revisit it a later stage (to update/change).
3. During testing you can step through the model logic statement by logic statement to see how variables change.
Modeling Language and Model Size
Finally, the modelling language impacts model size. A high level language like BASIC is about a fifth the size of a similar model in Excel.
The diagram below lists the main data groups. These separate in to two classes: Parameters that define the assumptions that drive the models and Team/Period Data that store current business results. Depending on the type of simulation these are for all the competing teams of all the periods.
![]() |
This vector stores individual parameters. |
This two dimension array stores the parameters for each market sector. | |
This two dimension array stores the parameters for each product, resource, etc.. | |
This three dimension array stores market data by team or period. |
|
This three dimension array stores product or resource data by team or period. |
|
This two dimension array stores financial/operational data by team or period. |
Data Volume depends on the duration and complexity of business simulation. A short, simple business simulation might use as few as 120 to 200 variables. One of intermediate complexity from 300 to 500 variables. A novel, complex business simulation like my Training Challenge simulation (see below) would have more.
Example for Training Challenge Simulation The variable numbers refers to the number of different variables and the number of data items takes into account the fact that for Training Challenge there are four client groups (market parameters and data) and there can be up to eight services (product parameters and data) offered. So, for example, each of the 38 market parameters requires four data items (one for each market (client group) |
Data Group |
Variable Numbers |
Data Items |
Economic Parameters |
152 |
152 |
|
Market Parameters |
38 |
152 |
|
Product Parameters |
54 |
432 |
|
General Data |
270 |
270 |
|
Market Data |
145 |
580 |
|
Product Data |
68 |
544 |
|
Total |
727 |
2130 |
Software Practice
It is standard data processing practice to hold data in files separate from logic (program). For business simulations, the need to hold data (parameters and business) separate from the simulation model is equally good practice. A particular aspect of a business model is that there are many variables and each is likely to be used in several places in the model. For example
the maximum number of
days that can be
worked each period in my Training Challenge is used thirteen times. Providing a single source for each and all variables ensures that it is easy to change values and ensure that where variables are used in several places all are changed. The alternative, when a variable is used in several places and defined at each, is to hunt throught the logic when a change is needed.
Multiple Versions
These are necessary to handle different terminology, languages and learning needs and this is easy to do where parameters and business data is held in a separate file rather than embedded in the model.
![]() |
![]() |
Most recent update: 10/01/15
Hall Marketing, Studio 11, Colman's Wharf, 45 Morris
Road, London E14 6PA, ENGLAND
Phone +44 (0)20 7537 2982 E-mail jeremyhall@simulations.co.uk