NBA Strategy framework components: Final Action Limits and Bundling strategy
This strategy applies Output Bundling options, action Communicate To (yield to parent etc.) options, Final Action Limits, Inbound and Outbound Channel Processing and Contact Policy Limits, after all other processing within the framework has completed and the separate context streams have been merged, but before exiting the Trigger strategy.
Paid actions are excluded from the Action & Treatment processing as they are passed through directly to the output.
Two extension points are provided: Final Limits and Bundling Pre Extension, and Final Limits and Bundling Post Extension for adding custom functionality before and after the main processing respectively.
For a detailed description of the logic, refer to the annotations on the strategy.
Bundling Settings & Yield Actions strategy
This strategy imports bundling settings from the Output Bundling Settings DDR and matches them to Actions by Direction, Channel and the pyDeliverOffline setting.
It also interprets the action CommunicateTo property (YieldToOriginal, YieldToAll, or YieldToPrimary) and reassigns or propagates actions to other Subject IDs as required.
Further details on the Output Bundling Settings DDR and the action CommunicateTo property can be found in Setting Output Bundling and Primary Contact Options.
For a detailed description of the logic, refer to the annotations on the strategy.
Get Primary Contacts strategy
This strategy is generated based on the Context Dictionary configuration to call the Authorized Contact strategy from the primary context. In cases where there may be more than one authorized contact, and where one contact should take precedence over the others, the strategy should be overtaken and a Prioritize shape included prior to the exit point to ensure that the most important contact is output first.
Apply Final Action Limits strategy
This strategy applies limits on the number of actions emitted for each action context and for each contact, as defined in the Final Action Limits DDR.
The functionality is described in more detail in Additional NBA Strategy framework components.
For a detailed description of the logic, refer to the annotations on the strategy.
Apply Action Limits Common strategy
This common sub-strategy is referenced twice by the Apply Final Action Limits strategy, once to apply channel specific limits, and a second time to apply all channel limits; it is responsible for filtering actions that exceed specified limits set by direction, channel (or all channels), issue, group, context and contact.
For a detailed description of the logic, refer to the annotations on the strategy.
Get Output Bundling Actions strategy
This strategy imports the bundle action definitions to be used for bundling output for each channel. Note that separate definitions can exist for Offline as well as Online output processing.
It uses the standard Next-Best-Action Designer framework strategies to assign active and eligible channels and treatments, and then uses a Group By to ensure there's only a single Treatment per channel.
ImportOutputBundlingActions strategy
This strategy is provided as a template to be updated as per the implementation requirements.
Insert the proposition import shapes for the parent bundle action to be used for each inbound and outbound channel. This could be a single shape that imports all of such actions from a single issue and group, or a separate shape for each action, or a combination thereof.
Separate bundle parents may be used for offline delivery or otherwise, simply by connecting the proposition import shapes to the Deliver Offline or Deliver Live shape. If offline delivery is not required for a channel, there is no need to connect any action for that channel to the Deliver Offline shape.
No logic other than the proposition import shapes and the Deliver Offline & Deliver Live shapes should be included in this strategy since the strategy is expected to be replaced in a future release.
Contact Policy Limits
This strategy performs the final prioritization of the actions & treatments and applies the channel contact policy limits already established earlier in the framework.
For a detailed description of the logic, refer to the annotations on the strategy.
Contact Policy Extension Control
Contact Policies used to be evaluated as part of the Top Offer or Bundle for Outbound strategy within the next-best-action strategy framework, where only a single contact was processed at a time. This functionality has now moved to the Final Action Limits & Bundling strategy where multiple contacts may be processed in a single call if the Context Dictionary is configured for multi-level strategies.
If the Contact Policy Extension strategy has been used to extend the standard Contact Policy functionality, then it is likely that it is designed to only process a single contact at a time and so will need to be called with that in mind.
This strategy is configured to call the Contact Policy Extension strategy based on either a multi-level or single-level Context Dictionary. By default, the strategy bypasses both of these options, that is, the Contact Policy Extension is not executed.
Refer to the strategy annotation for details on how to implement custom contact policy processing.
Inbound Channel Processing
The Inbound Channel Processing strategy handles all inbound channel processing after the actions for all contexts and contacts have been merged. Separate sub-strategies are called for Web and Mobile Treatment Placements, Agent Assisted (Call Center or Retail), and Other (everything else).
Treatment Placements strategy
The Treatment Placements strategy assigns Treatments to Placement tags for the Web and Mobile Channels based on the placement type list provided in the container call, or defaults provided in the Page Placements DDR.
The goal of the strategy is to process required placements in order - either the order in which they are specified in the call, or by their ascending rank in the Page Placements DDR - and to allocate a treatment to each successive placement in descending priority order based on its placement type.
The logic is quite complex due to the requirement that once an action's treatment has been allocated to a placement, no other treatment from that action may be allocated to any other placements. An Iteration shape is used to accomplish this recursive behavior.
For a detailed description of the logic, refer to the annotations on the strategy.
Assisted Inbound Channel Extension
This is provided as an extension point for the Call Center and Retail channels; it is an empty shell that performs no logic.
Other Inbound Channel Extension
This is provided as an extension point for any channels not already handled by Treatment Placements and the Assisted channel extension strategies; it is an empty shell that performs no logic.
Outbound Channel Processing (Outbound Channel Processing Extension Control)
Outbound channel processing is now handled by standard built-in features such as Final Action Limits and the bundling features in Bundling Settings and Yield Actions. This strategy is provided as an extension point if non-standard outbound channel processing is required.
The strategy is pre-configured to cater for either a multi-level or single-level context dictionary - by default, the strategy bypasses both of these options.
Refer to the strategy annotation for details on how to implement custom outbound channel processing.
Outbound Channel Processing Extension
This strategy contains a template of how additional channel processing logic can be implemented in a multi-channel implementation.
Previous topic NBA Post-Process Extension Point strategy Next topic Additional NBA Strategy framework components