NOTE: I am also maintaining this post on github. This way I can accept pull requests for changes and additions :)

Recommender systems (or recommendation engines) are useful and interesting pieces of software. I wanted to compare other recommender systems to mine (HapiGER) but couldn’t find a decent list of them, so I decided to create one. In this post I will list the recommender systems that I have come across with links and some basic information about them. I intend on keeping this list up-to-date, so comment below if I am missing one or tweet me @grahamjenson.

Software as a Service Recommender Systems

SaaS Recommender systems have many challenges to their development including having to handle multi-tenancy, store and process a massive amount of data and other softer concerns like keeping a clients sensitive data safe on remote servers.

The benefits to using a SaaS recommender system is that you can pay for value with a low overhead rather than having a large upfront investment, they generally have a clear integration path for you to use, and they provide continual development and improvement while you use it.

The SaaS recommender systems I have found are:

Open Source Recommender Systems

Most of the non-SaaS recommender systems that I came across were open-source. This may have been because recommender systems are more tailored to clients so not easily made into a product.

The open-source recommender systems I found are:

PredictionIO is built on technologies Apache Spark, Apache HBase and Spray. It is a machine learning server that can be used to create a recommender system. The source can be located on github and it looks very active. Racoon Recommendation Engine is an open source Node.js based collaborative filter that uses Redis as a store. It is effectively abandoned. HapiGER is an open source Node.js collaborative filtering engine, which can use in-memory, PostgreSQL or rethinkdb. Reasonably active development (when I have time :) EasyRec Java and Rest based recommendations. Abandoned Mahout Hadoop/linear algebra based data mining Seldon is a Java based prediction engine built on technologies like Apache Spark. It provides a demo movie recommendations application here. LensKit is a Java based research recommender system designed for small-to-medium scale. Oryx v2 a large scale architecture for machine learning and prediction (suggested by Lorand)

Non-Sass Product Recommender Systems

Not very many Non-SaaS Non-OpenSource recommender systems seem to exist. Below is a list:

Dato is a company that provides a python package and servers for business machine learning including many predictive algorithms for recommendations. They also integrate with Apache Spark and have great blog posts like Why is building custom recommender systems hard? Does it have to be?. Their customers include Pandora and StumbleUpon, must be a good product.

Academic Recommender Systems

Recommender systems are a very active area of research in academia, though few of the generated systems make it out of the lab. Here are a few I have found that did:

Duine Framework a Java based recommendation system that has been abandoned MyMediaLite C# based in-memory recommender system that has been abandoned Bonus: List of Recommender System Dissertations, a useful list to keep up with the current state of recommendations systems in academia LibRec A Java based Recommendations engine with loads of implemented algorithms (suggested by Saúl Vargas) RankSys Java Recommendation system for novelty and diversity created by Saúl Vargas)

Benchmarking Recommender Systems

It is very difficult to benchmark recommender systems, not only because getting good datasets is hard, but different methods and algorithms have different advantages and disadvantages that are dificult to expose.

Here is a list of some benchmarking tools:

TagRec Tag Recommender Benchmarking Framework RiVaL an open source toolkit for recommender system evaluation. Some results are posted here.

Media Recommendation Applications

In addition to generic recommender systems, I decided to add a list of applications where recommendations are a core offering, specifically in the domain of media recommendations:

Yeah, Nah Movie recommendations site based on GER source Jinni Movie recommendations site Gyde Streaming media recommendations TasteKid movies, books, music recommendations. sent to me by thelinuxlich Gnoosic music based on bands. sent to me by thelinuxlich Pandora music recommendations based on likes and dislikes or songs

More

If you have any more recommender systems or a better way to sort them comment down below. I want to try compile a more complete list to make comparison easier for everyone.

Don’t forget to check out my recommendation engine HapiGER