Amazon Personalize
Developer Guide

This is prerelease documentation for a service in preview release. It is subject to change.

We made breaking changes to the Amazon Personalize API and service model on 3/26/19. To continue using Amazon Personalize with the AWS Command Line Interface or AWS SDK for Python (Boto 3), update your service JSON files by doing steps 3-6 of Setting Up the AWS CLI.

What Is Amazon Personalize?

Amazon Personalize is a machine learning service that makes it easy for developers to add individualized recommendations to customers who use their applications. It reflects the vast experience that Amazon has in building personalization systems.

You can use Amazon Personalize in a variety of scenarios, such as giving users recommendations based on their preferences and behavior, personalized re-ranking of search results, and personalizing content for emails and notifications.

Amazon Personalize does not require extensive machine learning experience. You can build, train, and deploy a solution (a trained Amazon Personalize recommendation model) with the AWS console or programmatically by using the AWS SDK. As the developer, you only need to do the following:

  • Format input data and upload the data into an Amazon S3 bucket, or send real-time event data.

  • Select a training recipe (algorithm) to use on the data.

  • Train a solution using the recipe.

  • Deploy the solution.

Amazon Personalize can capture live events from your users to achieve real-time personalization. Amazon Personalize can blend real-time user activity data with existing user profile and item information to recommend the most relevant items, according to the user’s current session context and activity. You can also use Amazon Personalize to collect data for new properties, such as a brand new website, and after enough data has been collected, Amazon Personalize can start to make recommendations.

To give recommendations to your users, call one of the recommendation APIs, and then create personalized experiences for them.

Amazon Personalize can improve its recommendations over time as new user activity data is collected. For example, a new movie rental event by a user, which is used in retraining of a solution, results in better movie recommendations. You can retrain an Amazon Personalize solution on as needed.

With Amazon Personalize you can train a solution for different use cases. For example, user personalization, items related to an item, and re-ranking of items. You choose a recipe based on your use case and provide the input data. A recipe performs featurization of your data, and applies a choice of learning algorithms, along with default hyperparameters, and hyperparameter optimization job configuration.

Recipes in Amazon Personalize allow you to create custom personalization models without needing machine learning expertise. You can choose which recipe to use to train a solution, or let Amazon Personalize decide on the best recipe to use for your data. To help you decide which recipe to use, Amazon Personalize provides extensive metrics on the performance of a trained solution.

Are You a First-Time Amazon Personalize User?

If you are a first-time user of Amazon Personalize, we recommend that you read the following sections in order:

  1. How It Works – This section introduces various Amazon Personalize components that you work with to create an end-to-end experience.

  2. Getting Started – In this section you set up your account, and test the Amazon Personalize Console and API.

  3. Preparing and Importing Data – This section describes how to prepare and import your training data into Amazon Personalize.

  4. Recording Events – This section provides information about improving user recommendations by recording user events and retraining the solution.

  5. Creating a Solution – This section provides information about training and deploying a solution.

  6. Creating a Campaign – This section provides information about deploying a solution as a campaign.

  7. Getting Recommendations – This section show how to get recommendations from a campaign.