Curating your Customer Journeys with Amazon Personalize
Retailers and eCommerce companies from around the world are always looking for ways to individualize product and content recommendations in order to maximize the value they provide to their customers. If you think of a brand that has set the bar high for curated recommendations, there’s one name that immediately comes to mind – Amazon.com. As part of their continued customer obsession journey, AWS has built a suite of services to help retailers leverage Amazon’s decades of experience serving retail customers around the world. One of these services is Amazon Personalize, which uses machine learning algorithms to help developers easily and quickly deploy cutting-edge personalization capabilities into their applications.
What is Amazon Personalize?
Amazon Personalize is a new service that takes Amazon’s deep learning personalization algorithm that was developed for Amazon.com, and makes it available for other customers to use.
Previously, a lot of people had been building their own personalization/recommendation engines using cohorts or K-means clustering. Amazon spent several years going through and creating a deep learning algorithm for their own website and they’ve now made that available for anybody to use within their own system. You can use Amazon Personalize if you’re selling goods or you have a website where you are offering videos or other products that you really want to recommend to customers and visitors. Amazon Personalize can be leveraged using tools you’re probably already familiar with, like straight from the command line interface in your AWS account or you can write Python tooling around it with the boto3 libraries.
Importing Data into Amazon Personalize
Amazon has made it fairly simple for you to import your data. They have an expected format and schema that you need to create for the data that is read into Amazon Personalize, and then you just put a .csv file matching that format into your S3 bucket to launch Amazon Personalize using that data.
Using Real-Time Data
Amazon Personalize allows customers to use real-time data as well as historic data. After you input historic data which will train your model, you will be able to use the model with real-time data on your website. When people log in, they will be able to see personalized content and get that personal touch through recommendations that they feel are of interest to them.
Minimum Data Requirements
As with any machine learning algorithm that you are going to train, you will need a minimum amount of data and interaction to build a model that can help you find what people will be seeing and how the personalization works. So you will need to have at least 1,000 records that are in there – items that you’re selling, videos or things that you’re going to be distributing. You’ll also need to have at least 25 unique users that have had at least two interactions in that environment. That way you can do the classification and grouping together so that they know what other people bought and things of that nature.
Is a Machine Learning background required?
It helps if you have a Machine Learning background, but it isn’t a requirement. Amazon has put together several prescribed templates already which you can test with your data, and see what happens when you do. They have also developed an AutoML algorithm that will look through your data to try and train itself. You can then go back and look at the data and compare it to your real data, verifying that the recommendations provided follow real correlations between products purchased. Something AWS is doing with Amazon Personalize is that they’ve developed the Catalyst program, working with partners like Onica to help fastrack people using Amazon Personalize and to get it out into the market.
Building a recommendation algorithm vs. utilizing Amazon Personalize
Depending on the size of your catalogue and the complexity you are looking for, some of the simpler algorithms can be developed fairly quickly – potentially in a 6-week POC if built with cohorts and K-means clustering.
Amazon Personalize is built to try to get you done in a week or two with some customization. This helps significantly cut down on the time that you would have spent developing, and is a lot faster to go to market with a very complex recommendation engine with a deep learning background built with Amazon Personalize. However, if you have a very simple use case, this may be overkill, especially if you don’t have enough users and a large enough catalogue.
Evaluating the Recommendations from Amazon Personalize
Amazon Personalize has several built-in metrics that you can study to make sure that you have a high correlation with the products that it’s recommending. It is also advisable to do some self-evaluation, looking at what it recommends and what it’s telling the customers to recommend. You can play around with different algorithms that are built-in and observe what the mix of recommendations will be from those algorithms. It is important to always go back and verify that it has captured your dataset and made the recommendations properly. Otherwise, you may want to go back and add more items when it’s undergoing training or add more people and evaluations – just a little bit of manual work needed to ensure that you are getting a high quality recommendation engine.
If you have more questions, Onica is part of the catalyst initiative for Amazon Personalize. Get in touch with us to learn how Amazon Personalize can help you leverage machine learning to provide relevant and high-conversion recommendations to your customers.