The Skills Matrix Optimizer assigns skills to workers, shows what skills are delinquent when during the day they are unable to respond and identifies other resources that could fill the gap if trained. The Skills Matrix identifies the problem areas and recommends what skills training provides the most significant benefit.
The Skills Matrix Optimizer is a comprehensive model object, having everything that is needed to develop and analyze diverse skills. Unique capabilities include:
- Quick setup and skill assignment. Provides a method to prioritize who should respond first.
- Automatically creates the action logic to assign workers with priorities.
- Adds needed Attributes and Variables to ProcessModel.
- Writes the logic to collect how long customers wait and which resources are free during the same hour.
- Easily creates all shifts on a single sheet — Shows “bodies on shift” by skill, group, etc.
- See when skills requests are overloaded. Analyze graphs identifying which skills are delinquent by the hour of the day (and day of the week).
- Observe trends with consolidated weekday and weekend graphs.
- Find recommendations of which resources have availability for training during backlogs.
- Call Centers
- Service Center
- Repair Processes
- Design Processes
Characteristics of processes for which this model object is most useful:
- The process has a diverse but defined product stream. Several to many product types, with each product type requiring a defined set of skills.
- People servicing the product stream have training in one or more of the required skills.
- There is variation in the arrival pattern and product mix.
The system is confusing to understand because of changing arrival quantity and time, change in the product stream, many of the people having training in many skills (can be busy servicing one skill when another is requested) and employee shift variability.
How to use the Skills Matrix Optimizer
As a comprehensive model object, there are several steps to set up, run, and analyze the output. The Skill Matrix Optimizer combines capabilities in ProcessModel never before accessible so the extra work will provide great benefit.
1. Open Model or Create a New Model.
The general structure of the model should be created to send different skills to different activities. An example structure follows:
Route skill requests to an “activity” via a percentage or conditional route, depending on the circumstances. Name the skills activities according to the modeling need. A model may have more than one skills breakout (similar to the graphic shown above) in different parts of the model. A model may have 50 or more skills. The limit is undetermined.
2. Insert the Model Object into Your Model
a. Locate the model object in the Resource section named Skills Matrix and select the insert button.
b. Move the cursor to the point of insertion and left mouse-click. The upper left corner of the model object becomes the insert point. There are a small number of elements added to the model, but these inserted items will perform many functions. The Skills Matrix (Excel icon) will be used often, so move it for easy access. The trigger entity and activity provide critical data collection, but not accessed by the user, so move them out of the way.
3. Prepare the Model to Use the Skills Matrix Optimizer
The Skills Matrix Optimizer looks for specific elements and words to identify needed changes. To allow this model object to interface with your model, you need to modify the model to use the keywords. The necessary changes follow:
a. The Skills Matrix Optimizer looks for specific elements and words to identify needed changes. To allow this model object to interface with your model, you need to modify the model to use the keywords. The necessary changes follow:
The Skills Matrix Optimizer looks for Storages with the text “_InQ” on the end of the Storage name. These Storages is where the proper resource is assigned. Capitalization is not important.
b. Change the settings on the skill Activity. Change the Activity Input Queue Capacity to zero. Change the Activity Capacity to handle the max simultaneous requirement (estimate what will be required). Change the Time to zero.
c. Add Action Logic to perform the processing time and release any captured people. Free ALL, releases any “resources” attached to the entity that crosses the FREE statement.
If there are several steps in the skill, move the FREE ALL statement to the last activity. If there are multiple exit activities, then add the FREE ALL to each exit point.
d. Connect the Storage (input queue) to the Activity (skill work area) with a percentage route and set the Move Time to zero.
e. Add resources and set up shifts. Add a separate resource graphic for each person used in the skills matrix.
Open Skills Matrix Optimizer
Before using this Excel file for the first time, or after changing your model name, make sure that a manual export of data is done via ProcessModel. From your model, click Tools \ Export Data, click ‘Yes’ to all prompts until the data export file opens, close the data file and then use this Excel file.
Macros must be enabled to run this model object.
Setup Shifts for the Model Resources
Set up the Workbook
Activating the Setup Workbook button will find “resources” from the active (the model currently showing in the layout of ProcessModel) model.
Setup Shifts for Each Worker
Enter the shift start and end, lunch breaks, rate (hourly cost), and the days available to work.
Entering the word “ON” assigns the worker to that day. Entering the word “OFF” removes the worker from an assignment.
Using the shift planner to setup shifts is many times faster than using the graphical shift editor, and it allows a graphical representation of the staffing overview.
To view the current staffing overview of any group of resources, do the following:
- Enter the same number in the Group column for each member of the group.
- Enter the same number in the J2 cell.
- Select the Show Schedule Graphically for Resource Group
The graph shows the cumulative resource quantity from many schedules across the day. The newly formed chart helps to identify gaps in coverage
Pressing the Update Shifts button will do the following:
- Create shifts, if none exists, and link the “shift” to the appropriate resource.
- Modify a shift if it already exists, and there is new shift information.
- Do nothing to shifts, already in existence, when there is no new entry in the shift planner. For example, a model might be provided to you with the baseline shifts already created.
Shifts are allowed to span days. For example, if a “shift” started at 10:00 PM Sunday and ended 6:30 AM on Monday for five straight days, it would be entered as follows:
The starting day of the shift is set to “ON.”
In ProcessModel’s shift editor, the shift would appear as follows:
Note that even though the person works on Friday morning, the “shift” started on Thursday, so Friday is “OFF.”
Setup the Skills Matrix
The skills matrix has two primary methods for establishing work assignments.
The Level priority method identifies if a resource has a needed skill.
The order of assigning resources, with the appropriate expertise, rotates for each request (example: Barb, Betty, Carol, Chris then Betty, Carol, Chris, Barb later Carol, Chris, Barb, Betty then Chris, Barb, Betty, Carol).
The priority method allows prioritization of the assignment of resources. Enter the priority into the intersection of the “resource” and the “skill.” “Priorities” will enable the allocation of primary, secondary, and tertiary resources.
In the example above, the higher the skill number, the more complex the task. Everyone can do skill1, but only Betty can perform Skill4. If both a Skill1 and Skill4 are requested and Betty is the only resource available, then Betty will always first perform the skill only she can perform (Priority 15). The higher the number entered into the Matrix, the greater the priority.
Priorities could be further modified to allow the resources with the lowest skills to perform the highest work they are qualified to complete first.
In the example above, when a request arrives for Skill1, Charles is requested first, because that is the only skill he can provide. Barb is asked for second because there is only one other skill she can accomplish. Betty is the most valuable resource in the group (being able to perform all four skills), so she is selected last for Skill1 (Priority level 1 is the lowest of the group). Remember, higher priority resource requests choose first. Again, if a Skill1 and a Skill4 request were pending, and no resources were currently available, then if Betty becomes available, she will be captured by Skill4. The range of priorities provides excellent flexibility in assigning what should be performed in what order by whom.
Step One – Set up the Workbook
This step creates the matrix consisting of the resources and the skills the resources are assigned to perform. Only activities that have Storages (input queues) with names ending in InQ are selected to be part of the Matrix.
Identify the resources with the proper skills to perform the tasks.
Step 2 – Update the Res
This step will perform a series of tasks to assign resource skills and collect all the needed stats.
Pressing the Update Res button causes the following to happen:
- Create the logic needed to capture resources for each skill.
- Create the logic to capture utilization for each resource by the hour of the day.
- Add variables needed to collect logic for hourly resource utilization and for average waiting time per hour.
- Adds the logic for capturing resources, collecting utilization, and collecting waiting time into the model.
Run the Model
With the shifts established and the work assignments completed, run the model for a time sufficient to capture meaningful results. We recommend 30 weeks to obtain enough data for statistically significant decisions. Your arrivals need to be set up to provide a repeating pattern capturing potential variation. See the daily pattern model object methods to include “arrivals” suitable for this model object. Run the model and save the output.
Export the Data
At the end of the model run, decline to see the output and return to the build menus.
Select the General Report output.
Select the Export Variable Report to Excel
Do not change the name provided by the system. The automatic entry will be the name of your model plus the words Variable Report.
Step 3 – Review the Summary Data
The summary data gives a quick overview to show areas exhibiting long waiting times. Even though the representation is not the detail, it defines the biggest offenders in causing waiting time problems and generally when they occur. In large systems, this summary cuts the time to produce detail graphs by identifying which detailed charts may be necessary.
The summary graph shows several areas of concern. If our target was not to exceed 10 minutes of waiting, we could easily spot the hours and the skills that will need further evaluation. For this example, I am going to concentrate on skill4. Skill4 has many response times more than 10 minutes during the week.
Step 4 – Review Detail to Identify Training Needs
To concentrate on one skill, enter the name of the skill activity. Developing one set of graphs will reduce the time to evaluate a complex system.
Statistically show when to expect long waiting times. Because of included variation, problem areas are not anomalies but statistically significant. Resource availability is also a result of “statistically significant” evaluations. Resources with higher availability (when excessive waiting times occur) can provide options for additional training.
The Skill4 overview graph shows a delinquent response between 5:00 AM and 7:00 AM. There is also a problem between 9:00 PM and 12:00 Midnight. The numbers to the left of the graph show potential resources that have availability, but not yet trained in this skill.
Further review of graphs for individual days shows problems and potential solutions. For example, Tuesdays graph shows delays and possible people that can help to solve the problem.