Channel Campaign Recommender models
Applies to:B2B and B2C
The Channel Campaign Recommender model helps identify the best and most effective channel or campaign for every customer based on their past interactions.
What is Channel Campaign Recommender algorithm?
The model helps determine the most effective channel or campaign for each customer. This enables personalized engagement and improving overall customer experience.
For example, if you plan to extend a product offer to a customer, this model can help identify the most effective channel through which the offer can be sent to the customer, thereby increasing the likelihood of engagement and offer acceptance.
Parameters of the model
When creating the model, you will need to define the following parameters for the model:
-
Algorithm: Choose the Channel Campaign Recommender algorithm in Unity.
-
Recommendation type: You must choose either the ‘Channel recommender’ or ‘Campaign recommender’ to proceed with the model
-
-
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.
Model inputs
The model uses the following data. For the model to successfully run, check the sections: key input considerations, key data guidelines and best practices.
| Attribute from Unity data object | Attribute name in the query | Unity Data object | Description of the attribute | Expected Data Type | Must have? – Channel rec | Must have? – Campaign rec |
| ID | ID | MasterCustomer | Unique identifier for the Customer | String | Yes | Yes |
| SourceID | SourceID | Customer | Unique Identifier for the source | String | Yes | Yes |
| EventTS | EventTS | Event | Date and time when the event occurred/ was captured | Timestamp | Yes | Yes |
| Type | Type | Event | Type of the engagement event | String | Yes | Yes |
| Medium | Medium | Event | Channel or Medium of engagement | String | Yes | |
| EventID | EventID | Event | Event identifier | Strin | Yes | Yes |
| SourceMarketingProgramID/ | ||||||
| SourceCampaignID | SourceCampaignID | MarketingProgram/ Campaign | Unique identifier for the Campaign | String | Yes | |
| SourceID | SourceID_Campaign | MarketingProgram/ Campaign | Source ID from the Campaign/ Marketing Program object | String | Yes |
Key considerations on model inputs
-
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.
-
Event Type values – The below events are considered in the model.
-
High – Purchase, Add to Cart
-
Moderate – Subscribe, Click, Like, Visit
-
Low – Download, Open, View, Submit, Product view
-
Negative events – Unsubscribe, Bounced, Spam, Abandon cart, Remove from cart
-
-
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.
-
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
-
Data requirements:
-
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
-
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
-
Use case first approach: Begin with a specific use case to determine the data required for solving the problem effectively. a. Review model data requirements with both business and data teams to ensure alignment
-
Contextual parameters: Choose model parameters (such as lookback window) based on the business/ use case context.
-
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 ProgramChannelRecommendation or CampaignChannelRecommender data object.
If you choose ‘Channel recommender’ the following attributes will be populated:
-
ChannelFirstBest
-
ChannelSecondBest
-
ChannelThirdtBest
If you choose ‘Campaign recommender’ the following attributes will be populated:
-
CampaignFirstBest
-
CampaignSecondBest
-
CampaignThirdtBest
| Attribute ID | Attribute Name | Attribute Description | Data type |
| SourceProgramChannelRecommendationID | Source ProgramChannelRecommendation ID | This attribute contains the unique ID for the object. | STRING |
| ChannelFirstBest | Channel First Best | This attribute represents the best channel to engage the customer. | STRING |
| ChannelSecondBest | Channel Second Best | This attribute represents the second best channel to engage the customer. | STRING |
| ChannelThirdBest | Channel Third Best | This attribute represents the third best channel to engage the customer. | STRING |
| ProgramFirstBest | Program First Best | This attribute represents the best program recommended for a customer. | STRING |
| ProgramSecondBest | Program Second Best | This attribute represents the second best program recommended for a customer. | STRING |
| ProgramThirdBest | Program Third Best | This attribute represents the third best program recommended for a customer. | STRING |
| MasterCustomerID | Master Customer ID | This attribute contains the foreign key to the MasterCustomerID. | STRING |
| SourceMasterCustomerID | Source Master Customer ID | This attribute contains the original form of the MasterCustomer ID from the source data system. | STRING |