Every time a visitor views a promotion on your website, Evergage captures the visitor's "context," including whether he or she is a returning visitor, the device being used, survey responses, and other information that will give insight into that unique individual. Evergage uses this context to predict the expected value of showing a specific offer to a particular individual by evaluating both the chance of completion as well as the business value of the offer to the company. Using these predictions, Evergage then determines what promotions to show other similar visitors during future visits, displaying the the offer with the highest expected value. 

Since you may not want every factor to affect the prediction, the Evergage Contextual Bandit gives you control over which features will be trained in the machine learning models responsible for serving up recommendations. For example, let’s say your financial services company has a defined an area on the homepage for highlighting promotions. But with creative for five different offers – credit cards, mortgages, auto loans, checking accounts and 529 plans – you're not sure which one to display to each site visitor. Contextual Bandit can take away the guesswork by instantly analyzing the data points collected about this visitor and presenting the offer that will most likely generate the most lift.

This article details how you can use Contextual Bandit to optimize your personalization efforts.

Select Data Context

Contextual Bandit instantly analyzes many unique data points when determining the right experience to present to a particular visitor. These are based on visitor behaviors as well as demographic data. In addition to the data points listed below, Contextual Bandit can reference additional custom dimensions you create in your Evergage Catalog along with data points you create from segments, Groovy Scripts, or uploaded custom data like loyalty programs or customer portfolios. There are two screens where you can make selections so you have the flexibility to test which selections will give the best result for your audiences.

For example, suppose you want to see how the day of the week affects the success of your promotions. On the Feature Engineering screen, you would confirm that Day of Week is selected and on the Bandit Feature Subset, you would deselect Day of Week. You can then compare these results by creating two different experiences, applying different Bandit Feature Subsets (one with Day of Week enabled, and one with it disabled)

Feature Engineering: Primary Configuration

This screen is where you determine which data will be captured and trained by the Contextual Bandit algorithm. Selected options will be included by the Contextual Bandit.

  1. Log in to Evergage with administrator permissions
  2. In Data Science, select Decisions > Feature Engineering
  3. Most options on this screen include a checkbox, but the following options are configurable:
    1. Segment Membership - select the user segments in your dataset that may influence machine learning models for Promotions 
    2. Geography - select the types of geography you want to capture (e.g. US ZIP code, city, metro area, state/region, country, latitude-longitude, ISP, company)
    3. Custom Attributes - what custom attributes you want to count as features for this machine learning model (e.g. number of support tickets sent in, has enterprise edition)
    4. Custom Script - click Add New Script to open a modal you can name then add a script you write and return any custom aspect of the user profile. For example you could write a true or false script based on whether person has purchased 3 times in the past year. Contact Evergage Support for assistance enabling and configuring this feature
  4. Enter a value between 0 and 1 for Epsilon. In Evergage, this controls the ratio of explore to exploit which determines how often a random selection is shown to a user. A good starting point is 5% or 0.05.
  5. Click SAVE to save changes

Feature Subsets: Subset Configuration

The selections you make on the Feature Engineering: Primary Configuration screen directly impact what you can modify when you create a Feature Subset. You can deselect options on this screen so you can compare how the Contextual Bandit configuration impacts the success of your promotions by creating two different experiences, each referencing a different feature subset. You can then compare lift between the two experiences using Campaign Statistics.

  1. In Data Science, select Decisions > Feature Subsets
  2. Create a new subset, by clicking NEW FEATURE SUBSET
  3. Edit an existing subset by double-clicking the subset
  4. Options available to deselect are based on the primary configuration
  5. Click SAVE

Adjust Catalog Settings

In addition to making selections in the Feature Engineering and Bandit Feature Subsets sections, you must also configure the attribution mode in the Evergage Catalog. Please see the Create Promotions in the Evergage Catalog article for more information and specific instructions.

Get Started

The process for using the Contextual Bandit with promotions includes the following high-level steps:

  1. Create Content: To create promotions, you'll need the creative images for the offer. You can start with just a few images and build your promotional catalog from there. For each individual campaign experience, all imagery should have the same pixel height and width.

  2. Upload Content: Although Evergage can extract product and content catalog data from a webpage, promotions and offers must be uploaded into the Evergage Platform.

  3. Goals & Rewards: For each promotional image added to Evergage, you must define a goal (the action you hope the promotion will drive) and the reward (the business value associated with completing that goal). The contextual bandit will use these to weigh each promotion, with the goal of accurately optimizing for business value rather than some other approximate metric.

  4. Deploy Campaign: Select a group of promotions and deploy them to an area of your site. Evergage will automatically start collecting data and learning who should see which promotion. If you add or remove a promotion performance is not affected, and promotions appearing in multiple locations will share learning between them.