Jump to: navigation, search

Settings: 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.

Select the Action ID and Actions Cutoff

1

To continue predictor configuration, perform the following steps:

  1. Select the Action ID from the drop-down menu. This is a unique employee identifier that is relevant for the type of metric you are evaluating.
    For example, if your metric involves routing, the Action ID might be the Agent ID. 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. For example, you might want to have the most recent agent performance scores for each virtual queue they handle, so that you aren't scoring agents based on older data or comparing an agent against other agents who might be handling a different set of virtual queues. To do this, you override the use of the older data and enable Predictive Routing to look up the new value 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

About 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 make routing decisions based on multiple metrics rather than just one.

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

  • 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 30 April 2018, at 11:14.