The InboundChannels sub-strategy links actions with the treatments for all of the inbound channels; a separate sub-strategy is called for each of Web, Mobile, Assisted (Call Center and Retail), and Other (custom channels).
This strategy only applies when the primary direction is inbound. The individual channels must also be active and enabled on each action.
The strategies for processing Assisted and Other channels are the same for both oubound and inbound interactions and have already been described in Outbound Channels.
Web and Mobile treatment strategies
Both of these sub-strategies – named <Channel> Treatment Strategy (where <Channel> represents the name of the channel) - use the same method for assigning treatments to actions and augmenting the treatment data. They link actions with their channel specific treatments from the <Channel>TreatmentsJoin DDR and as a result, the pyTreatment value is set on the action; if there are multiple treatments a separate action page is generated for each treatment.
Additional Treatment properties are obtained from the<Channel>Treatments DDR and joined to the actions; individual metadata values that are defined at the treatment level will override their action-level equivalents. Finally, Apply <Channel> Treatment Eligibility calls the channel treatment eligibility rules sub-strategy.
These strategies may be overtaken and customized for local requirements if required, and the <Channel>Treatments DDR may be extended to augment the treatment data. For more information, see Managing Decision Data rules in Pega Customer Decision Hub.
Inbound Channels Extension
This sub-strategy is a placeholder strategy to implement any inbound customer preferences. It contains only an annotated blank canvas.
For a detailed description of the logic, refer to the annotations on the strategy.
Treatment-level scoring strategy
The TreatmentLevelPropensity strategy is responsible for applying an adaptive model for each treatment and calculating the propensity across eligible channels.
Actions can be designated as transactional in nature, that is, they are always intended to be delivered and do not require any arbitration. Treatments for transactional actions are filtered out and bypass analytics processing.
Treatments for non-transactional actions are directed to the Predict Treatment Propensity Prediction shape, and then to the Treatment Level Propensity Extension extension point sub-strategy.
Finally, the actions are divided into adaptive and adaptive-off streams based on the ApplyAnalytics action property, and the adaptive-off stream sets the propensity based on the action starting propensity, whereas for the adaptive stream these values are calculated by the Predict Treatment Propensity strategy.
Predict Treatment Propensity
The Predict Treatment Propensity prediction strategy uses the outcome optimization approach which provides a different model configuration and outcome for each channel. This strategy separates treatments based on channel to ensure that the correct model is applied. As with the action level Predict Action Propensity strategy, Random Control Group, Outbound Model Maturity, and Thompson Sampling techniques are applied to optimize statistical robustness.
The strategy is shown below split into two sections for easier viewing; the first portion separates the treatments into inbound or outbound, and then further splits them based on channel before executing the appropriate Prediction strategy for the channel. They are then merged to the AI Models Ext extension point sub-strategy for any additional processing (if required) before proceeding further.
A Switch rule selects whether inbound or outbound channels are required, and for inbound a further Switch rule selects the required channel. Remember that only one direction (inbound or outbound) is processed for any interaction, and for inbound interactions only a single channel is processed at a time, and so a Switch rule is the ideal selection mechanism for this.
Each channel except for Paid has a separate Prediction strategy assigned which sets the control group properties, calls the context level treatment model prediction for the channel, and then sets the propensity based on the control group settings. An example for the web channel is shown below (Predict Web Propensity).
The Define Control Group and Web Treatment Model Impl sub-strategies are effectively the same as their Action level equivalents already described in Predict Action Propensity prediction strategy.
The Random / Model shape sets the following two properties:
.pyModelPropensity = .pyPropensity
.pyPropensity = @If(.ModelControlGroup=="Control",@random(0,1.0),.pyPropensity)
The second portion of this strategy is ostensibly the same as the right portion of its Action equivalent, i.e. the Predict Action Propensity Prediction Strategy, where the Outbound Model Maturity, Thompson Sampling and Apply Propensity Thresholds processes are applied.
The main differences from the action processing are:
- Bypass model maturity, Thompson sampling and action propensity thresholds unless Propensity Calculation Setting is best treatment. These processes will already have been applied in the Predict Action Propensity strategy).
- Set AdjustedPropensityTreatment to the calculated propensity and set pySimulatedPropensity and FinalPropensity.
- Apply propensity thresholds and remove treatments where the propensity is below the treatment threshold.