Engagement Propensity models

Algorithm name: Engagement Propensity

Applies to: B2B, B2C

Engagement Propensity algorithm helps build a custom classification model specific to a customer use case where the user can define custom target variable as well as custom data inputs

What is Engagement Propensity model?

The Engagement Propensity Model is a ready-to-use data science model that measures the likelihood of customers' engagement with marketing campaigns based on their historical behavior. It helps marketers better understand customer intent, allowing for more targeted and effective campaign strategies. Engagement can include key actions such as opening an email, clicking a link, subscribing, or any other significant interaction.

In addition to its primary use case, the Engagement Propensity Model can be adopted as a custom classification model, enabling development of custom propensity models tailored to specific business needs.

Parameters of the model

When setting up the Engagement Propensity Model, you will need to define several key parameters:

  • Algorithm: This is the core piece of code that runs the model. When selecting the Engagement Propensity algorithm, you must also define:

    • Target: Specifies the target variable (desired outcome) for the model. Currently, the model supports the following events: email open, email click, email subscribe, and email unsubscribe.

    • To build a custom classification model, choose ‘Custom Target’ option

  • Queries: The queries you select generate the dataset used for both model training and scoring.

  • Inputs: Inputs are attributes from the Oracle Unity data model that the model uses during training and scoring.

  • Outputs: These are the data objects and attributes from the Unity data model that store the model's output values. You can customize the default output mappings if needed.

To build a custom propensity model using Engagement propensity algorithm, click here

To implement the engagement propensity model with out of the box target labels, click here

To build a custom propensity model

Follow the below steps

  • Create a new model profile in Intelligence Workbench

  • Details - Enter a model name and a description that clearly outlines the use case for the model.

  • Algorithm – Select the ‘Engagement Propensity’ algorithm.

    • This action will trigger the ‘Parameters’ pop-up. In the dropdown menu, select the "Custom target" option to build a custom propensity model.

      • After selecting this option, the model will use all custom inputs provided in the data query and map them against the custom target variable specified in the query.

  • Query

    • Ensure the correct training and scoring queries are mapped to the model.

    • Verify that the training query includes the custom target variable ("Target") containing the labels. Ensure that the target attribute is correctly mapped to the field with label values, which should be represented by 0 and 1. (refer to this code snippet for sample)

      • For instance, if you are building a custom churn model, the label 1 should represent "churn" and 0 should represent "non-churn."

  • Mapping - The Inputs section will now indicate that the inputs are custom, reflecting the custom data query attributes.

  • 'Schedule' - Select the appropriate training and scoring schedule to ensure the model runs as desired.

To build the model using out-of-the-box target labels

Follow the below steps

  • Create a new model profile in Intelligence Workbench

  • Details - Enter a model name and a description that clearly outlines the use case for the model.

  • Algorithm – Select the ‘Engagement Propensity’ algorithm.

    • This action will trigger the ‘Parameters’ pop-up. In the dropdown menu, select one of the available engagement target options

  • Query -

    • Ensure the correct training and scoring queries are mapped to the model.

    • Ensure the relevant events are available in the data for the model to learn the patterns

  • Mapping - The Inputs section will now indicate that the inputs are custom, reflecting the custom data query attributes.

  • 'Schedule' - Select the appropriate training and scoring schedule to ensure the model runs as desired.

Model inputs

The Engagement Propensity model uses the following data. For the model to successfully run, data needs to be ingested into all the input attributes mentioned below.

 

Attribute from Unity data object

Attribute name in the query

Unity Data object

Description of the attribute

Expected Data Type

Must have?

ID

ID

MasterCustomer

MasterCustomer identifier

String

Yes

Medium

Medium

Event

Engagement channel through which an event was captured

String

Yes

Type

Type

Event

Engagement event type indicating lead's intent

String

Yes

Target

Target

Event

Required only if the user selects "Custom Target' as input parameter in the model profile; it is required to have the values "1" and "0" denoting positive & negative labelvalue

Boolean

Yes

EventTS

EventTS

Event

Timestamp of when an event occurred

timestamp

Yes

City

City

Customer

City of the customer - helps assess regional differences in driving outcomes

String

 

Gender

Gender

Customer

Gender of the customer - helps assess gender based differences in driving outcomes

String

 

Age

Age

Customer

Age of the customer - helps assess age based differences in driving outcomes

INT

 

SourceID

Source_ID

Customer

SourceID of the customer

String

Yes

SourceMarketingProgramID/ SourceCampaignID

Campaign_ID

MarketingProgram/ Campaign

SourceCampaignID from Campaign object

String

 

ProgramType/ Type

campaign_type

MarketingProgram/ Campaign

Campaign type: Ex: Promotional campaign, Transactional campaign

String

 

Key considerations on model inputs

  1. Data schema checks: If an attribute is unavailable, assign a constant default value across all records. This allows the model to validate the input schema. This will not impact the model outcomes as the attribute will be excluded during feature importance analysis due to lack of data variance.

  2. Target variable: Ensure the selected ‘Target variable’ is available in the input data. Additionally, verify that there are two distinct classes of profiles (based on the ‘Target variable’), which is essential for the classification model to learn effectively. For example, if ‘Email open’ is chosen as the target variable, the dataset must include both customers who opened the email and those who did not.

  3. Schema consistency: Ensure that the attributes used in the query exactly match the specified 'Attribute name in the query' (in the above table) to avoid schema mismatches during model execution.

  4. Non-mandatory attributes: These attributes, when available, can enhance the model’s learning and improve its predictive performance. However, if they are missing, the model will still leverage other available attributes to make predictions.

Key input data guidelines for Propensity models

  1. Label requirements: Ensure the model data contains at least 500 positive signals (leads) and 500 negative signals (non-leads)

  2. Data requirements:

    1. It is recommended to provide at least 50,000 data records for model training. However, it is important to bring as much data as possible to build a robust model

    2. It is recommended to keep the dataset under 10M records (soft limit). This limit can vary for every model, but maintain a manageable size helps ensure efficient model performance.

Best practices

  1. Use case first approach: Begin with a specific use case to determine the data required for solving the problem effectively.

    1. Review model data requirements with both business and data teams to ensure alignment

  2. Contextual parameters: Choose model parameters (such as lookback window) based on the business/ use case context.

  3. Query validation: Test both the training and scoring queries to validate that they return data and inspect sample records resulting from the query

Model outputs

Output values will be stored in the EngagementPropensity data object. You can review the propensity score values for each customer in the PropensityScore attribute. 

Attribute ID

Attribute Name

Attribute Description

Data type

SourceMasterCustomerID

Source Master Customer ID

This attribute contains the original form of the MasterCustomer ID  from the source data system.

STRING

SourceEngagementPropensityID

Source Engagement Propensity ID

This attribute contains the unique ID for the object.

STRING

PropensityScoreBin

Propensity Score Bin

This attribute contains the score classification (High/ Medium/ Low).

STRING

PropensityScore

Propensity Score

This attribute contains the engagement score of the customer.

FLOAT

Medium

Medium

This attribute contains the medium for which the model was implemented; examples: Email,SMS.

STRING

MasterCustomerID

Master Customer ID

This attribute contains the foreign key to the MasterCustomerID.

STRING

MarketingProgramType

Marketing Program Type

This attribute contains the program type leveraged in the model.

STRING

EventType

Event Type

This attribute contains the target event type, examples: EmailClick, EmailOpen.

STRING

The Decision attribute will generate one of the following values based on the propensity score.

Propensity score

Decision

0 - 0.33

Low

0.33 – 0.66

Medium

0.67 – 1

High

Code sample for defining custom target labels