Amplitude Audiences: Behind the Algorithm

Scott Kramer

Sr. Staff Engineer, Amplitude

people reacted
5 -minute Read,

Posted on September 28, 2022

Learn how Amplitude leverages machine learning via Amazon Personalize to power personalized recommendations at scale

Personalization is a priority for many product and marketing teams. Serving quality recommendations to customers can increase engagement, reduce churn, and provide cross-selling opportunities. According to a 2019 survey by McKinsey, today’s personalization leaders have found proven ways to drive 5 to 15 percent increases in revenue. However, only 15% of CMOs believe their company is on the right track with personalization.

This disconnect is due to a combination of technical and cultural problems that most organizations underestimate. First, you need to collect data from across the customer journey. It’s a complex data engineering process that involves many challenges, such as identity resolution, event tagging, and data cleaning. Next, you need to hire machine learning (ML) experts to build a model that can provide accurate 1:1 personalization. And once you deliver personalized experiences to your customers, the work has just begun. You need to have analytics and experimentation systems in place to measure the impact of the personalized experiences. Your engineering teams need to stay aligned with your product and marketing teams to continue to improve the personalized experiences collectively. With so many steps involved, it is no wonder that until now, only the largest technology companies have been able to reap the benefits of personalization.

Enter Amplitude

Amplitude is a digital analytics platform that powers growth through self-serve product analytics, experimentation, and personalization. Using the Audiences product, customers can perform analytics-driven audience segmentation to build precise audience lists and sync these lists to their stack to drive marketing campaigns and product personalization. In addition, Audiences allows customers to go beyond rules-based segmentation and unlock 1:1 experiences with recommendations.

Recommendations allow product managers and marketers to achieve one-to-one personalization without requiring ML expertise. Within the Amplitude UI, customers can point and click to create and edit recommendations and then serve personalized experiences to their end users through a simple UI.

Amazon Personalize: The AI Under The Hood

Amplitude’s recommendations are powered by Amazon Personalize – a service offered by AWS that enables developers to build applications with the same machine learning technology used by Amazon for real-time personalized recommendations. Amplitude provides a streamlined way to create self-service recommendations with minimal technical resources by eliminating steps that typically require engineering effort when integrating with Personalize. Amplitude automates data collection, abstracts away the management of AWS resources, and provides experimentation and analytics out of the box.

Creating A Model

When creating an ML model, one needs to complete several steps before the model’s results can be utilized: data extraction, model training, and ing. Let’s look at how Amplitude uses Amazon Personalize to empower customers to create, train, and serve their recommendations model faster than ever before.

Data Extraction

The first step toward creating an ML model is to collect the data needed for training. Building a data pipeline from scratch often takes companies months of engineering effort and incurs ongoing maintenance costs. With our Nova AutoML system, Amplitude can automatically forward the data needed to train the model in Personalize within minutes, drastically reducing the required effort by orders of magnitude.

When creating a recommendation in Amplitude, customers select their desired outcome and the event property representing the item ID they want to recommend. Every two hours, Nova AutoML scans through the data sent to Amplitude and forwards any events containing this event property into an interactions dataset in Personalize. The interactions dataset includes the history of items that each user has interacted with. Personalize uses these records during model training to predict which items each user will interact with next. For example, for a video streaming platform providing movie recommendations, the model can use the interactions dataset to learn which movies are frequently watched together and recommend the second movie to the user after they have finished watching the first movie.

Additionally, Amplitude automatically forwards user properties (Country, Device Type, etc.) that have been sent to Amplitude to Personalize as a users dataset. The users dataset contains the metadata about your users that Personalize will also use to train the model. For example, if the device type is in the users dataset, then the model may learn that users on Android watch different movies than users on iOS.

Model Training

Once the data is imported into Personalize, Amplitude then uses the user-personalization recipe to provide personalized recommendations. The user-personalization recipe utilizes a hierarchical recurrent neural network to predict the items each user is most likely to engage with next. Personalize automatically tests different item recommendations, learns from how users interact with these recommended items, and boosts recommendations for items that drive better engagement and conversion.

Audiences Recommendation Overview

The Amplitude UI provides some key training statistics so that customers can ensure the recommendation produces quality results before leveraging it in production. The accuracy bar in the image above represents the NDCG@5 from training. Additionally, the UI provides a list of the most commonly recommended items by rank and how often they are recommended to ensure the recommendation has acceptable diversity. Amplitude re-trains each recommendation daily to ensure model freshness.

Model serving

Customers can access the recommendations through the Amplitude Profile API. The Profile API utilizes the Amazon Personalize Runtime to provide the requested end-user with up-to-date recommendations. The Profile API has a median response time of less than 50 ms allowing in-product personalization without noticeable latency for the end user.

A critical component of a personalization strategy is running experiments to measure the impact of the personalization. Amplitude’s recommendation engine allows customers to set a control percentage for the recommendation seamlessly. Amplitude will then automatically record an exposure event each time a user in the treatment or control received a recommendation, allowing customers to easily create charts within Amplitude’s analytics product to measure the impact of the recommendations.

Audiences Recommendation Impact

In this post, we’ve discussed how Amplitude’s recommendations feature combines the machine learning capabilities of Amazon Personalize with the self-serve capabilities of Amplitude to provide a best-in-class recommendations engine that product managers and marketers can use with minimal engineering effort.

Want to see Amplitude Audiences in action? Request a demo.

Get started with Amplitude

Scott Kramer

Scott Kramer is a senior staff engineer at Amplitude who focuses on delivering scalable machine learning solutions for digital analytics. Previously, he was a founding engineer and the head of machine learning at ClearBrain, which was acquired by Amplitude in 2020. Scott graduated Magna Cum Laude from the University of Michigan and received a Master's degree in computer science from the University of Chicago.

More from Scott

Inside Amplitude