Relevance Concepts and Terminology
This page explains the concepts and terminology used in Hippo's Relevance Module.
A collector extracts information from an HTTP request and makes it available to derive characteristics from, which can be added to the targeting data of the current user.
For example, a collector could check to see if the current request was a search action and if so, extract the search terms. Another collector could check if the current request was for a document that defines keywords and if so, extract those keywords.
For every HTTP request, all collectors will be asked to update their information. A collector can indicate that it should only be updated for new visitors, new visits, or based on existing targeting data.
See Collectors for a list of out-of-the-box collectors.
Someone visiting a channel. The Relevance Module gives each visitor an ID in a cookie to recognize which HTTP requests originate from the same visitor. In practice, different devices and/or browsers will be identified as different visitors, even when they are used by the same person.
One or more HTTP requests from the same visitor that are at most 30 minutes apart. When a visitor is inactive for a longer period before issuing a new request, a new visit starts.
A characteristic is a measurable property of a visitor. It is derived from information provided by a collector. A characteristic is required to use a collector's information to update the targeting data of the current user.
Examples of characteristics are 'the city a visitor comes from', 'the device a visitor uses', etc.
It's possible to derive multiple characteristics from the information provided by a single collector. For example, 'city', 'country', and 'continent' are all characteristics derived from the information provided by the GeoIPCollector. However, most collectors have a single corresponding characteristic.
See Characteristics for a list of out-of-the-box characteristics.
Targeting data comprises all information the Relevance Module stores about visitors.
A CMS user can create an arbitrary number of target groups within a characteristic. A target group is a list of name-value properties that represents a certain value within a characteristic. For example, in the characteristic 'city' a target group could be 'Big Dutch cities' with the property names 'Amsterdam', 'Rotterdam', and 'The Hague'.
Target Group Renderer and Editor
Each characteristic interprets the property names and values of its target groups differently. For example, the 'city' characteristic only uses the property names of a 'city' target group, and interprets each property name as the name of a city. Other characteristics may require target groups with certain property names set to certain values. Often, only certain names and values actually make sense (like valid city names for the 'city' characteristic).
A characteristic plugin can therefore define:
a custom renderer that converts the target group's property names and values to a 'summary string' shown in the UI
a custom editor to edit the property names and values of a target group
The default renderer displays a comma-separated list of property names.
The default editor is a text field in which users can enter property names separated by commas.
A scorer calculates how well a certain target group matches with the collected targeting data. Such a score is a value between 0 (no match) and 1 (perfect match).
A simple scorer implementation will return either 0 or 1. For example, the CityScorer gets a list of city names as the target group configuration, and a single city name as the targeting data. It then returns 1 if the city in the targeting data is part of the list of cities in the target group configuration, and 0 otherwise.
More subtle scorers will also return scores between 0 and 1 for 'partial matches'. For example, the VectorScorer takes two lists of N terms and their frequency and treats these as two vectors in an N-dimensional space. The score is then the angle between these vectors, normalized to a value between 0 and 1. See Scorers for a more in depth explanation about scorers.
A segment represents a group of visitors that all share a set of similar characteristics. It is defined by combining several target groups. For example, the segment 'Dutch Professional' could be defined by the target groups 'comes from Big Dutch cities', 'visits the site on a weekday' and 'mostly looks at business category'. The Relevance Module tries to assign each visitor its best-matching segment.
A persona is a concrete incarnation of a segment, used to preview a channel with personalized components through the eyes of a visitor in that segment. For example, 'Danielle, the Dutch Professional' could be defined by the properties 'comes from Amsterdam', 'visits the site on Monday' and 'mostly looks at business category'.