We experimented with a number of different types of algorithms to build recommender systems. To learn more about them, please click on a link below:

Algorithms Criteria

Regardless of the type of algorithm we tried, there are three important criteria that determine how useful an algorithm is.

1. Quality of Predictions

This is a pretty obvious one - of course we want our recommender to make good recommendations. More so, we want it to perform better than any "dumb" prediction algorithm which just uses global data, such as an average rating for items.

2. Speed/Scalability

Most recommender systems work in a commercial and/or online setting, and so it is important that they can start making recommendations for a user almost instantly. This means that the algorithm cannot take too long to make any predictions - it has to work, and work fast!

Directly related to speed is the scalability of the algorithm. Again, systems in a commercial and/or online setting can have a huge dataset. The algorithm must maintain its speed even if there are many billions of ratings.

3. Easily Updated

The datasets behind recommender systems are constantly being updated with new ratings from users. As such, the algorithm must handle this updated information quickly. If the algorithm required a model that needed several hours to build, it might miss out on its chance to make recommendations based on new information quickly.

Secondary Criteria

Naturally there are some other properties we would like our algorithms to have, but are not always obtainable. Here is a brief list of other desired qualities.