Notification Delivery via User Ranking and Batching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Social networking systems face challenges in efficiently delivering time-sensitive notifications to a large number of users, particularly in ensuring that relevant content reaches the desired audience quickly and effectively, given the unpredictability of content availability and user interest levels.
Innovation Solution
A notification system that identifies candidate recipients based on their interest and interaction history, prioritizes them, and delivers notifications in multiple rounds through a clustered computer system for parallel delivery, verifying user appropriateness and controlling the pace of delivery based on content status and feedback.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If notifications are delivered to a large number of users quickly, then the notification speed and timeliness are improved, but the system complexity and resource consumption increase
Solution Approach 1:
The notification system is divided into multiple independent notification services distributed across a cluster of computer systems. Each node in the cluster can independently process notifications, allowing parallel delivery to multiple users simultaneously. This segmentation enables the system to scale horizontally, maintaining high delivery speed while managing complexity through modular architecture.
Solution Approach 2:
Candidate recipients are pre-identified and prioritized based on their interest and interaction history with the spotlight content item before notification delivery begins. This preliminary filtering and ranking process reduces the computational burden during actual notification delivery, as the system only needs to send notifications to pre-selected candidate recipients rather than evaluating all users in real-time.
2Reliability
If notifications are delivered to all candidate recipients, then the coverage and effectiveness are improved, but the delivery time and resource usage increase
Solution Approach 1:
The system applies different delivery priorities to different candidate recipients based on their local characteristics such as interest level and interaction history. High-priority candidates receive notifications immediately, while lower-priority candidates receive notifications with slight delays. This differentiated approach ensures that the most effective notifications are delivered quickly while maintaining overall coverage.
Solution Approach 2:
The system delivers notifications to a prioritized subset of candidate recipients rather than attempting to notify all possible users simultaneously. By focusing resources on the most likely engaged users first, the system achieves effective coverage with reduced delivery time and resource consumption, accepting that not all candidates will be notified within the same time window.
3Measurement precision
If user data analysis is performed to identify and prioritize candidate recipients, then the notification accuracy and relevance are improved, but the processing time and computational resources increase
Solution Approach 1:
User data analysis, including interest profiling and interaction history evaluation, is performed in advance to create prioritized candidate recipient lists before notification delivery. This pre-computation of user characteristics and scoring enables rapid notification delivery without real-time analysis, as the system simply matches notifications against pre-established candidate lists with associated priority scores.
Solution Approach 2:
The system creates simplified copies or representations of user profiles and interest data that can be quickly queried and matched against notification content. Instead of performing full user data analysis for each notification, the system uses pre-generated candidate recipient lists with embedded priority scores, enabling fast matching while maintaining accurate user understanding.
Data Source
AI summary
In one embodiment, a method includes one or more computing devices ranking multiple users of a social-networking system based on one or more criteria associated with a spotlight content item, wherein the spotlight content item is associated with a node in a social graph associated with the social-networking system, and wherein at least one of the criteria is based on social-networking information for each of the user, verifying the ranked users, wherein the verifying comprises confirming or eliminating each of the ranked users based on recent interactions by the ranked users with social-networking information corresponding to the node associated with the spotlight content item, and sending a notification about the spotlight content item to each of the confirmed users in accordance with a batching protocol, wherein the batching protocol is determined based at least in part on rankings for each of the confirmed users.


