Incisively DOCS back to main site

Real Value Labs

Optimise virtually anything according to value.

Conversion Labs make it easy to optimise for conversions, clickthroughs, or other events. However, in some cases you’re trying to maximise a payoff from each of these events, not just the conversion rate.

These payoffs could be anything represented by a number. For example, they could be overall revenue or margin, or engagement-oriented metrics like time-on-site.

Using Incisively’s Real Value Optimisation Labs you can optimise variants based on how likely they are to maximise a specified metric, and not just not on their reward-rate compared to their peers.

Example: Real Value Optimisation

In this example, we’ll be using the JavaScript SDK to illustrate the optimisation process. Other languages may look slightly different, but the process is the same.

Continuing with the imaginary jumper store, we’ve found that when we previously optimised for conversions, more customers converted when shown the variant that ordered products by price. This is quite common, since often customers can be price sensitive.

However, it might be the case that ordering in other ways, such as by Known Brands or Customer Review Rating, might lead to higher total revenues, even if there are fewer total conversions compared to when ordering by Price.

Again, we’ll assume our website currently uses the following line of code to set the order of the products:


Step 1: Create the Lab and Variants

Log in to the Incisively Web App, select the “Real Value Optimisation Labs” tab, and create a new Lab called “Product Ordering”.

Again, click “Edit Lab” and then “Add Variant” to input each of our proposed orderings. Content Optimisation variants only have “Name” and “Content” fields, so fill them in like so:

Name Content
Price price
Known Brands known_brands
Review Rating review_rating

Turn the Active switch on for each Variant, and the Lab is ready to go.

Step 2: Implement suggestion code

The implementation for suggestions is identical to that of a Conversion Lab.

Step 3: Implement reward code

As with Conversion Optimisation Labs, you need to send a Reward back to Incisively. However, since we want to optimise for revenue, this time you also need to send the revenue associated with the conversion too.

Alternatively, this could be any metric associated with the conversion; you should decide before you implement the lab, however, and always send the same metric.

Imagine that our site already provides a totalBasketValue() function that we can call to get the basket value as an Integer or Float.

As before, we’ll add the reward code to the Payment Complete page:

var incisively = new Incisively(1234567);

  lab: '11111111-2222-3333-4444-555555555555',
  context: {
    value: totalBasketValue()

As you can see, this time we’re also using another field called context, which contains the special key value whose value is the revenue associated with the customer’s purchase.

This is the only change necessary for Real Value Labs.