Amazon Personalize FAQs

General

Amazon Personalize is a fully managed machine learning (ML) service that uses your data to generate product and content recommendations for your users. You provide data about your end-users (e.g., age, location, device type), items in your catalog (e.g., genre, price) and interactions between users and items (e.g., clicks, purchases). Personalize uses this data to train custom, private models that generate recommendations which can be surfaced via an API.

The service uses algorithms to analyze customer behavior and recommend products, content, and services that are likely to be of interest to them. This enhanced customer experience approach can increase customer engagement, loyalty, and sales, which can lead to increases in revenue and profitability. Personalize is powered by the same ML technology used by Amazon.com and allows any developer to easily add personalization to existing applications, websites, push notifications, marketing communications, and more – all without any ML experience required. Personalize uses real-time data insights to deliver recommendations that are personalized instantaneously depending on the user’s behavior. You can get started quickly with use-case optimized recommenders for your business domain, or you can create your own configurable custom resources.

Here are some reasons why businesses choose Amazon Personalize for personalization:

  • Improve user engagement and conversion rates: Users are more likely to interact with products and services that are tailored to their preferences, thus businesses can boost user engagement and conversion rates by offering personalized recommendations.
  • Increase customer satisfaction: Businesses can offer a better customer experience by using personalization to surface products and services that are more relevant to their needs and interests.
  • Scale personalization in a cost-effective manner: Amazon Personalize is a cloud-based, ML service that can handle massive volumes of user data to produce tailored recommendations for millions of users. It is thus an effective solution for companies with user bases that are large or expanding quickly.
  • Save time and resources: Amazon Personalize automates the process of generating tailored suggestions, deploying recommendation models in days, not months. This can help organizations save valuable resources and time that would otherwise be used for manual analysis and recommendation generation.

Amazon Personalize can be used to personalize the end-user experience over any digital channel. Examples include product recommendations for e-commerce, news articles, publications, media and social networks, hotel recommendations for travel websites, credit card recommendations for banks, and match recommendations for dating sites. Amazon Personalize can also be used to customize the user experience when user interaction is over a physical channel; for example, a meal delivery company could personalize weekly meals to users in a subscription plan. Additional use case examples include the following. See our customer references for real customer success stories.

  • Personalize a video streaming app: Add multiple types of personalized video recommendations to your streaming app. For example, Top picks for youMore like X, and Most popular video recommendations.
  • Add product recommendations to an e-commerce app: Add a range of personalized product recommendations to your retail app. For example, Recommended for youFrequently bought together, and Customers who viewed X also viewed product recommendations.
  • Create personalized emails: Generate batch recommendations for all users on an email list. You can then use an AWS service or third-party service to send users personalized emails recommending items in your catalog.
  • Create a targeted marketing campaign: You can use Amazon Personalize to generate segments of users who will most likely interact with items in your catalog. Then you can use an AWS service or third-party service to create a targeted marketing campaign that promotes different items to different user segments.

Check out the Magic Movie Machine, a short, interactive game where you are looking for movie recommendations that match your personal interests. See first-hand how Amazon Personalize learns what you like and then tunes your recommendations in real-time. Demo now.

Using Amazon Personalize

Amazon Personalize has a simple, three-step process, which only takes a few clicks in the AWS Management Console, or a set of simple API calls. First, point Amazon Personalize to your user interaction data (historical log of views, clicks, purchases, etc.) in Amazon S3, upload the data using an easy API call, or use SageMaker Data Wrangler to prep and import your data. Optionally, you can provide an items or users dataset that contains additional information about your catalog and customer base. Second, with just a few clicks in the console or an API call, train a custom private recommendation model for your data. Third, retrieve personalized recommendations. Watch this Amazon Personalize Deep Dive video series to learn more.

