Skip to main content


         This documentation site is for previous versions. Visit our new documentation site for current releases.      
 

This content has been archived and is no longer being updated.

Links may not function; however, this content may be relevant to outdated versions of the product.

Training adaptive models

Updated on September 21, 2021

You can efficiently train adaptive models in bulk by using a data flow with a dedicated decision strategy. This method can be useful if you have a historical data set or simulated data and you want to perform further analysis, testing, or simulations.

Adaptive models do not require historical or sample data as the Adaptive Decision Manager (ADM) typically starts without any data and quickly updates the models. However, you can train your adaptive models with historical or sample customer responses. The use of previous results enables the ADM server to create models that can predict behavior more accurately.

Adaptive models are Pega Platform scoring models that can capture and analyze customer responses in real time. Adaptive models identify the most suitable proposition for a customer or determine the proposition that the customer is most likely to accept.

The system creates adaptive models when you run a decision strategy that contains an Adaptive Model component (strategy shape). For each proposition referenced in the strategy, the system creates one adaptive model. You can view the models on the Model Management landing page in Dev Studio.

This tutorial explores the following use case:

A company that serves a large number of customers wants to improve its method for identifying the best proposition for each customer. The company can make several propositions and has already acquired some information about its customers and interaction data in an external database. The CustomerResponse database column contains historical responses for a strategy in which each customer is presented with a group of propositions and can choose only one (Insurance1, Insurance2, or Insurance3). When a customer accepts a proposition, the system automatically rejects the other two.

Sample database fragment with customer information and recorded response

GENDERLastNameAGEFirstNameINCOMEMaritalStatusCustomerResponse
FHensley66Mary165308MarriedInsurance1
MKnightley30Robert14663SingleInsurance3
FCage17Susan7250SingleInsurance1
FHouse62Margaret21767MarriedInsurance2
FBryant49Anna42517SingleInsurance3

The company needs a solution that takes the customer interaction data, feeds the data to adaptive models, and trains the models simultaneously. Adaptive models that are trained with this information can determine with improved accuracy which proposition a customer is most likely to accept.

To support training adaptive models in bulk, you must create and configure two rules. The first rule is your decision strategy that references the propositions that you want to offer to your customers. This strategy must also reference an adaptive model rule that learns from each recorded customer response. The second rule that you must create is a data flow. The purpose of this data flow is to upload historical or sample data from a dedicated data set into the adaptive model data set.

Note: This tutorial takes approximately 60 minutes to complete.
Before you begin: Verify that your historical customer response data is stored in a dedicated data set.

Creating a strategy for training adaptive models in bulk

First, you must create a strategy that references multiple propositions for training adaptive models in bulk. This strategy must import proposition data and feed it to an adaptive model that trains with each received response.

