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 August 4, 2022

This strategy applies Output Bundling options, action Communicate To (yield to parent etc.) options, Final Action Limits and Web & Mobile Treatment Placements, 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

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.

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 upgrade), the modifications may need to be re-applied.
The Get Primary Contacts strategy

Apply Final Action Limits strategy

This strategy is ostensibly the same as the Apply Action Limits Strategy already described, with just the following differences:

  • It uses the Final Action Limits DDR instead of the Action Limits DDR.
  • The initial Group By adds SubjectID and OriginalSubjectID, and keeps these plus IsPrimaryContact, because the LimitByContact option allows limits to be applied at the subject level or over all subjects.
  • The final Data Join adds SubjectID and OriginalSubjectID in order to allow for the LimitByContact option.
  • There is no final Group By shape immediately prior to exiting, since any required treatment processing (other than Web or Mobile) will have already been performed.
The Apply Final Action Limits 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.

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

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. is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us