Recommendations enrichment data entities

This article provides guidance on how to configure recommendations enrichment data entities in the Intelligent Recommendations data contract.

Data entities review

A data entity is a set of one or more data text files, each having a list of columns (also called attributes) and rows containing the actual data values.

Intelligent Recommendations defines logical groups of data entities, each with its own purpose.

Note

Data entities are optional, unless explicitly stated otherwise, which means that their data can be empty or missing.

Go to the full list of data entities

Introduction

Intelligent Recommendations supports manual enrichment of generated recommendations, which allows you to manually add or remove specific items or item variants from any recommendations list.

The supported enrichment actions are:

  • Include: Adds the specified item or item variant at the top of the specified list. These manually added items are sorted by their Rank attribute.

  • Exclude: Removes the specified item or item variant from the specified list, whatever the rank of the item in said list.

Item availabilities are always respected. Any item not considered available at the moment when the recommendation API is called isn't returned as part of the response.

The following data entities are part of the recommendations enrichment data entities:

Go to the full list of data entities

Recommendations enrichment for a specific item

Data entity name: Reco_SeededRecommendationsEnrichment

Description: Enrichment of recommendation results for a specific Item using ItemId known as the SeedItemId. Only applies to lists such as "People also like", which are keyed off a specific item.

Attributes:

Name Data type Mandatory Default value Invalid value behavior Comments
RecoListName String Yes Trim value Go to the ListNames Table for the supported list names.
AlgoType String No Trim value Not all list names require this value to be set. See the AlgoTypes Table for the supported algorithm types for each list name.
SeedItemId String(16) Yes Drop entry The ItemId the list is recommending for. See Required data entities per recommendations scenario for item ID.
SeedItemVariantId String(16) No Drop entry The ItemVariantId the list is recommending for. See Required data entities per recommendations scenario for item variant ID.
ItemId String(16) Yes Drop entry See Required data entities per recommendations scenario for item ID.
ItemVariantId String(16) No Drop entry See Required data entities per recommendations scenario for item variant ID.
EnrichmentAction String Yes Drop entry Supports only Include or Exclude for now.
Rank Int No Drop entry For the Exclude enrichment action, this value is ignored.

Guidelines:

  • Items marked include can be added only to the top of a generated recommendations list.

  • Excluding an item from a list that the item doesn’t appear in will do nothing.

  • Exclusion always wins. If you include and exclude the same item from the same list, it's excluded from the final API response.

  • The Rank attribute only specifies the order between the added items or item variants. In any case, they'll always be added to the top of the list. If there are duplicate rank values for multiple items, they're added in some random order between them.

  • Enrichments with an unsupported AlgoType value are ignored.

Sample data:

Headers appear for convenience only and shouldn't be part of the actual data.

RecoListName AlgoType SeedItemId SeedItemVariantId ItemId ItemVariantId EnrichmentAction Rank
Similar MF Item1 Item2 Include 1
Similar MF Item1 Item3 Item3Var1 Include 2
Similar DAS Item3 Item3Var1 Item1 Item1Var2 Exclude
Cart Item3 Item1 Item1Var1 Include 1

Recommendations enrichment

Data entity name: Reco_RecommendationsEnrichment

Description: Enrichment of recommendation results

Attributes:

Name Data type Mandatory Default value Invalid value behavior Comments
RecoListName String Yes Trim value Go to the ListNames Table for the supported list names.
ItemId String(16) Yes Drop entry Go to Required data entities per recommendations scenario for item ID.
ItemVariantId String(16) No Drop entry Go to Required data entities per recommendations scenario for item variant ID.
EnrichmentAction String Yes Drop entry Supports only Include or Exclude for now.
Rank Int No Drop entry For the Exclude enrichment action, this value is ignored.

Guidelines:

Go to the full list of data entities

ListNames, AlgoTypes, and Refinements

Table of ListNames

The current list of available ListNames is given in the table:

ListName Billing (Standard/Premium) Modeling Feature Set
BrowseLists Standard Basic
ExternalLists Standard Basic
PeopleAlso Standard Basic
NextBestAction (formally "Cart") Standard Basic
Picks Standard Standard
ViewedInSession Standard Standard
VisualSimilarity Premium Premium
TextualSimilarity Premium Premium

Table of AlgoTypes

The available AlgoTypes and the different APIs you can use them with is given in the table:

AlgoType Description Supported API
RecentPurchases Picks recommendations are computed based on the most recent purchases (or other interaction) of the user. Only available with the User Picks API.
RecentViews Picks recommendations are computed based on the most recent viewing history and preferences of the user. Only available with the User Picks API.
FullHistory Picks recommendations are computed based on the full purchase (or other interaction) history of the user. Only available with the User Picks API.
MF(Matrix Factorization) The default view for the Similar API. Only available with the Similar API
Visual Item similarities are computed based on visual similarities of catalog images. Only available with the Similar API.
Textual Item similarities are computed based on textual (language understanding) similarities of catalog textual titles and descriptions. Only available with the Similar API.
BringSimilarItems When given a composite image, this AlgoType suggests items that are visually similar to the items identified in the composite image. Only available with the Similar API.
CompleteSimilarStyles When given a seed item, this AlgoType suggests other composite images of similar styles that are similar to the seed item. Only available with the Similar API.
CompleteSimilarItems When given a seed item, this AlgoType suggests items from other composite images that are similar to the seed item. Only available with the Similar API.
DAS “DAS” stands for Direct Associated Scoring. This AlgoType provides recommendations based on similarities using co-occurrences of items within the interactions data entity. This Algotype is the default for the NextBestAction API. Only available with the Similar APIand the NextBestAction API (formally called "Cart").

Table of Refinements

The available Refinements and the different APIs you can use them with is given in the table: You can add multiple refinements separated by comma, as long as they aren't contradicting each other.

Refinement Definition Supported API default behavior
RemoveUserHistory Removes items that the user already purchased so they aren't recommended to that user again. all APIs Enabled by default only for 'Get User Picks' API.
KeepUserHistory Keeps history of user purchased items that the recommendation service can consider for the same user again. all APIs Enabled by default for all APIs except 'Get User Picks'.
EnableShuffling Slightly changes the order of items without significantly affecting the relevance, to prevent users from seeing the same recommendations over and over again. all APIs Enabled by default only for 'Get User Picks' API.
DisableShuffling Keeps the order of the recommended items without shuffling results. all APIs Enabled by default for all APIs except 'Get User Picks'.

See also

Data contract overview
Data entities mapping table
Catalog data entities
Interactions data entities
Reco configuration data entities
Opted-out users data entities
External lists data entities
Image to item mapping data entities
Intelligent Recommendations API
Quick start guide: Set up and run Intelligent Recommendations with sample data