This article describes using simulation programs for making IT decisions, but similar simulations are made to determine geopolitical and business outcomes based on specific conditions. These are different from scenarios as they are usually computer-based. In contrast, scenarios are typically role-played, even when they are "table-top exercises", meaning that the entire scenario environment has not been replicated but imagined in a symposium-like setting. Have you ever designed or participated in a simulation? Did it provide full information to inform the resulting decision-making?
4. Simulation Model
This section describes the simulation model built to analyze the problem described in the above section. For this, we have followed Kellner et al.'s proposal to describe a simulation model and Martínez and Richardson's methodology for simulation model building. The main components of a simulation model are the scope and purpose of the model, the abstraction of the system, the input parameters, and the output variables.
The simulation approach chosen for model building is System Dynamics and the simulation tool used is AnyLogic, a multiparadigm simulation environment.
4.1. Purpose and Scope of the Model
The scope of the model is ITIL strategy of IT services process. The model purpose is to help service providers evaluate the fulfillment of the business rule that specifies the maximum rejection percentage for service requests allowed.
4.2. Input Parameters
Input parameters allow the configuration of different simulation scenarios to analyze the fulfillment of the business rule contracting different service capacities and considering various tendencies of service requests. The input parameters included in this study are classified as follows.
(a) Parameters modeling the tendency of the service requests that the service provider receives.
(i) Requests Received Rate. It represents the rate of service requests received that depends on the tendency of the orders made by the company's customer through the website. In the case of study, we have considered the patterns of behavior of customer's orders after the lunching of a special offer shown in Table 1.
Table 1 Patterns of behavior of customer's orders.
Orders tendency | Description |
Const | After
the launching of a special offer, the number of orders received
experiments a rapid growth and it remains constant as its peak value. Requests Received Rate = Initial Value + PulseHeight * Pulse (PulseTime, Sim Period) |
Ramp | The increment of the number of orders is not step-shaped but gradual; hence, it has been modeled as ramp. Requests Received Rate = Initial Value + Ramp (Ramp Slope, Ramp Time, Ramp Length) |
Pulse | The growth that the number of orders stays as its peak value for a certain amount of time and then descends gradually. Requests Received Rate = Initial Value + PulseHeight * Pulse (PulseTime, PulseWidth) |
Requests Received Rate, Initial Value, Pulse Height, Pulse Time, Pulse Width, Ramp Slope, Ramp Time, and Ramp Length are input parameters of the model that allow defining the patterns of behavior of customer's orders considered. It is possible to include in the simulation model other functions to represent other different tendencies of the customer's orders.
(b) SLA parameters service provider and e-commerce company sign (see Section 3).
(i) Service Capacity Contracted. It represents the service capacity contracted by the customer company.
(ii) Service Response Time. It represents the maximum response time of the service.
(iii) Requests Rejection Rate. It represents the maximum percentage of service requests received that are permitted to be rejected.
(c) Credit card validation service management parameters.
(i) Service Capacity. It represents the service capacity that service provider assigns to the customer company.
4.3. Output Variables
The main output variables that provide information about the purpose of the model and are helpful to understand the behavior of system are as follows:
(i) Business Rule Fulfillment. It represents the deviation between the service requests that have been rejected by the system and the maximum rejection rate allowed by the business rule (value of the SLA parameter Requests Rejection Rate).
(ii) Requests Received. It represents the number of service requests that the service provider receives. The value of this variable depends on the value of the input parameter Requests Received Rate.
(iii) Requests Validated. It represents the number of service requests received that have got an answer without exceeding the maximum response time established.
(iv) Requests Rejected. It represents the number of service requests received that have been rejected because they exceeded the maximum response time established.
4.4. Model Conceptualization
In order to represent the main elements of the system modeled and their cause and effect relationships, we have created the causal loop diagram presented in Figure 1.