Get started by creating an account and accessing the Amazon Personalize developer console, which walks you through an intuitive set-up wizard. You have the option of using a JavaScript API and Server-Side SDKs to send real-time activity stream data to Amazon Personalize or bootstrapping the service using a historical log of user events. You can also import your data via Amazon Simple Storage Service (S3) or by using SageMaker Data Wrangler. Then, with only a few API calls, you can train a personalization model, either by letting the service choose the right algorithm for your dataset with AutoML or manually choosing one of the several algorithm options available. Once trained, the models can be deployed with a single API call and can then be used by production applications. When deployed, call the service from your production services to get real-time recommendations, and Amazon Personalize will automatically scale to meet demand.

Users should provide the following data to Amazon Personalize:

  • User activity stream or event data: A historical log of users’ interactions on the website/application is captured in the form of events and is sent to Amazon Personalize via an integration that involves a single line of code. This includes key events such as click, buy, watch, add-to-shopping cart, like, etc. When onboarding to the service, you can also provide a historical log of all event/activity stream data, if available.
  • Catalog (item) data: This can be any type of catalog including books, videos, news articles, or products. This involves item ids and metadata associated with each item.
  • User data: User profile data including user demographic data such as gender and age. This data is optional.

Amazon Personalize will train and deploy a model based on this data. You can then use a simple inference API to get individualized recommendations at run-time and generate a personalized experience for end-users according to the type of personalization model (for example, user personalization, related items, or personalized reranking).

The following data can help improve your recommendation relevance and is strongly encouraged to include:

  • Event type (required for all Domain dataset group use cases)
  • Event value
  • Contextual metadata
  • Item and user metadata

For more information on the types of data Amazon Personalize can use, see Types of data you can import into Amazon Personalize.

Amazon Personalize makes it easy for you to import and prepare your data through Amazon SageMaker Data Wrangler before using it in Amazon Personalize. With SageMaker Data Wrangler, you can to import data from 40+ supported data sources and perform end-to-end data preparation (including data selection, cleansing, exploration, visualization, and processing at scale) in a single user interface using little to no code. This allows you to rapidly prepare user, item, or interaction datasets using Amazon SageMaker Data Wrangler by leveraging Amazon Personalize-specific transformations and over 300 general built-in data transformations, retrieving data insights, and quickly iterating by fixing data issues. Simply visit the Amazon Personalize console , open a Dataset from within your Dataset groups, select “Import and Prepare Your Data,” and then choose “Prepare Data with Data Wrangler.” Please note that customers using Amazon SageMaker Data Wrangler will incur additional charges as per their usage. Check out their pricing page.

Yes. Amazon Personalize allows you to help your users discover new products and items by allowing you to specify a “new item exploration weight.” This input is then used by Amazon Personalize to automatically strike the right balance between exposing new content to users and offering the most relevant recommendations. Amazon Personalize also considers data about which items users have been exposed to, but chose not to interact with. 

Amazon Personalize provides analysis on your data to make getting started easy. It can analyze the data you provide and offers suggestions to assist in improving your data preparation. The performance of personalization systems depends on providing models with high quality data about users and their interactions with items in your catalog. By identifying potential data deficiencies and providing suggestions to assist customers with remediation, Amazon Personalize makes training performant models easier and reduces the need for troubleshooting.

Amazon Personalize has launched an integration with self-managed OpenSearch that enables you to personalize search results for each user and assists in predicting your search needs. The Amazon Personalize Search Ranking plugin within OpenSearch helps you to leverage the deep learning capabilities offered by Amazon Personalize and apply personalized re-ranking to OpenSearch search results, without any ML expertise. With personalized search, you can go beyond the traditional keyword matching approach and boost relevant items in a specific user's search results based on their interests, context, and past interactions in real-time. You can also fine tune the level of personalization for every search query to have greater control over your search experience, improving the end-user engagement and conversion from their search. 

The Amazon Personalize Search Ranking plugin is available for both self-managed and Amazon OpenSearch. If you are using Amazon OpenSearch, to get started, simply setup an OpenSearch domain, then setup Amazon Personalize campaign with AWS-personalized-ranking recipe. Next, associate the Amazon Personalize Search Ranking plugin with your domain, and finally configure the plugin. You can also use OpenSearch dashboard to compare your search results.

