Skip to main content

Table of Contents

Setting limits on the number of actions


Only available versions of this content are shown in the dropdown

Action Limits and Final Action Limits are two features that can be used to control the number of actions delivered to contacts. These features have a similar impact, but are implemented in different stages of the Next-Best-Action Strategy Framework as described below along with some other related concepts.

Action Limits Concepts concepts

The two Action Limits DDRs along with some other related concepts are described below.

Concept Description
Context entity An entity on which next-best-action decisions can be made, for example, I want the next best action for a Customer, or the next best action for an Account.
Multilevel Context Dictionary A configuration that has a hierarchy of context entities where actions may be relevant for specific entities, for example:
  • Retail Banking
    • Customer – can have multiple Accounts
      • Account – one per card or account
  • Telecommunications
    • Account – can have multiple Subscribers
      • Subscriber – one for each phone number, can have multiple Devices
        • Device, for example, phone, tablet, watch
  • Healthcare
    • Policy – can have multiple Members
      • Member – can have multiple Claims
        • Claim
Primary Context entity The entity to which all actions will be communicated, that is, the entity representing the person with the contact details such as phone number, email address, etc. In the above examples, this would be the Customer, Subscriber or Member.
Primary Contact An instance of the Primary Context entity that is authorized to make decisions on behalf of the account or relationship, also known as an Authorized Contact. For example, this may be a parent for a family phone plan or the primary member on a healthcare policy. Note that there may be more than one Authorized Contact for an account / relationship. The IsPrimaryContact property is set to true for any actions that are assigned to an authorized contact.
Authorized Contact This is the name of a sub-strategy that is configured by the user during the implementation phase to only select Primary Contacts for an account or relationship.
Action Context This is set on the action rule and is stored in the ActionContext property on the action. This is the name of the context entity for which the action is relevant, for example, a phone upgrade action would be for a Subscriber (or possibly Device), whereas a family data plan action would be for an Account, or a new credit card action would be for a Customer, whereas a credit line increase would be for an Account.
Action Limits This is a Data Decision Rule (DDR) containing settings that are evaluated separately for each action context and for each contact (that is, a primary context, such as a Subscriber or Customer) after arbitration has occurred. This means that although a CombineContexts property is available for this feature, it currently has no effect, since each action context is evaluated independently from any other.

Furthermore, all outbound channels are evaluated as a combined group (within Action Context and contact), and so a limit can be applied across all outbound channels, whereas for inbound channels, only a single channel will be processed during any interaction.

Final Action Limits This is a Data Decision Rule (DDR) containing settings that are evaluated after Action Limits have been applied, and after actions for all contexts and all contacts have been arbitrated and merged. This is the final process that occurs in the NBA framework prior to output bundling.

As such, limits can be applied to combinations of action contexts (using the CombineContexts setting), and to individual contacts, or across all contacts (using the LimitByContact setting).

A contact is an instance of the primary context entity with its own unique pySubjectID.

Action Limits DDR

Property Description
pyLabel A user-friendly name for an action limits setting.
pyDirection Action limits are defined separately for Outbound and Inbound directions.
pyChannel The channel (in combination with the action context) to which the Action Limit is to be applied. Possible settings are described below.
  • Each - the same Action Limit is to be applied to each channel for the Action Context. This removes the need to define a separate limit for each channel.
  • <Channel Name> (for example, Web, Email) - applies the Action Limit to the specific channel. This will override any value already set by the Each functionality.
  • <Blank> - indicates that the Action Limit is to be applied over the combination of all channels. That is, it sets a limit for the Action Context regardless of channel. This limit is applied after individual channel limits have been applied, and is only available for Outbound processing, since for Inbound only a single channel is processed at a time.
pyIssue Not currently used.
pyGroup Not currently used.
pyName Not currently used.
CombineContexts Not currently used.
ActionContext The Action Context to which the Action Limit is to be applied.
ActionLimit The maximum number of actions allowed for the combination of Action Context and Channel.

Final Action Limits DDR

This is the same as the Action Limits DDR but with the addition of the following two properties.

Property Description
CombineContexts When set to true for multiple contexts within a channel specification, this allows a single limit to be applied to the combination of selected Action Contexts.
ActionLimit Determines whether a limit applies to each contact or to the interaction as a whole. Possible settings are described below.
  • true - apply the limit n to each contact separately so that the top n actions ordered by descending priority are emitted for each contact.
  • false - apply the limit n to the interaction so that the top n actions ordered by descending priority within contact priority are emitted for each contact. Contact priority would be determined by whether the contact is a primary contact or not, with primary contacts have a higher priority; the order for contacts with equal priority would be undefined.
For the CombineContexts property, the Action Limit needs to be set for each Action Context being combined. If actions for only one of the contexts are available, then the limit assigned to that context will be used; if more than one of the combined contexts are available, then the maximum of the limits for those contexts is used.

In the following example, if only Account context actions were available (i.e. had passed engagement policies, arbitration etc.), a maximum of 2 (Account-context) actions would be output, although if actions for both contexts were available, up to 3 actions (Account and / or Subscriber context) would be output.

ActionContext CombineContexts pyChannel pyDirection ActionLimit
Account true Email Outbound 2
Subscriber true Email Outbound 3
  • Action Limits Use Cases

    The Action Limits use cases below are examples of how these two features can be utilized. These examples use the telecommunications paradigm of Device within Subscriber within Account.

Did you find this content helpful?

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Ready to crush complexity?

Experience the benefits of Pega Community when you log in.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us