Learning attributes

The learning module learns using visitor's attributes, the states of Event Patterns and offer acceptance data. You can select which visitor attributes you monitor. These visitor attributes can be anything within a customer profile, including some event parameter you collect in real time.

Attributes from dimensional tables are not supported in learning.

While you can configure any number of attributes to monitor, HCL recommends that you configure no more than ten learning attributes between the static and dynamic learning attributes, as well as follow these guidelines.

  • Select independent attributes.

    Do not select attributes that are similar. For example, if you create an attribute called HighValue, and that attribute is defined by a calculation based on salary, do not select both HighValue and Salary. Similar attributes do not help the learning algorithm.

  • Select attributes with discrete values.

    If an attribute has value ranges, you must select an exact value. For example, if you want to use salary as an attribute, you should give each salary range a specific value, the range 20,000-30,000 should be A, 30,001-40,000 should be B, and so on.You can also define bins in interact and learning system will automatically do the mapping

  • Limit the number of attributes you track so you do not impede performance.

    The number of attributes you can track depends on your performance requirements and your Unica Interact installation. If you can, use another modeling tool (such as PredictiveInsight) to determine the top ten predictive attributes. You can configure the learning module to automatically prune attributes that are not predictive, but that also has a performance cost.

You can manage performance by defining both the number of attributes you monitor and the number of values per attribute you monitor. The Campaign > partitions > partition1 > Interact > learning > maxAttributeNames property defines the maximum number of visitor attributes you track. The maxAttributeValues property defines the maximum number of values you track per attribute. All other values are assigned to a category defined by the value of the otherAttributeValue property. However, the learning engine only tracks the first values it encounters. For example, you are tracking the visitor attribute eye color. You are only interested in the values blue, brown, and green, so you set maxAttributeValues to 3. However, the first three visitors have the values blue, brown, and hazel. This means that all visitors with green eyes are assigned the otherAttributeValue.

You can also use dynamic learning attributes which enable you to define your learning criteria more specifically. Dynamic learning attributes let you learn on the combination of two attributes as a single entry. For example consider the following profile information.

Visitor ID Card Type Card Balance
1 Gold Card $1,000
2 Gold Card $9,000
3 Bronze Card $1,000
4 Bronze Card $9,000

If you use standard learning attributes, you can only learn on card type and balance individually. Visitors 1 and 2 will be grouped together same based on Card Type, and visitors 2 and 4 grouped based on Card Balance. This may not be an accurate predictor of offer acceptance behavior. If Gold Card holders tend to have higher balances, the behavior of Visitor 2 may be radically different than Visitor 4, which would skew the standard learning attributes. However, if you use dynamic learning attributes, each of these visitors is learned on individually and the predictions will be more accurate.

If you use dynamic learning attributes, and the visitor has two valid values for an attribute, the learning module selects the first value it finds.

If you set the enablePruning property to yes, the learning module algorithmically determines which attributes are not predictive and ceases to consider those attributes when calculating weights. For example, if you are tracking an attribute representing hair color, and the learning module determines that there is no pattern to accepting an offer based on the visitor's hair color, the learning module ceases to consider the hair color attribute. Attributes are re-evaluated every time the learning aggregation process runs (defined by the aggregateStatsIntervalInMinutes property). Dynamic learning attributes are also pruned.

Event pattern states can now be used in Learning. The name of event patterns, with the prefixed value specified in configuration setting Affinium|Campaign|partitions|partition1|Interact|flowchart:eventPatternPrefix, can be added into a learning model and global learning attributes.

They are treated the same as profile attributes.

The values of an event pattern can be one of the following:

0 - condition not met

1 - condition met

-1 - expired

-2 - disabled

-3 - not activated yet