Catalog Intersection
How do you recommend the best products for each individual user out of a catalog with millions of items? The Catalog Intersection Endpoint is designed to integrate with your recommender to input product catalog data most relevant to each individual user so your recommendation system truly understands each individual user
We are currently developing an improved version of the Catalog Intersection Endpoint. Expect changes, an awesome developer experience and new ranking of items.
In the quickstart you learned how to create a user’s Digital Self and query it to understand the user’s preferences. In this tutorial, you will see how the Digital Self is the core building block for creating hyper-personalized user experiences.
This tutorial assumes that you have already gone through the quickstart.
Upload a new catalog
The developer dashboard includes a simple UI to upload a catalog. The catalog can be a collection of products, events, or even people. The Catalog Intersection Endpoint enables you to find the subset of items in the catalog that are most relevant to each user, based on their Digital Self.
For your convenience, we provide a test catalog that you can upload via the customer dashboard. Create a json file and paste the test catalog into it. You can then upload the catalog by clicking on “Upload Catalog”:
Assign a catalog key to the catalog such as catalogExample
and make sure to upload the json file containing the test catalog.
Finally, specify which features of the catalog you want to consider. For the test catalog, we will use the following:
Copy and paste the schema above into the Catalog JSON Schema
section of the popup on the developer dashboard. The id_column
and feature_columns
fields should not be modified.
The object related to id_column
specifies which field in the test catalog should be considered as an identifier of each item (id
in this case).
The objects related to feature_columns
specifies which fields of the test catalog should be considered as features used to rank the items according to the user’s Digital Self (name
and description
in this case).
When uploading your own catalog, you do not need to include all its fields as features. Only those that will be relevant to rank the items according to the user’s preferences.
So far we only support features of type string but in the near feature we will support images, videos, and generic URLs.
Once you are ready, click Upload
and the catalog will start getting processed.
You can also upload the catalog programmatically via the Upload Catalog API. You will need to provide an API key such as the one you created in the quickstart.
Rank items
Once the catalog has been processed, you can rank items according to the preferences of each of your users. To do so, go to the users section of the developer dashboard where you can see the user you onboarded during the quickstart. Click on Go to user
to select the user you want item rankings for:
On the user page, click on the Catalog Intersection
tab, then select the catalog you just uploaded, and provide some context on the kind of items you would like to rank from the catalog (for example shoes
). Click on Intersect
to display the items that best match the user preferences.
The image above shows the item that has been ranked the highest among all the ones in the catalog based on the user’s unique preferences. We also provide an explanation of why the item has been chosen.
The catalog that we uploaded is a simple catalog with few items and limited information. Therefore, the ranking might seem not extremely relevant to the user. Things improve dramatically with more data!
You can also perform the catalog intersection programmatically via the Intersect Catalog API.