For each proposition in the strategy, the system creates an adaptive model that you can view on the Model Management landing page in Dev Studio. For example, if your decision strategy references 50 propositions, the system creates 50 adaptive models.

  1. In the header of Dev Studio, click CreateDecisionStrategy.
  2. On the strategy canvas, configure importing propositions to the strategy (for example, by using the Proposition Data strategy shape).
    You can use the single case test run to verify whether the proposition data is imported as expected.
  3. If the channel dimension or subject ID information for the strategy are not already configured, specify the channel dimension and subject ID settings:
    1. On the strategy canvas, right-click, and then click EnrichmentSet Property.
    2. Right-click the Set Property shape, and then click Properties.
    3. Set the .pyDirection property to the direction that you use in the interaction with the customer.
    4. Set the .pyChannel property to the channel that you use in the interaction with the customer.
      Note: The configuration of the channel dimension settings ensures that the correct adaptive models are trained.
    5. Set the .pySubjectID property. Set this property only if .pySubjectID is not already the class key of the Applies-To class of the strategy.
      Note: In a typical decision strategy, the key of the Applies-To class is set to either Customer or Subject ID and is used as the .pySubjectID property in the strategy results. In a bulk response upload scenario like this one, the data model might not contain a Subject ID, or the Applies-To class might not have the Subject ID set. In this case, verify that the .pySubjectID property is set to a non-empty value.
    Channel dimension and Subject ID settings
    The subject ID is set to 1234, direction to inbound, channel to web.
  4. Configure an Adaptive Model strategy shape:
    1. On the strategy canvas, right-click, and then click Decision AnalyticsAdaptive Model.
    2. Right-click the Adaptive Model shape, and then click Properties.
    3. In the Adaptive Model field, specify the adaptive model rule that you want to use in the strategy. Use one of your existing adaptive model rules.
    4. On the Outcomes tab, verify that you set the correct outcome values for the adaptive model rule.
      The outcome values in the model must match the outcome values returned by the strategy (for example, Accept and Reject).
    Outcome tab in an adaptive model rule
    The positive outcome is set to Accept, the negative outcome is set to Reject.
  5. Configure the strategy so that it updates adaptive models with historical or sample responses:
    1. On the strategy canvas, right-click, and then click EnrichmentSet Property. Place the Set Property shape after the Adaptive Model shape.
    2. Right-click the Set Property shape, and then click Properties.
    3. In the Define action, target, and source section, click Add Item.
    4. In the Action field, select Set.
    5. In the Target field, enter .pyOutcome.
    6. In the Source field, set the adaptive model outcome based on the database field that contains historical or sample customer response.
      For example: @if(.pyName == Primary.CustomerResponse, "Accept", "Reject")
      This example expression is valid only if proposition names are the same as historical or sample responses. The expression states that if the name of the proposition matches the value in the CustomerResponse database column, then the adaptive model outcome is Accept. Otherwise, the adaptive model outcome is Reject.
      Note: When you introduce more complex expressions such as @if(<logic>,<"conditionSucceeds">,<"conditionFails">), you can have multiple adaptive models learn from responses to their corresponding propositions and from responses to other propositions. You can develop a powerful pattern in which adaptive models learn more effectively and are more accurate.

      With complex expressions, you can train adaptive models in scenarios where your database contains multiple fields where customer responses are captured. Consider the following expression: @if( @contains(Primary.RESPONSE_POSITIVE, .pyName) , "Accept", @if ( @contains(Primary.RESPONSE_NEGATIVE, .pyName),"Decline", "None"). In this example, the RESPONSE_POSITIVE database field contains positive customer responses and the RESPONSE_NEGATIVE database field contains negative customer responses.

    7. Click Submit.
    Adaptive model outcome configuration
    The configuration includes an expression to set the py outcome property to a value in the appropriate database field.
  6. Connect the strategy shapes.
  7. Save the strategy,
  8. Run the strategy by clicking ActionsRun.
Result: The Model Management landing page is populated with adaptive models. The number of adaptive models created is equal to the number of propositions referenced in the strategy. The initial performance value is 50% for each adaptive model.
Sample strategy for training adaptive models in bulk
The strategy contains five shapes: proposition data, decision properties, adaptive model, outcome properties, and results.

Creating a data flow for training adaptive models in bulk

After you create your decision strategy, you must create a data flow that uploads your historical or sample data to each adaptive model that was created on the Model Management landing page. The source of the data flow is always the data set with customer interaction data.

The data flow must reference the decision strategy that trains the adaptive models that you want to improve. The destination of the data flow is always the Adaptive Decision Manager (ADM) server (pxAdaptiveAnalytics). If the class of the data set and the decision strategy referenced in this data flow do not match, you must convert the properties from the data set class to the strategy class.

Data flow for training adaptive models in bulk
The data flow consists of four shapes: source, convert, decision strategy, and destination shapes.
  1. In the header of Dev Studio, click CreateData ModelData Flow.
  2. To configure the Source shape, right-click the shape, and then click Properties.
    1. Reference the data set with historical or sample outcomes that you want to use to train your adaptive models.
    2. Use the Preview option to preview the data set and test the connection.
    3. Click Submit.
  3. Optional: If the data set with historical or sample data and the referenced strategy are configured in different classes, configure a Convert shape:
    1. Right-click the green plus sign, and then click Convert to add the shape to the data flow.
    2. Right-click the Convert shape, and then click Properties.
    3. In the Convert to field, enter the name of the class where the strategy for adaptive model training is located.
    4. Configure the property mapping to propagate properties from the source to the target class.
    5. Click Submit.
    Convert shape properties
    The convert shape is configured to map the age and income fields from the source to the target class.
  4. Configure a Decision Strategy shape:
    1. Right-click the green plus sign, and then click Decision Strategy to add the shape to the data flow.
    2. Right-click the Decision Strategy shape, and then click Properties.
    3. In the Strategy field, enter the name of the strategy that you prepared for adaptive model training.
    4. Select Manage learning cycle or outcome capture.
    5. Select and configure the Store adaptive inputs and strategy for field.
    6. Click Submit.
    Decision Strategy shape properties
    The decision strategy shape is configured to use the Run Analytic Models strategy.
  5. Configure the Destination shape:
    1. Display the shape properties.
    2. In the Destination field, click Data set.
    3. In the Data set field, enter pxAdaptiveAnalytics.
    4. Click Submit.
    Destination shape properties
    The destination shape is configured to output data to the px adaptive analytics data set.
  6. Save the data flow.
  7. Run the data flow to train multiple adaptive models:
    1. In the header of the data flow tab, click ActionsRun.
    2. In the Data Flow Test Run window, click Activate to run the data flow.
      You can view the progress of the data flow on the progress bar. You can also run the data flow from the Data Flows landing page.
What to do next: After you complete this tutorial, you can view the increased performance of adaptive models on the Model Management landing page.

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us