One, foreword
The goal of Push is to activate and activate, not only to promote user engagement, but also to save silent users.
Users will experience a life cycle of “new users, active users, silent users and lost users” on App, which corresponds to four stages of “installation, common, unused and uninstallation”.
What Push does is to keep the user in the “active” period as long as possible, and pull the user in the “silent” period as long as possible to “active”, which explains why the goal of Push is to promote and pull.
Push is one of the ways that App can actively reach users, and its low cost makes it the best choice to reach users. However, if Push causes poor user experience in intimate contact with users, it will lead to user loss and even App uninstallation.
Therefore, while achieving its goals, it should also take account of user experience and seek a balance between the two as far as possible. Therefore, Push closing rate and App uninstallation rate are also important negative feedback indicators that need to be paid attention to.
How to prevent users from closing Push permission or even uninstalling App due to Push; How to slow down the user life cycle; How to choose the right scene, content, timing and frequency that can be accepted and consumed by users is exactly what the information push system needs to consider and solve.
Two, push ability requirements
Based on the above problems, the capability requirements of push are relatively clear, and the following points need to be focused:
– Target group of push
Not all push content is universal. When users receive too many such push content with weak relevance and meaningless, they will be bored, which will lead to users closing push and even uninstalling the application. Therefore, it is very important to select the right target group for push content with weak universality.
– Timing of push
Not all push content is suitable for users to reach them immediately regardless of time. Push content with low timeliness and importance should be avoided during users’ rest periods to avoid affecting users’ normal life.
- Push frequency control
If push is done without restraint, it will become a new “SMS bombing”, which not only seriously affects the user’s product experience, but also seriously affects the user’s daily life, making the user have aversion, and the possibility of users closing push or even uninstallation of the application is far higher than that of aimless content push.
- Push content diversity
It is human nature to avoid pushing users with a single content type, which requires that the scenes covered by push should be as adequate as possible, and users’ curiosity should be satisfied in addition to their daily needs.
To sum up, it is not difficult to find out how to do a good job in push, how to meet their own goals of promoting and pulling live, while giving consideration to user experience (that is, reduce the closing rate and uninstallation rate of the two negative feedback indicators).
Iii. Overview of push system platform
3.1 Ability of push system platform
Based on the above description, we can summarize the capabilities of the push system platform:
- Touch up to speed
This is the core requirement of push, not only for the application of overall goal effect and brand building, but also applied to undertake social responsibility requirements, in view of the major incident, should contact with the quickest speed of users, for users to recognize and respond in a timely manner, this kind of content mainly, such as earthquake, tsunami, extreme weather this kind of natural disaster early warning, Or such as some vicious cases of escape, processing notice, or the greater impact of domestic and international current politics, military and other content.
- The crowd is delineated
In an environment with a large user base, users can be accurately delineated according to channels, devices, LBS, user portraits and other information. However, it should not be too accurate, otherwise it will cause insufficient coverage of users and affect the target effect of push.
- personalized
At present, information overload exists in all Internet applications, and there are thousands of people in real life. This requires the system to accurately push information according to users’ interests, so as to meet users’ daily consumption needs and further enhance users’ consumption desire.
- diversity
Through content diversity, fully meet the needs of users in different scenarios, such as the morning go to work in front of the traffic congestion and weather forecast class content, non-working time when local, interests, making information content, such as before the holiday tourism, cuisine and web celebrity content, such as life like punching, as well as the application of forward comments, thumb up, such as interactive class content.
3.2 Design of push system platform
Starting from the capabilities required in 3.1, push should be graded first, so as to define the timeliness demand and personalized demand of push:
- Level 1 push
Strong timeliness of the content, with the fastest speed to reach the target audience users.
- The secondary push
On the basis of strong timeliness requirements, add personalized requirements, that is, need to consider the relevance of content and audience users.
- Level 3 push
Weak time-sensitive content, this kind of content only focuses on the association with audience users, including local content (the association with audience users in LBS), personalized content (the association with audience users in interest), interactive content (the association with audience users’ own behavior in the App), etc.
According to the classification of push level, the functional requirements of each module in the push system platform can be clearly defined. Which modules are composed of the push system platform, as shown in the figure below:
Figure 3-1 Overall structure of the push system platform
The whole push system is divided into four layers vertically from top to bottom. “Content layer” is the entrance of the platform, responsible for the triggering of most push and the production of push content, and is the initiator of the whole system platform. “Recall prediction layer” is the computing engine of the platform, scoring recall and prediction between the person in charge and the article; “Push decision layer” is the core part of the platform, which controls the selection, timing and frequency of push. It not only takes on most of the effects of the target, but also shoulders the responsibility of balancing user experience. The “distribution control layer” is the cornerstone of the platform. On the basis of ensuring the arrival of each push contact channel, it also needs to take into account some basic logical guarantees, such as historical deduplication (because the distributed data is aggregated by multi-channel data streams, the unified final historical deduplication here can ensure the avoidance of repeated push). And the number of items per user control (this is based on the current several major vendors push the number of items limit and balance the user experience of the strategy).
Among them, “Edit operation push tool”, as can be seen from its name, mainly serves the daily operation needs of editing students, and editing students can configure relevant information push on the tool. Currently, the push tool supports flexible configuration to generate different push templates, which are applicable to different business lines and different push scenarios, thus reducing the configuration complexity of editing students and improving push efficiency. Editors can push messages at all levels on this tool, which are mainly emergency content with strong timeliness. Because the machine has its own limitations in capturing emergency events, it cannot meet the requirement of speed first for such content.
“Personalized push audit machine tools”, mainly in the service of the recall forecast layer of push prediction module “recall” personalized machine, review the homecoming on the tool for all incoming content security audit (push is take the initiative to contact the user, on the content security requirements more than any other scenario), to push to produce rich and reliable guarantee of material library, For recall use. However, automatic machine push is a periodic offline task, and relevant recall is made according to the user’s interest. Therefore, the content that can be pushed after review should be low timeliness, otherwise, the problem of pushing old news will affect user experience.
As the core modules of the whole push system, “recall prediction layer” and “push decision layer” will not be described here and will be described in detail in the next part.
Iv. Introduction of main modules
4.1 edit recall prediction module pushed by operation
Figure 4-1 Edit detailed design of operation push recall prediction module
This module undertakes the push calculation task of editors’ daily operation, covering the push scenes at level 1, level 2 and level 3, of which level 1 and level 2 are the main ones, because such time-oriented push cannot be achieved temporarily by machines, while level 3 push is mainly personalized content with weak timeliness. And “Personalized machine recall prediction module” together constitute a complete personalized push scene.
The recall subject of this module is content, and the recalled object is users, which is another major difference from “personalized machine recall prediction module” in addition to timeliness, which means that personalized content with weak timeliness here is more likely to become popular articles.
In order to meet the situation that time-sensitive content is mainly pushed, that is, the calculation is required to be as fast as possible, so as to reach the needs of users faster, the required user data will be preprocessed by fragmentation, so as to avoid a server processing too many users, resulting in the decrease of computing speed. By each user shard data sets of independent computing tasks, to achieve a push to the goal of parallel computing in multiple service process at the same time, and in each individual in the service process, within the shard data set on the user is in the form of multithreading concurrent computing, tried their best to improve every time to push the task force. In addition, considering that tasks of all push levels may be calculated at the same time, the thread pool in the server process selects priority queue as the blocking queue to ensure that high-level push tasks can be guaranteed by computing resources.
Finally, the push content and the calculation results of recalled users will be written into the corresponding Kafka Topic according to the task level of push, so as to achieve the purpose of using different push strategies for tasks with different push levels.
4.2 Personalized machine recall prediction module
Figure 4-2 Detailed design of personalized machine recall prediction module
This module is only responsible for three-level push, that is, weak time-sensitive personalized push for strong relevance, including interest relevance and local relevance. The biggest difference from editorial operation push is that relevant content is recalled by users as the main body.
From the perspective of content timeliness, the content with strong timeliness is mainly weak or even non-timeliness, so in the process of review, it is necessary to eliminate the content with strong timeliness, and mark the effective time for the content with a certain timeliness, so as to avoid recall and distribution of old news, resulting in poor user experience.
Based on content timeliness is not strong and cover large user base, these two so personalized push machine adopt the way of offline computing tasks, and because the user data is stored on the Hdfs, so choose to support distributed data sets of Spark for calculation engine, as much as possible to improve task computing speed, which can support more computing rounds, Provide more personalized candidates for the subsequent “push decision layer”.
4.3 Push decision module
Figure 4-3 Detailed design of the push decision module
The “push decision layer” is the core brain of the whole push system. It not only takes on the responsibility of selecting the right and left contents to achieve the system goals, but also takes on the responsibility of balancing user experience.
Level 1 push and level 2 push strategy are relatively few, because these two push levels focus on strong timeliness, so what we need to do is to strongly reach users. The difference between level 2 and Level 1 is that we need to consider whether the current push content is in line with the current interests of users. Therefore, secondary push will lose a certain proportion of coverage of delineated users (this is mainly because relevance requirements are reduced in order to increase coverage during user delineation, so users with weak relevance to content need to be eliminated strategically to avoid withdrawing irrelevant content from users).
The key point is the strategy for three-level push, which requires more factors to be considered, so the complexity of the strategy is also higher. Compared with the first-level and second-level push, three-level push does not strongly reach users’ demands, so the push frequency is more concerned with the content of this level.
Because of the source of the triple push both edit the operation content of the classmate, also have a machine to push personalized content, there are also some trigger type of user behavior related to push content, source is relatively complex, in order to have a time window to the user push the most valuable content, this value is not only valuable to the customer, also have benefits to the system goal, at the same time consider are weak timeliness, You need to store the incoming candidates and use a competitive strategy to determine which ones are suitable for distribution.
Competitive strategy is through long-term ABtest, because of all kinds of content prediction model is not unified, so the ordering rules are not unified, need artificially limit in the rules, but also affected by the historical behavior, depending on the time of all kinds of content distribution over a period of time and quantity distribution of rights, to guarantee the diversity and the rationality of the content.
In addition, push timing and push frequency will also change dynamically in real time according to different individual users, so as to maximize system benefits and effectively ensure user experience.
V. Summary and prospect
Is a bit of information push system already had several major upgrades and changes, has covered the pushed scene, also according to user’s different dimensions on push strategy made elaborate adaptation, and on the system gains have reaped significant benefits, at the same time is also very good for the user product experience, and has gradually been projecting the system capacity in other products online, Or used by other teams in other touch scenarios.
In order to achieve better online effects, we will make further optimization in the following directions in the future:
In terms of system capability, the dynamic adjustment and flexible configuration capability of some core modules are further optimized.
Further enhance the data tracking and monitoring capability of the whole link;
Combined with the advantages of algorithm ability of a little information, further improve personalized push, and completely eliminate the dependence of push strategy on rules;
This article is from the one point recommendation system team