How Uber Optimizes the Timing of Push Notifications using ML and Linear Programming

Vinay Sharma, Rémi Torracinta, Giacomo Lamberti, Britton Overall
9 min readintermediate
--
View Original

Overview

The article discusses how Uber optimizes the timing of push notifications using machine learning and linear programming. It highlights the challenges faced with push notifications and introduces the Consumer Communication Gateway (CCG) as a solution to improve user experience and notification relevance.

What You'll Learn

1

How to implement a centralized intelligence layer for managing push notifications

2

Why linear programming is effective for scheduling push notifications

3

How to use machine learning models to predict user engagement with notifications

Prerequisites & Requirements

  • Understanding of machine learning concepts and linear programming
  • Familiarity with data storage solutions like MySQL and Kafka(optional)

Key Questions Answered

How does Uber optimize the timing of push notifications?
Uber uses a centralized system called the Consumer Communication Gateway (CCG) to manage the quality, ranking, timing, and frequency of push notifications. This system employs machine learning models and linear programming to determine the optimal schedule for sending notifications based on user preferences and engagement predictions.
What challenges did Uber face with push notifications?
Uber faced issues such as sending notifications at inappropriate times, lack of personalization, and conflicting messaging. These challenges led to increased manual effort for marketing teams and negatively impacted user experience.
What is the role of the Schedule Generator in Uber's system?
The Schedule Generator fetches all buffered pushes for a user from the inbox and determines the optimal schedule for them. It reschedules previous pushes based on the latest incoming notifications to maximize relevance and engagement.
How does Uber score push notifications for delivery?
Uber employs a machine learning model that predicts the probability of a user making an order within 24 hours of receiving a push notification. This score helps determine the value of each push-time pair, optimizing the delivery schedule.

Key Statistics & Figures

Volume of push notifications sent per month
billions
By the end of 2020, Uber had reached billions of notifications sent monthly.
Time saved per team member per week
15 hours
Manual control of conflicting messaging added upwards of 15 hours of work per week for each marketing team member.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Database
Mysql
Used for storing push notifications in a sharded array of datastores.
Messaging
Kafka
Used for buffering push-time assignments to ensure smooth delivery.
Machine Learning
Xgboost
Employed to predict the conversion probability of users receiving notifications.
Workflow Management
Cadence
Provides fault-tolerant processing of scheduled tasks.

Key Actionable Insights

1
Implement a centralized communication system to manage notifications effectively.
By centralizing notification management, teams can reduce conflicts and improve user engagement, leading to a better overall experience.
2
Utilize machine learning to predict user behavior and optimize notification timing.
Machine learning can enhance the relevance of notifications, ensuring that users receive timely and personalized messages that increase engagement.
3
Incorporate linear programming to solve complex scheduling problems.
Linear programming allows for efficient scheduling of notifications, maximizing user engagement while adhering to constraints such as frequency caps and expiration times.

Common Pitfalls

1
Failing to personalize notifications can lead to user disengagement.
Without personalization, users may find notifications irrelevant, leading to opt-outs and decreased engagement.
2
Overloading users with notifications can cause frustration.
Sending too many notifications in a short period can overwhelm users, resulting in negative experiences and potential opt-outs.

Related Concepts

Machine Learning In Marketing
Notification Systems
User Engagement Strategies