Discovery+ Personalization with Amazon Personalize

Portfolio Case Study | AI/ML on AWS | Streaming Personalization

1. Business Case

Discovery+, a leading entertainment and streaming company, aimed to offer a seamless and deeply personalized viewing experience to its diverse user base. Facing fierce competition from global streaming giants, the company set an ambitious goal: to enhance viewer engagement and retention by providing smart content recommendations tailored to individual preferences. This objective demanded advanced machine learning capabilities and scalable infrastructure.

Amazon Web Services (AWS) provided Discovery+ with a powerful suite of tools and services to achieve this transformation. Using Amazon Personalize—a fully managed ML service—the company was able to build real-time recommendation engines without needing extensive ML expertise. AWS helped Discovery+ simplify its infrastructure, accelerate its time to deployment, and most importantly, improve the quality and personalization of content delivery for millions of users globally.[1]

By integrating AWS Personalize into its platform, Discovery+ moved away from static, rule-based systems toward dynamic models that learn from user behavior. This shift not only improved user satisfaction but also contributed to key business metrics like click-through rate (CTR), watch time, and content discovery effectiveness. These improvements align perfectly with Discovery+'s goal of delivering intuitive, engaging, and relevant entertainment to its audience across genres, devices, and regions.

2. Algorithms & Data Structures

The core intelligence behind Discovery+’s recommendation engine lies in a combination of machine learning algorithms and efficient data structures. These help understand what the user likes, predict future preferences, and serve relevant content instantly. Let’s break down each component:

Funny animation

🔹 Collaborative Filtering

This is the heart of modern recommendation systems. The idea is simple: if two users watched similar shows before, they might enjoy similar shows in the future. It uses a user-item interaction matrix (like a giant Excel sheet) where rows are users, columns are items (videos), and cells record interactions (like a rating or watch event).

Funny animation

🔹 Matrix Factorization

Since the user-item matrix is sparse (mostly empty), we "compress" it into two smaller matrices using a technique called matrix factorization. One matrix represents user preferences, and the other represents item features.[2]

Reference: Matrix Factorization - TowardsDataScience

🔹 Nearest Neighbor Search (k-NN)

When new users or items are added (cold start problem), we can’t use past data. Here, k-nearest neighbor (k-NN) algorithms come to the rescue: [3]

Reference: Nearest Neighbor Search - scikit-learn

🔹 Ranking Algorithms (Learn-to-Rank)

It's not enough to know what the user might like—we also need to rank content in order of relevance. This is where ranking algorithms come in. [4]

Reference: Bayesian Personalized Ranking - PapersWithCode

🔸 Summary: Why These Algorithms Work Together

🧠 Backend Data Structures Used

💡 Real Amazon Personalize Runtime API Usage

This Python snippet shows how Discovery+ would fetch recommendations using Amazon Personalize’s API:

import boto3

# Create runtime client
runtime = boto3.client('personalize-runtime')

# Request recommendations for a user
response = runtime.get_recommendations(
  campaignArn='arn:aws:personalize:region:account-id:campaign/DiscoveryCampaign',
  userId='user123'
)

# Print top item recommendations
for item in response['itemList']:
  print("Recommended Item ID:", item['itemId'])
[1]

Internally, this fetches recommendations based on the user’s historical interactions. The logic (matrix factorization, collaborative filtering, etc.) is abstracted away, but this gives you real-time results with low latency.

Reference: Amazon Personalize Documentation

3. Models & Figures

The architecture used by Discovery+ demonstrates how cloud-native services simplify AI/ML deployment:

Funny animation

Explanation: Users interact with the app, which triggers an AWS Lambda function. This function calls the Amazon Personalize API to get real-time, personalized content. The training data is periodically updated from Amazon S3 and DynamoDB.

ML models are trained automatically on historical interaction logs. Amazon Personalize manages model retraining, evaluation, and deployment seamlessly.

4. Efficiency Analysis

The transition from a rule-based recommendation system to a machine learning-powered engine delivered the following improvements:

Metric Before (Rule-Based) After (Amazon Personalize) Detailed Reason
CTR (Click-Through Rate) 1.8% 5.6% Rule-based engines recommend based on popularity, leading to irrelevant content. Amazon Personalize adapts to user interests using behavioral signals and collaborative filtering, significantly improving user engagement.
Latency per Recommendation 350ms 80ms Static lists stored in relational databases have slower access. Amazon Personalize uses optimized, distributed infrastructure and APIs, reducing the time to respond with recommendations.
Development Time 3 months 2 weeks Manual ML pipeline development requires setting up infrastructure, model tuning, and monitoring. Amazon Personalize automates training, deployment, and scaling, reducing the engineering effort.
Scalability Manual updates, region-specific Global, Real-time, Scalable Legacy systems require manual scaling and regional tuning. Amazon Personalize automatically scales globally and handles real-time predictions across millions of users without configuration overhead.

5. Story, References & Connection

Streaming platforms like Netflix, Hulu, and Discovery+ live or die by their ability to recommend the right content. Personalization ensures that users discover relevant content without effort. This case shows how AI is used not just for automation, but for creating better digital experiences.

Why AWS? AWS provides all the infrastructure, tools, and automation needed for ML/AI deployment at production scale. Discovery Inc. leveraged this to focus on their core problem rather than worrying about servers, scaling, and tooling.[1]

References:

  1. Amazon Personalize Documentation
  2. Matrix Factorization - TowardsDataScience
  3. Nearest Neighbor Search - scikit-learn
  4. Bayesian Personalized Ranking - PapersWithCode

6. Inference

The integration of Amazon Personalize helped Discovery+ achieve its goals of improved user experience and increased engagement. By using AI/ML in the cloud, they could iterate faster, deploy reliably, and personalize at a scale previously not possible.

Future Scope: Adding contextual bandits, sentiment analysis from user reviews, and edge deployment using AWS IoT Greengrass could further refine the experience.