If you are using self-managed OpenSearch, to get started, simply setup an OpenSearch cluster, then setup Amazon Personalize campaign with AWS-personalized-ranking recipe, and finally, install and configure the Amazon Personalize Search Ranking plugin within OpenSearch. You can use OpenSearch dashboard to compare your search results.

To learn more, visit our documentation.

With the Amazon Personalize Next-Best-Action (aws-next-best-action) recipe, you can determine the next best action to recommend to each individual user based on their preferences, interests and history in real-time. You can recommend actions such as an add-on service, joining a customer loyalty program, subscribing to a newsletter, etc. that encourage conversion. This allows you to improve each user’s experience by nudging them to take certain actions across their user journey that will help in promoting long-term brand engagement. It also enables you to improve return on marketing investment by recommending actions that have a high degree of relevance to the user, thereby resulting in increased revenue and loyalty. Learn more.

Amazon Personalize Next Best Action (NBA) allows brands to recommend the best action that their individual users should take to increase loyalty and conversion with their brand in real-time. Customers start by defining a list of actions and uploading the required datasets. Next, they train their custom NBA model. They will then integrate recommendations into their applications or marketing technology tools via an API. When an end user triggers a real-time recommendation, Personalize NBA model will return a ranked list of actions for each user along with their propensity scores. Because actions may only be relevant for a specific period of time (e.g. sign up for holiday travel deals), or customers may want to limit the number of actions surfaced to end users (e.g. do not show the same action more than X times in Y days), customers will be able to impose constraints on their action recommendations (e.g. filters). 

Amazon Personalize provides customers two inference APIs: getRecommendations and getPersonalizedRanking. These APIs return a list of recommended itemIDs for a user, a list of similar items for an item, or a reranked list of items for a user. The itemID can be a product identifier, videoID, etc. You are then expected to use these itemIDs to generate the end-user experience through steps, such as fetching image and description, and then rendering a display. In some cases, you might integrate with AWS services, third-party email delivery services, or notification services etc. to generate the end-user experience you desire.

Check out the Personalization APIs solution that explains the real-time low latency API framework that sits between your applications and recommender systems such as Amazon Personalize. The solution also provides best practice implementations of response caching, API gateway configurations, A/B testing with Amazon CloudWatch Evidently , inference-time item metadata, automatic contextual recommendations, and more.

There are a few features built within Amazon Personalize that serve as checkpoints to help you ensure you are optimizing for high quality recommendations.

  • Online testing (A/B testing): This is always going to be the best measure of the impact of a model on business metrics. It is also the most common method. You should evaluate your recommendations against business metrics. If you do not have an A/B testing tool already in place, consider using Amazon CloudWatch Evidently. The Personalization APIs project provides a deployable solution and reference architecture.
  • Offline metrics: Amazon Personalize computes offline metrics for each solution version and recommender that measure the accuracy of predictions from the model. You can use these metrics to provide a directional sense of the quality of a solution version against other versions. Offline metrics are calculated by splitting the Personalize datasets into a training and testing set. It allows you to view the effects of modifying hyperparameters and algorithms used to train your models, calculated against historical data.
  • Online metrics: These are empirical results observed in your user’s interactions with real-time recommendations provided in a live environment. When you are comparing Amazon Personalize models against an existing recommendation system, the historical data is initially biased towards the existing approach. Therefore, running an online test for a few weeks before actually starting a test to measure results is recommended so that the model is trained and evaluated on interactions data that has been generated by seeing recommendations by Amazon Personalize.

You can measure the business outcome of any Amazon Personalize recommendation with any event sent to the system. You can then visualize and evaluate the impact of one or multiple recommendations to develop a more data-driven personalization strategy. From either the Amazon Personalize console or API, define a “metric attribution,” which is a list of interactions (event types) that you want to evaluate and report on. For example, you may want to track two metrics: the click-through rate (CTR) for recommendations and total number of purchases. For each event type, a you simply define the metric and function you want to evaluate (sum or count), and Amazon Personalize performs the calculation and sends reports to your CloudWatch or S3 account.

