personalization

personalization

This is an old revision of the document!


With this short manual you can easily learn how to boost certain products based on user information.

Boosting results per user

FINDOLOGIC provides an interface to boost certain products based on their attributes so they are ranked higher in the search results.
The interface can be used for many different purposes:

  • Boost products from the preferred vendor or with the favorite color based on data from personalization providers.
  • Boost products for men / women based on the user profile of the currently logged in users.
  • Boost new products when searching from a blog page where the latest trends for the new season are described.

The boost attributes can be set by adding them to the search form.


Example

The search form may look like this for user that likes Red a lot and Nike a little less:

...
<form>
    <input type="search">
    <input type="submit">
    <input type="hidden" name="pushAttrib[Color][Red]" value="2.9">
    <input type="hidden" name="pushAttrib[vendor][Nike]" value="1.5">
    ...
</form>
...

In this example the score of all products with Color=Red will be multiplied by (2.9+1)1), and the score of all products with Season=Summer will be multiplied by (1.5+1).
If a product has both Color=Red and Season=Summer the score will be multiplied by (2.9+1)*(1.5+1) = 9.75.


How to apply boosts

The boosts can be applied by adding hidden input fields to the search form that contain the attribute, attribute value and a boost factor (weight). This must happen on the shop side. The fields can be injected using Javascript or rendered server side, as long as they are available before the search form is submitted.

The actual attributes and weights may be fetched from the current user's profile or a personalization provider, but can also be static depending on the current page.

For entirely static boosts the FINDOLOGIC push rules are better suited.

The attribute and attribute value need to exactly match the attributes in the FINDOLOGIC export (not the display name in the filter configuration).

A constant factor of 1 is added to the weight, this value is then multiplied with the score of every matching result. The weight may be any non-negative number, where:

  • weight=0 means that the resulting score will stay the same 2)
  • weight>0 means an increased score.
  • weight=1 means that the resulting score is doubled3)

For example pushAttrib[gender][female]=5.0 will multiply the scores of all results matching the attribute gender=female by a factor of 5+1 = 6.

We recommend using weights between 1 and 3.

The number of results stays the same, only the order of results is changed.
This also means that the available filters do not change when boosting.


If you have any questions or need further information please contact support@findologic.com.

1)
See below on how to calculate the multiplication factor
2)
score*(0+1) = score.
3)
score*(1+1) = 2*score.