Business process mapping is a huge field and there can literally be thousands of ways to map a specific task, but mapping a task for business process improvement is what is required by most lean six sigma specialists. I am going to discuss one of the most common problem scenarios that six sigma specialists face while making a process improvement process. While working on a model for business process simulation, I was stuck at a problem scenario where I needed the time an activity takes to process an entity to reduce automatically, if there are entities pilling up at the incoming route of the activity, to be processed. This is a problem that you might also face sometime during your process mapping / simulation project. Let me get started on how to solve this scenario.

Creating Process Map

For this problem scenario there is no need to create a specific process map. You should make your own process map for the process improvement scenario that you’re working on, and identify the activity(ies) where you think you need the scenario discussed above be implemented.

Setting Arrivals

As you will be working on your own process map (discussed above) the arrival settings should be implemented as required by your process scenario. Once you have set up the arrival make sure you test your process map by simulating it and seeing that the activities that you think needs the scenario worked (as told above) are in fact piling up entities, working as a bottleneck.

Declaring Attributes, Variables & Scenario Parameters

For this scenario, we will need to declare one attribute, one variable and two scenario parameters, as follows:


a_Time = the processing time for each entity.


v_Counter = the number of entities (e.g. people) in line.

Scenario Parameter:

s_Percent5 = this is how much faster the employee will work with 5 people in line.

s_Percent10 = this is how much faster the employee will work with 10 people in line

Defining Routes

As the scenario does not need any specific routes, you can use your own routes as needed in your process improvement project.

The Action Logic

Considering that we need three types of different process times. We will start the action logic in the Activity that is the cause of the bottle neck and to where we need the process time to decrease when more entities are jamming up. We will first use the attribute to store the time using a user defined distribution (ex: a_Time = D3(50,3,25,2,25,15)) next we will set the variable counter equal to the contents of the activities input queue (ex: v_Counter = Contents(Process1_InQ)).

We will now use IF and ELSE statements to set the process time of the activity according to the entities waiting to be processed. We will first check the variable counter, if the value is greater than 10 we will set the time as attribute time multiply by scenario percentage divided by 100 (ex:  If v_Counter > 10 Then Time(a_Time * s_Percent10 /100 Min)), then using an else if statement we will check the value of the variable counter, if its greater than or equal to 5 then we will set time equal to attribute multiply by scenario parameter divided by 100 (ex: Else If v_Counter >= 5 Then Time(a_Time * s_Percent5 / 100 Min)), finally using and else statement checking the value of the variable, if its less than 5 then setting the time and attribute (ex: Else If v_Counter < 5 Then Time(a_Time Min)).

Of course, you can change the time set in the scenario parameters as per your need and add more time processing points as you like, we have done three in this model, using the same action logic you can add more as well.


I hope this helps many of you in your business process simulation projects. This problem seems to be very easy to resolve but once you get started on it, you will find there are many difficult aspects to it and the instructions above will help you sort them out quickly.