Consumers are becoming increasingly used to dynamic experiences for products they use. The only way to meet this demand is by leveraging data to deliver hyper-personalized experiences. Succeeding at personalization and recommendations are ways to form stronger relationships with customers and develop deeper consumer insights.
Despite the benefits, adopting machine learning can be a difficult and time-consuming process with mixed results. In this post, we will discuss our real-world use case and how Amazon Personalize can accelerate deeper insights and enable stronger customer relationships.
Problem statement
We had an inventory of a travel aggregator containing the travel history of consumers across the country.
The business use case required to be solved are
- To achieve a higher check-out ratio for the travel aggregator.
- Reduction in the discount coupons issued to the users so that specific set of coupon campaigns are targeted to specific set of customers.
Looking at the data, we need to recommend the products at a user level with their past interactions. The training data consisted of 10 million rows with more than 20 interactions per user. Using this training data, we were needed to get recommendations for every individual user.
Amazon Personalize
Amazon Personalize is a fully managed, machine learning (ML) based service that enables organizations to efficiently add real-time personalization to their application. It democratizes machine learning development by leveraging the power of the same technology used at Amazon.com, making it a hassle-free experience.
What can you do with Amazon Personalize
- Personalized, AI-enabled customer experiences with no ML expertise required
- Offer personalized recommendations to customers based on their purchase history and interests
- Overcome common problems like cold starts and address popularity biases
- Factor in evolving intent of users
- Build targeted marketing campaigns, promotions and personalized results for customers
- Improve conversion rate by leveraging the user activity data in real-time
- Contextual and scalable recommendations
- Automation and acceleration of the machine learning life cycle
Pre-processing steps
- The travel aggregator data was across multiple data sources such as transaction databases and clickstream data across channels of IOS, Android, Website data.
- With statistical analysis along with correlation between the attributes, we have selected the required attributes for model building and dropped the less correlated
- With the selected attributes, the metadata required for Personalize is pre-processed with Athena and we have generated the item id based on a combination of attributes which corresponds to a particular user. These item id’s which are created are unique to a user interaction.
The below are sample datasets of user, item and user-item interactions imported to Amazon Personalize
Experiences with Amazon Personalize
User – Personalization
- For this use case of per user personalization, we leveraged Amazon personalize feature User- Personalization recipe, this recipe takes user metadata, item metadata and user –item interaction metadata for model building and inference.
- The pre-processed datasets of user, item and user-item interaction metadata are imported to Amazon personalize.
- The first iteration of the model training is done by setting Hyper parameter Optimization as True (HPO = True) and we can also set the max number of training jobs and parallel training jobs parameters.
- After the model training, the tuned hyperparameters are set to different values and solution version metrics has been generated for different version of the model.
- We have also recorded the recency mask setting of the personalize recommendations to find whether the inference recommendations are based on historical interactions or recent interactions
- Based on the customer use case scenario, the recent interactions of the user are weighted more than the historical interactions, so the next training of the model, we have considered the following parameter settings for the model
- HPO as False, recency_mask as true, and setting the hyper parameters bptt, hidden_ dimensions values set to previous values achieved from the Auto HPO generated first model results.
- Upon the model training, the real-time inference endpoint is created and when user inference is invoked, Amazon personalize recommends a list of item-id’s for a user.
- This inference list can be filtered upon based on the availability of the transport aggregator and preferences.
Use case resolution:
Using this recipe, the per user level personalization was baked in the API of the transport aggregator which inturn enriched the user experience and aggregator check out revenue.
Similarity Model Recommendations
- Amazon Personalize offers SIMS recipe which leverages user-item interaction data to recommend items similar to a given item. In the absence of sufficient user behaviour data for an item, this recipe recommends popular items.
- We imported the user metadata, item metadata and user–item interaction metadata and trained the data using SIMS recipe. The inference endpoint is created separately for SIMS model.
Use case resolution:
Using this recipe, the transport aggregator was able to achieve and recommend users the similar items with the user behaviour
Re-Ranking of Items
- The transport aggregator was also looking for reduction in the discount coupons issued to the users so that specific set of coupon campaigns are targeted to specific set of customers.
- For this use case, Personalized-Ranking recipe of Amazon personalize was used which generates personalized rankings of items.
- Here, the list of item metadata is related to the coupon codes, we imported the item metadata and user–item interaction metadata and trained the data using Personalized-Ranking recipe.
Use case resolution:
Using this recipe, the transport aggregator was able to re-rank the coupon recommended for user based on the transaction history. This helped to achieve segregated user base with the user using coupon frequently compared to other users. Based on recommendations of the model, a targeted user campaign is run.
Inference – Amazon Personalize
- Amazon personalize supports both Real-time and batch recommendations inference.
- Real-time and batch recommendations support direct integration to the transport aggregator framework with Amazon Personalise SDK.
Significance of Amazon Personalize
- Amazon Personalize removes the barrier significantly by providing the engine that trains the model from the curated data and an easily accessible API for generating inference across the trained model by user or by item.
- The speed of model builds, and continuous model improvement are the key aspects of Amazon Personalize which helps us to deliver quick integration of models.
- Understand the user behaviour with the clickstream data and improves in giving real-time recommendations. It also helps in loading new items, users, and interactions data to the model with put_user, put_item, put_events API calls. This helps in easy re-training of the model in terms of per user level personalization with User-Personalization receipe.
Challenges faced with Amazon Personalize
- Black box model, the algorithms are fixed with specific parameters which in turn limits custom changes.
- Amazon personalize is limited to standard recipes
- Unlike User-Personalize recipe which updates the model with new clickstream data with API calls, the SIMS and Personalized ranking recipes require complete re-training of the model.
Amazon Personalize allows us to implement the use case quickly and see value from machine learning by bringing cutting-edge technology to a key business problem.
Reference
If you have any questions or suggestions, please reach out to us at contactus@1cloudhub.com
Written by : Dhivakar Sathya Sreekar Ippili & Umashankar N