All Amazon Personalize models are unique to the customers’ data set, and are not shared across other AWS accounts or with Amazon Retail, Amazon Prime, or any other business unit. No data is used to train or propagate models for other customers; the customer’s model inputs and outputs are entirely owned by the account. Every interaction customers have with Amazon Personalize is protected by encryption. Any user, items, or interactions data processed by Amazon Personalize can be further encrypted with customer keys through AWS Key Management Service, and encrypted at rest and in transit in the AWS Region where the customer is using the service. Administrators can also control access to Amazon Personalize through an AWS Identity and Access Management (IAM) permissions policy, ensuring that sensitive information is kept secure and confidential.

Use cases

  • User personalization: Recommendations tailored to a user’s profile, behavior, preferences, and history. This is most commonly used to boost customer engagement and satisfaction. It can also drive higher conversion rates.
  • Personalized ranking: Items re-ranked in a category or search response based on user preference or history. This use case is used to surface relevant items or content to a specific user ensuring a better customer experience. Amazon Personalize supports re-ranking while optimizing for business priorities such as revenue, promotions, or trending items.
  • Similar items: Recommended related items to encourage exploration, upsell and cross-sell opportunities. Similar item recommendations help users discover new content or compare existing items in your catalog.
  • Next Best Action: Recommend the right actions to the right user in real-time based on their individual behavior and needs. This will allow you to maximize user engagement and lead to greater conversion rates.
  • Trending Now: Recommend items gaining popularity at the fastest pace among your users, such as breaking news articles, popular social content or newly released movies.
  • User segmentation: Targeted messaging and notifications to the users most interested in an item or category. This can help companies drive higher engagement with marketing campaigns and increase retention rates through hyper-targeted messaging.

Amazon Personalize is constantly being improved based on customer feedback and long-term roadmap objectives as we strive to optimize for easy onboarding and use. Listed here you will find several impactful Amazon Personalize features that go beyond basic ML practices. For a full list of features check out our Features page.

  • User segmentation: Segment end-users intelligently based on their preferences and create targeted messages that resonate with specific customer groups. Watch this demo to learn more.
  • Domain optimized recommenders: Accelerate time-to-market using pre-built recommenders for common business use cases. Check out this demo to learn more.
  • New item recommendations: Create quality recommendations for new products and content when data on user preference is scarce.
  • Real-time or batch recommendations: Respond to changing intent in real-time or feed mass recommendations to batch-oriented workflows.
  • Action recommendations: Increase your user loyalty and conversion by expanding your recommendations beyond items or content. Determine the best action to suggest to individual user based on their preferences, needs, and past behavior.
  • Personalized search: Improve user search experience by surfacing relevant search results based on their unique interests, preferences, and past interactions in real-time.
  • Unstructured text support: Natural Language Processing and attention-based modeling to automatically extract key information.
  • Contextual recommendations: Improve recommendations by generating them with a context such as user segment, device type, location, or time of day.
  • Business rules: Apply business rules including filters and promotions that control the percentage of promoted content for each user.
  • Trending recommendations: Recommend items gaining popularity at the fastest pace among your users
  • Recommendation impact: Measure total business impact of any event such as a page view, video start, click, add to cart, purchase, etc.

Pricing

Please see the Amazon Personalize Pricing page for current pricing information.

With Amazon Personalize, you only pay for what you use, and there are no minimum fees and no upfront commitments. Here are some tips on how to manage costs.

Consider caching results based on your needs for real-time updates

 Re-train based on business requirements only

Rely heavily on auto-scaling by setting the minimum provisioned TPS low unless it negatively impacts your throughput / latency targets

Consider using batch recommendations when the use case aligns with a downstream batch process such as email marketing. Since batch recommendations run against a solution version, they do not require a campaign. Note: Batch recommendations are only available in custom recommendation datasets.

The Amazon Personalize Monitor project provides some cost optimization features for optimizing campaign provisioning as well as alerting and deleting idle/abandoned campaigns.