Unica Interact learning module

The Unica Interact learning module monitors visitor's responses to offers and visitor attributes.

Learning module modes

The learning module has two general modes:

  • Exploration - the learning module serves offers in order so it can gather enough response data to optimize the estimation that is used during the exploitation mode. Offers served during exploration do not necessarily reflect the optimal choice.
  • Exploitation - after enough data is collected by the exploration phase, the learning module uses the probabilities to help select the offers to present.
The learning module uses two properties to alternates between exploration mode and exploitation mode. The two properties are:
  • a confidence level that you configure with the confidenceLevel property.
  • a probability that the learning module presents a random offer that you configure with the percentRandomSelection property.

Confidence level property

You set the confidenceLevel to a percentage that represents how sure (or confident) the learning module must be before its scores for an offer are used in arbitration. At first, when the learning module has no data to work from, the learning module relies entirely upon the marketing score. After every offer is presented as many times as defined by the minPresentCountThreshold, the learning module enters the exploration mode. Without much data to work with, the learning module is not confident that the percentages it calculates are correct. Therefore, it stays in the exploration mode.

The learning module assigns weights to each offer. To calculate the weights, the learning module uses a formula that takes in as input the configured confidence level, the historical acceptance data, and the current session data. The formula inherently balances between exploration and exploitation, and returns the appropriate weight.

Random selection property

To ensure that the system is not biased toward the offers that perform best during early stages, Unica Interact presents a random offer the percentRandomSelection percent of the time. This random offer percentage forces the learning module to recommend offers other than the most successful to determine whether other offers would be more successful if they had greater exposure. For example, if you configure percentRandomSelection to 5, then 5% of the time the learning module presents a random offer and adds the response data to its calculations.

You can set the % Random to specify the change that the returned offer is randomly selected, without considering scores, for each zone on the Interaction Points tab of the Interactive Channel window.

How the learning module determines offers

The learning module determines which offers are presented in the following way.

  1. Calculates the probability that a visitor selects an offer.
  2. Calculates the offer weight by using the probability from step 1 and determines whether to be in exploration or exploitation mode.
  3. Calculates a final score for each offer by using the marketing score and the offer weight from step 2.
  4. Sorts the offers by the scores that are determined in step 3 and returns the requested number of top offers.
For example, the learning module determines that a visitor is 30% likely to accept offer A and 70% likely to accept offer B and to exploit this information. From the treatment rules, the marketing score for offer A is 75 and 55 for offer B. However, the calculations in step 3 makes the final score for offer B higher than offer A, therefore, the runtime environment recommends offer B.
Note: Multiple response events against a single contact event skews the learning score.

Weight factor properties

Learning is also based on the recencyWeightingFactor property and the recencyWeightingPeriod property. These properties let you to add more weight to more recent data than older data. The recencyWeightingFactor is the percentage of weight to give to the recent data. The recencyWeightingPeriod is the length of time that is recent. For example, you configure the recencyWeightingFactor to 0.30 and the recencyWeightingPeriod to 24. These settings mean that the previous 24 hours of data are 30% of all data considered. For a week's worth of data, all of the data averaged across the first six days is 70% of the data, and the last day is 30% of the data.

Staging table data written

Every session writes the following data to a learning staging table:

  • Offer contact
  • Offer acceptance
  • Learning attributes

At a configurable interval, an aggregator reads the data from the staging table, compiles it, and writes it to a table. The learning module reads this aggregated data and uses it in calculations.