Skip to main content


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

NBA Strategy framework components: Final Action Limits and Bundling strategy

Updated on February 2, 2022

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.

Pega Customer Decision Hub Pega Customer Decision Hub Pega Customer Decision Hub

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.

The Final Action Limits and Bundling strategy

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.

The Bundling Settings & Yield Actions strategy

For a detailed description of the logic, refer to the annotations on the strategy.

Note: Test mode logic has been included several times in this strategy to retain any filtered actions when executed in test mode.

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.

Note: If the Context Dictionary is updated or if the strategy is regenerated for any other reason (for example, product update), the modifications may need to be re-applied.
The Get Primary Contacts strategy

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.

The Apply Final Action Limits strategy

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.

The Apply Action Limits Common strategy

For a detailed description of the logic, refer to the annotations on the strategy.

Note: Test mode logic has been included in this strategy to retain any filtered actions when executed in test mode.

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.

The Get Output Bundling Actions strategy

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.

The ImportOutputBundlingActions strategy

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.

Contact Policy Limits strategy

For a detailed description of the logic, refer to the annotations on the strategy.

Note: Test mode logic has been included in this strategy to retain any filtered actions when executed in test mode.

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).

The InboundChannelProcessing strategy

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.

The Treatment Placements strategy

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.

The Assisted Inbound Channel Extension strategy

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.

The Other Inbound Channel Extension strategy

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.

The OutboundChannelProcessing strategy

Outbound Channel Processing Extension

This strategy contains a template of how additional channel processing logic can be implemented in a multi-channel implementation.

The Outbound Channel Processing Extension strategy

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