Ranking cocktail for Magento Improved Sorting

Ranking cocktail for Magento Improved Sorting

- The idea
The current functionality sorts products based on a single attribute, and only if 2 (or more) products share the same value for that attribute a second or third attribute is considered to determine which one is sorted on top. Effectively products are purely sorted on highest sales or most views on top.
I've worked with systems before where you could select multiple aspects (like revenue, margin, stock availability, newness) and giving them a % share in the total ranking cocktail.

- How it works
Mainly for "Default Sorting on Category Pages" (but to a lesser extent also the Search Pages and potentially other sorting rules), the back end should allow to create custom "dynamic attributes" and to put that as one of the attributes in the default sorting rule. A dynamic attribute like this can consist of many attributes with a weight associated to it. Like: views, units ordered, sales value, sku coverage (where a configurable product with all sizes available is ranked higher than a configurable product where a couple of sizes are sold out), days available (or newness), margin percentage or value, text relevance (only in case of search results) and potentially a personalized factor to create a different sorting per visitor based on their preferences. Per attribute included you should set whether higher or lower is better, how many days should be included, and what should happen if no value is present (assume the highest or lowest value possible, or just take the average of all products).
Also for the default sorting rules you would need to be able to select more than 3 attributes to sort by. Example, first sort by category position, then by sold out yes/no, then by whether a product has been discounted and then by the dynamic attribute just created.

- Expected behavior
All products in a category are then put on a scale from 0 to 100 on each aspect within the dynamic attribute (with the highest being the best one in regards to for example revenue). Combining that with the % factor per aspect gives each artikel a score from 0 to 100 to sort them by.

- Examples of implementation (if any)
You can contact me for systems that work like this.

- Business value
Any site will be able to create a way better default sorting this way which neatly reflects several business goals instead of just focussing 100% on 1 business goal. You want popular products to rank high, but not if you never sell them. You want products with high sales to rank high but not if it generates hardly any margin, etc. This way you can find a sweetspot between business goals and a ranking that the visitor likes. We've tested this in the past to increase margin % by several percentage points without reducing the conversion rate.