Skip to main content


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

Configuring advertised bundles

Updated on April 19, 2021

Pega Next-Best-Action Advisor requires strategy logic to determine the advertised bundles. After configuring the advertised bundles, you must configure that logic by creating an embedded strategy.

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

Adding advertised bundles

With advertised bundles, you can build a design-time bundle of products with a specific price to offer to the customer as an alternative to the personalized bundle.

  1. In Next-Best-Action Designer, click Engagement policy.
  2. In the Retention list, click Bundle, and then click the Subscription bundles arrow.
  3. In the Bundles section, click the More icon, and then click Create bundle.
  4. In the Create Bundle window, provide the details of your new bundle:
    1. In the description field, enter Gold bundle.
    2. In the Context section, ensure that the ruleset is your application-Rules.
    3. Click Create and open.
  5. In the Edit Bundle window, on the Details tab, provide the details for your action:
    1. In the Key code field, enter GoldBundle.
    2. In the Category field, enter Bundle.
    3. In the Description field, enter a short description of the bundle.
    4. In the Benefits field, enter a short description of the advantages of your bundle.
  6. In the Next-Best-Action configuration section, provide further details:
    1. In the Starting propensity field, enter 1.
    2. In the Offer ID field, enter PO-0001.
    3. In the Catalog ID field, enter PC-1.
    4. In the Monthly recurring cost field, enter 85.
    5. In the One time cost field, enter 125.
    6. In the Sub category field, enter Bundle.
    7. In the Contract length field, enter 24.
  7. In the Bundle Attributes section, select Yes, this is a bundle parent.
  8. In the What type of bundle parent? field, select Fixed Bundle.
  9. In the How will bundle members be specified? section, select Member actions will be explicitly defined and will not be subject to further arbitration.
  10. For all bundle member actions that you want to include in the bundle, do the following steps:
    1. Click Add item.
    2. Select the Issue and Group.
    3. Select the Action.
  11. On the Treatments tab, click Add channel.
  12. From the drop-down list, select a communication channel, for example Agent assisted.
    Note: With the Agent assisted communication channel, a customer makes a call to an agent, and the agent guides the customer through the selling journey.
  13. In the Configure Agent Assisted Treatment dialog box, click Add, and then click Apply.
  14. Click Save, and then close the Edit Action window.
  15. Create the Silver bundle by repeating steps 2 through 14, with the following attributes:
    • Key code: SilverBundle
    • Category: Bundle
    • Offer ID: PO-0002
    • Catalog ID: PC-1
    • Monthly recurring cost: 65
    • One time cost: 90
    • Sub category: Bundle
    • Contract length: 24

Determining the advertised bundle for Pega Next-Best-Action Advisor

Pega Next-Best-Action Advisor requires advertised bundle strategy logic to determine the best advertised bundle. Set that logic by editing the relevant strategy rule. Start configuring that logic by creating the underlying supporting decision.

An advertised bundle is a fixed, preconfigured bundle of offers based on the maximal total monthly cost. For more information, see New customer acquisition journey in Pega Customer Decision Hub.
  1. Launch the Pega Customer Decision Hub portal by logging in with administrator credentials.
  2. In the Pega Customer Decision Hub portal, click Next-Best-ActionSupporting Decisions.
  3. On the Supporting Decisions landing page, click Create.
  4. In the Create a supporting decision window, in the Name and Description fields, enter Retention static bundles.
  5. In the Real-time containers section, click Configure.
  6. In the Configure Containers dialog box, create a new real-time container by doing the following steps:
    1. Click Create.
    2. In the Create Real-Time Container section, ensure that <your application>-Rules is selected.
    3. In the Name field, enter Retention static bundles.
    4. Click Create and open.
    5. In the Edit Real-Time Container window, click Save, and then click the Close icon.
    6. In the Configure Containers dialog box, click the Refresh icon.
    7. Click Add by the container that you created, and then click Apply.
  7. In the Configurations section, in the Alternate strategy section, click Configure.
  8. In the Configure Alternate Strategy dialog box, create a new strategy by doing the following steps:
    1. Click Create.
    2. In the Create Strategy section, ensure that <your application>-Rules is selected.
    3. In the Name field, enter Advertised bundles.
    4. Click Create and open.
    5. In the Edit Strategy window, click Save, and then click the Close icon.
  9. In the Configure Alternate Strategy dialog box, select the new strategy by doing the following steps:
    1. Click the Refresh icon.
    2. Click Add by the strategy that you created, and then click Apply.
  10. On the Supporting Decisions landing page, click Save.

