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:
- Same as Reco_SeededRecommendationsEnrichment.
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