Jump to: navigation, search

Creating and Updating Predictors

Predictors enable you to analyze various factors that might affect a specific metric. For example, you might check how the matching between customer and agent languages, ages, genders, and locations affect the NPS score. In addition to simple predictors, you can also combine them to create composite predictors that analyze multiple metrics.

To open the configuration menu, click the Settings gear icon, located on the right side of the top menu bar: GPMsettingsGear.png.

Important
The Tooltips, which appear when you hover over any ? icon, contain helpful explanatory information about the associated fields.

Create a new predictor

1

To start creating a predictor:

  1. Select Predictor from the left-hand navigation bar and then click Add Predictor.
  2. Name your predictor and select a dataset from the drop-down menu. When you select a dataset, the dataset date range appears.
    Note: Predictor names can consist only of alphanumeric characters, and must start with a letter or underscore.
  3. Move the slider bars at either end of the date range to select the part of the dataset you want the predictor to evaluate.

Select a metric and the action type

1

To continue predictor configuration, perform the following steps:

  1. Select the metric for this predictor. A predictor can be associated with only one metric.
  2. Select the Agent identifier, which can be either Dataset generated or Agents. If you are using Agent Profile lookup, you must set this to Agents.
    • Dataset generated: Agent profile data is derived from the most up-to-date data captured in the dataset used to create the current predictor. Note that this dataset must be synchronized for the latest data to be available for the predictor.
    • Agents: Agent profile data is taken from the Agent Profile schema. This is the typical production configuration.
  3. Select the Customer identifier, which can be either Customers or None. If you are using Customer Profile lookup, you must set this to Customers.
    • None: Customer and interaction data is gathered from attached data
    • Customers: Customer data is taken from the Customer Profile schema. This is the typical production configuration.
  4. Optional. Enter an expression to be used for computing the final score returned by the scoring engine. You can construct the expression using arithmetic operations, Python 2.7 built-in functions, and discovered fields. To access the built-in functions, press the SHIFT+@ shortcut.
    Examples of ways to use this field:
    • If URS has different scales for scoring, you can use this field to scale the returned score appropriately.
    • You might need to translate the result returned from URS to correct the sort order. For instance, if customer_talk_duration is a target metric, agents with lower scores are actually better. So you might enter the score expression 1 / p_score, which produces an outcome such that higher predicted values are lower actual scores.
    • For an in-depth discussion of how GPR handles metrics, see Understanding Score Expressions.

Select the Agent ID and Actions Cutoff

1

To continue predictor configuration, perform the following steps:

  1. Select the Agent ID from the drop-down menu. This is a unique employee identifier that is relevant for the type of metric you are evaluating.
    If Agents (the Agent Profile schema) has been selected as Agent Identifier, the Agent ID you select must be the same field as the ID_FIELD in the Agent Profile.
  2. Select the maximum number of best scores that will be returned when you make a scoring request to the API.
    Important
    The maximum number of best scores is only relevant to the API, not to scoring requests sent using the Predictive Routing application.

Choose Agent Features

1

Agent Features are items in the dataset that refer to the agent. All agent-related fields in your selected dataset appear in the drop-down list under Agent Features.

  1. Select an Agent Feature from the drop-down list. The type associated with it in the dataset appears.
  2. Continue until you have selected the Agent Features you want to include in your predictor.
  3. Optionally, you can create a new feature. A new feature must be based on existing features. When you create a new feature, you can add an expression, which enables you to perform some action on existing features and then use the result in your predictor.
    1. Click Add New Feature.
    2. Type a name for your new feature and then select the type of value this feature returns: Boolean (the returned value is an either/or value, such as true/false), list (a list of the possible returned values), string, and so on.
    3. If you are using Agent Profile lookup when scoring, toggle the Override control to on (toggle turns from gray to blue) for those features that should be updated at the time of scoring.
      To use the lookup functionality, you must enter an expression for each Agent Feature to be updated that will return the latest values from the Agent Profile schema.
    4. Enter an expression. To construct your expression, you can use arithmetical operators, Python 2.7 built-in functions, and fields accessed by the @ hotkey.

Choose Customer Features

1

Customer Features are items that refer to the customer or that are available in interaction user data. They refer to aspects of the environment, broadly speaking, in which the interaction occurs. All customer- and userdata-related fields in your selected dataset appear in the drop-down list under Customer Features.

  1. Select a Customer Feature from the drop-down list. The type associated with it in the dataset appears.
  2. Continue until you have selected the customer features you want to include in your predictor.
  3. Optionally, you can create a new feature. A new feature must be based on existing features. When you create a new feature, you can add an expression, which enables you to perform some action on existing features and then use the result in your predictor.
    1. Click Add New Feature.
    2. Type a name for your new feature and then select the type of value this feature returns: Boolean (the returned value is an either/or value, such as true/false), list (a list of the possible returned values), string, and so on.
    3. If you are using Customer Profile lookup when scoring, toggle the Override control to on (toggle turns from gray to blue) for those features that should be updated at the time of scoring.
      To use the lookup functionality, you must enter an expression for each Customer Feature to be updated that will return the latest values from the Customer Profile schema.
    4. Enter an expression. To construct your expression, you can use arithmetical operators, Python 2.7 built-in functions, and fields accessed by the @ hotkey.

