The Universal Recommender (UR) is a new type of collaborative filtering recommender based on the Correlated Cross-Occurrence algorithm (CCO), which can use data from a wide variety of sources to tune and make recommendations better.
Unlike the older style matrix factorization embodied in things like MLlib's ALS, The UR's CCO algorithm is able to ingest any number of user actions, events, profile data, and contextual information. It then serves results in realtime using realtime user data in a scalable way. It also supports business rules that filter and boost based on item properties. The UR can therefor be considered a hybrid collaborative filtering and content-based recommender.
The use of multiple types of data fundamentally changes the way a recommender is used and, when employed correctly, will provide a significant increase in quality of recommendations vs. using only one "conversion event". Most recommenders can only use one indicator of user taste like a "purchase" event. Using all we know about a user and their context allows us to much better predict their preferences.
Not only does this data give lift to recommendation quality but it allows users who have little or no conversions to get recommendations. Therefore is can be used in places where conversions are not as common. We can also enrich preference indicators by extracting entities for text or learning topics and inferring preferences when users read something from a topic.
Even though this may sound complex, the Universal Recommender can be used well in most typical cases with no complex setup.
The Universal Recommender is installed with Harness. See the one-line install here.
For the impatient head to the quickstart
There is a reason we call this recommender "universal" and it's because of the number of use cases it can be applied to.
All of the above use cases can be very simple to configure and setup. If you have an E-Commerce application, you may be able to get away with one type of input data and some item properties to get all of the benefits. If you have more complex needs, read the Use Cases section for tips.
For most of the history of recommenders the data science could only find ways to use one type in user-preference indicator. So much we knew from user behavior was going unused. Correlated Cross-Occurrence (CCO) was developed to account for all this data and apply it to a deeper understanding of user preferences. If you want to recommend buy, play, watch, or read, is it possible that other behavior of the user correlates to this recommended action—things like a pageview, like, category preference, user location, device used, item detail views, anything else known about the user.
CCO finds correlating data for conversion data. It picks behavior that correlates with conversions by item-ids—so it finds, for example, if a device being used correlates to preference for an item, or if user location correlates with preference for an item. It can even find if dislikes correlate with likes. All this data can now be brought to bear upon making better more sensitive recommendations.