The cause and effect relationships displayed in Figure 1 are as follows: (a) the number of Requests Received depends on the Requests Received Rate that represents the tendency of the company customer's orders received; (b) the number of Requests Validated depends on the number of Requests Received and the service capacity that service provider assigns to the customer company; (c) the number of Requests Rejected depends on the number of Requests Received, the Service Response Time (maximum service response time allowed), and the number of Requests Validated; (d) the strategic goal customer satisfaction depends on the number of Requests Validated and the number of Requests Rejected. The input parameters of the model are the activity elements upon which the fulfillment of the business rule can be assured.
Once the model has been conceptualized, it has to be formalized as a mathematical model. For this, we have used stock and flow diagrams, also known as Forrester diagrams. These diagrams help us represent the model structure, assign the equations to this structure, and identify the relationships between the variables involved. They represent the most important system variables, that is, those ones whose behavior we wish to observe, as stock variables. The variables that represent how stock variables change through time are known as flow variables. Auxiliary variables are the rest of elements in the process that have influence upon it.
In the model proposed, the output variables Requests Received, Requests Validated, and Requests Rejected have been modeled as stock variables whose behavior is controlled by the flow variables Requests Received Rate, Validation Rate, and Rejection Rate.
4.5. Model Experimentation
To illustrate the use and applications of the model, in this section we describe and analyze some of the experiments conducted. These experiments are classified as follows.
(a) Experiments that allow analyzing the fulfillment of the business rule and the service behavior by varying both the service capacity that service providers allocate to the company and the tendency of customer's orders that determines the tendency of service requests that service provider receives.
(b) Optimization Experiments. These experiments combining simulation model with the AnyLogic optimization tool to find the best values of decision variables (input parameters of the simulation model) which yield the optimal service performance. The AnyLogic optimization tool is based on the OptQuest optimization engine which uses metaheuristic optimization algorithms, mainly scatter search.4.5.1. Experiments to Analyze the Fulfillment of Business Rule and Service Behavior
Experiment 1. The aim of this experiment is to analyze the fulfillment of the business rule and the system behavior with an initial system configuration determined by the input parameters values indicated in Table 2.
The simulation results indicate that, with the input parameters configuration considered in this experiment, the service provider compliances the business rule established in the SLA. They also indicate that no service requests are rejected during all the simulation period because of exceeding the maximum response time established. On the other hand, Figure 3 shows the service requests validated within the expected response time. It can be observed a gradual increment of this output variable value and that at the end of the simulation period it reaches a value of 6.798 requests.
Table 2 Configuration of the input parameters of the simulation model (E1).
Input parameters configuration | |
Request Received Rate. The pattern of behavior of orders received after the launching of a special offer is modeling by the ramp shown in Figure 2. The following input parameters configure this ramp: | |
(i) Initial Value: 500 orders/minute. | |
(ii) Ramp Time: 1 minute. | |
(iii) Ramp Length: 4 minutes. | |
(iv) Ramp Slope: 80. | |
SLA parameters: | |
(i) Service Capacity Contracted: 900 requests/minute. | |
(ii) Service Response Time: 15 seconds. | |
(iii) Requests Rejection Rate: 15%. | |
Service management parameters: | |
Service Capacity: Service Capacity Contracted (900 requests/minute). |
Figure 3 Output variable Requests Validated (E1).
Experiment 2. The aim of this experiment is to determine the lowest service capacity that guarantees the fulfillment of the business rule. For this, several model simulations were run setting the input parameter Service Capacity to a lower value than the service capacity contracted by the company (900 requests/minute). The simulation results indicated that the lowest service capacity is 739 requests/minute. With this service capacity, 6.792 service requests are validated and 6 service requests are rejected at the end of the simulation period.
In this case, the service provider can assign less service capacity than the one contracted by the company, with the certainty that the business rule is met. Therefore the unnecessary service capacity can be used to satisfy the service requests of other customers.
Experiment 3. The main objective of this experiment is to analyze the service performance with service capacities that do not meet the business rule. Figures 4, 5, and 6 represent the values of the output variables obtained with a service capacity equal to 650 requests/minute. Figure 4 shows the behavior of output variable Business Rule Fulfillment with this capacity. It is observed that initially the business rule is met, but from a specific point in time to the end of simulation this rule is not satisfied anymore. Besides, the degree of the business rule nonfulfillment varies during the simulation period, and from a particular point in time (5 minutes) to the end of the simulation, this variable reaches its highest value that it is equal to 89 requests.
Figures 5 and 6 display the output variables Requests Validated and Requests Rejected,respectively. Figure 5 shows that the variable Requests Validated experiments a gradual increment and at the end of the simulation its value is 6.209 requests. Figure 6 indicates that service requests begin to be rejected at a specific point in time (3 minutes), and 567 service requests have been rejected at the end of the simulation.
The analysis of the results of this experiment indicates that to fulfill the business rule it would be necessary to modify the service capacity assigned to the company over time. Initially, a service capacity equal to 650 requests/minute is adequate, but in different time periods higher service capacities are needed to ensure the fulfillment of the business rule. Thus, model simulations provide information that help service provider decide how to manage service capacity to meet the business rule and to optimize his resources.
Figure 4 Output variable Business Rule Fulfillment (E3).

Figure 5 Output variable Requests Validated (E3).

Figure 6 Output variable Requests Rejected (E3).

Experiment 4. The purpose of this experiment is to evaluate the service behavior with the system configuration considered in Experiment 1, but varying the characteristics of the ramp that models the tendency of service requests as follows: (a) RampTime = 1 minute, (b) RampLenght = 6 minutes, and (c) RampSlope = 100. The degree of business rule nonfulfillment in this scenario is displayed in Figure 7. It is observed that the business rule is not satisfied from a specific point in time (5 minutes), and the degree of nonfulfillment varies over time.
Comparing the results of this experiment with Experiment 3, it is observed that, with a higher service capacity and increasing ramp slope, the nonfulfillment of the business rule starts later but it reaches a higher degree.
The results of the experiments above described show that the compliance of the business rule depends on both the service capacity assigned to the company and the tendency of the company's service requests. Thus, if the service provider could estimate the future demand of the customer company's service requests, they would know what service capacity to assign it to guarantee the compliance of the business rule.
Figure 7 Output variable Business Rule Fulfillment (E4).
4.5.2. Optimization Experiments
The optimization experiments have been performed with the system configuration considered in Experiment 1, varying the values of the input parameters Service Capacity (between 500 and 900) and Requests Rejection Rate (between 0.10 and 0.20). Table 3 summarizes the results of these experiments. It shows the service capacity that the service provider would have to assign to the customer company to meet the optimization objectives established. Besides, it shows the business rules that the service provider would satisfy with those capacities.
Table 3 Optimization experiments.
Exp | Optimization objective | Service capacity | Requests rejection rate |
1 | To assure the fulfillment of the business rule and to minimize the service requests rejected | 800 | 0.175 |
2 | To assure the fulfillment of the business rule and to maximize the service requests validated | 854.5 | 0.102 |
3 | To minimize the nonfulfillment of the business rule | 739 | 0.136 |