Feature Update
We are expanding Skill Priority to include both outbound and inbound calls. This article revisits the Dial priority feature as a whole, including enhancements.
Let us first start with the end result of defining a Skill Priority rule:
For outbound calls, Skill Priority allows performing skills-based dialing by defining outbound dialing priorities for a specific Skill; every agent assigned that Skill will get outbound calls assigned according to the corresponding Skill Priority custom rules, instead of getting calls for the Campaign associated with the Agent login. Skill Priority works by defining call priorities for the contacts of a selected list of Sub-Campaigns, which can be from any Campaign.
When Skill Priority is defined for a Skill, all and every call related to that Skill, for every agent that has that Skill, will be bound by the corresponding Skill Priority rule. If you do not want these rules to apply anymore, you must remove the corresponding Skill Priority configuration. When Skill Priority is not used (and no other special rule), an agent is assigned outbound calls from the full set of contacts in the Campaign associated with the Agent login, and according to Campaign settings.
Applying Skill Priority to inbound calls is an optional and additional step to outbound Skill Priority for the associated Skill. This is enabled on the Skill itself, by turning on an option to apply those Skill Priority rules to inbound calls, as well; in essence, the associated Skill Priority rules defined for outbound calls are also applied to inbound calls if the Skill is enabled.
In summary, Skill Priority covers the following:
To configure skill priorities, go the main menu area on the left, click to expand the Out Bound menu, and select Skill Priority. Then pull down the Select Skill menu found on the top left of the presentation area and select the skill for which you want to configure the skill priority. Refer to the following picture.
|
|
|
|
After selecting a skill, sub-campaigns from all campaigns appear split into two areas; the right area shows the Sub-campaigns that are selected to be active for this rule, while the left area shows those that have not, but still available for selection. You can click-and-drag sub-campaigns from one side to the other or click-select (single or multiple) sub-campaigns and use the action item icons between the two panels; click on the icon to perform the corresponding action (Add, Add All, Save, Refresh, Remove All, Remove).
In essence, Skill Priority is allowing you to combine dialing records that belong to different Campaigns, but through their Sub-Campaigns (those in the Active list); all within a common “dialing cache” and prioritization rule. The Campaign rules applied to each call are those where the original record belongs (the Campaign under which the related Sub-Campaign belongs), irrespective to which Campaign the Agent is logged into.
Selection and prioritization of records from the selected (Active) sub-campaigns follow the same rules as in Dial Priority. Refer to “Prioritization Mechanisms for Dial Priority and Skill Priority” for details.
Skill Priority rules are initially defined for outbound calls, but those same rules can then be applied to inbound calls, as well. To do so, the Skill itself has to be enabled, and that is all that is needed, to incorporate Skill Priority rules for inbound calls.
The way it works for inbound calls is as follows. The calling number from the inbound call is looked up in the system to determine whether it is part of a Sub-campaign and/or Playlist. If so and the Sub-campaign is active on a Skill Priority rule, or the Playlist enabled, the associated Skill is checked to determine if it is enabled to Apply Skill Priority Rules for Inbound Calls. If it is, it looks for an available Agent with that Skill (otherwise just continues with standard inbound call handling). If the Skill is enabled and an Agent with that Skill is available, it routes the call to the Agent, otherwise it treats the call as if No Agent is Available.
To configure a Skill for inbound Skill Priority, access Skill Groups settings, select the corresponding Skill, move to the Incoming Call Queues tab, and check the Apply Skill Priority Rules for Inbound Calls option. Refer to the following picture.
|
In the previous sections we presented Dial Priority, which performs Contact (lead) record prioritization based on Sub-Campaigns from a single Campaign, and a similar capability, Skill Priority, which is rather based on all Sub-Campaigns and assigned to a Skill.
In this section we present guidelines about how Contact (lead) records are selected and ordered (i.e. prioritized) for dialing out, which apply to both Dial Priority and Skill Priority.
When Dial/Skill Priority is not taking place, Dial Sequence dictates how to prioritize Contact records in the Campaign as a whole. To be precise, Dial Sequence is actually a secondary criterion; the primary criterion happens under-the-hood (and not configurable) based on number of call attempts (records with the least call attempts go first). Following is an example.
Dial Sequence: |
|
|
|
First Criterion: |
Records with Lowest Call Attempts First |
|
Second Criterion: |
Records for Newest Leads First |
Following are all the options available for Dial Sequence Criteria. Notice that only the Second Criterion is configurable; the First Criterion is implied and not visible, and is included in this explanation just for proper understanding of the applicable behavior.
First Criterion |
|
|
Under the hood (Least Attempts) |
Second Criterion |
OPTION |
|
List Order |
|
New Leads Dialed First |
|
Random Order |
|
Last Name |
The following table provides a reference of all possibilities that will be addressed here.
GUI OPTION |
SHORT |
DESCRIPTION |
Records with lower number of call attempts are used first |
ATTEMPTS-LEAST |
Records with Lowest Call Attempts First |
List Order |
AGE-OLDEST |
Records for Oldest Leads First |
New Leads Dialed First |
AGE-NEWEST |
Records for Newest Leads First |
Random Order |
RANDOMLY |
Random Records and/or Order |
Last Name |
BY-NAME |
Alphabetically (Last Name) |
At a high level, the process of handling Dial/Skill Priority has two parts: (1) Select records from one or more Sub-Campaigns using a selection criterion, and (2) Prioritize/sort the selected records using a sorting criterion.
Part (1) itself consists of two steps: (a) determine how many records to get from each sub-campaign, and (b) determine which records to obtain from each sub-campaign (i.e. selection priorities).
For the only purpose of providing an explanation and presenting examples, in this section we use the terms Grab Prioritization and Bucket Prioritization with the intention to identify which criterion is used during each step. Let’s be clear that these terms are not used within the GUI but are just used to help in the explanations in this section. Grab Prioritization determines what to select, while Bucket Prioritization determines how to order the records selected.
With that in mind, refer to the following table.
PGP |
Primary Grab Priority |
SGP |
Secondary Grab Priority |
PBP |
Primary Bucket Priority |
SBP |
Secondary Bucket Priority |
Primary identifies the first criterion to use, while Secondary provides a tie breaker if it becomes necessary. To give an analogy, you could have a set of people to select from, and decide to use their last name as the primary criterion for selection, but if you have two names with the same last name, you could use the first name as secondary criterion.
The user interface for Dial Priority and Skill Priority present a set of switches whose ON/OFF setting determine the selection and prioritization mode to be applied. This section explains the modes corresponding to each allowed combination of these switches. Refer to the following picture.
|
Therefore, let us start by summarizing the allowed switch combinations and the resulting mode. Do note that the mode is just a short ‘description’ of what the switch combinations represent, just for the purpose of this section, and not an actually presented in the Management Console GUI.
Utilization |
Active List Order |
Grab Bag |
Mode |
Sub-Mode |
ON |
OFF |
ON |
Weighted Distribution |
Random Order |
OFF |
OFF |
ON |
Combined List |
Random |
OFF |
ON |
OFF |
List Order |
(per Campaign’s Dial Sequence) |
OFF |
OFF |
OFF |
Combined List |
Oldest First |
The sub-sections that follow provide a description of the selection and ordering behavior for each of these allowed combinations.
This case occurs when the following switch settings are used:
Utilization |
Active List Order |
Grab Bag |
Mode |
Sub-Mode |
ON |
OFF |
ON |
Weighted Distribution |
Random Order |
This case is about selecting chunks at a time of Contact records; we will call these chunks Buckets. We fill the bucket with Contact records from the specified Sub-Campaigns; the number of records that we grab from every campaign to fill a bucket is determined by the percentage (weight) assigned to each specified Sub-Campaign. Obviously, we should make sure that these percentages add to 100%.
The following priorities are applied:
Mode |
Weighted Distribution / Random Order |
PGP |
Records with Lowest Call Attempts First (ATTEMPTS_LEAST) |
SGP |
Random Order (RANDOM) |
PBP |
Random Order (RANDOM) |
SBP |
N/A |
As we have previously discussed, the first step is the selection process. The Primary Grab Priority (PGP) used in this step is to grab records with the lower number of call attempts (ATTEMPTS_LEAST); if more records than needed satisfy this criterion, the needed number of records is selected using the Secondary Grab Priority (SGP), which is set to be RANDOM (among those that satisfy the PGP).
After the bucket is filled with the selected Contact records, the records in the bucket are ordered (prioritized) using the Primary Bucket Priority (PBP), which in this case is set to be of a random order (RANDOM). Notice that since PBP is random, there is no need for a Secondary Bucket Priority (SBP).
This process is repeated one bucket at a time.
The following picture provides a pictorial example of how this case works.
|
This case occurs when the following switch settings are used:
Utilization |
Active List Order |
Grab Bag |
Mode |
Sub-Mode |
OFF |
OFF |
ON |
Combined List |
Random |
In this case, rather than thinking about buckets, we should think about a continuous list of records, even though this list may be split in pieces for performance purposes (but has no impact on the selection an ordering logic) as the example later in this section shows.
In this case, the selection criteria are applied to the combined set of all the Contact records from all the included Sub-Campaigns as a whole.
The following priorities are applied:
Mode |
Combined List / Random |
PGP |
Records with Lowest Call Attempts First (ATTEMPTS_LEAST) |
SGP |
Random Order (RANDOM) |
PBP |
N/A |
SBP |
N/A |
This case is all about the selection process. The Primary Grab Priority (PGP) used in this step is to grab records with the lower number of call attempts (ATTEMPTS_LEAST) from the combined list of all included Sub-Campaigns; records with the same number of call attempts are then ordered (prioritized) using the Secondary Grab Priority (SGP), which is set to be RANDOM.
The dialing list is then filled with the selected Contact records, which are already ordered (prioritized), hence there is no need to apply a Primary Bucket Priority (PBP) or a Secondary Bucket Priority (SBP) on the dialing list.
The following picture provides a pictorial example of how this case works.
|
This case occurs when the following switch settings are used:
Utilization |
Active List Order |
Grab Bag |
Mode |
Sub-Mode |
OFF |
ON |
OFF |
List Order |
(per Campaign’s Dial Sequence) |
In this case, rather than thinking about buckets, we think about a continuous list of records, as well, even though this list may be split in pieces for performance purposes (but has no impact on the selection an ordering logic) as the example later in this section shows.
For this case, we work with one Sub-Campaign at a time; we select all the records from one Sub-Campaign before we move on to the next Sub-Campaign. The Sub-Campaign to be used first and which one follows is determined by the order in which they are arranged in the GUI by the user.
On a per Sub-Campaign basis, the selection criteria are applied to the complete set of Contact records from that Sub-Campaign.
The following priorities are applied:
Mode |
List Order |
PGP |
Records with Lowest Call Attempts First (ATTEMPTS_LEAST) |
SGP |
(per Campaign’s Dial Sequence) |
PBP |
N/A |
SBP |
N/A |
Once again, this case is all about the selection process. The Primary Grab Priority (PGP) used in this step is to grab records with the lower number of call attempts (ATTEMPTS_LEAST) from the complete set in the Sub-Campaign whose turn is next; records with the same number of call attempts (which we refer to as Bags in the pictorial example) are then ordered (prioritized) using the Secondary Grab Priority (SGP), which is obtained from the corresponding Campaign’s Dial Sequence setting.
The dialing list is then appended with the selected Contact records, which are already ordered (prioritized), hence there is no need to apply a Primary Bucket Priority (PBP) or a Secondary Bucket Priority (SBP) on the dialing list.
The following picture provides a pictorial example of how this case works.
|
This case occurs when the following switch settings are used:
Utilization |
Active List Order |
Grab Bag |
Mode |
Sub-Mode |
OFF |
OFF |
OFF |
Combined List |
Oldest First |
In this case, again, rather than thinking about buckets, we think about a continuous list of records, even though this list may be split in pieces for performance purposes (but has no impact on the selection an ordering logic) as the example later in this section shows.
In this case, the selection criteria are applied to the combined set of all the Contact records from all the included Sub-Campaigns as a whole.
The following priorities are applied:
Mode |
Combined List / Oldest First |
PGP |
Records with Lowest Call Attempts First (ATTEMPTS_LEAST) |
SGP |
Records for Oldest Leads First (AGE_OLDEST) |
PBP |
N/A |
SBP |
N/A |
This case is all about the selection process, as well. The Primary Grab Priority (PGP) used in this step is to grab records with the lower number of call attempts (ATTEMPTS_LEAST) from the combined list of all included Sub-Campaigns; records with the same number of call attempts are then ordered (prioritized) using the Secondary Grab Priority (SGP), which is set to be AGE_OLDEST.
The dialing list is then filled with the selected Contact records, which are already ordered (prioritized), hence there is no need to apply a Primary Bucket Priority (PBP) or a Secondary Bucket Priority (SBP) on the dialing list.
The following picture provides a pictorial example of how this case works.
|