Skip to main content

Contextual multi-armed bandits

  • Updated
  • Optimizely Web Experimentation
  • Optimizely Personalization

This feature is currently in beta. Contact your Customer Success Manager to learn more.

Use contextual multi-armed bandits (CMABs) with Optimizely to maximize your conversions by delivering personalized variations that match user attributes. While multi-armed bandits (MABs) look for the single best-performing variation for all users, CMABs pick a winning variation for each user based on their contextual profile and impact on the primary metric.

The benefits include

  • Provides the most personalized experience for every user.
  • Increases the chances of conversions on the primary metric.
  • Adapts to changes in visitor behavior, dynamically serving the best variation in every session.

Like MABs, CMABs optimize toward the primary metric but also account for user attributes in that optimization. They do not have sticky bucketing like A/B tests. See Experimentation distribution modes for information on Optimizely's automated distribution modes and use cases.

Use cases

You should use CMABs when user characteristics (such as device, location, or interests) impact what variation they would prefer to see. For example, a financial institution collects user attributes on credit cards, credit scores, loans, annual income, and spending categories. They build variations for their current offers of a travel credit card, auto loan refinancing, and a business credit card.

For a standard MAB, you would choose a primary metric, such as a call-to-action click, and display random variations to users. When one variation has a greater impact on the primary metric, more visitors are exposed to that variation. This is useful to capitalize on conversions during a short cycle like a weekend sale.

With a CMAB, you can personalize the user experience and ensure the variation chosen best fits the visitor's context. If the visitor has spent much money on air travel in the last six months, they would likely get the travel credit card offer. A user with a high-interest car loan likely sees the auto loan refinance offer. A user who recently opened a small business likely sees the business card offer.

Other use cases for CMABs include the following:

  • Personalized offers – Personalize the offers users see based on their attributes, such as products owned or viewed, to increase conversion rates.
  • Members-only sale – Deliver variations based on the user's membership for a members-only sale or something similar. 
  • Time-based content delivery – Increase user engagement during specific times of day by showing different types of content or offers, such as morning promotions and evening discounts.
  • Location-based offers – Target a user's location with region-specific promotions or discounts to increase conversion rates in different regions.
  • Behavior-triggered messaging – Show different messages or call-to-actions based on recent behavior, such as reminders to complete a purchase or suggestions for related products, to reduce cart abandonment rates and increase completed purchases.
  • Dynamic pricing strategies – Use different pricing strategies or discounts based on a user's browsing history, purchase intent, or location to optimize pricing and maximize revenue while remaining competitive.

Distribution goals

To set up a CMAB, pick a distribution goal. Distribution goals allocate rates of exploration and exploitation to identify the CMAB's traffic distribution.

Exploration (the learning rate) is the model's probability of serving a random variation to a visitor. Exploitation is the model's probability of serving the most personalized variation to a visitor given their attributes. For example, if the exploration rate is 10%, 1 out of 10 visitors are served a random variation intentionally to observe their behavior for the model to learn.

Exploration must be at least 5% for the model to continue learning over time, and it cannot exceed 50%. Otherwise, the model serves non-personalized variations the majority of the time.

  • Automated (default) – Dynamically adjusts the exploration/exploitation rates over time as Optimizely's machine learning model learns more. The exploration rate starts at 50% and gradually decreases to 10%. Choose this goal if you want Optimizely's machine learning model to decide the traffic distribution.
  • Maximize Personalization – Sets the exploration rate to 10% and the exploitation rate to 90%. Choose this goal to maximize the number of users who see a personalized variation. Although it maximizes lift, it is harder to know what the lift is from because of the emphasis on personalization.
  • Evaluate Algorithm – Balances exploration and exploitation with a 50/50 split. Choose this goal to get the most accurate estimate of the lift. 
  • Manual – Lets you set the exploration and exploitation rates manually. Choose this goal if you know exactly the rates you want to configure.

DistributionGoal.png

Configure a CMAB

Use the interactive demo to learn how to use this feature.

  1. Create a new campaign or select an existing one.
  2. Click Create New Experience.

    CreateNewExperience.png

  3. Select your audiences.

    NewExperience.png

  4. (Optional) Name your experience. If you do not enter a name, the audience name is used.
  5. Select Contextual Multi-armed Bandit for the Distribution Mode.

    CMAB.png

  6. Select the Distribution Goal from the drop-down list: Automated, Maximize Personalization, Evaluate Algorithm, or Manual. The default is Automated.

    ChooseDistributionGoal.png

  7. (Optional) Set the holdback. Holdback is the percentage of your visitors who do not see the personalized experience. This is mostly used to measure the improvement of the personalized variations.
  8. Add User Attributes the contextual bandit should consider to serve personalized variations. Optimizely offers several out-of-the-box attributes such as location, device, new or returning session, and more. Additionally, you can use attributes uploaded to your Web project which can be found under Audiences > Attributes, specifically any custom attributes and external (table) attributes

    UserAttributes.png

  9. Click Create Experience.
  10. Use the Visual Editor to edit your variations for the selected user attributes.
  11. Test your campaign then publish by clicking Start Campaign.

Why CMABs do not show statistical significance

With a traditional A/B test, the goal is to collect data to discover if a variation performs better or worse than the control. This is expressed through the concept of statistical significance. Statistical significance tells you whether a change had the expected effect so you can improve your variations each time. Fixed traffic allocation strategies reduce the time needed to reach a statistically significant result.

Optimizely Experimentation's CMAB algorithms push traffic to whichever variations match the user's contextual profile and impact the primary metric and do not consider the reason for any superior performance important. CMABs ignore statistical significance, so the results page does not contain statistical significance. It avoids confusion about the purpose and meaning of CMAB optimizations.