personalization

personalization

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


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 Summer products 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[Season][Summer]" 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 done via a hidden input fields or directly within the API-request.

For the first option, a hidden input field that contains the attribute, attribute value and a boost factor (weight) need to be added to the search form. 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.

To boost within the API-request the attribute, the attribute value and the boost factor needs to be attached to the request which is sent. How this is done can be looked up in our request documentation.

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 a decreased score.
  • 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.

Negative values will push products down to the end of the product listing.

We recommend using weights between -0.9 and 3.

Values below -0.9 are automatically turned into -0.9 due to technical constraints.
The number of results stays the same, only the order of results is changed.


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


Example in a live shop

The following screenshots show how results may change on attributes, which are being boosted based on information about the user.


A generic search for the query jacke is submitted and results are shown.

generic search


The same search is being submitted and as the user in this case is identified as a man, products for men are being pushed.
The results now look like this:

push men products


The same search is being submitted and as the user in this case is identified as a woman, products for women are being pushed.
The results now look like this:

push women products

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