CofiRank or – shorter – cofi is our approach to the collaborative filtering problem. The goal in collaborative filtering is to predict preferences of users based on past ratings by them and other users. We build upon the approach of Maximum Margin Matrix Factorization, yet extend it in several ways:

  • Cofi can make use of state of the art optimization technology, making it feasible to run on the largest data sets available. Cofi can be run on a single machine with moderate memory requirements (2GB) to train on the Netflix dataset with its 100.000.000 entries.
  • Cofi is able to do structured prediction, e.g. by predicting the relative order with which you like movies instead of the absolute rating you would give them. This is done by either optimizing over the NDCG ranking measure or by using a pairwise ordinal loss function. This allows for models that are better suited to predict what you like than dislike, a important property in recommender systems.
  • Cofi can be parallelized easily to take advantage of multi core machines or clusters of workstations.

In addition, cofi has some desirable properties which stem from MMMF. For example, cofi does not need features of the items or users being rated.

The people behind CofiRank

Cofi as in the algorithm as well as in the software is developed by a diverse team working in four countries on three continents: