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.

Skills Matrix Optimizer graph 1

The Skills Matrix Optimizer is a comprehensive model object, having everything that is needed to develop and analyze diverse skills. Unique capabilities include:

Development Automation

  • 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.

Results Automation

  • 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:

Skills Matrix Optimizer graph 2

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.

Skills Matrix Optimizer graph 3

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.

Skills Matrix Optimizer graph 4

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:

Skills Matrix Optimizer graph 5

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.

Skills Matrix Optimizer graph 6

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.

Skills Matrix Optimizer graph 7

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.

Skills Matrix Optimizer graph 8

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.

Skills Matrix Optimizer graph 9

e. Add resources and set up shifts. Add a separate resource graphic for each person used in the skills matrix.

Skills Matrix Optimizer graph 10

Open Skills Matrix Optimizer

Skills Matrix Optimizer graph 11

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.

Enable Editing

Skills Matrix Optimizer graph 12

Enable Content

Macros must be enabled to run this model object.

Skills Matrix Optimizer graph 13

Setup Shifts for the Model Resources

Skills Matrix Optimizer graph 14

Set up the Workbook

Skills Matrix Optimizer graph 15

Activating the Setup Workbook button will find “resources” from the active (the model currently showing in the layout of ProcessModel) model.

Skills Matrix Optimizer graph 16

Setup Shifts for Each Worker

Enter the shift start and end, lunch breaks, rate (hourly cost), and the days available to work.

Skills Matrix Optimizer graph 17

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.

Staffing Overview

To view the current staffing overview of any group of resources, do the following:

    1. Enter the same number in the Group column for each member of the group.
    2. Enter the same number in the J2 cell.
    3. Select the Show Schedule Graphically for Resource Group

Skills Matrix Optimizer graph 18

The graph shows the cumulative resource quantity from many schedules across the day. The newly formed chart helps to identify gaps in coverage

Update Shifts

Pressing the Update Shifts button will do the following:

      1. Create shifts, if none exists, and link the “shift” to the appropriate resource.
      2. Modify a shift if it already exists, and there is new shift information.
      3. 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:

Skills Matrix Optimizer graph 20

The starting day of the shift is set to “ON.”

In ProcessModel’s shift editor, the shift would appear as follows:

Skills Matrix Optimizer graph 21

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.

Level Priority

The Level priority method identifies if a resource has a needed skill.

Skills Matrix Optimizer graph 22

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).

Priority Matrix

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.

Skills Matrix Optimizer graph 23

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.

Skills Matrix Optimizer graph 24

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.

Skills Matrix Optimizer graph 25

Identify the resources with the proper skills to perform the tasks.

Skills Matrix Optimizer graph 26

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:

    1. Create the logic needed to capture resources for each skill.
    2. Create the logic to capture utilization for each resource by the hour of the day.
    3. Add variables needed to collect logic for hourly resource utilization and for average waiting time per hour.
    4. 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.

Skills Matrix Optimizer graph 27

Select the Export Variable Report to Excel

Skills Matrix Optimizer graph 28

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.

Skills Matrix Optimizer graph 30

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

Skills Matrix Optimizer graph 31

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.

Skills Matrix Optimizer graph 32

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.

Skills Matrix Optimizer graph 33

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.

Skills Matrix Optimizer graph 34

Skills Matrix Optimizer graph 35

Skills Matrix Optimizer graph 36

Helen has availability to help, is not trained on skill4 and works from Midnight to 8:30 AM each workday. She is an excellent choice for training on skill4.

Change the Model to Find Savings and Increase Service

The Skills Matrix Optimizer is a powerful tool for examining low-cost changes to meet company goals. This model object is easy-to-set-up, simple to use, and provides cost-saving solutions.  There are many uses for the Skills Matrix Optimizer.

    1. Identify who should receive training on a particular skill to reduce waiting time.
    2. Plan changes in customer streams before the event occurs.
    3. Expand services with the least cost.

Would you like to see the Skills Matrix Optimizer in action?

    Your Email: *

    Do you need a quote for Maintenance & Support?

      Your Email: *