Personalized-Ranking-v2 recipe - Amazon Personalize
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Personalized-Ranking-v2 recipe

The Personalized-Ranking-v2 recipe generates personalized rankings of items. A personalized ranking is a list of recommended items that are re-ranked by relevance for a specific user. This is useful if you have a collection of ordered items, such as search results, promotions, or curated lists, and you want to provide a personalized re-ranking for each of your users.

Personalized-Ranking-v2 can train on up to 5 million items from Item interactions and Items datasets. And it generates more accurate rankings with lower latency than Personalized-Ranking.

When you use Personalized-Ranking-v2, you specify the items to rank in a GetPersonalizedRanking API operation. If you specify items without interactions data, Amazon Personalize will return these items without a recommendation score in the GetPersonalizedRanking API response.

This recipe uses a transformer-based architecture to train a model that learns context and tracks relationships and patterns in your data. Transformers are a type of neural network architecture that transforms or changes an input sequence into an output sequence. For Amazon Personalize, the input sequence is a user's item interaction history in your data. The output sequence is their personalized recommendations. For more information about transformers, see What Are Transformers In Artificial Intelligence? in the Amazon Cloud Computing Concepts Hub.

Personalized-Ranking-v2 uses a different pricing model than other recipes. For more information about pricing, see Amazon Personalize pricing.

Recipe features

Personalized-Ranking-v2 uses the following Amazon Personalize recipe features when ranking items:

  • Real-time personalization – With real-time personalization, Amazon Personalize updates and adapts item recommendations according to a user's evolving interest. For more information, see Real-time personalization.

  • Metadata with recommendations – With the Personalized-Ranking-v2 recipe, if you have an Items dataset with at minimum one column of metadata, campaigns automatically have the option to include item metadata with recommendation results. You don't have manually enable metadata for your campaign. You might use metadata to enrich recommendations in your user interface, such as adding the genres for movies to carousels. For more information, see Item metadata in recommendations.

Required and optional datasets

To use the Personalized-Ranking-v2, you must create an Item interactions dataset and import at minimum 1000 item interactions. Amazon Personalize generates rankings primarily based on item interaction data. Personalized-Ranking-v2 can train on up to 5 million items across Item interactions and Items datasets.

With Personalized-Ranking-v2, Amazon Personalize can use Item interactions data that includes the following:

  • Event type and event value data – Amazon Personalize uses event type data, such as click or watch event types, to identify user intent and interest through any patterns in their behavior. Also, you can use event type and event value data to filter records before training. For more information, see Event type and event value data.


    With Personalized-Ranking-v2, your training cost is based on your interactions data before filtering by event type or value. For more information about pricing, see Amazon Personalize pricing.

  • Contextual metadata – Contextual metadata is interactions data you collect on the user's environment at the time of an event, such as their location or device type. For more information, see Contextual metadata.

The following datasets are optional and can improve recommendations:

  • Users dataset – Amazon Personalize can use data in your Users dataset to better understand your users and their interests. You can also use data in a Users dataset to filter recommendations. For information about the user data you can import, see Users dataset.

  • Items dataset – Amazon Personalize can use data in your Items dataset to identify connections and patterns in their behavior. This helps Amazon Personalize understand your users and their interests. You can also use data in a Items dataset to filter recommendations. For information about the item data you can import, see Items dataset.

Properties and hyperparameters

The Personalized-Ranking-v2 recipe has the following properties:

  • Nameaws-personalized-ranking-v2

  • Recipe Amazon Resource Name (ARN)arn:aws:personalize:::recipe/aws-personalized-ranking-v2

  • Algorithm ARNarn:aws:personalize:::algorithm/aws-personalized-ranking-v2

For more information, see Choosing a recipe.

The following table describes the hyperparameters for the Personalized-Ranking-v2 recipe. A hyperparameter is an algorithm parameter that you can adjust to improve model performance. Algorithm hyperparameters control how the model performs. The process of choosing the best value for a hyperparameter is called hyperparameter optimization (HPO). With Personalized-Ranking-v2, if you turn on automatic training, Amazon Personalize automatically performs HPO every 90 days. Without automatic training, no HPO occurs.

The table provides the following information for each hyperparameter:

  • Range: [lower bound, upper bound]

  • Value type: Integer, Continuous (float), Categorical (Boolean, list, string)

Name Description
Algorithm hyperparameters

Determines whether the model should give more weight to the most recent item interactions data in your Item interactions dataset. The most recent interactions data might include sudden changes in the underlying patterns of interaction events.

To train a model that places more weight on recent events, set apply_recency_bias to true. To train a model that equally weighs all past interactions, set apply_recency_bias to false.

Default value: true

Range: true or false

Value type: Boolean

HPO tunable: No