Selecting the best recommendation algorithm out of hundreds available
By: Ayush Garg
Tags: Business, Analytics, Data Science, Algorithm Selection, Recommendation System

Selecting the best recommendation algorithm out of hundreds available

Building a recommendation engine is something most data scientists have done at some point. There is absolutely no dearth of approaches to address this business problem. Whenever a newbie starts with the literature review, he/she ends up creating a long list of algorithms and frameworks. As a data scientist, zeroing one algorithm that is most appropriate for your project is your main task. For doing this, you can go for either examination or experimentation (or both).

Experimentation vs examination

Experimentation involves trying out different algorithms and observing which one turns out to be the best. This hit-and-trial method used in a lot of engineering research. It all comes down which metric to use to determine the best one. A/B testing is one way, but it has to be done right for it to hold any significance. And it also requires substantial resources. If testing is not possible, you can use a theoretical scale, as described in this article of mine.

An examination is a reflection you do before actually trying the approaches. You may have preference for certain algorithms from past experience. Your data’s shape and size might permit only a few models. Your business case might require certain factors to be given more importance than others. Your stakeholders/clients might have very limited exposure to analytics, and need an algorithm everyone can understand. There are unlimited possibilities. In the next section, I will describe a thought process for examination, to perform the first level of filtering amongst available algorithms.

Item-Item vs User-User vs Hybrid

Recommendation engines are broadly classified into Item-Item, User-User and Hybrid categories.

A) Item-Item approaches (also known as content based filtering) are based on similarity of items. This similarity can be described by a wide range of product features. For example, in the case of objects, it could be shape, size, colour, brand etc. In the case of movies, it could be genre, duration, language, producer etc. I won't go too much into the technical details. The final selling-story to a customer for item-item approaches becomes ‘you like these products, you might like others that are very similar to these, why don't you try them?’.

B) User-User approaches (also known as collaborative filtering) are based on similarity of customers/users. Here, the selling story becomes ‘customers similar to you like this, why don’t you also try them?’. Now, the similarity can be described by implicit as well as explicit features. For example, we can use features such as age, gender, profession, political alignment etc to group similar customers together. This is an explicit similarity. On the other hand, we can analyse data to identify customers with similar consumption patterns and group them together. This is an implicit similarity.

C) Hybrid approaches, as the name suggests, are somewhat a mixture of the above two. We won’t discuss how this mixture happens in this article.

It might be tempting to use Hybrid algorithms as they appear more holistic. They do take into account both user related and item related aspects. But if explainability is also one your concerns, they aren’t the best option. If your algorithm is a black box for the non-data science community, no one will buy your results. At least as of 2021, most senior people in most MNCs have had very limited exposure to analytics. Also, in Hybrid algorithms, there is very limited room for customization. You can’t always adjust them to suit your needs, which can compromise your final output.

Recommendations from a User-User approach will not always make sense to a customer, who doesn’t know the others similar to him/her. Hence, the conversion rate is likely to be lower. But any conversion is going to be a big win, as it will mark the customer’s entry into a completely new space, that can potentially expand in future. On the other hand, recommendations from an Item-Item approach are likely to have a much higher success rate. But they won’t necessarily be big wins. In fact, in many cases, they will act as shortcuts rather than recommendations, as the customer is probably aware of them.

Your decision to select one of these classes of algorithms is going to be based on what is important for you, your team and your organization. I just have one major tip here based on my professional experience. In a B2B business, when you’re furnishing recommendations to a client, you might want to go with User-User only when you have an interaction channel to communicate your selling-story (the reason why those recommendations are coming up). Otherwise, your recommendations are likely to be called absurd. You can still go for User-User without the selling-story. But be mindful of this fact.

Conclusion

By now you should have realized that deciding which algorithm to finally put to use is quite subjective. One cannot furnish a step by step framework for this. But if you’re a data scientist working on recommendation engines and need help here, feel free to drop me a note to set up a discussion.

I want to conclude by saying that there is no ‘best’ algorithm, there’s only the most appropriate algorithm. We as tech enthusiasts tend to be more excited by complex and sophisticated methodologies. But it’s very important to remember the bottom line — the ultimate objective is to create value for the business and not show off in front of fellow data scientists.