Collaborative Filters

To successfully utilize Lytics' Default and Custom Affinity Engines, it is necessary to have a robust set of Topics (or features). However, in some cases, it becomes difficult to add Topics to your items, which may prevent you from executing Interest-based use cases. To address some of the limitations of content-based filtering, Collaborative Filtering uses similarities between users and items simultaneously to provide recommendations. This allows for serendipitous recommendations; that is, collaborative filtering models can recommend an item to user A based on the interests of a similar user B.

For example, consider the screenshot above, which shows a Collaborative Filter Engine based on Shopify purchase data. By creating a Collaborative Filter Engine based on user purchase data, we can drive "users also bought"-type recommendations. In this case:

  • The Identifier on content table is shopify_product_id. This refers to the unique identifier for the items in your inventory (the content table).
  • The Inventory from user profiles is shopify_product_ids. This refers to the field on the user profiles that contain a user's purchase history.

The bar chart shows the most popular shopify_product_id IDs across your users.

How to Use Collaborative Filter Engines

The primary way to leverage Collaborative Filter Engines is through Recommendations. While Lytics' Recommendation API, and Experience toolkit allow you to deploy Recommendation campaigns onsite or via email, the Collaborative Filter UI allows you to experiment and test out Lytics' Recommendations.

In the Recommend tab, you can fetch Recommendations for any user. Simply select the identifier field (_uids in this case) and click on the Recommend button. This will request Recommendations for the selected user using the Lytics Recommendation API. The Recommended items are displayed below.

The Item Recommendation input allows you to fetch similar items for any given item. In the example below, we are finding items similar to the item with shopify_product_id = 631195017394. This can be used to find similar products based on user behavior.

Creating a New Collaborative Filter Engine

To create a new Collaborative Filter Engine, click on the New Interest Engine button and click on Collaborative Filter. This will open a wizard with the following options. When creating a Collaborative Filter Engine, there are 4 fields:

  • Name (required): the name of the new Collaborative Filter.
  • Description (optional): a description for your Collaborative Filter.
  • Inventory ID (required): the identifier associated with the items in your inventory (ie: an identifier from the content table).
  • Inventory Field (required): the field on the user table that contains a user's activity (ie purchase history, browsing history, etc). This field must be a set or map type and must contain IDs referenced in the Inventory ID field.

Once you create your new Collaborative Filter wizard, Lytics will train a Collaborative Filter model within minutes. Once the model has finished training, the UI will be available to use, as well as Lytics' Recommendation API.