Create and generate your new predictor

1

To finalize your predictor configuration, save and generate it:

  1. Click Create to save your predictor settings. You should receive a success pop-up window indicating that the predictor has been created.
  2. Before you can train and activate models, you must generate your predictor. Scroll up to the daterange display on your predictor configuration window, and then click Generate.
    Pop-up windows indicate the progress of the generate job.

Your new predictor now appears in the list of predictors, along with information about its status, such as the number of associated models, when it was last run, and its quality.

Gather Updated Scoring Data Using Profile Look Ups

When you are using a model to score agents, you can configure Predictive Routing to incorporate up-to-date data from the Agent Profile schema and/or the Customer Profile schema rather than the corresponding data from your dataset.

For example, your dataset might be three months old. As a result, various metrics might no longer reflect the actual conditions in your environment. For example, a metric such as agent tenure is now three months out of date. Agent performance scores for each virtual queue might have changed, because of factors such as changes in virtual queue assignments or training that might have improved an agent's performance.

To make use of the most recent available data, you override the use of the older data and enable Predictive Routing to look up the new values for key features.

Important
When configuring profile lookups, keep in mind that a large number of lookups can significantly impact the scoring response time. You should test for impact on scoring performance in your environment before configuring overrides for a large number of features.

Settings Required to Use Profile Lookups

To have Predictive Routing look up fresh values for specified fields, you must have the following:

  • Agent Profile and Customer Profile schemas loaded and accepted.
  • The Agent Identifier and Customer Identifier fields set to Agents and Customers, respectively.
Important
These instructions are given for both Agent and Customer Profile lookups. If you do not need Customer Profile lookups—that is, the customer data is fairly stable and does not need to be updated constantly, you can omit the Customer Identifier and Customer Features settings.

How Profile Lookups Work

The image below shows a record in the Agent Profile schema that shows how to encode agent performance across different queues. The a_performance column contains a dictionary, consisting of two entries with the values Tech Support:10.00 and Sales:1.00, respectively.

GPRAgtProfileDict.png

Important
  • In the predictor schema, the action feature—in this case, a_performance—must be defined in such a way as to allow it to be an expression, since its actual value is based on an agent profile lookup.
  • Currently only one-dimensional dictionaries are supported, with up to 200 key-value pairs where the key is a string and the value is int, float, or boolean.

Note that information from the Agent Profile dataset is used only for scoring, not for model training. When you are training a model based your predictor dataset, it uses the original profile data, but stores it in a flat (non-dictionary) format. This works well for training a model, where what is needed is a complete and consistent set of data, which permits meaningful learning from these attributes while training a global model.

The following image shows a dataset record encoding the same information as shown above, only in a flattened format:

GPRAgtProfileDictFlat.png

Here the VQ columns contain the names of the virtual queues and the Feedback column contains the agent performance value for the associated virtual queue.

Once both the Agent and Customer Profile datasets and the predictor dataset are ready, you can set up a predictor to use lookups when scoring agents.

Tip
For scoring, the most recent value provides much better results. Since the predictor dataset is based on historical data, it doesn’t contain the most recent values for Agent Features and Customer Features. Agent State Connector refreshes Agent Profile data on a regular basis. When necessary, Customer Profile data can be refreshed by appending fresh data.

In the example we have been using, the Feedback column (feature) holds the historical data on the agent’s performance. To get the most recent value at run time, override this field so that it gets its value from the Agent Profile dataset rather than from the predictor (training) dataset. To do so, enable the Override toggle control next to the corresponding field and provide a lookup expression:

PrMPredictorActFeatures.png

The Override toggle appears only beside fields that have a direct corresponding field in the dataset. Once Override is toggled on, the expression field appears and you can enter an expression for looking up the associated value from the profile dataset. Use the following shortcuts to open a suggestion list in the expression field:

  • SHIFT+@ - for dataset fields
  • SHIFT+# - for profile fields

The following graphic illustrates how the lookup expression maps to the different datasets:

GPRLookupInAction.png

Now you can issue a scoring request and it looks up the associated value in the Profile dataset. In this example, Predictive Routing looks up the value in the Agent Profile a_performance column using the VQ Key: Sales.

GPRScoringWithLookup.png

Composite Predictors

You can create composite predictors by combining two or more simple predictors—that is, standard predictors such as those described in this topic so far. The composite is defined using an arithmetic function that works on the set of target metrics used in the selected simple predictors. This enables you to score agents based on multiple metrics rather than just one.

The composite predictor takes the scoring outcomes for each of the included predictors and then applies the arithmetical expression you specify to those results. This composite result is then sent back to the routing strategy to be used when determining the best match between waiting interactions and available agents.

Example

Assume you have three agents with the following individual scores:

