Ranking-Mix

Ranking Configuration

Attention: As soon as the ranking mix is activated for categories, manual sorts from the product data ("category": [{"pos"}]) will no longer taken into account.

The Ranking Mix settings allow you to influence (boost) the order of category listings and search results based on additional parameters. Initially, the ranking mix has no effect on the results of a search or category call. They must first be explicitly enabled for categories and/or for search results.

Individual parameters can be weighted via slider on a scale from 0 to 100. A weighting of 0 means that the parameter has no influence.

The weighting of the parameters is linear, with the boosting factors added to each other:

[Search-Score] * [Boosting-Factor-1 + Boosting-Factor-2 + ...] = [New Score]

Available parameters are:

Ranking factor Field name Data source(s)
New mak_boost_norm_insert

in OXID generated from OXINSERT

Number of sales mak_boost_norm_sold
  • Makaira Tracking
  • in OXID generated from OXSOLDAMOUNT
Added to shopping cart mak_boost_norm_basket only available with Makaira Tracking
Number of detail page views mak_boost_norm_view only available with Makaira Tracking
Revenue mak_boost_norm_revenue
  • Makaira Tracking OR
  • in OXID generated from (OXVARMINPRICEOXVARMAXPRICE) / 2 * OXSOLDAMOUNT
Ratings mak_boost_norm_rating

in OXID generated from OXRATING

Profit Margin mak_boost_norm_profit_margin

in OXID generated fromOXBPRICE

The maximum degree of influence of the respective ranking factor can also be changed by our support (support@makaira.io)! By default, all ranking factors are configured equally strong.

Calculation of Boost Fields

If you want to calculate the boost fields based on your own data you can always override the field listed in the table above by your own modifiers. The values in these fields have to follow some rules:

  1. The value is a float number between 0 (lowest value) and 1 (highest value)
    If there is a field with higher numbers you want to have the boosting based on you have to map the values on a scale from 0 to 1
  2. The values in the field should be evenly distributed over your product dataset
    If the value tends to be chunky, meaning for example a lot of values are close to 0 or close to 1 you should apply a logarithm for example

You can find the calculation as example in the Boosting Modifier in the default OXID Connect Implementation:

Boost Field Modifier: https://github.com/MakairaIO/oxid-connect/blob/stable/src/Makaira/Connect/Modifier/Product/BoostFieldModifier.php

Boost Field Utilities (calculation utils): https://github.com/MakairaIO/oxid-connect/blob/stable/src/Makaira/Connect/Utils/BoostFields.php

Order for out of stock items

With the option Show out of stock items at the end it is possible to influence the order of items on the search results page as well as the category and manufacturer pages and to give preference to available items.