Choosing a 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).

Choosing a recipe

When you create a custom solution, you specify a recipe and configure training parameters. Recipes are Amazon Personalize algorithms that are prepared for specific use cases. Amazon Personalize provides recipes, based on common use cases, for training models. When you create a solution version for the solution, Amazon Personalize trains the models backing the solution version based on the recipe and training configuration.

Amazon Personalize recipes use the following during training:

  • Predefined attributes of your data

  • Predefined feature transformations

  • Predefined algorithms

  • Initial parameter settings for the algorithms

To optimize your model, you can override many of these parameters when you create a solution. For more information, see Hyperparameters and HPO.

Amazon Personalize recipe types by use case

To choose your recipe, first choose your use case from the following and note its corresponding recipe type.

  • Recommending items for users (USER_PERSONALIZATION recipes)

    To provide personalized recommendations for your users, train your model with a USER_PERSONALIZATION recipe. Personalized recommendations help drive better engagement and conversion.

  • Ranking items for a user (PERSONALIZED_RANKING recipes)

    To personalize the order of curated lists or search results for your users, train your model with a PERSONALIZED_RANKING recipe. PERSONALIZED_RANKING recipes create a personalized list by re-ranking a collection of input items based on predicted interest level for a given user. Personalized lists improve the customer experience and increase customer loyalty and engagement.

  • Recommending trending or popular items (POPULAR_ITEMS recipes)

    To recommend trending or popular items use a POPULAR_ITEMS recipe. You might use a POPULAR_ITEMS if your customers highly value what other users are interacting with. Common uses include recommending viral social media content, breaking news articles, or recent sports videos.

  • Recommending similar items (RELATED_ITEMS recipes)

    To recommend similar items, such as items frequently bought together or movies that other users have also watched, you should use a RELATED_ITEMS recipe. Recommending similar items can help your customers discover items and can increase user conversion rate.

  • Recommending the next best action (PERSONALIZED_ACTIONS recipes)

    To recommend the next best action for your users in real time, such as signing up for your loyalty program or applying for a credit card, you should use a PERSONALIZED_ACTIONS recipe. Recommending the next best action can increase customer loyalty, generate more revenue, and improve your users' experience.

  • Getting user segments (USER_SEGMENTATION recipes)

    To get segments of users based on item input data, such as users who will most likely interact with items with a certain attribute, you should use a USER_SEGMENTATION recipe. Getting user segments can help you create advanced marketing campaigns that promote different items to different user segments based on the likelihood that they will take an action.

Amazon Personalize recipes

Amazon Personalize provides the following types of recipes. Besides behavioral differences, each type has different requirements for getting recommendations, as shown in the following table.

Recipe type Recipes API API requirements



HRNN recipe (legacy)

HRNN-Metadata recipe (legacy)

HRNN-Coldstart recipe (legacy)


userId: Required

itemId: Not used

inputList: NA





userId: Required only if you apply a filter that requires it

itemId: Not used

inputList: NA





userId: Required

itemId: NA

inputList: list of itemId's





userId: Required only if you apply a filter that requires it

itemId: Required

inputList: NA




userId: Required

actionId: Not used

itemId: Not used

inputList: NA





For batch workflow requirements, see Creating a batch segment job.

Viewing available Amazon Personalize recipes

To see a list of available recipes:

  • In the Amazon Personalize console, choose a dataset group. From the navigation pane, choose Solutions and recipes, and choose the Recipes tab.

  • With the Amazon SDK for Python (Boto3), call the ListRecipes API.

  • With the Amazon CLI, use the following command.

    aws personalize list-recipes

To get information about a recipe using the SDK for Python (Boto3), call the DescribeRecipe API. To get information about a recipe using the Amazon CLI, use the following command.

aws personalize describe-recipe --recipe-arn recipe_arn