Agent Predicted NPS Score Predicted CSAT Score
Agent 1 8 7
Agent 2 8 8
Agent 3 6 5

If you just use NPS to select the best agent, Agent 1 and Agent 2 appear equally likely to handle the interaction well. But if you want to maximize your CSAT as well, the additional parameter acts as a differentiator. The aggregated score for Agent 2 (16) is higher than that for Agent 1 (15).

Important
  • If a predictor you include has multiple active models associated with it, the model used is determined in the same way as it normally is when you have multiple models.
  • The Lift Estimation report, which evaluates potential lift based on a specific model, does not support composite predictors.

The advantage of starting with separate predictors over pre-computing the final metric in a common dataset is to maximize data usage. For example, you probably have much more data for talk duration than for NPS, which requires customers to take a survey. It is also easier to create the desired calculation when you combine individual, already-created metrics.

  • Example 1:
    You might create a composite predictor out of three simple ones by combining them. Target metrics contain only numeric or boolean values, so that you can combine the outcome using basic arithmetic operations. Assuming, that the target metrics for the respective predictors are the following:
    • Predictor1 - NPS
    • Predictor2 - CSAT
    • Predictor3 - TALK_DURATION
    You can write an expression such as the following:
    (Predictor1 + Predictor2) / Predictor3
    In this example, the agent score is (predicted NPS + predicted CSAT) / predicted talk duration. That means agents with higher NPS and CSAT get higher scores if call duration is lower. Agents with high NPS and CSAT scores that also have high talk durations are scored lower. As a result, you can take into account several aspects of agent performance when scoring.
  • Example 2:
    You might use different simple predictors depending on a context variable passed in a scoring request. You can create a composite predictor that would use one simple predictor for customers in a high-value category (value >= 50) and a different simple predictor for lower-value customers (value <= 50). The idea is to offload this logic from the strategy into a predictor to reduce the need to modify your strategy. To create such a predictor, define the following expression for your composite predictor:
    • int(value > 50) * Predictor1 + int(value <= 50) * Predictor2
    The logic here is the following: the int(value > 50) function converts the boolean value from true/false to 1/0. The predictor that is multiplied by 0 is ignored and the remaining predictor is used for routing.
Important
When creating a scoring request for use with a composite predictor, the request must contain at least one Customer Feature that is common for all the simple predictors included in the composite predictor.

Create a composite predictor

1

To create a composite predictor, follow these steps:

  1. Navigate to the Predictors list page in Settings.
  2. Select the check boxes next to at least two simple predictors. The Create Composite button appears. You must keep in mind the following constraints when selecting simple predictors:
    • All of the simple predictors that are going to be used in a composite predictor should have the Agent Identifier field set to Agents.
    • The Action ID field should be identical in all of the simple predictors, and should be the same as that in the Agent Profile schema. For example, if in the Agent Profile schema the Action ID is the Agent_Id field, the Agent ID in each predictor must also be set to the Agent_Id field.
  3. Click Create Composite, which opens the Composite Predictor page, pre-populated with the predictors you selected.
  4. Fill out the Expression field. This field is mandatory for composite predictors.
    You can use a Suggestion menu triggered by the following keyboard shortcuts to configure your expression: [Shift + @] (to open context fields) or [Shift + #] (to open a list of functions). The menu lists only the applicable fields for a given composite predictor, thus reducing the chance of error when composing an expression.

Your new composite predictor now appears in the list of predictors. Note that information about predictor status, such as the number of associated models, when it was last run, and its quality, are available only for simple predictors.

Update a predictor

1

You can edit your predictor unless you have created and activated one or more models based on it. In that case, Genesys recommends that you create a new predictor with the desired parameters.

You can change the predictor date range, purge generated data, and re-generate your predictor with a different date range at any time. However, already trained and activated models continue to use data from the old daterange.

  1. Click Purge to change the date range in your dataset used to generate new models.
    Activated existing models continue to use the same date range.
  2. Select the new date range, and then click Generate.

Pop-up windows indicate the progress of the purge and generate jobs.

Import a model

1

As you create a predictor, you can import a model to work with that predictor. The model must be in JSON format. This model import/export feature enables you to move models from one part of your environment to another.

  • To import an existing mode, click Select Model JSON File, which is next to the predictor name at the top of the Predictor configuration window.

View your predictors

1

When you navigate to Settings > Predictors, the window shows a table listing all your existing predictors. For each, the table shows what analysis type it uses, how many models are associated with it, the model quality results, which metric is analyzes, and when the predictor was last trained.

  • The quality value displayed for the predictor (AUC for classification metrics and RMSE for regression metrics) is the average of the results for each trained model associated with that predictor. Both active and inactive models are included in the average, as long as they are trained.
  • Click the name of a predictor to edit it or create models for it.
  • To delete a predictor, select the check box next to a predictor name, and then click the trash can icon.

Feedback

Comment on this article:

blog comments powered by Disqus
This page was last modified on 19 October 2018, at 18:22.