By Jianxin from Xianyu Technology
Push notifications matter a lot to Xianyu’s users. For most products on Xianyu, there is only one item in stock, so they are time-sensitive. Therefore, users want to be notified as soon as possible when the sellers they follow post new products, the prices of products they have browsed are reduced, or a number of cost-effective products are available to them. The Push system has become an important link between Xianyu and its users.
From the perspective of a technical engineer, this article introduces the evolution of Xianyu’s Push system from version 1.0 that supported offline manual delivery to version 2.0 that features intelligent personalization. The article details the problems encountered during this evolution and the selection of technical solutions. We hope to share some ideas with you on solving similar problems.
1. Xianyu Push 1.0
After Xianyu decided to go all-in for “mobile”, it became necessary for the platform to give users high-quality content related to them so that they can quickly find the goods they want and the content they are interested in. The platform was in a dire need of a Push product to ensure that high-quality content could reach users in the form of push notifications and to improve the user experience. Against this backdrop, Xianyu Push 1.0 was developed based on the following ideas:
- Get the list of push users through computing.
- Get high-quality push scenarios that are strongly correlated to users through computing and get the user list based on the scenarios.
- Pick out the target groups for vertical businesses based on conditions such as user profiles.
- Filter each user’s list of scenarios based on scenario fatigue.
- Perform global optimal selection on each user’s list of scenarios and select the scenario with the highest click-through rate (CTR) as the target scenario.
The Xianyu Push 1.0 solution was simple and straightforward with a clear process. The offline process made monitoring, alerting, and troubleshooting easy. Xianyu Push 1.0 met the business needs at that time and ran stably after it went online. The core architecture and process of Push 1.0 did not change much for a long time. However, with the development of business, the following drawbacks of Xianyu Push 1.0 began to surface:
- A lack of timeliness in getting the list of push users through computing
- Only a few available message card styles
- Monotonous trigger timing of push notifications
- Insufficient push scenarios
Due to these problems, the CTR of push notifications could not be increased further, hitting the ceiling of Push 1.0. To tackle these problems, we tried to improve and upgrade Xianyu’s Push system from several aspects and finally reconstructed the Push system.
2. Xianyu Push 1.1
To provide a better user experience and diversify push scenarios, we gave priority to aspects such as message styles, trigger timing, and user scenarios when we tried to optimize and extend the existing Push solution. The optimized items included the upgrade of message feed streams, personalization of push time, and real-time push.
2.1 Upgrade of Message Feed Streams
Push notifications end up in the client’s message panel, one of the most frequently viewed panels on Xianyu. In the beginning, only the text and image message styles were supported. For users, these message styles exposed insufficient, effective information, and seemed monotonous. Therefore, we upgraded the way messages were displayed. By displaying messages through feeds, we worked to expose more effective information, enrich message styles, and create a message panel oriented to user experience. After going online, the upgraded feed streams delivered significant performance. The content users are interested in was more than the exposed content and both the UV CTR and the rate of next-day returning users were greatly increased.
The first is a feed stream message, followed by an image message. In comparison, the feed stream message exposes more effective information.
2.2 Personalization of Push Time
Xianyu’s Push 1.0 solution mainly supported the scheduled batch pushing. In actual running, a batch of push notifications was sent to target users regularly. The trigger timing of push notifications was monotonous, resulting in concentrated traffic and higher system stability risks. Also, unified trigger timing did not work well because it bothered some users.
We optimized the trigger timing of push notifications by using algorithms to predict the trigger timing for each user based on user behaviors. Algorithms divided users evenly into one day and sent push notifications to them during periods when they were active. This reduced disturbance to active users and enabled the more reasonable and healthier grouping of users reached by push notifications.
2.3 Real-time Push
The Push 1.0 solution covered user-related offline scenarios but did not cover enough scenarios generated by real-time user behaviors. These scenarios are more real-time than offline scenarios and more important to users. To address this problem, we increased the coverage of real-time scenarios. We abstracted user behaviors into a relational model and used If This Then That (IFTTT) as the overall trigger mechanism of the system. Changes in user behaviors on one side of the relationship could trigger outreach to the other side. This type of scenario was more real-time and strongly correlated to users, increasing the diversity of push scenarios, and enhancing user stickiness. After the real-time push scenarios went online, the CTR of push notifications more than doubled compared with the CTR of push notifications in offline scenarios
So far, we have introduced our efforts to improve and enhance the functions of Push 1.0. These capabilities also supported more scenarios and businesses. Eventually, all of the optimizations combined to upgrade Xianyu’s Push system to Push 1.1.
3. The Present of Xianyu Push
The launch of Xianyu Push 1.1 greatly enhanced the diversity of push scenarios and user experience. As we gained an increasingly deep understanding of push and our users, we found that we could further improve the following aspects:
- The platform perspective was absent. The existing optimization was more point-to-point. We needed to connect these points into a line from the perspective of Xianyu’s Push platform to form a joint force, which could produce the effect that one plus one is greater than two.
- The nature of the existing Push process of Xianyu was still offline computing. Algorithms were unable to perform more real-time personalization and global optimal selection. This affected the user experience.
- The scenario configurations were not flexible enough, and the cost for adding new scenarios was high, which slowed down the progress of enriching push scenarios.
For these reasons, we finally decided to reconstruct Xianyu’s Push system and create Hermes, a real-time and intelligent delivery platform for Xianyu Push. The name “Hermes” originates from Greek mythology. Hermes is smart (intelligent), agile (fast), and versatile (multiple types of outreach), which best fits the mission and vision of the real-time intelligent delivery platform of Xianyu Push.
3.1 Logical Architecture
The architecture of Hermes is completely different from that of Xianyu Push 1.0. Focusing on real-time, Hermes achieves real-time or quasi-real-time in key sections such as preparing materials, performing global optimization through algorithms, and pushing notifications. From the platform perspective, Hermes is divided into three modules: the configuration center, matching center, and task center. The modules can define an interactive data protocol for decoupling and are not strongly dependent on each other. The functions of the three modules are:
- Configuration center
The configuration center is responsible for maintaining the core data models of the platform and providing page operations for the business side to configure push scenarios and materials, which lowers the access cost of the business side. The configuration center also synchronizes the configuration data (full offline configuration data and real-time incremental data) to the algorithm model. The configuration data is the basis of matching.
- Matching center
The matching center is also called the algorithm-based optimal selection center. The matching center is responsible for training algorithm-based optimal selection models and providing personalized filtering for each user based on scenarios and material configurations. This center sorts material based on their historical CTRs then recalls the material and personalized content that is most likely to interest users based on their recent behaviors.
- Task center
The task center is responsible for the trigger timing and outreach of push notifications. The task center supports scheduled triggering, real-time triggering, and personalized triggering. The center appropriately uses methods of triggering push notifications and selects different triggering methods for different businesses and scenarios to help the businesses achieve their goals. The center also controls the outreach process appropriately to facilitate the platform in developing an outreach plan that includes the trigger time and the volume of messages to be pushed. This ensures that Hermes and downstream business systems do not suffer excessively high instantaneous pressure while business goals are achieved.
After the launch, the Hermes platform has produced notable effects in the following aspects:
- The CTR of push notifications has seen a double-digit increase.
- The user scenario coverage has doubled.
- The number of daily active users (DAUs) activated by clicks of push notifications has also exceeded the highest level in history.
This article introduces the development history of Xianyu’s Push system from version 1.0 (that supported offline computing), to version 1.1 (that features multiple optimized functions), to today’s Hermes real-time intelligent delivery platform. Xianyu’s Push system at each stage has met the business development needs of that period. It is our unceasing pursuit of a better user experience that generated Hermes. We hope that our story can help you understand the business background of Xianyu Push’s development and our considerations in selecting a technical solution. We will post another article to detail the Hermes solution, including the system architecture, selection of technology, performance optimization, and measures to guarantee stability.
Please stay tuned for more information.