Creating an embedded strategy for Pega Next-Best-Action Advisor

To set the required details for Pega Next-Best-Action Advisor, configure the embedded Advertised bundles strategy.

Embedded strategies are used to set the required details that will be used by the applications. For example, if you have an Account customer context with several associated Subscriptions, an embedded strategy specified on the Account will group the results of all the Subscriptions specified under that Account.
  1. In the Pega Customer Decision Hub portal, click Next-Best-ActionSupporting Decisions.
  2. In the list of results, click RetentionStaticBundles.
  3. In the Configurations section, in the Alternate strategy section, click Advertised bundles.
  4. Check out the strategy.
  5. On the strategy canvas, add the ImportProposition data shape, and then double-click the new element.
  6. In the Proposition data properties window, define import settings:
    1. On the Proposition data tab, in the Business issue field, select Retention.
    2. Click Submit.
  7. Add the ArbitrationFilter shape, and then double-click the new element.
  8. In the Filter properties window, define the filter settings:
    1. In the Name field, enter Bundle members.
    2. On the Filter tab, in the Filter condition field, in the expression builder, enter .pyGroup != "Bundle".
    3. Click Submit.
  9. Add the ArbitrationFilter shape, and then double-click the new element.
  10. In the Filter properties window, define the filter settings:
    1. In the Name field, enter Fixed bundles.
    2. On the Filter tab, in the Filter condition field, in the expression builder, enter .BundleType=="FixedBundle"&&.FixedBundleConfiguration==true.
    3. Click Submit.
  11. Add the EnrichmentDecision data shape, and then double-click the new element.
  12. In the Properties window, define the settings:
    1. In the Name field, enter Association.
    2. On the Decision data tab, in the Import section, in the expression builder, select Applies toBundleAssociations.
    3. Click Submit.
  13. Add the AggregationGroup By shape, and then double-click the new element.
    For more information, about aggregation, see Aggregation.
  14. In the Group by properties window, configure the following attributes:
    1. In the Name field, enter Get Actual Service.
    2. On the Properties tab, in the Group output rows by section, click Add item and add the following items:
      • .pyIssue
      • .pyGroup
      • .pyName
    3. In the Aggregates section, click Add item, and then configure the following attributes:
      • Property - select .TypeOfBundle
      • To - select CONCAT
      • Source - select .MemberGroup
      • Delimiter - enter ,
    4. Click Add item again, and then configure the following attributes:
      • Property - select .CountOffers
      • To - select Count
    5. Click Submit.
  15. Add another AggregationGroup By shape, and then double-click the new element.
  16. In the Group by properties window, configure the following attributes:
    1. In the Name field, enter Sum Bundle Cost.
    2. On the Properties tab, in the Group output rows by section, click Add item and enter .BundleName.
    3. In the Aggregates section, click Add item, and then configure the following attributes:
      • Property - select .MonthlyMargin
      • To - select Sum
      • Source - select .MonthlyRecurringCost
    4. Click Add item again, and then configure the following attributes:
      • Property - select .MarginAmount
      • To - select Sum
      • Source - select .OneTimeCost
    5. Click Submit.
  17. Add the EnrichmentData join shape, and then double-click the new element.
  18. Define the attributes:
    1. In the Name field, enter Join Services.
    2. In the Join source components with section, configure the following attributes:
      • Type - select Component
      • Name - enter Get Actual Service
    3. In the Join when all conditions below are met section, click Add item, and then configure the following attributes:
      • Join Services - enter .pyIssue
      • Get Actual Service - enter .pyIssue
    4. Click Add item again, and then configure the following attributes:
      • Join Services - enter .pyGroup
      • Get Actual Service - enter .pyGroup
    5. Click Add item again, and then configure the following attributes:
      • Join Services - enter .pyName
      • Get Actual Service - enter .pyName
    6. Select Exclude source component results that do not match join condition.
    7. In the Properties mapping section, click Add item, and then configure the following attributes:
      • Target - select .TypeOfBundle
      • Source - select .TypeOfBundle
    8. Click Submit.
  19. Add the EnrichmentData join shape, and then double-click the new element.
  20. Define the attributes:
    1. In the Join source components with section, configure the following attributes:
      • Type - select Component
      • Name - enter Get Actual Service
    2. In the Join when all conditions below are met section, click Add item, and then configure the following attributes:
      • [Data Join] - enter .pyIssue
      • Get Actual Service - enter .pyIssue
    3. Click Add item again, and then configure the following attributes:
      • [Data Join] - enter .pyGroup
      • Get Actual Service - enter .pyGroup
    4. Click Add item again, and then configure the following attributes:
      • [Data Join] - enter .pyName
      • Get Actual Service - enter .pyName
    5. Select Exclude source component results that do not match join condition.
    6. In the Properties mapping section, click Add item, and then configure the following attributes:
      • Target - select .TypeOfBundle
      • Source - select .TypeOfBundle
    7. Click Add item again, and then configure the following attributes:
      • Target - select .CountOffers
      • Source - select .CountOffers
    8. Click Submit.
  21. Add the EnrichmentData join shape, and then double-click the new element.
  22. Define the attributes:
    1. In the Name field, enter Association Join.
    2. In the Join source components with section, configure the following attributes:
      • Type - select Component
      • Name - enter Join Services
    3. In the Join when all conditions below are met section, click Add item, and then configure the following attributes:
      • Association Join - enter .pyIssue
      • Join Services - enter .MemberIssue
    4. Click Add item again, and then configure the following attributes:
      • Association Join - enter .pyGroup
      • Join Services - enter .MemberGroup
    5. Click Add item again, and then configure the following attributes:
      • Association Join - enter .pyName
      • Join Services - enter .MemberIdentifier
    6. Select Exclude source component results that do not match join condition.
    7. In the Properties mapping section, click Add item, and then configure the following attributes:
      • Target - select .BundleName
      • Source - select .pyName
    8. Click Add item again, and then configure the following attributes:
      • Target - select .TypeOfBundle
      • Source - select .TypeOfBundle
    9. Click Submit.
  23. Add the EnrichmentSet property shape, and then double-click the new element.
  24. Define the attributes:
    1. In the Name field, enter Get Selected Services.
    2. In the Target section, click Add item, and then configure the following attributes:
      • Target - select .Benefits
      • Source - enter @PegaMKTUtilities.GetContextValue("Bundle","ServiceType",Primary.ContainerPayload.Contexts)
    3. Click Submit.
  25. Add the EnrichmentSet property shape, and then double-click the new element.
  26. Define the attributes:
    1. In the Name field, enter Create Bundle Discount.
    2. In the Target section, click Add item, and then configure the following attributes:
      • Target - select .pyIssue
      • Source - select "Retention"
    3. Click Add item again, and then configure the following attributes:
      • Target - select .BundleName
      • Source - select .pyName
    4. Click Add item again, and then configure the following attributes:
      • Target - select .pyGroup
      • Source - select "Discount"
    5. Click Add item again, and then configure the following attributes:
      • Target - select .pyName
      • Source - select "StaticDiscount"
    6. Click Add item again, and then configure the following attributes:
      • Target - select .pyLabel
      • Source - select "Static discount"
    7. Click Add item again, and then configure the following attributes:
      • Target - select .BundleType
      • Source - select ""
    8. Click Add item again, and then configure the following attributes:
      • Target - select .BundleParent
      • Source - select false
    9. Click Submit.
  27. Add the EnrichmentData join shape, and then double-click the new element.
  28. Define the attributes:
    1. In the Name field, enter Bundle Cost Join.
    2. In the Join source components with section, configure the following attributes:
      • Type - select Component
      • Name - enter Sum Bundle Cost
    3. In the Join when all conditions below are met section, click Add item, and then configure the following attributes:
      • Bundle Cost Join - enter .BundleName
      • Sum Bundle Cost - enter .BundleName
    4. Select Exclude source component results that do not match join condition.
    5. In the Properties mapping section, click Add item, and then configure the following attributes:
      • Target - select .MonthlyMargin
      • Source - select .MonthlyMargin
    6. Click Add item again, and then configure the following attributes:
      • Target - select .MarginAmount
      • Source - select .MarginAmount
    7. Click Submit.
  29. Add the EnrichmentSet property shape, and then double-click the new element.
  30. Define the attributes:
    1. In the Target section, click Add item, and then configure the following attributes:
      • Target - select .MonthlyRecurringCost
      • Source - enter @divide(@round((.MonthlyRecurringCost-.MonthlyMargin)*100),100)
    2. Click Add item again, and then configure the following attributes:
      • Target - select .OneTimeCost
      • Source - enter @divide(@round((.OneTimeCost-.MarginAmount)*100),100)
    3. Click Add item again, and then configure the following attributes:
      • Target - select .MonthlyNegotiationCost
      • Source - enter @abs(.MonthlyRecurringCost)
    4. Click Submit.
  31. Add the ArbitrationFilter shape, and name the new component Filter Not Selected.
  32. Configure the following filter condition: (@contains(.TypeOfBundle,"Internet") == false || (@contains(GetSelectedServices.Benefits,"Internet")&&@contains(.TypeOfBundle,"Internet"))) && (@contains(.TypeOfBundle,"Mobile") == false || (@contains(GetSelectedServices.Benefits,"Mobile")&&@contains(.TypeOfBundle,"Mobile"))) && (@contains(.TypeOfBundle,"TV") == false || (@contains(GetSelectedServices.Benefits,"TV")&&@contains(.TypeOfBundle,"TV"))) && (@contains(.TypeOfBundle,"Phone") == false || (@contains(GetSelectedServices.Benefits,"Phone")&&@contains(.TypeOfBundle,"Phone"))), and then click Submit.
  33. Add the ArbitrationPrioritize shape, and then configure the following attributes:
    • Name - enter Prioritise Biggest Bundles
    • Expression - select .CountOffers
  34. In the Output section of the Prioritize shape, select All, and then click Submit.
  35. Add the Sub-strategyEmbedded shape, and then configure the following attributes:
    1. In the Properties section, choose to iterate over the Primary.Account.
    2. In the Access data for each entity field, enter Account.
    3. In the Name field, enter Accounts.
    4. On the Dictionary tab, select Is possible recipient.
    5. In the Subject ID field, enter .AccountID.
    6. Click Submit.
  36. In the context box representing the Accounts strategy, add another Sub-strategyEmbedded shape, and then configure the following attributes:
    1. In the Properties section, choose to iterate over the Account.Subscriptions.
    2. In the Access data for each entity field, enter Subscription.
    3. In the Name field, enter Subscriptions.
    4. On the Dictionary tab, select Is possible recipient.
    5. In the Subject ID field, enter .SubscriptionID.
    6. Click Submit.
  37. In the context box representing the Subscriptions strategy, add the EnrichmentSet property shape, and then double-click the new element.
  38. Define the attributes:
    1. In the Name fied, enter Set Context.
    2. In the Target section, click Add item, and then configure the following attributes:
      • Target - select .pyGroupID
      • Source - enter Subscription.SubscriptionID
    3. Click Add item again, and then configure the following attributes:
      • Target - select .pySubjectID
      • Source - enter Subscription.SubscriptionID
    4. Click Add item again, and then configure the following attributes:
      • Target - select .SubjectName
      • Source - enter Subscription.pyFirstName
    5. Click Add item again, and then configure the following attributes:
      • Target - select .IsShared
      • Source - enter Subscription.SharedSubscription
    6. Click Add item again, and then configure the following attributes:
      • Target - select .IsDecisionMaker
      • Source - enter Subscription.IsDecisionMaker
    7. Click Add item again, and then configure the following attributes:
      • Target - select .Priority
      • Source - enter .StartingPropensity
    8. Click Submit.
  39. On the strategy canvas, arrange the shapes, as shown in the following figure:
    The strategy shows the order in which to add sub strategy shapes
                                and how to connect them on the sub strategy canvas.
  40. Save and check in your changes.
  • Previous topic Configuring the investment budget
  • Next topic Determining the current bundle for Pega Next-Best-Action Advisor

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