The Job-Quality Impact Explorer (J-QIE) Help File
This code was developed by P. Gaudiano of Aleria Research Corp - paolo@aleriaresearch.org. The code may not be reproduced, modified or sold without prior permission of the author
Copyright 2023 Aleria Research Corporation, all rights reserved.
What is it?
This is the Job-Quality Impact Explorer (J-QIE, pronounced "Jackie"), a computer simulation designed to quantify the impact of improving job quality for frontline workers under a wide range of scenarios.
The goal of J-QIE is to show how certain choices about working conditions for frontline workers can have a positive impact on both the satisfaction of the workers and on the business outcomes of the company.
J-QIE is based on a methodology known as Agent-Based Simulation (ABS), a tool that combines behavioral science and computer simulations to study complex adaptive systems. ABS has been used to study and manage a wide range of complex problems in business and in society. Additional details and references can be found below.
We gratefully acknowledge the support and funding for this project from Innovation Resource Center for Human Resources (IRC4HR®).
How it works
The model simulates a typical retail environment, capturing the moment-by-moment behaviors of typical sales staff. This includes getting to work (possibly being absent or arriving late), and conducting a series of tasks that include interacting with customers.
The model assumes that certain aspects of the employee's performance depend on their level of satisfaction, including:
The likelihood of absenteeism or tardiness
The time taken to carry out a task
The quality of a task, which, in the case of sales, includes:
the probability that the customer will make a purchase
the amount of the purchase
The amount of idle time spent between tasks
In turn, satisfaction is impacted by four aspects of the job quality:
Advanced notice of scheduling
Guaranteed minimum hours
Ability to swap schedules
Increased pay
The simulation allows you to control each of these Job-Quality factors (the "J-Q factors"), to explore the overall impact on the financial performance of the company – hence the name J-QIE.
To make it easier to see the impact of changing job quality, the simulation captures two retail companies that are identical except for the four J-Q factors: Fashion1 has all of the J-Q factors turned on, while Fashion2 has its J-Q factors controlled through the interface.
As the simulation runs, the user is able to monitor typical KPIs of each organization, as well as the activities and performance of the employees.
How J-QIE differs from other analytical approaches
Unlike analytical models that rely on aggregate, statistical data, J-QIE simulates the moment-by-moment activities of the employees (and, in a simplified way, of the customers).
At each moment in time (currently each "time tick" in the simulation corresponds to one minute during the day), employees are doing something: helping a customer, carrying out other miscellaneous task, taking breaks, or waiting for something to do. As each day progresses, the simulation tracks all activities, including sales. The daily and cumulative performance of each company is then accumulated just as it would be for a real-world company.
This approach makes it possible to understand how the "microscopic" (i.e., individual-level) actions accumulate to yield the kind of "macroscopic" (i.e., company-level) outcomes that are normally tracked as part of business operations.
Hence the impact of changing J-Q factors is explored by simulating how each factor impacts the activities and behaviors of each employee, and the overall impact on the company's performance "emerges" as a result through the simulation.
In a sense, this is an empirical approach, in that each time the simulation is run you are effectively testing a detailed scenario, as if you were running an experiment in the real world.
How to use J-QIE
Note: a video showing the usage of J-QIE following the steps described in this section can be found on the main J-QIE page on this website.
To run a single simulation of J-QIE, start by selecting a scenario, which consists of setting the four J-Q factors to the ON or OFF position. Optionally, you can use the pull-down selector to choose which of several employee-related variables will be shown in the display area (see below).
Next, press the INITIALIZE button to ensure that all parameters are set at their initial values. Then press RUN to start the simulation. Press RUN again to pause and continue the simulation. Pressing INITIALIZE at any point will reset all variables to their starting values. Note that the simulation makes extensive use of random number generators to create variability. As a result, even if you keep all parameters the same, each time you initialize and run you will get slightly different results.
As the simulation is running, there are two areas where you can follow progress: the Display Area and the Monitoring Area.
The Display Area
The Display area is the large dark area with two grey rectangular windows, which display key variables that change as time progresses in the simulation.
The upper window shows Key Performance Indicators (KPIs) for the two companies (the Company View). Information for each KPI is shown as a pair of bars that grow over time from the left side of the window. On the right side of the company view, the numerical values corresponding to the bar sizes are also shown for a more detailed comparison.
In the current version, the following KPIs are shown:
Number of customers helped
Total revenues
Cost of Goods Sold (COGS)
Labor costs
Profits
For each pair of bars, the bottom bar (and numerical value) represents the data for the baseline company, Fashion1, and is always shown in white. The top bar (and numerical value) represents the data for the comparison company, Fashion2, and its color depends on the number of J-Q factors selected.
The lower window is used to monitor one of several possible variables related to the employees of each company (the Employee View). Each company's employees are represented as a "stick figure" person, whose color matches the color of its company, as explained above. The stick figure actually captures the average across all employees (by default, each company has five employees), we refer to it below as the average employee. (Note that at the start of each simulation run, the two average employees will be in the same position, so only one will be visible.)
At any given moment during the simulation, the horizontal position of the average employees within the employee view reflects the amount of time that has passed since the start of the simulation, while the vertical position represents the value selected in the drop-down selector labeled employee-display-var (found below the J-Q factor selectors at the left of the screen).
By default, the drop-down allows selecting from the following employee variables:
total-earnings
total-hours-scheduled
total-hours-worked
total-idle-time
total-misc-task-time
total-productivity
total-rest-time
total-revenues
total-tardy-time
total-sales-closed
Note that in order to see a different variable, you need to choose it in the drop-down selector, and the re-initialize and re-run the simulation.
Each time you select a specific variable, the upper left corner of the employees view shows the maximum value. For example, if the drop-down is set to total-hours-worked, under default parameters, the maximum value of the vertical axis is 2,762, while the maximum total-revenues level is $690,411 (these values are calculated internally when the simulation is initialized).
The Montoring Area
The Monitoring Area is a text area below the Display Area (note that you may need to scroll down to see it) that shows a lot of information about the companies or about individual employees.
By default, the Monitoring area shows Year-To-Date data, updated every 30 days, showing the following KPIs for both companies:
Customer visits
Customers helped
Number of employee sales completed
Revenues from employee sales
Value per empl. sale
Revenues from unassisted sales
Gross revenues
Labor costs
COGS
Profits
Gross margin (w/60% mrkp)
Underneath the Monitoring Area there are four buttons that can be used while the simulation is paused or after the run is complete, to switch temporarily the contents of the Monitoring Area (the contents will reflect either the day on which the simulation is paused, or the day at the end of the simulation):
Daily KPIs shows the daily results for the two companies.
YTD KPIs shows cumulative YTD results for the two companies.
Fashion1 and Fashion2 show a detailed list of all the activities performed by a single employee of the company during that day. Note that each time you press one of these buttons, a different employee will be chosen randomly.
The point of showing the individual employee activity is to show exactly how the simulation is working to generate its values. Specifically, when you visualize the daily activities of one employee you will see several dozen lines (the exact number varies from employee to employee). The section Exploring Daily Employee Activities below provides a detailed explanation of this information.
Things to notice
As you run the simulation, watch the company view and you will see the the bar charts growing as time passes, representing the cumulative KPIs for each company.
If the second company has worse job conditions (i.e., if any of the four J-Q factor toggles is set to the `off` position) then you should see a difference in the performance of the two companies. The differences will become more pronounced as you turn off more J-Q factors for Fashion2.
Looking at the Monitoring Area you can look at the fine-level details of how each company is doing. You might notice that in most cases, Fashion1 will have higher labor costs and higher COGS, and also lower revenues from unassisted sales, but will have substantially higher revenues from employee sales. You should also see higher number of customers helped. Overall, Fashion1 will enjoy higher profits. All of these differences will increase as Fashion2 offers fewer and fewer perks.
Switching your attention to the employee view, try using the drop-down selector employee-display-var to visualize different aspects of the average performance of the employees of the two companies.
You may be surprised to see that for many of the employee metrics, the values for the two companies are nearly identical. But you'll notice a clear difference with some KPIs that directly influence revenue generation, such as total-sales-closed and total-revenues. On the other hand, when you look at total-productivity (in this case productivity is really an indication of "busy time", i.e., whenever an employee is conducing any taks) you typically find that the company with the worse job conditions actually shows higher numbers than the "ideal" company. This is primarily because the less satisfied employees always take slightly longer to do each task, so effectively they are doing more busy work but being less effective.
Things to try
Try setting all the J-Q factor toggles to on: at this point the two companies are identical. However, you will see that the numbers are not identical, because of the randomness built into the simulation. Running the simulation multiple times will give you a sense of the variance that is due only to the randomness. However, you should also notice that this variance is significantly less than the difference in performance that results from reducing job quality.
To test, this try systematically turning off more and more toggles, and you will notice a consistent and significant impact on the performance.
Note: in this proof-of-concept, the four J-Q factors have exactly the same impact on the satisfaction level, and they only impact satisfaction. Hence, if you turn off a single toggle, it does not matter which one it is, the results will be roughly the same. Same thing if you turn off any two toggles – it does not matter which two J-Q factors you choose. In the future one possible extension of this model is to make the J-Q factors more realistic, capturing the actual impact they have. For instance, allowing schedule swaps could actually influence the scheduling, and would probably have more impact on tardiness and absenteeism than, say, paying a higher hourly rate.
Exploring daily employee activities
J-QIE simulates the minute-by-minute activities of employees, and uses it to reproduce the typical activities and performance of the store, in this case a retail environment.
Every simulated day, each employee is assigned a certain number of hours to work, and a start time. At the start of the business day, each employee goes through a series of steps
Determine whether they will be absent.
If not absent, determine whether they will be late, and if so, by how much.
Start their work at a time based on the first two steps above.
After a brief idle time, look for a task to do. Possible tasks include:
If a customer is in the store, help them.
If there are no customers, look through the queue of pending tasks for the company, which can include:
Doing inventory
Cashier
Restocking
Miscellany
If no specific tasks are available, the employee will be idle for a brief time.
After helping a customer, the employee will also have a brief idle time before looking for the next task in the queue. The length of this "recovery" time is influenced by the employee's satisfaction level.
If the employee is scheduled for at least 4 hours of work, after reaching the half-way mark of their day, they may take a break, whose lenght is influenced by the satisfaction level.
At the end of the day the employee stops working.
Each task has a certain probability of appearing in the queue, and has an average duration. The actual duration is determined randomly and is influenced by the employee's satisfaction level.
Sample activity trace
The following is a sample list of activities conducted by an employee during a typical day, as visualized in the Monitoring Window.
DAY 15: SAMPLE DAILY ACTIVITIES FOR EMPLOYEE 4 OF COMPANY Fashion1
1: @08:00 Starting shift at 08:25, working 7.3hrs until 15:43
2: @08:27 Started task Misc. Will look for my next task in 8 minutes.
3: @08:35 Started a customer task, will take 9 minutes
4: @08:44 Completed sale, generated $155. Taking a 2-min rest before next task.
5: @08:46 Started task Idle. Will look for my next task in 2 minutes.
6: @08:48 Started a customer task, will take 10 minutes
7: @08:58 Customer did not make a purchase. Taking a 2-min rest before next task.
8: @09:00 Started a customer task, will take 11 minutes
9: @09:11 Completed sale, generated $174. Taking a 2-min rest before next task.
10: @09:13 Started a customer task, will take 13 minutes
11: @09:26 Completed sale, generated $110. Taking a 2-min rest before next task.
12: @09:28 Started task Misc. Will look for my next task in 9 minutes.
13: @09:37 Started task Idle. Will look for my next task in 2 minutes.
14: @09:39 Started task Idle. Will look for my next task in 2 minutes.
15: @09:41 Started task Restocking. Will look for my next task in 23 minutes.
16: @10:04 Started task Idle. Will look for my next task in 2 minutes.
The first line shows that this employee (#4 of company Fashion1) started their shift at 8:25 (activity 1:), and after 2 minutes picked up a Miscellaneous task (activity 2:) that lasted 8 minutes.
At 8:35 (3:) they helped a customer for 9 minutes. The customer ended up spending $155.
After a couple of other tasks, at 8:48 they helped another customer, but that did not result in a sale.
This is only a partial list of activities, but it will give you a sense of how you can track the moment-by-moment activities of every employee.
Having this level of granularity helps to ensure that the simulation is doing a reasonable job of capturing typical activities during the workday of the employee.
Customer interactions
Customers arrive at the store randomly, with a frequency based on an exponential distribution. When a customer arrives at the store, they will spend a certain amount of time before leaving.
If an employee is available they will help the customer. The amount of time spent on the customer is drawn from a distribution (and is influenced by employee satisfaction), as is the probability that the customer will make a purchase, and the amount of the purchase.
Customers who are not helped by an employee may also make a purchase, but with a lower probability.
For this version of J-QIE, the probability of a purchase is 45% if helped by an employee, and 14% if not helped (these are industry standards in Fashion). Also, the average purchase amount is 55% lower for non-employee-supported purchases.
Extending the model
There are many ways in which this simulation could be extended. However, even in its somewhat simple form, it already captures a significant amount of complexity and can be used to test a lot of ideas.
One of the mistakes often made by people who first learn about Agent-Based Simulation is the tendency to want to put a ton of detail into the simulation. However, it is always much better to start with a specific question, and put in only as much detail as is needed to address the question of interest.
In some cases, the level of detail is obvious. For instance, imagine doing a simulation of automobile traffic to study the formation of traffic jams. Do you need to worry about the color of the cars? Of course not... unless the cars happen to be in midtown Manhattan, and you are interested in studying the impact of taxi driver behaviors!
Credits and additional references
The author of this code, Paolo Gaudiano, has been developing computer simulations for more than three decades, using them to address problems across a very wide range of domains. Much of his work has been applied to tackle real-world problems for leading corporations, government agencies and foundations.
Since 2015, Paolo has focused his work on societal issues generally related to diversity, equity and inclusion.
For a brief overview of Agent-Based Simulation and its use in business, see Gaudiano, P. (2017), The Best Approach to Decision Making Combines Data and Managers’ Expertise, Harvard Business Review.
For an academic paper describing an ABS used to evaluate the impact of gender biases in organizations, see Zhang, C. and Gaudiano, P. (2023), An Agent-Based Simulation of How Promotion Biases Impact Corporate Gender Diversity. Applied Sciences, 13(4), 2457.