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.
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:
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:
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.
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.
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.
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.
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.
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:
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.
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:
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.
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.
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:
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.
Nexus Protocol, the Driving Force Behind Xianyu's Integrated Development
Xianyu's Flutter Image Optimization: From Native Code to Advanced Technology
56 posts | 4 followersFollow
Alibaba Developer - April 26, 2022
Alibaba Clouder - February 2, 2018
GarvinLi - January 18, 2019
Alibaba Clouder - October 10, 2018
Alibaba Cloud Community - April 20, 2022
Alibaba Clouder - July 27, 2020
56 posts | 4 followersFollow
An intelligent image search service with product search and generic search features to help users resolve image search requests.Learn More
OpenSearch helps develop intelligent search services.Learn More
A messaging service that covers the globe, Alibaba SMS provides convenient, efficient, and intelligent communication capabilities that help businesses quickly contact their customers.Learn More
More Posts by XianYu Tech