Message pushing method and device, electronic equipment and medium
By analyzing historical data to establish an active user time series model, the frequency of message pushes can be determined, which solves the problem of inaccurate message push quantity in existing technologies. This enables the push of appropriate amounts of messages to users at different times, thereby improving user activity and saving resources.
Patent Information
- Application Number
- CN202211434882.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-16
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2042-11-16
AI Technical Summary
In existing technologies, the methods for determining the number of push notifications cannot reflect the impact on daily active users, resulting in the inability to achieve more effective message reminders. Furthermore, the total number of push notifications is difficult to control, which can easily lead to task backlog and resource waste.
By acquiring historical data sets for multiple target time periods, an active user time series model is established to determine the predicted active user volume and total message push volume for the unit time period to be predicted. The target message push frequency is determined based on the number of pushable devices, and message pushes are performed within the unit time period to be predicted.
This system enables the push of different numbers of messages to users at different time intervals, improving the accuracy of message reminders, saving system resources, and increasing user activity.
Smart Images

Figure CN116108261B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of big data technology, and in particular to a message push method, device, electronic device, and medium. Background Technology
[0002] Push notifications, also known as message notifications, refer to the proactive message pushes made by app developers to their users' mobile devices. Their primary function is to activate users and increase user activity. For example, messages displayed in the phone's notification bar or as red dots on app icons on the home screen are all achieved through push notifications. Because push notifications have no per-message cost, they are more widely used in the mobile internet industry compared to marketing methods such as SMS, phone calls, and emails. Figure 1 As shown, the message push processing flow in related technologies includes the following steps: Step S110: Message Push. The App developer actively pushes a message to the App user's mobile device. Step S120: No Message Received. The user may not receive the message pushed by the App developer, mainly due to reasons such as: technical channel issues, i.e., signal loss occurs at the channel, causing the message to fail to reach the user; or the user actively turns off message push. If the user disables the App from pushing messages, push notifications cannot be sent to the user. Therefore, the probability of a push message reaching the user can be measured by the arrival rate, where arrival rate = number of push messages received / total number of push messages. Step S130: Message Received. The number of messages received by the user is the number of push messages received. Step S140: Message Clicked. After receiving the message, the user can click on the message to view its details. Therefore, the probability of a push message being clicked by the user can be measured by the click-through rate, where click-through rate = number of push message clicks / number of push messages received. Step S150: No Message Clicked. In this process, the user ignores the received message and does not open the push notification. Step S160: Message Closed. After the user opens the received message to view its details, they do not click on any links within the message. Step S170: Click the link within the message. This process is the "re-linking" process. Re-linking technology (deep linking technology) allows users to click a link and directly jump to a specific page within the app, instead of the homepage displayed when the app is normally opened, and manually search for the specified page. It is a simple way to allow users to access specific pages within the app anytime, anywhere.
[0003] In related technologies, there are two ways to determine the number of messages pushed: one is to determine the overall number of messages pushed by summarizing the rules such as business regulations or vendor constraints, for example, 5 messages pushed per person per day; the other is to determine the number of messages pushed per user per day by collecting the user's personal data, for example, if user A is more active, user A pushes 10 messages per day, and user B is more inactive, user B pushes 4 messages per day.
[0004] The above methods have at least the following problems: While each user receives the same number of push notifications per day, user responses to push notifications may differ on different days. If a user feels disturbed by the frequent pushes on weekdays, they may disable the push notification channel. Furthermore, the fixed number of push notifications fails to reflect the impact of push notifications on daily active users (DAU), making more effective message reminders impossible. Moreover, method two is unlikely to achieve a globally optimal outcome. If everyone pushes at their own optimal frequency, the total number of push notifications becomes uncontrollable. In practice, constrained by the CPU resources of the underlying physical push engine, the total number of push notifications is not unlimited; an excessive number can lead to task backlog and delays. Summary of the Invention
[0005] To solve the above-mentioned technical problems, or at least partially solve the above-mentioned technical problems, embodiments of the present invention provide a message push method, apparatus, electronic device, and medium.
[0006] In a first aspect of the present invention, a message push method is provided, the method comprising: acquiring multiple historical data sets for multiple target unit time periods, each historical data set including at least: the historical number of active users in the target unit time period and the historical total number of message pushes in the target unit time period; determining the predicted number of active users in a unit time period to be predicted based on the historical number of active users in the multiple historical data sets and a preset active user time series model; determining the predicted total number of message pushes in the unit time period to be predicted based on the predicted number of active users, the historical number of active users in the multiple historical data sets, and the historical total number of message pushes; determining a target message push frequency for the unit time period to be predicted based on the number of pushable devices and the predicted total number of message pushes, the target message push frequency being used to indicate the amount of message pushes to users in the unit time period to be predicted; and performing message pushes according to the target message push frequency within the unit time period to be predicted.
[0007] In a second aspect of the present invention, a message push device is also provided, comprising: a data acquisition module, configured to acquire multiple historical data sets for target unit time periods, the historical data sets including at least: the historical number of active users in the target unit time periods and the total historical message push volume in the target unit time periods; a first determination module, configured to determine the predicted number of active users in a unit time period to be predicted based on the historical number of active users in the multiple historical data sets and a preset active user time series model; a second determination module, configured to determine the predicted total message push volume in the unit time period to be predicted based on the predicted number of active users, the historical number of active users in the multiple historical data sets, and the total historical message push volume; a third determination module, configured to determine the target message push frequency in the unit time period to be predicted based on the number of pushable devices and the predicted total message push volume, the target message push frequency indicating the amount of message pushes to users in the unit time period to be predicted; and a push module, configured to push messages according to the target message push frequency within the unit time period to be predicted.
[0008] In a third aspect of the present invention, an electronic device is also provided, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; the memory is used to store computer programs; and the processor is used to implement the message push method described in any embodiment when executing the program stored in the memory.
[0009] In a fourth aspect of the present invention, a computer-readable storage medium is also provided, wherein instructions are stored therein, which, when executed on a computer, cause the computer to perform the message push method described in any of the above embodiments.
[0010] The message push method of this invention establishes an active user volume time series model by analyzing the historical active user volume of multiple target unit time periods. Based on this model, the predicted active user volume for the unit time period is determined. Then, based on the predicted active user volume and the total historical message push volume for the unit time period, the predicted total message push volume for the unit time period is determined. Finally, based on the predicted total message push volume and the number of pushable devices, the target message push frequency for the unit time period is determined. Pushing messages according to this target frequency within the unit time period allows for the delivery of different numbers of messages to users in different unit time periods. By establishing an active user volume time series model at a macro level, a time series adjustment strategy is established to make the determined message push frequency more accurate, achieving the message reminder function while saving system resources. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below.
[0012] Figure 1 A schematic diagram of the message push processing flow is shown.
[0013] Figure 2 A flowchart of a message push method according to an embodiment of the present invention is shown;
[0014] Figure 3 A sub-flowchart of the message push method according to an embodiment of the present invention is shown;
[0015] Figure 4 Another sub-flowchart of the message push method according to an embodiment of the present invention is shown;
[0016] Figure 5 A flowchart of another embodiment of the message push method of the present invention is shown;
[0017] Figure 6 A flowchart of another embodiment of the message push method of the present invention is shown;
[0018] Figure 7 A sub-flowchart of the message push method according to an embodiment of the present invention is shown;
[0019] Figure 8 A flowchart of another embodiment of the message push method of the present invention is shown;
[0020] Figure 9 A flowchart of another embodiment of the message push method of the present invention is shown;
[0021] Figure 10 A schematic diagram of a message push device according to an embodiment of the present invention is shown;
[0022] Figure 11 A schematic diagram of an electronic device according to an embodiment of the present invention is shown. Detailed Implementation
[0023] The technical solutions of the embodiments of the present invention will be described below with reference to the accompanying drawings. The present invention is described below based on embodiments, but the present invention is not limited to these embodiments. In the following detailed description of the present invention, some specific details are described in detail. Those skilled in the art can fully understand the present invention even without these detailed descriptions. To avoid obscuring the essence of the present invention, well-known methods, processes, flows, elements, and circuits are not described in detail.
[0024] Unless the context explicitly requires it, words such as "including" or "contains" in the instruction manual should be interpreted as including rather than exclusive or exhaustive; that is, meaning "including but not limited to".
[0025] Figure 2 A flowchart illustrating a message push method according to an embodiment of the present invention is shown. The messages in this embodiment can be of various types, such as news and information messages, personalized recommendation messages, system notification messages, and marketing messages (such as advertisements).
[0026] like Figure 2 As shown, the message push method of this invention includes the following steps:
[0027] Step S210: Obtain multiple historical data sets for multiple target unit time periods, each of the historical data sets including at least: the historical number of active users in the target unit time period and the historical total number of message pushes in the target unit time period.
[0028] The unit time period can be a time segment measured in hours, days, weeks, or months. The target unit time period and the unit time period to be predicted can be a specific unit time period or several specific unit time periods. For example, if the unit time period is a time segment measured in hours, the target unit time period and the unit time period to be predicted can be a specific hour (e.g., 10:00 AM - 11:00 AM) or several specific hours (e.g., 10:00 AM - 2:00 PM). If the unit time period is a time segment measured in days, the target unit time period and the unit time period to be predicted can be a specific day (e.g., Monday or Sunday) or several specific days (e.g., Monday to Wednesday, or Saturday to Sunday). If the unit time period is a time segment measured in weeks, the target unit time period and the unit time period to be predicted can be a specific week (e.g., the first week of each month) or several specific weeks (e.g., the first and second weeks of each month). If the unit time period is a time segment measured in months, the target unit time period and the unit time period to be predicted can be a specific month (e.g., October) or several specific months (e.g., September and October). Historical active user counts for a target time period typically count the number of users who logged in or used a product within that target time period (excluding duplicate logins). These historical active user counts for a target time period can be hourly, daily, weekly, or monthly active user counts, etc.
[0029] Step S220: Determine the predicted number of active users for the unit time period to be predicted based on the historical active user data in the multiple historical data sets and the preset active user time series model.
[0030] Each historical dataset contains historical active user data. Multiple historical datasets contain multiple historical active user data sets. Therefore, the predicted active user count for the unit time period can be determined based on these multiple historical active user data sets. Active user time series models are used to predict future active user counts based on past active user counts. As an example, an active user time series model can be an averaging function, where the average of multiple historical active user data sets is used as the predicted active user count for the unit time period. It can also be a conditional averaging function, such as removing the maximum and minimum values from the multiple historical active user data sets. Active user time series models can also be regression functions (e.g., linear function Y = aX + b or quadratic function Y = aX). 2 +bX+c), based on the regression function, the trend fit of multiple historical active user data can be performed to determine the trend fit value of these multiple historical active user data, and the trend fit value is used as the predicted active user data for the unit time period to be predicted.
[0031] Step S230: Determine the total predicted amount of message push for the unit time period to be predicted based on the predicted amount of active users, the historical amount of active users in the multiple historical data sets, and the total historical amount of message push.
[0032] In this step, the relationship between the historical active user volume and the historical total message push volume in multiple historical datasets can be analyzed. For example, curve fitting can be performed on the historical active user volume and the historical total message push volume to obtain a fitted curve function, where the historical active user volume is the independent variable of the fitted curve function, and the historical total message push volume is the dependent variable. Then, based on the predicted active user volume and the fitted curve function, the predicted total message push volume for the unit time period is determined.
[0033] Step S240: Determine the target message push frequency for the unit time period to be predicted based on the number of pushable devices and the total predicted message push volume. The target message push frequency is used to indicate the amount of messages pushed to the user during the unit time period to be predicted.
[0034] Step S250: Push messages according to the target message push frequency within the unit time period to be predicted.
[0035] Push frequency refers to the number of messages pushed within a unit of time, such as 2 messages per day, 1 message every 2 days, or 50 messages per week. The number of devices that can receive the message refers to the number of devices that can reach the message. In some cases, pushed messages may fail to reach devices for several reasons: First, technical issues on the message delivery side, such as CPU lag; second, issues on the vendor's channel side, where some vendors have message push limits; third, issues with the mobile terminal system, such as the mobile terminal having a message folding mode, in which messages cannot reach the device; and fourth, the user closing the message push channel. When a user closes the channel, the message delivery side does not receive timely feedback, and although it believes the user can still receive messages, the messages will not reach the device.
[0036] Since messages are only effective for the message delivery side if they reach the user and the user clicks on them, in this embodiment of the invention, the target message push frequency for the predicted unit time period can be determined based on the number of pushable devices. For example, the ratio of the total predicted message push volume to the number of pushable devices can be used as the target message push frequency for the predicted unit time period. This target message push frequency represents the average message push volume per person for the predicted unit time period.
[0037] To facilitate understanding of the message push method in this embodiment of the invention, the following example will be used for illustration. In the following example, the unit time period is a time segment in days.
[0038] Assuming the unit of time to be predicted is Monday, then the target unit of time is past Mondays. Step S210 obtains several historical data sets of Mondays, each historical data set including the historical number of active users and the historical total number of message pushes for each Monday; Step S220, based on the several historical data sets of Mondays, establishes a time series model of the number of active users on Mondays, and uses the time series model of the number of active users on Mondays to predict the number of active users for the following Monday; Step S230, based on the predicted number of active users for the following Monday, and the historical number of active users and the historical total number of message pushes obtained in Step S210, predicts the total number of message pushes for the following Monday; Step S240, based on the total number of message pushes for the following Monday and the number of devices that can push messages, determines the target message push frequency for the following Monday.
[0039] Assuming the unit of time to be predicted is Saturday, then the target unit of time is past Saturdays. Step S210 obtains a set of historical data for several Saturdays, step S220 establishes a time series model of active users on Saturdays to determine the predicted number of active users for the next Saturday, step S230 determines the predicted total number of message pushes for the next Saturday, and step S24 determines the target message push frequency for the next Saturday.
[0040] Based on the above examples, embodiments of the present invention can determine the target message push frequency for Monday, Tuesday, ... Sunday. For example, 75 million messages are pushed to users every Monday, 80 million messages are pushed to users every Tuesday, ... 85 million messages are pushed to users every Friday, 125 million messages are pushed to users every Saturday, 105 million messages are pushed to users every Sunday, etc., thereby enabling the push of different numbers of messages to users in different time periods.
[0041] The message push method of this invention establishes an active user volume time series model by analyzing the historical active user volume of multiple target unit time periods. Based on this model, it determines the predicted active user volume for the unit time period to be predicted. Then, based on the predicted active user volume and the total historical message push volume for the unit time period, it determines the predicted total message push volume for the unit time period. Finally, based on the predicted total message push volume and the number of pushable devices, it determines the target message push frequency for the unit time period. Messages are then pushed according to the target message push frequency within the unit time period. This allows for the push of different numbers of messages to users in different unit time periods. By establishing an active user volume time series model at a macro level, a time series adjustment strategy is established to make the determined message push frequency more accurate. This achieves the message reminder function while saving system resources and improving user activity.
[0042] In this embodiment, the message pull-up rate reflects the contribution of message push to the number of active users. It can push different numbers of messages to users in different time periods. Since the message pull-up rate is taken into account, the predicted total number of messages pushed is more conducive to improving user activity.
[0043] This invention takes into account that users react differently to pushed messages at different times, such as weekdays, weekends, and holidays; that is, users react differently to pushed messages at different time categories. Therefore, this invention can label the category of a unit time period and use historical data of the target unit time period with the same category label as the unit time period to be predicted to estimate the data of the unit time period to be predicted. Therefore, as... Figure 3 As shown, step S210, which involves obtaining the historical data set for the target unit time period, may include:
[0044] Step S310: Obtain multiple historical data sets for multiple selectable time periods; wherein, the historical data sets also include category labels for the selectable time periods.
[0045] In this embodiment, the category label for a unit time period can include weekdays, weekends, and public holidays. In some cases, a Saturday or Sunday is also a public holiday, so the category label for that Saturday or Sunday can be set to weekend, public holiday, or both (i.e., the category label for that Saturday or Sunday includes both weekend and public holiday).
[0046] Step S320: Determine the target category label, which is the category label of the unit time period to be predicted.
[0047] Step S330: Match the category labels of the multiple optional unit time periods with the target category label, determine the optional unit time periods that match the target category label from the multiple optional unit time periods, take the optional unit time periods that match the target category label as the target unit time period, and combine the historical datasets of the optional unit time periods that match the target category label into the historical data set of the target unit time period.
[0048] Assuming the unit time period is a time segment based on days, in an optional embodiment, step S310 can obtain historical data sets for the previous three months, including Mondays (categorized as weekdays), Tuesdays (categorized as weekdays), Wednesdays (categorized as weekdays), Saturdays (categorized as weekends), and Sundays (categorized as weekends). If the unit time period to be predicted is categorized as a weekend, then step S330 uses Saturday and Sunday as the target unit time period, combining the historical data sets for Saturday and Sunday into a single historical data set for the target unit time period.
[0049] In another optional embodiment, the optional unit time period is each day within the previous three months, but one Thursday within this period is categorized as a holiday, while the other Thursdays within this period are categorized as weekdays. Since the unit time period to be predicted is Thursday, and the unit time period to be predicted is categorized as a weekday, in step S330, the Thursdays categorized as weekdays are used as the target unit time period, and the historical data sets of Thursdays categorized as weekdays are combined into the historical data set for the target unit time period. That is, in step S330, only the historical data set of Thursdays categorized as weekdays is obtained, and the historical data of Thursdays categorized as holidays are removed.
[0050] In this embodiment, category tags are used to label the category of each unit time period. In optional embodiments, the categories of unit time periods include weekdays, weekends, and holidays. Since users react differently to push notifications at different times such as weekdays, weekends, and holidays—for example, users spend more time using the app on weekends or holidays, and are more likely to click on push notifications—analyzing the data for that specific time period to determine the number of push notifications during that period not only reduces user annoyance but also increases the probability of user activity. Therefore, by analyzing data from unit time periods within the same category, more accurate predictions of push notifications can be obtained.
[0051] In an optional embodiment, the category label for a unit time period may include morning and evening commuting hours, working hours, and off-get off work hours. Generally, users spend more time using the app during morning and evening commuting hours or off-get off work hours, and they are more likely to click on push notifications. Similarly, analyzing the data for this time period to determine the number of push notifications during this period will not only reduce user annoyance with push notifications but also increase the probability of user activity.
[0052] In optional embodiments, such as Figure 4 As shown, step S220, which determines the predicted number of active users for the unit time period to be predicted, includes:
[0053] Step S410: Calculate the mean of the historical active user counts in multiple historical datasets to obtain the average active user count.
[0054] For example, if the target time period is Thursday, and the historical data set is the historical data set of past Thursdays, assuming that the historical daily active user counts for the past Thursdays are 8 million, 7 million, 6 million, and 5 million respectively, the average of these four data points is calculated, resulting in an average active user count of 6.5 million.
[0055] Step S420: Determine the active user trend fitting amount based on the historical active user data in the multiple historical data sets and the preset regression function.
[0056] A regression function is a form of linear fitting. Let x and y be the observed quantities, and y be a function of x: y = f(x; b). Fitting involves finding the best estimate of parameter b using the observed values of x and y, i.e., finding the optimal theoretical curve y = f(x; b). In other words, fitting uses a polynomial equation to fit the trend of a scatter plot, minimizing the overall fitting error. Commonly used polynomials are linear curves Y = aX + b and quadratic curves Y = aX + b. 2+bX+c. Assuming the above example uses the linear curve Y=aX+b as the preset regression function, and substitutes the historical daily active user volumes of 8 million, 7 million, 6 million, and 5 million into the linear curve, the trend fitting quantity of active users is 4 million.
[0057] Step S430: Based on the average number of active users, the trend fitting amount of active users, and the preset time series model of active users, determine the predicted number of active users for each prediction unit time period.
[0058] The preset active user time series model can be represented by the following equation (1):
[0059] Z = W1 * U + W2 * V (1)
[0060] Where Z represents the predicted number of active users per unit time period, W1 and W2 represent weights, U represents the trend fit of active users, and V represents the average number of active users.
[0061] According to the above formula (1), the average number of active users and the fitted value of the active user trend can be weighted and summed, and the weighted sum is used as the predicted number of active users for the predicted unit time period. Then step S430 includes:
[0062] Determine the first weight corresponding to the active user trend fitting value and the second weight corresponding to the average active user value;
[0063] The first weight, the second weight, the active user trend fitting amount, and the active user average amount are substituted into the preset active user time series model for calculation to obtain the calculation result, and the calculation result is determined as the predicted active user amount for the predicted unit time period.
[0064] The first and second weights can be preset to fixed values, or they can be dynamically determined based on the average number of active users and the fitted value of the active user trend. When the first and second weights are dynamically determined based on the average number of active users and the active user trend, they can be determined according to the following process:
[0065] A fitting curve is determined based on the historical active user data and the fitted active user trend data from the multiple historical data sets. The fitting curve is a curve plotted based on discrete historical active user data and the fitted active user trend data.
[0066] Based on the degree of difference between the fitted curve and the ideal curve, a first weight corresponding to the active user trend fitting amount is determined. Here, the ideal curve refers to a curve whose image is standard; for example, an ideal straight line is a straight line with only length, and an ideal quadratic curve is a standard parabola. In an optional embodiment, the degree of difference between the fitted curve and the ideal curve can be determined based on the difference value of points on the two curves. For example, for the same x-axis, the difference value is obtained by subtracting the y-axis value of the fitted curve from the y-axis value of the ideal curve, and this difference value is used to measure the degree of difference between the fitted curve and the ideal curve. After determining the degree of difference between the fitted curve and the ideal curve, a first weight is determined based on this degree of difference. For example, a mapping table between the degree of difference and the first weight can be pre-set, recording the first weight corresponding to different degrees of difference. After determining the degree of difference between the fitted curve and the ideal curve, this mapping table is consulted to determine the first weight.
[0067] In this embodiment, the smaller the difference between the fitted curve and the ideal curve, the stronger the trend of the fitted curve, and the more ideal the active user trend fit, so the first weight should be higher.
[0068] Based on the first weight corresponding to the fitted value of the active user trend, a second weight corresponding to the average value of active users is determined. Wherein, the sum of the first weight and the second weight is 1; therefore, after determining the first weight, the difference between 1 and the first weight is used as the second weight.
[0069] In the example above, the average number of active users is 6.5 million, and the trend fit of active users is 4 million. Assuming the first weight is 0.9 and the second weight is 0.1, the weighted sum of the trend fit of active users and the average number of active users is: 0.1*6.5 million + 0.9*4 million = 4.25 million.
[0070] Figure 5 A flowchart of a message push method according to another embodiment of the present invention is shown. In this embodiment, the historical data set also includes the message launch rate for a target unit time period. The message launch rate refers to the ratio of the number of devices launched within the target unit time period to the historical number of active users within the target unit time period. The number of devices launched refers to the number of devices that directly reach the specified page when a user clicks a link in the pushed message.
[0071] like Figure 5 As shown, step S230, determining the predicted total number of messages to be pushed, includes:
[0072] Step S510: Obtain multiple historical data sets for multiple target unit time periods, each of the historical data sets including at least: the historical number of active users in the target unit time period, the historical total number of message pushes in the target unit time period, and the message pull-up rate in the target unit time period.
[0073] Step S520: Determine the predicted number of active users for the unit time period to be predicted based on the historical active user data in the multiple historical data sets and the preset active user time series model.
[0074] The process of steps S510-S520 can be referred to Figures 2-4 The embodiments shown are not described in detail here.
[0075] Step S530: Determine the predicted message trigger rate based on the historical active user volume, the historical total number of message pushes, and the message trigger rate in the multiple historical data sets.
[0076] The message pull-up rate reflects the effectiveness of push notifications and can assess their contribution to increasing active users. Analyzing historical total push notification volume, message pull-up rate, and historical active user volume reveals the relationship between these factors, thereby determining the predicted message pull-up volume. In an optional embodiment, the predicted message pull-up volume can be determined according to the following process:
[0077] For each of the aforementioned historical data sets, calculate the ratio of the total historical message push volume in the historical data set to the historical active user volume;
[0078] Based on the message revival rate in the plurality of historical data sets, a third weight is determined for each of the historical data sets;
[0079] Based on the third weight, a weighted sum of the ratios of the total historical message push volume to the historical active user volume in the multiple historical data sets is calculated, and the weighted sum is determined as the message push prediction volume.
[0080] Specifically, for each historical data set, the ratio of the message revival rate in that historical data set to the sum of all message revival rates can be used as the third weight of that historical data set.
[0081] For example, the total number of push notifications in several historical datasets are 200 million, 150 million, 100 million, and 50 million, respectively; the message pull-up rates are 0.5, 0.4, 0.3, and 0.2, respectively; and the historical number of active users are 80 million, 70 million, 60 million, and 50 million, respectively. The third weight for each historical dataset is: 0.5 / (0.5+0.4+0.3+0.2), 0.4 / (0.5+0.4+0.3+0.2), 0.3 / (0.5+0.4+0.3+0.2), and 0.2 / (0.5+0.4+0.3+0.2). The predicted amount of the message surge is: 2 / 0.8*0.5 / (0.5+0.4+0.3+0.2)+1.5 / 0.7*0.4 / (0.5+0.4+0.3+0.2)+1 / 0.6*0.3 / (0.5+0.4+0.3+0.2)+0.5 / 0.5*0.2 / (0.5+0.4+0.3+0.2)=2.
[0082] Step S540: Calculate the product of the predicted message pull-up amount and the predicted active user amount, and determine the product as the predicted total message push amount for the unit time period to be predicted.
[0083] Continuing with the example above, if the predicted number of messages pushed is 2 and the predicted number of active users is 4.25 million, then the predicted total number of messages pushed in the unit time period is 2 * 4.25 million = 0.85 billion.
[0084] In determining the total predicted message push volume for a given time period, this embodiment of the invention considers the historical message push rate, i.e., the historical message push effect, thereby improving the accuracy and effectiveness of the predicted total message push volume for the given time period.
[0085] Figure 6 This is a flowchart of the message push method according to an embodiment of the present invention, such as... Figure 6 As shown, the method includes the following steps:
[0086] Step S610: Obtain historical data sets for multiple target unit time periods, wherein the historical data sets include at least: the historical number of active users in the target unit time period, the historical total number of message pushes in the target unit time period, and the message pull-up rate in the target unit time period.
[0087] Step S620: Determine the predicted number of active users for the unit time period to be predicted based on the historical active user data in the multiple historical data sets and the preset active user time series model.
[0088] Step S630: Determine the total predicted amount of message pushes for the unit period to be predicted based on the predicted amount of active users for the unit period to be predicted, the historical amount of active users in the multiple historical data sets, the historical total amount of message pushes, and the message pull-up rate.
[0089] Steps S610-S630 can be referred to Figure 5 The embodiments shown are not described in detail here.
[0090] Step S640: Determine the user state level and the number of users corresponding to each user state level.
[0091] In this embodiment, users can be further categorized, and the message push frequency for each category can be determined. Categorizing users into different user status levels allows for the determination of a corresponding message push frequency for each user status level. This level message push frequency refers to the average number of messages pushed per user at that user status level within the predicted time period; all users at that user status level receive the same number of pushes. A user's status level can be determined based on their engagement level. For example, user status levels can include: inactive, active, and highly active. Inactive users are those who have not clicked on push notifications and are not logged into the app; active users are those who have logged into the app; and highly active users are those who have logged into the app and clicked on push notifications.
[0092] Step S650: Based on the number of pushable devices, the total number of predicted message pushes, and the number of users corresponding to each user status level, determine the hierarchical message push frequency corresponding to each user status level. The hierarchical message push frequency is used to indicate the average number of message pushes per user at the user status level within the predicted time period.
[0093] In this embodiment, the ratio of the total predicted message push volume to the number of devices capable of pushing messages can be used as the average push frequency per user. Adjustments are then made based on this average push frequency: the push frequency for inactive user levels can be lower than the average push frequency per user; the push frequency for highly active user levels can be higher than the average push frequency per user; and the push frequency for active user levels can be lower or higher than the average push frequency per user. In an optional embodiment, when adjusting the average push frequency per user, the adjustment can be made using the number of users corresponding to each user status level and the total predicted message push volume as constraints, ensuring that the sum of the products of the adjusted level's push frequency and the number of users equals the total predicted message push volume. For example, if the predicted total number of push notifications is 85 million and the number of devices that can receive them is 8.5 million, then the average push frequency per user is 10 messages. Considering the characteristics of different user status levels (active, inactive, and highly active), the number of users corresponding to each user status level and the predicted total number of push notifications can be used as constraints to adjust the frequency around 10 messages. This would determine the push frequency for the inactive level to be 6 messages, the active level to be 8 messages, and the highly active level to be 14 messages. In other optional embodiments, an adjustment strategy can be preset to determine the basic push frequency for each user status level. For example, the difference between the average push frequency per user and a first preset value can be used as the push frequency for the inactive level, the difference between the average push frequency per user and a second preset value can be used as the push frequency for the active level, and the difference between the average push frequency per user and a third preset value can be used as the push frequency for the highly active level.
[0094] In this step, the sum of the number of users at each user status level is equal to the number of devices that can push the message.
[0095] Step S660: Based on the hierarchical message push frequency, determine the target message push frequency for the unit time period to be predicted. In this step, the hierarchical message push frequency corresponding to each user status level is used as the message push volume for the user at that user status level in the unit time period to be predicted.
[0096] Step S670: Push messages according to the target message push frequency within the unit time period to be predicted.
[0097] The message push method of this invention determines the message push frequency for each user status level, thereby controlling the average message push volume per user at each user status level from a micro perspective. This makes the number of message pushes more consistent with the status of each user level, achieving a personalized experience for each user. It saves system resources while achieving the message reminder function, balancing user experience and message delivery effectiveness.
[0098] In an optional embodiment, step S650, which determines the hierarchical message push frequency for each user state level based on the number of pushable devices, the predicted total number of message pushes, and the number of users corresponding to each user state level, is as follows: Figure 7 As shown, it includes:
[0099] Step S710: Determine the average push frequency per user based on the predicted total number of push notifications and the number of devices capable of receiving push notifications. That is, the ratio of the predicted total number of push notifications to the number of devices capable of receiving push notifications is used as the average push frequency per user.
[0100] Step S720: Determine the basic push frequency corresponding to the user status level based on the average push frequency per user. In an optional embodiment, an adjustment strategy can be preset, and the basic push frequency corresponding to each user status level can be determined according to the adjustment strategy. For example, the difference between the average push frequency per user and a first preset value can be used as the level message push frequency corresponding to the silent level, the difference between the average push frequency per user and a second preset value can be used as the level message push frequency corresponding to the active level, and the difference between the average push frequency per user and a third preset value can be used as the level message push frequency corresponding to the highly active level.
[0101] Step S730: Determine the hierarchical message push frequency corresponding to each user status level based on the number of users corresponding to each user status level and the basic push frequency.
[0102] In this step, the basic pushable quantity for each user status level is determined based on the number of users and the basic push frequency. Then, the difference between the predicted total message push quantity and the sum of the basic pushable quantities for all user status levels is calculated. Finally, based on the difference and the number of users for each user status level, the tiered message push frequency for each user status level is determined. In this step, based on the number of users for each user status level, it is determined how many additional messages need to be added to the basic push frequency to make up for the difference. The sum of the basic push frequency for each user status level and the determined increase is taken as the tiered message push frequency for each user status level.
[0103] For example, if the predicted total message push volume is 0.85 billion and the number of devices that can push is 8.5 million, then the average push frequency per user is 10 messages. The basic push frequency for the silent level is determined to be 6 messages, for the active level 8 messages, and for the highly active level 14 messages. Assuming the number of silent users is K1, the number of active users is K2, and the number of highly active users is K3, the sum of the basic pushable volume for all user status levels is: K1*8 + K2*10 + K3*14 = 0.8 billion. The difference between the predicted total message push volume and the sum of the basic pushable volume for all user status levels is 0.5 billion. Assuming the increase is H, we calculate K1*H + K2*H + K3*H = 0.5. Assuming H = 0.2, K1*H + K2*H + K3*H = 0.5. Therefore, the message push frequencies for each user status level are 6.2, 8.2, and 14.2.
[0104] Figure 8 This is a flowchart of another embodiment of the message push method of the present invention, as follows: Figure 8 As shown, the method includes the following steps:
[0105] Step S810: Obtain historical data sets for multiple target unit time periods, wherein the historical data sets include at least: the historical number of active users in the target unit time period, the historical total number of message pushes in the target unit time period, and the message pull-up rate in the target unit time period;
[0106] Step S820: Determine the predicted number of active users for the unit time period to be predicted based on the historical active user data in the multiple historical data sets and the preset active user time series model;
[0107] Step S830: Determine the total predicted amount of message pushes for the unit time period based on the predicted amount of active users for the unit time period to be predicted, the historical amount of active users in the multiple historical data sets, the historical total amount of message pushes, and the message pull-up rate;
[0108] Step S840: Determine multiple user state levels and the number of users corresponding to each user state level;
[0109] Step S850: Based on the number of pushable devices, the total predicted message push volume, and the number of users corresponding to each user status level, determine the hierarchical message push frequency corresponding to each user status level. The hierarchical message push frequency is used to indicate the average number of message pushes per user in the user status level within the predicted unit time period.
[0110] Step S860: Determine the frequency range corresponding to the user state level;
[0111] Step S870: Determine the user-level message push frequency based on the frequency range corresponding to the user status level and the hierarchical message push frequency corresponding to the user status level, and use the user-level message push frequency as the target message push frequency.
[0112] Step S880: Push messages according to the target message push frequency within the time period to be predicted.
[0113] Steps S810-S850 can be referenced. Figure 6-7 The embodiments shown are not described in detail here.
[0114] Regarding step S860, in practical applications, some vendor channels have required frequency ranges, such as a maximum of 5 messages per day for a certain mobile terminal. The frequency range can be determined based on factors such as business development stage, user experience, delivery capabilities, and vendor constraints, and is generally set below 16 messages per day. In this embodiment, the frequency range for each user status level can be pre-set based on factors such as business development stage, user experience, delivery capabilities, and vendor constraints.
[0115] For step S870, the user-level message push frequency refers to the message push frequency at the user level, which is the number of personalized message pushes for each user. In this step, users can be further categorized, that is, users under the same user status level can be further categorized, and different categories of users correspond to different message push frequencies within this frequency range.
[0116] As an example, behavioral feature data of multiple users at the same user state level can be obtained; based on the behavioral feature data and a pre-trained classification model, the category of each user can be determined; based on the frequency range corresponding to the user state level and the level message push frequency, the user-level message push frequency of each user in the category can be determined.
[0117] The user's behavioral characteristic data may include, but is not limited to, message delivery rate and message click rate. Message delivery rate refers to the ratio of the number of messages reaching a user's device to the total number of messages pushed to that user. Message click rate refers to the ratio of the number of messages clicked by a user to the number of messages reaching the user's device, or the ratio of the number of messages clicked by a user to the total number of messages pushed to that user. The user's behavioral characteristic data is used as input features and fed into a pre-trained classification model to obtain the categories of each user. The pre-trained classification model is a multi-classification model, such as a logistic regression model or a decision tree model. In an optional embodiment, the output of the pre-trained classification model is a value between 0 and 1 (e.g., 0.9, 0.8), which represents the rating of each user. Users with an output result of 0.9 can be classified into one category, users with an output result of 0.8 into another category, and users with an output result of 0.7 into yet another category.
[0118] After determining the categories of users within the same user state level, the user-level message push frequency for each category can be determined based on a local optimum algorithm, the frequency range corresponding to the user state level, and the hierarchical message push frequency corresponding to the user state level. As an example, a local optimum algorithm could be a greedy selection method. After categorizing users within the same user state level, the greedy selection method starts from the upper limit of the frequency range and proceeds to the lower limit. Typically, the number of users is in the tens of millions, so the number of users at each frequency level will vary. To ensure the constraint of the hierarchical message push frequency, the number of users at each frequency level can be understood as an arithmetic sequence, with the highest frequency having the smallest number of users and the lowest frequency having the largest number of users.
[0119] As an example, suppose users A, B, C, D, and E all belong to the silent user level, with a frequency range of [4, 5, 6, 7, 8]. If the behavioral feature data of users A, B, C, D, and E are input into a pre-trained classification model, the output results are: A = 0.9, B = 0.8, C = 0.7, D = 0.6, and E = 0.5. Then, the user-level message push frequency for each user can be allocated as follows: A receives 8 user-level messages, B receives 7, C receives 6, D receives 5, and E receives 4.
[0120] The message push method in this embodiment implements a cascaded timing control mechanism, which can be divided into two levels: macro and micro. Steps S810-S830 implement macro-total quantity frequency control timing control: the total amount of messages to be pushed each day is controlled, a timing model is established to track changes in the timing of active users, and the total amount of message pushes to be predicted for the unit time period is determined by combining effect feedback data (message retrieval rate). Steps S840-S870 implement micro-personal frequency control timing adjustment. The macro-total quantity frequency control timing control in steps S810-S830 acts on the micro-personal frequency control timing adjustment, adding a layer of macro-control strategy on top of the personalized scheme: users are divided into different user status levels according to their participation. Based on the total amount of message pushes to be predicted for the unit time period, the average frequency control quantity per user (i.e., the level message push frequency) is determined for different user status levels. After determining the total amount of message pushes to be predicted for the unit time period and the average frequency control quantity per user for each status level, it is necessary to specify the specific user-level message push frequency for each person, so as to achieve a personalized experience and balance the user experience and the delivery effect on the message delivery side. When determining the specific user-level message push frequency for each individual, a combination of personalization and optimization methods is used. By modeling the user message delivery rate and user message click rate, a greedy solution is performed based on the model's output until the constraint of the average scheduling volume per person is met.
[0121] Figure 9 A flowchart of yet another message push method according to an embodiment of the present invention is shown. Figure 9 As shown, the method includes the following four stages:
[0122] Phase 1: Daily Active User Time-Series Modeling Phase. The input data for this phase consists of historical daily active user data from multiple historical datasets and the category labels for the target time period. The output is the predicted daily active user count for the target time period. The processing logic involves prediction using the mean and trend fit of multiple historical daily active user data. This phase corresponds to... Figure 8 Step S820 in the process.
[0123] Phase Two: Total Volume and Frequency Control Phase: The input data for this phase includes the predicted daily active users, the historical daily active users from multiple historical datasets, the historical total number of push notifications, and the message pull-up rate. The output is the message push volume for the unit time period to be predicted. The processing logic combines message pull-up rate adjustment with weighted averaging. This phase corresponds to... Figure 8 Step S830 in the process.
[0124] Phase 3: Status-Level Frequency Control Phase: The input data for this phase includes the number of devices capable of pushing messages, the predicted number of active users, the predicted total number of message pushes, and the number of users corresponding to each user status level. The output is the message push frequency for each user status level. The processing logic combines the predicted total number of message pushes and the number of users corresponding to each user status level to determine the average number of pushes per user for each user status level. This phase corresponds to... Figure 8 The S840-S850 series.
[0125] Phase Four: Personalized Frequency Control Phase: The input data for this phase includes the frequency range corresponding to the user status level, the frequency of message pushes at each level, and the user's behavioral characteristics. The output is the user-level message push frequency for each user. The processing logic involves modeling using user behavioral characteristics data, determining the score for each user, establishing optimization objectives and constraints using the frequency of message pushes at each level, and finding local optima.
[0126] Phases one and two of this invention propose timing adjustment strategies from a macro perspective to adapt to the dynamic changes of weekends and holidays and meet the needs of the objective world; Phases three and four, from a micro perspective, integrate timing adjustment capabilities into personalized strategies to establish a scientific and reasonable scheduling strategy, achieve personalized experiences for each user, and maximize message delivery effectiveness while ensuring a good user experience.
[0127] Figure 10 This is a schematic diagram of a message push device according to an embodiment of the present invention. Figure 10 As shown, the message push device 1000 of this embodiment includes:
[0128] The data acquisition module 1010 is used to acquire historical data sets of multiple target unit time periods, wherein the historical data sets include at least: the historical number of active users in the target unit time period and the historical total number of message pushes in the target unit time period;
[0129] The first determining module 1020 is used to determine the predicted number of active users for a unit time period based on the historical active user data in the plurality of historical data sets and a preset active user time series model.
[0130] The second determining module 1030 is used to determine the total predicted amount of message push for the unit time period to be predicted based on the predicted amount of active users and the historical amount of active users and the total historical amount of message push in the multiple historical data sets.
[0131] The third determining module 1040 is used to determine the target message push frequency for the unit time period to be predicted based on the number of pushable devices and the total predicted message push volume. The target message push frequency is used to indicate the amount of messages pushed to the user in the unit time period to be predicted.
[0132] The push module 1050 is used to push messages according to the target message push frequency within the unit time period to be predicted.
[0133] In an optional embodiment, the third determining module is further configured to: determine multiple user status levels and the number of users corresponding to each user status level; determine the hierarchical message push frequency corresponding to each user status level based on the number of pushable devices, the total predicted message push volume, and the number of users corresponding to each user status level, wherein the hierarchical message push frequency is used to indicate the average number of message pushes per user at the user status level within the predicted time period; and determine the target message push frequency for the predicted time period based on the hierarchical message push frequency.
[0134] In an optional embodiment, the third determining module is further configured to: determine the average push frequency per user based on the predicted total number of push messages and the number of pushable devices; determine the basic push frequency corresponding to the user status level based on the average push frequency per user; and determine the hierarchical message push frequency corresponding to each user status level based on the number of users corresponding to each user status level and the basic push frequency.
[0135] In an optional embodiment, the third determining module is further configured to: determine the basic pushable quantity corresponding to each user state level based on the number of users corresponding to each user state level and the basic push frequency; calculate the sum of the basic pushable quantities corresponding to multiple user state levels, and use the sum of the basic pushable quantities as the basic pushable total quantity; calculate the difference between the predicted total message push quantity and the basic pushable total quantity; and determine the hierarchical message push frequency corresponding to each user state level based on the difference and the number of users corresponding to each user state level.
[0136] In an optional embodiment, the third determining module is further configured to determine the user status level of the user according to the following process: obtaining the user profile information of the user, the user profile information including at least login information and message click information; and determining the user status level of the user according to the user profile information.
[0137] In an optional embodiment, the third determining module is further configured to: determine the frequency range corresponding to the user state level; determine the user-level message push frequency based on the frequency range corresponding to the user state level and the hierarchical message push frequency corresponding to the user state level, and use the user-level message push frequency as the target message push frequency for the unit time period to be predicted.
[0138] In an optional embodiment, the third determining module is further configured to: acquire behavioral feature data of multiple users at the user state level; determine the category of each user based on the behavioral feature data and a pre-trained classification model; and determine the user-level message push frequency of each user under each category based on the frequency range corresponding to the user state level and the hierarchical message push frequency corresponding to the user state level.
[0139] In an optional embodiment, the data acquisition module is further configured to: acquire multiple historical data sets of multiple optional unit time periods; wherein the historical data sets further include category labels of the optional unit time periods; determine a target category label, wherein the target category label is the category label of the unit time period to be predicted; match the category labels of the multiple optional unit time periods with the target category label; determine the optional unit time periods that match the target category label from the multiple optional unit time periods; take the optional unit time periods that match the target category label as the target unit time period; and take the historical data sets of the optional unit time periods that match the target category label as the historical data set of the target unit time period.
[0140] In an optional embodiment, the first determining module is further configured to: calculate the mean of the historical active user data in the plurality of historical data sets to obtain the average active user data; determine the active user trend fitting value based on the historical active user data in the plurality of historical data sets and a preset regression function; and determine the predicted active user data for a prediction unit time period based on the average active user data and the active user trend fitting value.
[0141] In an optional embodiment, the first determining module is further configured to: determine a first weight corresponding to the active user trend fitting amount and a second weight corresponding to the active user average amount; substitute the first weight, the second weight, the active user trend fitting amount and the active user average amount into the preset active user time series model for calculation to obtain a calculation result, and determine the calculation result as the predicted active user amount for a predicted unit time period.
[0142] In an optional embodiment, the first determining module is further configured to: determine a fitting curve based on the historical active user data and the active user trend fitting data in the plurality of historical data sets; determine a first weight corresponding to the active user trend fitting data based on the degree of difference between the fitting curve and the ideal curve; and determine a second weight corresponding to the average active user data based on the first weight corresponding to the active user trend fitting data.
[0143] In an optional embodiment, each of the historical data sets further includes: the message pull-up rate for the target unit time period;
[0144] The second determining module is further configured to: determine the message trigger prediction amount based on the historical active user volume, the historical total message push volume, and the message trigger rate in the plurality of historical data sets; calculate the product of the message trigger prediction amount and the active user prediction amount, and determine the product as the total message push prediction amount for the unit time period to be predicted.
[0145] In an optional embodiment, the second determining module is further configured to: calculate, for each of the historical data sets, the ratio of the total historical message push volume to the historical active user volume in the historical data set; determine a third weight corresponding to each of the historical data sets based on the message revival rate in the plurality of historical data sets; and, based on the third weight, calculate a weighted sum of the ratios of the total historical message push volume to the historical active user volume in the plurality of historical data sets, and determine the weighted sum as the message revival prediction amount.
[0146] This invention also provides an electronic device, such as... Figure 11 As shown, it includes a processor 1110, a communication interface 1120, a memory 1130, and a communication bus 1140, wherein the processor 1110, the communication interface 1120, and the memory 1130 communicate with each other through the communication bus 1140.
[0147] Memory 1130 is used to store computer programs;
[0148] When processor 1110 executes the program stored in memory 1130, it performs the following steps:
[0149] Multiple historical data sets for multiple target time periods are acquired, each historical data set including at least: the historical number of active users in the target time period and the historical total number of message pushes in the target time period; based on the historical number of active users in the multiple historical data sets and a preset active user time series model, the predicted number of active users for the unit time period to be predicted is determined; based on the predicted number of active users, the historical number of active users in the multiple historical data sets, and the historical total number of message pushes, the predicted total number of message pushes for the unit time period to be predicted is determined; based on the number of pushable devices and the predicted total number of message pushes, the target message push frequency for the unit time period to be predicted is determined, the target message push frequency is used to indicate the amount of message pushes to users in the unit time period to be predicted; message pushes are performed according to the target message push frequency within the unit time period to be predicted.
[0150] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0151] The communication interface is used for communication between the aforementioned terminal and other devices.
[0152] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0153] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0154] In another embodiment of the present invention, a computer-readable storage medium is also provided, which stores instructions that, when executed on a computer, cause the computer to perform any of the message push methods described in the above embodiments.
[0155] In another embodiment of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the message push methods described in the above embodiments.
[0156] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)).
[0157] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0158] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0159] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention are included within the scope of protection of the present invention.
Claims
1. A message push method, characterized in that, include: Obtain multiple historical data sets for multiple target time periods, each of the historical data sets including at least: the historical number of active users of the target application during the target time period, and the historical total number of message pushes during the target time period; Based on the historical active user data in the multiple historical datasets and the preset active user time series model, determine the predicted active user data for the unit time period to be predicted. Based on the predicted active user volume and the historical active user volume and the total historical message push volume in the multiple historical data sets, the predicted total message push volume for the unit time period to be predicted is determined. Based on the number of devices that can push messages and the total predicted message push volume, the target message push frequency for the unit time period to be predicted is determined, and the target message push frequency is used to indicate the amount of messages pushed to the user in the unit time period to be predicted. Within the time period to be predicted, messages are pushed according to the target message push frequency.
2. The method according to claim 1, characterized in that, The step of determining the target message push frequency for the unit time period to be predicted based on the number of pushable devices and the total predicted message push volume includes: Determine multiple user state levels and the number of users corresponding to each user state level; Based on the number of pushable devices, the total predicted message push volume, and the number of users corresponding to each user status level, the hierarchical message push frequency corresponding to each user status level is determined. The hierarchical message push frequency is used to indicate the average number of message pushes per user at the user status level within the predicted unit time period. Based on the frequency of message pushes at the hierarchical levels, the target message push frequency for the unit time period to be predicted is determined.
3. The method according to claim 2, characterized in that, The step of determining the message push frequency for each user state level based on the number of pushable devices, the predicted total number of messages to be pushed, and the number of users corresponding to each user state level includes: The average push frequency per person is determined based on the predicted total number of push messages and the number of pushable devices. Based on the average push frequency per user, determine the basic push frequency corresponding to the user status level; The hierarchical message push frequency corresponding to each user status level is determined based on the number of users corresponding to each user status level and the basic push frequency.
4. The method according to claim 3, characterized in that, The step of determining the hierarchical message push frequency corresponding to each user status level based on the number of users corresponding to each user status level and the basic push frequency includes: Based on the number of users corresponding to each user status level and the basic push frequency, determine the basic pushable quantity corresponding to each user status level; Calculate the sum of the basic pushable quantities corresponding to multiple user state levels, and use the sum of the basic pushable quantities as the basic pushable total quantity; Calculate the difference between the predicted total number of messages to be pushed and the basic total number of messages that can be pushed. Based on the difference and the number of users corresponding to each user status level, the frequency of hierarchical message pushes for each user status level is determined.
5. The method according to claim 2, characterized in that, The user's current user status level is determined according to the following process: Obtain the user profile information of the user, which includes at least login information and message click information; Based on the user profile information, determine the user status level of the user.
6. The method according to claim 2, characterized in that, Determining the target message push frequency for the unit time period to be predicted based on the hierarchical message push frequency includes: Determine the frequency range corresponding to the user state level; Based on the frequency range corresponding to the user status level and the hierarchical message push frequency corresponding to the user status level, the user-level message push frequency is determined, and the user-level message push frequency is used as the target message push frequency for the unit time period to be predicted.
7. The method according to claim 6, characterized in that, The step of determining the user-level message push frequency based on the frequency range corresponding to the user state level and the message push frequency corresponding to the user state level includes: Obtain behavioral characteristic data of multiple users at the user state level; Based on the behavioral feature data and the pre-trained classification model, determine the category of each user; Based on the frequency range corresponding to the user status level and the hierarchical message push frequency corresponding to the user status level, determine the user-level message push frequency for each user under the category.
8. The method according to claim 7, characterized in that, The behavioral characteristic data includes at least: message delivery rate and message click rate.
9. The method according to claim 1, characterized in that, The acquisition of multiple historical data sets for multiple target unit time periods includes: Obtain multiple historical data sets for multiple selectable time periods; wherein, the historical data sets also include category labels for the selectable time periods; Determine the target category label, which is the category label of the unit time period to be predicted; The category labels of the multiple optional unit time periods are matched with the target category label. The optional unit time periods that match the target category label are determined from the multiple optional unit time periods. The optional unit time periods that match the target category label are taken as the target unit time periods. The historical datasets of the optional unit time periods that match the target category label are combined into the historical dataset of the target unit time periods.
10. The method according to claim 1, characterized in that, The step of determining the predicted number of active users for a given time period based on the historical active user data in the multiple historical datasets and a preset active user time series model includes: Calculate the average of the historical active user counts in the multiple historical datasets to obtain the average active user count; Based on the historical active user data in the multiple historical datasets and a preset regression function, determine the active user trend fitting value; Based on the average number of active users, the trend fitting value of active users, and the preset time series model of active users, the predicted number of active users for each prediction unit time period is determined.
11. The method according to claim 10, characterized in that, The step of determining the predicted number of active users per unit time period based on the average number of active users, the trend fitting value of active users, and a preset time series model of active users includes: Determine the first weight corresponding to the active user trend fitting value and the second weight corresponding to the average active user value; The first weight, the second weight, the active user trend fitting amount, and the active user average amount are substituted into the preset active user time series model for calculation to obtain the calculation result, and the calculation result is determined as the predicted active user amount for the predicted unit time period.
12. The method according to claim 11, characterized in that, The step of determining the first weight corresponding to the active user trend fitting amount and the second weight corresponding to the active user average amount includes: The fitting curve is determined based on the historical active user data and the active user trend fitting data in the multiple historical data sets; The first weight corresponding to the active user trend fitting amount is determined based on the degree of difference between the fitted curve and the ideal curve. Based on the first weight corresponding to the active user trend fitting quantity, the second weight corresponding to the average active user quantity is determined.
13. The method according to claim 1, characterized in that, Each of the historical data sets further includes: the message trigger rate for the target unit time period; wherein, the message trigger rate refers to the ratio of the number of devices that trigger within the target unit time period to the historical number of active users in the target unit time period, and the number of devices that trigger refers to the number of devices that directly reach the specified page when a user clicks on a link in a pushed message; The step of determining the predicted total message push volume for the unit time period based on the predicted active user volume and the historical active user volume and the historical total message push volume in the multiple historical data sets includes: Based on the historical active user volume, the historical total number of message pushes, and the message trigger rate in the multiple historical data sets, the predicted message trigger volume is determined. Calculate the product of the predicted message pull-up volume and the predicted active user volume, and determine the product as the predicted total message push volume for the unit time period to be predicted.
14. The method according to claim 13, characterized in that, The step of determining the predicted message trigger rate based on the historical active user volume, the historical total number of message pushes, and the message trigger rate from the multiple historical data sets includes: For each of the aforementioned historical data sets, calculate the ratio of the total historical message push volume in the historical data set to the historical active user volume; Based on the message revival rate in the plurality of historical data sets, a third weight is determined for each of the historical data sets; Based on the third weight, a weighted sum of the ratios of the total historical message push volume to the historical active user volume in the multiple historical data sets is calculated, and the weighted sum is determined as the message push prediction volume.
15. A message push device, characterized in that, include: The data acquisition module is used to acquire historical data sets for multiple target unit time periods. The historical data sets include at least: the historical number of active users in the target unit time period and the historical total number of message pushes in the target unit time period. The first determining module is used to determine the predicted number of active users for a unit time period based on the historical active user data in the multiple historical data sets and the preset active user time series model. The second determining module is used to determine the total predicted amount of message push for the unit time period to be predicted based on the predicted amount of active users and the historical amount of active users and the total historical amount of message push in the multiple historical data sets. The third determining module is used to determine the target message push frequency for the unit time period to be predicted based on the number of pushable devices and the total predicted message push volume. The target message push frequency is used to indicate the amount of messages pushed to the user in the unit time period to be predicted. The push module is used to push messages according to the target message push frequency within the unit time period to be predicted.
16. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 1-14.
17. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-14.
Citation Information
Patent Citations
Method for predicting number of active users, computer equipment and storage medium
CN112767028A
Media information processing method and device, electronic equipment and storage medium
CN113011912A