[go: up one dir, main page]

US10764379B2 - Method, apparatus and system for enhancing a user's engagement with a service - Google Patents

Method, apparatus and system for enhancing a user's engagement with a service Download PDF

Info

Publication number
US10764379B2
US10764379B2 US14/915,841 US201314915841A US10764379B2 US 10764379 B2 US10764379 B2 US 10764379B2 US 201314915841 A US201314915841 A US 201314915841A US 10764379 B2 US10764379 B2 US 10764379B2
Authority
US
United States
Prior art keywords
user
active level
service
notification
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US14/915,841
Other versions
US20160198011A1 (en
Inventor
Alvin Chin
Jilei Tian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Assigned to NOKIA CORPORATION reassignment NOKIA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHIN, Alvin, TIAN, JILEI
Assigned to NOKIA TECHNOLOGIES OY reassignment NOKIA TECHNOLOGIES OY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NOKIA CORPORATION
Publication of US20160198011A1 publication Critical patent/US20160198011A1/en
Application granted granted Critical
Publication of US10764379B2 publication Critical patent/US10764379B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • H04L67/22
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Definitions

  • Embodiments of the disclosure generally relate to information technology, and, more particularly, to enhancement of user engagement to a service.
  • a method for enhancing a user's engagement or experience with a service comprising: obtaining the user's current active level with respect to the service; determining a target active level; and sending the user a notification about the service at a time determined based on the user's current active level and the target active level.
  • a computer program product embodied on a distribution medium readable by a computer and comprising program instructions which, when loaded into a computer, execute the above-described method.
  • a non-transitory computer readable medium having encoded thereon statements and instructions to cause a processor to execute the above-described method.
  • FIG. 2 is a flow chart depicting a process of determining the time to send a notification according to an embodiment
  • FIGS. 3A and 3B are a flow chart and an interaction diagram depicting a process for enhancing a user's engagement with a service according to an embodiment
  • FIG. 4 is an illustrative diagram showing the structure of a notification message according to an embodiment
  • FIG. 5 is a diagram showing effects of different acceleration rates according to an embodiment
  • FIGS. 6A and 6B are a flow chart and an illustrative diagram showing a process of selecting items for a notification message according to an embodiment
  • FIGS. 7A to 7D are illustrative user interfaces showing how a notification is presented to the user according to an embodiment.
  • FIG. 1 shows a system that is capable of enhancing a user's engagement with a service according to an embodiment.
  • the system 100 comprises a user device 101 operably connected to an application server 102 .
  • the user device 101 can be any kind of user equipment or computing device including, but not limited to, smart phone, tablet, laptop and PC, running with any kind of operating system including, but not limited to, Windows, Android and iOS.
  • the user device 101 has an app 1011 installed in it, with which a user can access the service provided by the application server 102 .
  • the service can be any kind of service including, but not limited to, news service such as Nokia Xpress Now, NBC News, social networking service such as Linkedin, Facebook, and messaging service such as WeChat, Yahoo! Mail.
  • the user can also access the service with a browser installed in the user device 1011 .
  • the application server 102 would be a web server.
  • Context information about the user's access to the service is collected and sent to the log data 103 through the application server 102 .
  • the context information can include any information that can be obtained, for example, time, location, information obtained by accelerometer, and information obtained by optical sensor.
  • the context information can be stored in the log data 103 as a plurality of records. Each record has a timestamp, user activity, location, accelerometer measurement, and optical sensor measurement.
  • the location information can be GPS coordinates or cell IDs obtained by the user device 101 . Further in another embodiment, the location information can be social locations translated from the raw location data, such as “home” and “work place” by some existing location mining approaches.
  • the system 100 further comprises an analytics server 104 having a session analytics module 1041 configured to compute session statistics such as session start time, session end time, session duration and content that was accessed based on the information stored in log data 103 .
  • the analytics server 104 also has an active user module 1042 configured to assess the user's active level based on the statistics of the session analytics module 1041 .
  • the user active level is measured according to the user's AU number (active user number).
  • the user's active level is measured according to the user's AU number. For example, when the user's current active level is AU30, the user has accessed the service at least once and at most 3 times on average in the past 30 days.
  • the system 100 further comprises a notification server 105 capable of sending notifications to the user device 101 .
  • the user device 101 has a notification client 1012 that receives the notifications from the notification server 105 .
  • the notification server 105 has a notification predictor 1051 configured to determine at what time a notification is to be sent to the user device 101 .
  • the notification predictor 105 does so in a manner described below.
  • the content of each notification is prepared by a notification content module 1052 with the help of a recommendation server 106 .
  • New content for the notification is provided by a notification recommendation module 1061 .
  • the notification recommendation module 1061 obtains candidate items for the notification from a trending content module 1062 that can access the log data 103 .
  • FIGS. 3A and 3B shows a process for enhancing a user's engagement with a service according to an embodiment.
  • the process starts at step 3001 by collecting context information about the user's access to the service.
  • the application server 102 sends push requests to the user device 101 periodically, for example every 30 minutes.
  • the user device 101 sends context information back to the application server 102 .
  • the context information can include any information about the user's access, for example, time, location, accelerometer measurement, and optical sensor measurement.
  • the location information can be social locations translated from the raw location data, such as “home” and “work place” by some existing location mining approaches.
  • FIG. 2 shows a process of determining the time to send a notification according to an embodiment.
  • the user's current active level is obtained at step 205 .
  • the active level is measured according to the user's AU number. That is, the user accesses the service at least once in an AU number of days, as described above.
  • a target active level is determined. Similar to the current active level, the target active level is also expressed as an AU number. More specifically, the target AU number is less than the current AU number of the user.
  • is used to control the saturation level to migrate the user toward becoming more active.
  • is calculated from the notification predictor.
  • can be calculated as follows.
  • step 220 ⁇ is determined.
  • is a value greater than zero for controlling the acceleration to migrate the user towards being more active.
  • the frequency of notification is determined based on the user's current AU number, the target AU number and acceleration rate ⁇ according to the above equation (1).
  • step 230 it is determined whether the current AU number is greater than 1. If the current AU number is not greater than 1 (namely, the user accesses the service every day), then the process proceeds to step 250 where it is determined to send the notification in a content-based mode. Namely, the notification is sent to the user as soon as new matched content is obtained. For a very active user who accesses the service every day, it is necessary to connect him/her always with the most relevant content, rather than improving the active level. On the other hand, if the current AU number is larger than 1, then the notification is to be sent to the user in Predictor days.
  • the system can determine the date to send the notification based on the user's current active level, target active level and acceleration rate. As a result, the user can be reminded of the service without being annoyed too much.
  • the acceleration rate ⁇ an inactive user can be pushed intensively at the beginning while a more active user will not be notified too often to avoid getting annoyed.
  • step 230 is performed after calculating Predictor in this embodiment, it is noted that this step can be performed immediately after obtaining the user's current AU number (step 205 ). Thus, if the current AU number is not greater than 1, then the process directly proceeds to step 250 , content-based notification, without performing the steps 210 - 225 .
  • the time of day when the notification is to be sent can also be determined from the context information according to some embodiments.
  • the context information includes information about the time the user accesses the service. By looking at the time of the user sessions aggregated over a period of time, it can be determined to send the notification at the time of day when the user usually accesses the service.
  • the context information includes more information in addition to time of access, for example, location, accelerometer measurement, and optical sensor measurement.
  • context mining technologies such as Atomic Context-aware Preference feature with Latent Dirichlet Allocation model, and Personalized Context-aware Recommendation with LDA, etc. Examples of these applicable technologies have been described by Kuifei Yu et al. in the article “Toward Personalized Context-aware Recommendation by Mining Context Logs through Topic Models” (published in PAKDD 2012, Part I, LNAI 7301, pp. 431-443, 2012).
  • the system can determine what the user was doing when accessing the service, and identify user behavior patterns and user preferences from the context information. Thus the system can determine at which time of day to send the notification, so that the notification can get most attention from the user without unpleasant interruption.
  • a new target active level is determined as an AU number in between the previous target AU number and the user's current AU number. For example, if a user has an initial AU number AU30, then the notification can be sent in 26 days. If the user follows the notification and becomes AU26, another notification can be sent in 24 days after the user's access, i.e. the new target AU number is 24. This strategy can be repeated to migrate the user to become more and more active. However, if the user does not access the service after receiving the notification, for example, she becomes AU40 instead, then the next notification can be sent in 34 day, i.e. the new target AU number is set in between the previous target AU number and the user's current AU number.
  • FIGS. 6A and 6B show the process of selecting items for the notification according to an embodiment.
  • the notification has at least one item selected from a plurality of candidate items. While URLs are used as examples in this embodiment, the items can be anything that the user may be interested in, for example, news, updates, messages, comments, games, blogs and tweets.
  • candidate items are obtained together with their trending scores at step 6001 .
  • candidate items can be obtained through existing trending algorithms, such as observing the significance of the recent change of user interaction, or rolling count algorithm used in Twitter.
  • a candidate item (URL) at a specific time t has a trending score indicating its relative popularity at that time, which can be expressed as trend_score(url,t).
  • a hotness score is calculated for each candidate item as follows.
  • step 6010 those items that the user might have seen are eliminated. This can be done as follows. For each item (URL), there is a first access time, access_time(url), indicating the time that item has been firstly reported as trending in the system. It is reasonable to assume that the user might have seen those items which had been reported as trending on or before the user's last access to the service, i.e. time_start. Thus, at step 6010 , the system eliminates those items that do not meet the requirement, access_time(url)>time_start.
  • the message also includes a number of topics, topics 1 to N. Under each topic, there can be one or more recommended items.
  • FIGS. 7A to 7D show how the notification is presented to the user. As shown in FIGS. 7A to 7D , “Nokia Xpress Now” is used as an example of the service.
  • the notification is received as a message on the user device 101 that indicates that there are new items to be read ( FIG. 7A ).
  • the items are classified into categories.
  • the number of items that come from a certain category can be displayed in the message. This lets the user know the type of new content and prompts the user to be curious, so that the user will go to the application/service.
  • Second, the user can tap on the message to open the app.
  • the user's engagement to the service can be enhanced by notifications based on the user's actual active level and context information, instead of the arrival of new content. If the user migrates to a smaller AU number, then the target AU number can be adjusted to be even smaller. If the user migrates to a larger AU number, then the target AU number is adjusted to be in between the previous target AU and current AU numbers. This prevents disruption and interruption to the user as the notifications are adaptive to the user's behaviour in using the app/service. The system can choose the “sweet spot” to frequently send notifications to the user without getting the user annoyed.
  • sufficiently relevant items are selected through matching the candidate items against the user's preferences, which can be obtained from the context information. Further, through eliminating those items that the user might have seen and adding weight of recentness, it is ensured that the matched items are recently trending, hot and new for the user.
  • the conventional notification basically makes the user easy to access the information. It is purely from user experience perspective, without considering users' churn rate or users' engagement/stickiness. According to the above described embodiments, for a possible churn user, who has not used the service for long time, the notification becomes a reminder adaptive to the user behavior. In this way, the system can avoid bothering the user too much. For example, there may be two groups of churn users: (1) those who forget to use the service due to distractions; and (2) those who do not like the service. For group (1), the reminder may have great effect, making the users start using the service again.
  • the reminder may not help too much, but it can at least give the users an opportunity to see that the service might be improved since then, as it is easy to access through the notification service. At least it may not hurt too much since the reminding pace follows the user's behavior and is less aggressive.
  • an apparatus for enhancing a user's engagement with a service comprising means configured to carry out the methods described above.
  • the apparatus comprises means configured to obtain the user's current active level with respect to the service; means configured to determine a target active level; and means configured to send the user a notification about the service at a time determined based on the user's current active level and the target active level, so that the user is notified of the service without being annoyed.
  • the user's current active level and target active level can be measured according to the user's access to the service at least once in an active user (AU) number of days.
  • the apparatus can further comprise means configured to determine at which date to send the notification based on the user's current active level and the target active level.
  • the AU number of the target active level can be less than the AU number of the user's current active level.
  • the apparatus further comprises means configured to determine an acceleration rate.
  • the date to send the notification is determined based on the current and target active levels, and the acceleration rate.
  • the apparatus can further comprise means configured to determine a new target active level if the user migrates to a larger AU number.
  • the new target active level has an AU number in between the AU number of the previous target active level and the AU number of the user's current active level.
  • the apparatus further comprises means configured to collect context information about the user's access to the service.
  • the apparatus can further comprise means configured to determine at which time of day to send the notification based on the context information.
  • the context information may comprise at least one of time, location, accelerometer measurement, and optical sensor measurement.
  • the notification has at least one item
  • the apparatus further comprises means configured to obtain a plurality of candidate items; and means configured to select, from the plurality of candidate items, at least one item to be used in the notification.
  • the apparatus can comprise means configured to calculate a hot score for each of the candidate items based on its trending level and recentness; means configured to eliminate those candidate items that have been firstly reported as trending before the user's last access to the service; and means configured to select at least one item from the candidate items based on the hot scores of the candidate items and/or a user profile having information about the user's preferences.
  • the user's preferences can be determined from the context information.
  • any of the components of the system 100 depicted in FIG. 1 can be implemented as hardware or software modules.
  • software modules they can be embodied on a tangible computer-readable recordable storage medium. All of the software modules (or any subset thereof) can be on the same medium, or each can be on a different medium, for example.
  • the software modules can run, for example, on a hardware processor. The method steps can then be carried out using the distinct software modules, as described above, executing on a hardware processor.
  • memory is intended to include memory associated with a processor or CPU, such as, for example, RAM (random access memory), ROM (read only memory), a fixed memory device (for example, hard drive), a removable memory device (for example, diskette), a flash memory and the like.
  • the processor, memory, and input/output interface such as display and keyboard can be interconnected, for example, via bus as part of a data processing unit. Suitable interconnections, for example via bus, can also be provided to a network interface, such as a network card, which can be provided to interface with a computer network, and to a media interface, such as a diskette or CD-ROM drive, which can be provided to interface with media.
  • computer software including instructions or code for performing the methodologies of the disclosure, as described herein, may be stored in associated memory devices (for example, ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (for example, into RAM) and implemented by a CPU.
  • Such software could include, but is not limited to, firmware, resident software, microcode, and the like.
  • aspects of the disclosure may take the form of a computer program product embodied in a computer readable medium having computer readable program code embodied thereon.
  • computer readable media may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Computer program code for carrying out operations for aspects of the disclosure may be written in any combination of at least one programming language, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • each block in the flowchart or block diagrams may represent a module, component, segment, or portion of code, which comprises at least one executable instruction for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Method, apparatus, system, computer program product and computer readable medium are disclosed for enhancing a user's engagement or experience with a service. The method comprises obtaining the user's current active level with respect to the service with respect to the service; determining a target active level; and sending the user a notification about the service at a time determined based on the user's current active level and the target active level, so that the user is notified of the service without being severely annoyed.

Description

CROSS REFERENCE TO RELATED APPLICATIONS SECTION
This application is a national stage application, filed under 35 U.S.C. §371, of PCT Application No. PCT/CN2013/083050, filed on Sep. 6, 2013 entitled, “METHOD, APPARATUS AND SYSTEM FOR ENHANCING A USER′S ENGAGEMENT WITH A SERVICE,” the contents which are hereby incorporated by reference in its entirety.
Field of the Invention
Embodiments of the disclosure generally relate to information technology, and, more particularly, to enhancement of user engagement to a service.
Background
User devices such as smart phones, tablets, and laptops have been widely used. A user can easily access various services with such a user device by using apps or browser. It has been of the interest of a service provider to keep users to use its application or service as often as possible, namely to make its application or service sticky. For example, WeChat is a successful messaging application that is used in China. People constantly use it every day, chatting with others and posting pictures and comments.
Operating systems for user devices like Windows, Android and iOS have notifications that can inform users of updates available for an application. Android and iOS send a notification immediately if one of the installed apps has new updates to the phone's notification bar. However, these conventional notifications may become too annoying and interrupt the user's experience. Sometimes they may even become like a spam. More often than not there is no need for real-time notifications, since they are not so urgent that need to be read right away.
Further, the conventional notifications are not based on a user's behavior or preferences, but are triggered by time and/or content. Namely, whenever a new message arrives for a user, the system will notify the user right away. However the user may not want to be notified at that time, and prefer to be notified after work on the bus or during lunch time.
SUMMARY
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
According to one aspect of the disclosure, it is provided a method for enhancing a user's engagement or experience with a service (which is referred to as the user's active level), the method comprising: obtaining the user's current active level with respect to the service; determining a target active level; and sending the user a notification about the service at a time determined based on the user's current active level and the target active level.
According to another aspect of the present disclosure, it is provided a computer program product embodied on a distribution medium readable by a computer and comprising program instructions which, when loaded into a computer, execute the above-described method.
According to still another aspect of the present disclosure, it is provided a non-transitory computer readable medium having encoded thereon statements and instructions to cause a processor to execute the above-described method.
According to still another aspect of the present disclosure, it is provided a system for enhancing a user's engagement or experience with a service, the system comprising: an application configured to provide the service; a notification server configured to send the user a notification about the service at a time determined based on the user's current active level with respect to the service and a target active level.
These and other objects, features and advantages of the disclosure will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a simplified block diagram illustrating a system according to an embodiment;
FIG. 2 is a flow chart depicting a process of determining the time to send a notification according to an embodiment;
FIGS. 3A and 3B are a flow chart and an interaction diagram depicting a process for enhancing a user's engagement with a service according to an embodiment;
FIG. 4 is an illustrative diagram showing the structure of a notification message according to an embodiment;
FIG. 5 is a diagram showing effects of different acceleration rates according to an embodiment;
FIGS. 6A and 6B are a flow chart and an illustrative diagram showing a process of selecting items for a notification message according to an embodiment; and
FIGS. 7A to 7D are illustrative user interfaces showing how a notification is presented to the user according to an embodiment.
DETAILED DESCRIPTION
For the purpose of explanation, details are set forth in the following description in order to provide a thorough understanding of the embodiments disclosed. It is apparent, however, to those skilled in the art that the embodiments may be implemented without these specific details or with an equivalent arrangement.
As described herein, an aspect of the disclosure includes providing enhancement of a user's engagement with a service. FIG. 1 shows a system that is capable of enhancing a user's engagement with a service according to an embodiment.
As shown in FIG. 1, the system 100 comprises a user device 101 operably connected to an application server 102. The user device 101 can be any kind of user equipment or computing device including, but not limited to, smart phone, tablet, laptop and PC, running with any kind of operating system including, but not limited to, Windows, Android and iOS. The user device 101 has an app 1011 installed in it, with which a user can access the service provided by the application server 102. The service can be any kind of service including, but not limited to, news service such as Nokia Xpress Now, NBC News, social networking service such as Linkedin, Facebook, and messaging service such as WeChat, Yahoo! Mail. Alternatively, the user can also access the service with a browser installed in the user device 1011. In this case, the application server 102 would be a web server.
Context information about the user's access to the service (through the app 1011 or browser) is collected and sent to the log data 103 through the application server 102. More specifically, the context information can include any information that can be obtained, for example, time, location, information obtained by accelerometer, and information obtained by optical sensor. In an embodiment, the context information can be stored in the log data 103 as a plurality of records. Each record has a timestamp, user activity, location, accelerometer measurement, and optical sensor measurement. The location information can be GPS coordinates or cell IDs obtained by the user device 101. Further in another embodiment, the location information can be social locations translated from the raw location data, such as “home” and “work place” by some existing location mining approaches. An example of such location mining approach has been described by Eagle, N., Clauset, A. and Quinn, J. A. in their article “Location segmentation, inference and prediction for anticipatory computing” published in AAAI Spring Symposium on Technosocial Predictive Analytics (2009).
The system 100 further comprises an analytics server 104 having a session analytics module 1041 configured to compute session statistics such as session start time, session end time, session duration and content that was accessed based on the information stored in log data 103. The analytics server 104 also has an active user module 1042 configured to assess the user's active level based on the statistics of the session analytics module 1041.
In an embodiment, the user active level is measured according to the user's AU number (active user number). As known in the art, AU number is a simple metric to measure the engagement of users to a service or application, which indicates the number of active users that use the application/service at least several times (predefined) within a certain number of days. For example, when AU30=100, there are 100 users that use the application/service at least once and at most 3 times within 30 days. In the embodiment, the user's active level is measured according to the user's AU number. For example, when the user's current active level is AU30, the user has accessed the service at least once and at most 3 times on average in the past 30 days.
The system 100 further comprises a notification server 105 capable of sending notifications to the user device 101. The user device 101 has a notification client 1012 that receives the notifications from the notification server 105. The notification server 105 has a notification predictor 1051 configured to determine at what time a notification is to be sent to the user device 101. The notification predictor 105 does so in a manner described below. Further, the content of each notification is prepared by a notification content module 1052 with the help of a recommendation server 106. New content for the notification is provided by a notification recommendation module 1061. The notification recommendation module 1061 obtains candidate items for the notification from a trending content module 1062 that can access the log data 103.
FIGS. 3A and 3B shows a process for enhancing a user's engagement with a service according to an embodiment. As shown in FIG. 3A, the process starts at step 3001 by collecting context information about the user's access to the service. As shown by lines 300, 305, 310 and 315 in FIG. 3, the application server 102 sends push requests to the user device 101 periodically, for example every 30 minutes. In response, the user device 101 sends context information back to the application server 102. As described above, the context information can include any information about the user's access, for example, time, location, accelerometer measurement, and optical sensor measurement. Further, the location information can be social locations translated from the raw location data, such as “home” and “work place” by some existing location mining approaches. Although this embodiment is described in context of cell phone system which comprises cell base station and service provider, it is noted that the disclosed solutions can also be used in other environments, such as wireless LAN, Wi-Fi.
The process then proceeds to step 3005 in FIG. 3A where the time to send a notification is determined ( lines 320 and 325 in FIG. 3B). Specifically, FIG. 2 shows a process of determining the time to send a notification according to an embodiment. As shown in FIG. 2, firstly the user's current active level is obtained at step 205. In this embodiment, the active level is measured according to the user's AU number. That is, the user accesses the service at least once in an AU number of days, as described above. Then at step 210 a target active level is determined. Similar to the current active level, the target active level is also expressed as an AU number. More specifically, the target AU number is less than the current AU number of the user.
In this embodiment, a notification is to be sent in Predictor number of days as follows.
predictor=β*(AU−1)α+1  (1)
Here, β is used to control the saturation level to migrate the user toward becoming more active. At step 215, β is calculated from the notification predictor.
For example, if the user's current AU number is 30 and the target AU number is 25, then β can be calculated as follows.
β * ( AU - 1 ) α + 1 = 25 β = 24 ( AU - 1 ) α = 24 ( 29 ) α ( 2 )
Then, the process proceeds to step 220 where α is determined. Here, α is a value greater than zero for controlling the acceleration to migrate the user towards being more active. FIG. 5 is a diagram showing effects of different α values according to the embodiment. A larger α value results in a higher acceleration rate for an inactive user. As shown in FIG. 5, the cure C has a larger α value than the cure B. When α=1, the result becomes linear, as shown by the line A in FIG. 5.
At step 225, the frequency of notification (Predictor) is determined based on the user's current AU number, the target AU number and acceleration rate α according to the above equation (1).
At step 230, it is determined whether the current AU number is greater than 1. If the current AU number is not greater than 1 (namely, the user accesses the service every day), then the process proceeds to step 250 where it is determined to send the notification in a content-based mode. Namely, the notification is sent to the user as soon as new matched content is obtained. For a very active user who accesses the service every day, it is necessary to connect him/her always with the most relevant content, rather than improving the active level. On the other hand, if the current AU number is larger than 1, then the notification is to be sent to the user in Predictor days.
In this way, the system can determine the date to send the notification based on the user's current active level, target active level and acceleration rate. As a result, the user can be reminded of the service without being annoyed too much. By using the acceleration rate α, an inactive user can be pushed intensively at the beginning while a more active user will not be notified too often to avoid getting annoyed.
Although the determining step 230 is performed after calculating Predictor in this embodiment, it is noted that this step can be performed immediately after obtaining the user's current AU number (step 205). Thus, if the current AU number is not greater than 1, then the process directly proceeds to step 250, content-based notification, without performing the steps 210-225.
In addition to the Predictor days, the time of day when the notification is to be sent can also be determined from the context information according to some embodiments. In an embodiment, the context information includes information about the time the user accesses the service. By looking at the time of the user sessions aggregated over a period of time, it can be determined to send the notification at the time of day when the user usually accesses the service.
In another embodiment, the context information includes more information in addition to time of access, for example, location, accelerometer measurement, and optical sensor measurement. From such context information, the user's habit or preference with respect to use of the service can be determined through context mining technologies, such as Atomic Context-aware Preference feature with Latent Dirichlet Allocation model, and Personalized Context-aware Recommendation with LDA, etc. Examples of these applicable technologies have been described by Kuifei Yu et al. in the article “Toward Personalized Context-aware Recommendation by Mining Context Logs through Topic Models” (published in PAKDD 2012, Part I, LNAI 7301, pp. 431-443, 2012).
Thus, the system can determine what the user was doing when accessing the service, and identify user behavior patterns and user preferences from the context information. Thus the system can determine at which time of day to send the notification, so that the notification can get most attention from the user without unpleasant interruption.
Furthermore, in an embodiment, when the user migrates to a larger AU number, a new target active level is determined as an AU number in between the previous target AU number and the user's current AU number. For example, if a user has an initial AU number AU30, then the notification can be sent in 26 days. If the user follows the notification and becomes AU26, another notification can be sent in 24 days after the user's access, i.e. the new target AU number is 24. This strategy can be repeated to migrate the user to become more and more active. However, if the user does not access the service after receiving the notification, for example, she becomes AU40 instead, then the next notification can be sent in 34 day, i.e. the new target AU number is set in between the previous target AU number and the user's current AU number.
Now refer back to FIGS. 3A and 3B. After determining the time to send the notification, the process proceeds to step 3010 in FIG. 3A where the notification content is obtained (lines 330-350 in FIG. 3B). Specifically, FIGS. 6A and 6B show the process of selecting items for the notification according to an embodiment. In this embodiment, the notification has at least one item selected from a plurality of candidate items. While URLs are used as examples in this embodiment, the items can be anything that the user may be interested in, for example, news, updates, messages, comments, games, blogs and tweets.
As shown in FIG. 6A, firstly, candidate items are obtained together with their trending scores at step 6001. Here, candidate items can be obtained through existing trending algorithms, such as observing the significance of the recent change of user interaction, or rolling count algorithm used in Twitter. As shown in FIG. 6B, a candidate item (URL) at a specific time t has a trending score indicating its relative popularity at that time, which can be expressed as trend_score(url,t).
Assume that the user has not accessed the service for a period of time since time_start, and that a notification will be sent to the user at time_end. At step 6005, a hotness score is calculated for each candidate item as follows.
hot_score ( ur l , t ) = 1 = time_start time_end trend_score ( ur l , t ) * [ α * ( t - time_start ) ] ( 3 )
Here, [α*(t−time_start)] is used as a weight for emphasizing the recentness of an item. That is, a new item is given more weight than an old item. The calculation of hotness score can be done more efficiently in a recursive way, so that there is no need to keep history data processed in batch. For example, the data can be processed in the real time stream as follows.
hot_score(url,t)=hot_score(url,t−1)+trend_score(url,t)*[α*(t−time_start)]  (4)
At step 6010, those items that the user might have seen are eliminated. This can be done as follows. For each item (URL), there is a first access time, access_time(url), indicating the time that item has been firstly reported as trending in the system. It is reasonable to assume that the user might have seen those items which had been reported as trending on or before the user's last access to the service, i.e. time_start. Thus, at step 6010, the system eliminates those items that do not meet the requirement, access_time(url)>time_start.
Then at step 6015, the candidate items left are matched against a user profile that includes the user's preferences. For example, when the service is news service, the user profile may include the user's preferences, as the distribution over different categories or topics. The user profile can be learned from history data of the user's interaction with the service in the past. The candidate items are assessed and ranked according to the user's preferences. User profile matching can be achieved with conventional approaches, such as content-based or model based approaches, such as similarly measure of cosine distance, or KL divergence.
In another embodiment, the remaining recommendation results can further be filtered against the context information. As described above, the context information can include information about the user's access to the service, such as, time, location, accelerometer measurement, and optical sensor measurement. The context information can be used to infer physical and social context to determine the user's preferences. Thus the system can identify the user's behavior patterns and rank the candidate items based on the user's preferences and the characteristics of the items, such as content classification. One reference embodiment could be Personalized Context-aware Recommendation by only leveraging Individual user's context logs and Context-aware Popularity based Recommendation. Examples of the conventional approaches have been described by Kuifei Yu et al. in article “Toward Personalized Context-aware Recommendation by Mining Context Logs through Topic Models” (published in PAKDD 2012, Part I, LNAI 7301, pp. 431-443, 2012).
At step 6020, a diversity algorithm is applied to the results to extend the coverage and minimize the content stickiness. Specifically, the system can classify the recommended items based on one or more features such as category, keywords, tags, item type, information source and item location, in order to determine similarity information associated with one or more times. Using the similarity information along with the recommendation scores of the items, the system can increase or decrease the scores to enlarge ranking order differences against adjacent homogenous or similar items. An example of such diversity algorithm has been described by Jilei Tian et al. in PCT application WO2012/142751A1 published on Oct. 26, 2012.
Now refer back to FIGS. 3A and 3B. After obtaining the notification content, the process proceeds to step 3015 where the notification is sent to the user device 101 at the time determined at step 3005 (lines 355-365 in FIG. 3B). FIG. 4 shows an example of the structure of a notification message according to an embodiment. As shown in FIG. 4, the notification message includes:
    • message type—indicating the message is a notification;
    • user—identifying the user the notification is addressing to;
    • frequency—indicating the predicted frequency of notification; and
    • total number of recommended items—indicating the number of items included in the notification.
Further, the message also includes a number of topics, topics 1 to N. Under each topic, there can be one or more recommended items. FIGS. 7A to 7D show how the notification is presented to the user. As shown in FIGS. 7A to 7D, “Nokia Xpress Now” is used as an example of the service. First, the notification is received as a message on the user device 101 that indicates that there are new items to be read (FIG. 7A). The items are classified into categories. The number of items that come from a certain category can be displayed in the message. This lets the user know the type of new content and prompts the user to be curious, so that the user will go to the application/service. Second, the user can tap on the message to open the app. In this example, “Nokia Xpress Now” app is opened and the list of new items is displayed (FIG. 7B). As described above, the new items are included in the notification message. Third, the user experience is similar to that of the regular app. In the example of “Nokia Xpress Now”, the user can first see an abstract of each item (FIG. 7C) and tap to view the full story (FIG. 7D). In this way, the embodiment can provide a simple, clear and consistent user experience.
As shown in the above-described embodiments, the user's engagement to the service can be enhanced by notifications based on the user's actual active level and context information, instead of the arrival of new content. If the user migrates to a smaller AU number, then the target AU number can be adjusted to be even smaller. If the user migrates to a larger AU number, then the target AU number is adjusted to be in between the previous target AU and current AU numbers. This prevents disruption and interruption to the user as the notifications are adaptive to the user's behaviour in using the app/service. The system can choose the “sweet spot” to frequently send notifications to the user without getting the user annoyed.
Furthermore, in terms of the content of notification, sufficiently relevant items are selected through matching the candidate items against the user's preferences, which can be obtained from the context information. Further, through eliminating those items that the user might have seen and adding weight of recentness, it is ensured that the matched items are recently trending, hot and new for the user.
The conventional notification basically makes the user easy to access the information. It is purely from user experience perspective, without considering users' churn rate or users' engagement/stickiness. According to the above described embodiments, for a possible churn user, who has not used the service for long time, the notification becomes a reminder adaptive to the user behavior. In this way, the system can avoid bothering the user too much. For example, there may be two groups of churn users: (1) those who forget to use the service due to distractions; and (2) those who do not like the service. For group (1), the reminder may have great effect, making the users start using the service again. For group (2), the reminder may not help too much, but it can at least give the users an opportunity to see that the service might be improved since then, as it is easy to access through the notification service. At least it may not hurt too much since the reminding pace follows the user's behavior and is less aggressive.
According to an aspect of the disclosure it is provided an apparatus for enhancing a user's engagement with a service, comprising means configured to carry out the methods described above. In an embodiment, the apparatus comprises means configured to obtain the user's current active level with respect to the service; means configured to determine a target active level; and means configured to send the user a notification about the service at a time determined based on the user's current active level and the target active level, so that the user is notified of the service without being annoyed. The user's current active level and target active level can be measured according to the user's access to the service at least once in an active user (AU) number of days. The apparatus can further comprise means configured to determine at which date to send the notification based on the user's current active level and the target active level. The AU number of the target active level can be less than the AU number of the user's current active level.
In an embodiment, the apparatus further comprises means configured to determine an acceleration rate. The date to send the notification is determined based on the current and target active levels, and the acceleration rate.
The apparatus can further comprise means configured to determine a new target active level if the user migrates to a larger AU number. The new target active level has an AU number in between the AU number of the previous target active level and the AU number of the user's current active level.
In an embodiment, the apparatus further comprises means configured to collect context information about the user's access to the service. The apparatus can further comprise means configured to determine at which time of day to send the notification based on the context information. The context information may comprise at least one of time, location, accelerometer measurement, and optical sensor measurement.
In an embodiment, the notification has at least one item, and the apparatus further comprises means configured to obtain a plurality of candidate items; and means configured to select, from the plurality of candidate items, at least one item to be used in the notification. Further, the apparatus can comprise means configured to calculate a hot score for each of the candidate items based on its trending level and recentness; means configured to eliminate those candidate items that have been firstly reported as trending before the user's last access to the service; and means configured to select at least one item from the candidate items based on the hot scores of the candidate items and/or a user profile having information about the user's preferences. The user's preferences can be determined from the context information.
It is noted that any of the components of the system 100 depicted in FIG. 1 can be implemented as hardware or software modules. In the case of software modules, they can be embodied on a tangible computer-readable recordable storage medium. All of the software modules (or any subset thereof) can be on the same medium, or each can be on a different medium, for example. The software modules can run, for example, on a hardware processor. The method steps can then be carried out using the distinct software modules, as described above, executing on a hardware processor.
Additionally, an aspect of the disclosure can make use of software running on a general purpose computer or workstation. Such an implementation might employ, for example, a processor, a memory, and an input/output interface formed, for example, by a display and a keyboard. The term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other forms of processing circuitry. Further, the term “processor” may refer to more than one individual processor. The term “memory” is intended to include memory associated with a processor or CPU, such as, for example, RAM (random access memory), ROM (read only memory), a fixed memory device (for example, hard drive), a removable memory device (for example, diskette), a flash memory and the like. The processor, memory, and input/output interface such as display and keyboard can be interconnected, for example, via bus as part of a data processing unit. Suitable interconnections, for example via bus, can also be provided to a network interface, such as a network card, which can be provided to interface with a computer network, and to a media interface, such as a diskette or CD-ROM drive, which can be provided to interface with media.
Accordingly, computer software including instructions or code for performing the methodologies of the disclosure, as described herein, may be stored in associated memory devices (for example, ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (for example, into RAM) and implemented by a CPU. Such software could include, but is not limited to, firmware, resident software, microcode, and the like.
As noted, aspects of the disclosure may take the form of a computer program product embodied in a computer readable medium having computer readable program code embodied thereon. Also, any combination of computer readable media may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Computer program code for carrying out operations for aspects of the disclosure may be written in any combination of at least one programming language, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, component, segment, or portion of code, which comprises at least one executable instruction for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In any case, it should be understood that the components illustrated herein may be implemented in various forms of hardware, software, or combinations thereof, for example, application specific integrated circuit(s) (ASICS), functional circuitry, an appropriately programmed general purpose digital computer with associated memory, and the like. Given the teachings of the disclosure provided herein, one of ordinary skill in the related art will be able to contemplate other implementations of the components of the disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of another feature, integer, step, operation, element, component, and/or group thereof.
The descriptions of the various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.

Claims (19)

What is claimed is:
1. A method comprising:
obtaining, by a processor, a current active level of a user with respect to a service, the current active level indicating a number of times the user has accessed the service over a specified time period;
adjusting, by the processor and based on the current active level, a target active level for the user, the target active level being shorter than the current active level, the target active level being adjusted by selecting a value between the current active level and a previous target active level in response to an increase in the current active level;
determining, based at least on the adjusted target active level, a frequency of notifications sent to the user;
determining, by the processor and based on the determined frequency of notifications, a time to send the user a notification about the service; and
determining, by the processor, to send to the user, the notification at the determined time.
2. The method of claim 1, further comprising:
repeating the obtaining, the adjusting, and the determining.
3. The method of claim 1, further comprising:
determining an acceleration rate, wherein the acceleration rate determines a rate of change of the frequency of sending the notifications, wherein the time to send the notification is further determined based on the target active level and the acceleration rate.
4. The method of claim 1, further comprising:
collecting context information about the user's access to the service.
5. The method of claim 4, wherein the sending further comprises:
determining a time of day to send the notification based on the context information.
6. The method of claim 4, wherein said context information comprises a time, a location, an accelerometer measurement, and/or an optical sensor measurement.
7. The method of claim 1, wherein the notification has at least one item, and further comprising:
obtaining, by the processor, a plurality of candidate items; and
selecting, by the processor and from the plurality of candidate items, the at least one item to be used in the notification.
8. The method of claim 7, wherein the selecting comprises:
calculating a hot score for each of the plurality of candidate items based on a trending level and a recentness of the corresponding candidate item;
eliminating at least one of the plurality of candidate items that have been previously reported as trending before the user's last access to the service; and
selecting the at least one item from the plurality of candidate items based on the hot scores of the plurality of candidate items and/or a user profile having information about user preferences.
9. The method of claim 8, wherein the user preferences are determined from the context information.
10. An apparatus comprising:
at least one processor; and
at least one memory storing computer program code, wherein the at least one memory and the stored computer program code are configured, with the at least one processor, to cause the apparatus to at least:
obtain a current active level of a user with respect to a service, the current active level indicating a number of times the user has accessed the service over a specified time period;
adjust, based on the current active level, a target active level for the user, the target active level being shorter than the current active level, the target active level being adjusted by selecting a value between the current active level and a previous target active level in response to an increase in the current active level;
determine, based at least on the adjusted target active level, a frequency of notifications sent to the user;
determine, based on the determined frequency of notifications, a time to send the user a notification about the service; and
determine to send, to the user, the notification at the determined time.
11. The apparatus of claim 10, wherein the apparatus is further caused to at least determine the time based on the target active level and an acceleration rate.
12. The apparatus of claim 10, wherein the apparatus is further caused to at least determine a time of day to send the notification based on context information about the user's access to the service.
13. The apparatus of claim 12, wherein said context information comprises a time, a location, an accelerometer measurement, and/or an optical sensor measurement.
14. The apparatus of claim 10, wherein the notification has at least one item, and the apparatus is further caused to at least:
obtain a plurality of candidate items and select, from the plurality of candidate items, the at least one item to be used in the notification.
15. The apparatus of claim 14, wherein the apparatus is further caused to at least calculate a hot score for each of the plurality of candidate items based on a trending level and a recentness of the corresponding candidate item, eliminate at least one of the plurality of candidate items that have been previously reported as trending before the user's last access to the service, and select the at least one item from the plurality of candidate items based on the hot scores of the plurality of candidate items and/or a user profile having information about user preferences.
16. The apparatus of claim 15, wherein the user preferences are determined from the context information.
17. The method of claim 1, wherein the service comprises a news service, a social networking service, and/or a messaging service.
18. The method of claim 1, wherein the current active level and the target active level comprise active user numbers.
19. The method of claim 1, wherein the active user number comprises a metric to measure an engagement of the user to the service, and wherein the metric indicates that the user has used the service at least once within a certain number of days.
US14/915,841 2013-09-06 2013-09-06 Method, apparatus and system for enhancing a user's engagement with a service Expired - Fee Related US10764379B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/083050 WO2015032065A1 (en) 2013-09-06 2013-09-06 Method, apparatus and system for enhancing user's engagement with service

Publications (2)

Publication Number Publication Date
US20160198011A1 US20160198011A1 (en) 2016-07-07
US10764379B2 true US10764379B2 (en) 2020-09-01

Family

ID=52627707

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/915,841 Expired - Fee Related US10764379B2 (en) 2013-09-06 2013-09-06 Method, apparatus and system for enhancing a user's engagement with a service

Country Status (4)

Country Link
US (1) US10764379B2 (en)
EP (1) EP3042483A4 (en)
CN (1) CN105706409B (en)
WO (1) WO2015032065A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107968893B (en) * 2016-10-19 2020-09-08 阿里巴巴集团控股有限公司 Communication method and device, electronic equipment and computer readable storage medium
CN110166500B (en) * 2018-02-11 2021-12-14 腾讯科技(深圳)有限公司 Business server opening method, device, storage medium and computer equipment
CN110188977B (en) * 2019-04-10 2023-06-02 创新先进技术有限公司 Project review member scheduling method and device
US20230245146A1 (en) * 2022-01-28 2023-08-03 Walmart Apollo, Llc Methods and apparatus for automatic item demand and substitution prediction using machine learning processes

Citations (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311206B1 (en) 1999-01-13 2001-10-30 International Business Machines Corporation Method and apparatus for providing awareness-triggered push
US20020006192A1 (en) * 1998-12-16 2002-01-17 David C. Bengtson Adjustment of call selection to achieve target values for interval-based performance metrics in a call center
US20020083148A1 (en) * 2000-05-12 2002-06-27 Shaw Venson M. System and method for sender initiated caching of personalized content
US6615161B1 (en) * 1998-07-08 2003-09-02 International Business Machines Corporation Method and apparatus for adjusting an interval of polling a peripheral device in response to changes in the status and/or reliability of receiving traps
US20030200135A1 (en) 2002-04-19 2003-10-23 Wright Christine Ellen System and method for predicting and preventing customer churn
US20030217098A1 (en) 2002-05-15 2003-11-20 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US20040003352A1 (en) * 2002-06-27 2004-01-01 Bargeron David M. Notification of activity around documents
US20070180036A1 (en) 2005-11-29 2007-08-02 Sap Ag Context aware message notification
WO2010082885A1 (en) 2009-01-19 2010-07-22 Telefonaktiebolaget L M Ericsson (Publ) A method to prevent churn of customers
CN101883125A (en) 2009-05-08 2010-11-10 北京闻言科技有限公司 Method for accurately counting software downloading times through mobile phone client
US7895227B1 (en) * 2007-04-27 2011-02-22 Intuit Inc. System and method for detecting trends in network-based content
CN102075531A (en) 2010-12-27 2011-05-25 北京像素软件科技股份有限公司 Method for transmitting data to client
US20110125548A1 (en) * 2009-11-25 2011-05-26 Michal Aharon Business services risk management
CN102184253A (en) 2011-05-30 2011-09-14 北京搜狗科技发展有限公司 Method and system used for pushing grabbed and updated messages of network resource
US8203977B2 (en) 2008-07-28 2012-06-19 Broadcom Corporation Method and system for half duplex audio in a bluetooth stereo headset
WO2012142751A1 (en) 2011-04-19 2012-10-26 Nokia Corporation Method and apparatus for flexible diversification of recommendation results
US20130013804A1 (en) 2011-07-07 2013-01-10 Ipc Systems, Inc. Protocol agnostic notification system
US20130054706A1 (en) * 2011-08-29 2013-02-28 Mary Graham Modulation of Visual Notification Parameters Based on Message Activity and Notification Value
US20130061046A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Stateless Application Notifications
US20130085853A1 (en) * 2010-12-22 2013-04-04 Erick Tseng Timing for providing relevant notifications for a user based on user interaction with notifications
US20130117254A1 (en) * 2012-12-26 2013-05-09 Johnson Manuel-Devadoss Method and System to update user activities from the World Wide Web to subscribed social media web sites after approval
US20130144974A1 (en) 2011-12-02 2013-06-06 Notice Software LLC Method and system for facilitating push notification
US8504680B1 (en) * 2008-12-23 2013-08-06 Symantec Corporation Automatically adjusting polling intervals based on remote administrative activity
US20130282454A1 (en) * 2012-04-19 2013-10-24 Landslide IP Group, LLC Virtual Environment with Targeted Advertising and Rewards
US20140052488A1 (en) * 2012-08-15 2014-02-20 Magnet Systems, Inc. Contextual task management and notifications
WO2014036854A1 (en) 2012-09-06 2014-03-13 百度在线网络技术(北京)有限公司 Cloud pushing method, system and device
US8694542B2 (en) * 2006-09-12 2014-04-08 Facebook, Inc. Customizing tracking changes to user content in an online social network
US20140280556A1 (en) * 2013-03-15 2014-09-18 Rousseau Kazi Real-time fan engagement
US20140350349A1 (en) * 2011-12-16 2014-11-27 Koninklijke Philips. N.V. History log of users activities and associated emotional states
US20140365431A1 (en) * 2011-09-13 2014-12-11 Monk Akarshala Design Private Limited Role Based Notifications in a Modular Learning System
US9026592B1 (en) * 2011-10-07 2015-05-05 Google Inc. Promoting user interaction based on user activity in social networking services
US9940594B1 (en) * 2010-02-19 2018-04-10 Elance, Inc. Digital workroom

Patent Citations (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615161B1 (en) * 1998-07-08 2003-09-02 International Business Machines Corporation Method and apparatus for adjusting an interval of polling a peripheral device in response to changes in the status and/or reliability of receiving traps
US20020006192A1 (en) * 1998-12-16 2002-01-17 David C. Bengtson Adjustment of call selection to achieve target values for interval-based performance metrics in a call center
US6311206B1 (en) 1999-01-13 2001-10-30 International Business Machines Corporation Method and apparatus for providing awareness-triggered push
US20020083148A1 (en) * 2000-05-12 2002-06-27 Shaw Venson M. System and method for sender initiated caching of personalized content
US20030200135A1 (en) 2002-04-19 2003-10-23 Wright Christine Ellen System and method for predicting and preventing customer churn
US20030217098A1 (en) 2002-05-15 2003-11-20 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US20040003352A1 (en) * 2002-06-27 2004-01-01 Bargeron David M. Notification of activity around documents
US20070180036A1 (en) 2005-11-29 2007-08-02 Sap Ag Context aware message notification
US8694542B2 (en) * 2006-09-12 2014-04-08 Facebook, Inc. Customizing tracking changes to user content in an online social network
US7895227B1 (en) * 2007-04-27 2011-02-22 Intuit Inc. System and method for detecting trends in network-based content
US8203977B2 (en) 2008-07-28 2012-06-19 Broadcom Corporation Method and system for half duplex audio in a bluetooth stereo headset
US8504680B1 (en) * 2008-12-23 2013-08-06 Symantec Corporation Automatically adjusting polling intervals based on remote administrative activity
WO2010082885A1 (en) 2009-01-19 2010-07-22 Telefonaktiebolaget L M Ericsson (Publ) A method to prevent churn of customers
CN101883125A (en) 2009-05-08 2010-11-10 北京闻言科技有限公司 Method for accurately counting software downloading times through mobile phone client
US20110125548A1 (en) * 2009-11-25 2011-05-26 Michal Aharon Business services risk management
US9940594B1 (en) * 2010-02-19 2018-04-10 Elance, Inc. Digital workroom
US20130085853A1 (en) * 2010-12-22 2013-04-04 Erick Tseng Timing for providing relevant notifications for a user based on user interaction with notifications
CN102075531A (en) 2010-12-27 2011-05-25 北京像素软件科技股份有限公司 Method for transmitting data to client
WO2012142751A1 (en) 2011-04-19 2012-10-26 Nokia Corporation Method and apparatus for flexible diversification of recommendation results
CN102184253A (en) 2011-05-30 2011-09-14 北京搜狗科技发展有限公司 Method and system used for pushing grabbed and updated messages of network resource
US20130013804A1 (en) 2011-07-07 2013-01-10 Ipc Systems, Inc. Protocol agnostic notification system
US20130054706A1 (en) * 2011-08-29 2013-02-28 Mary Graham Modulation of Visual Notification Parameters Based on Message Activity and Notification Value
US20130061046A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Stateless Application Notifications
US20140365431A1 (en) * 2011-09-13 2014-12-11 Monk Akarshala Design Private Limited Role Based Notifications in a Modular Learning System
US9026592B1 (en) * 2011-10-07 2015-05-05 Google Inc. Promoting user interaction based on user activity in social networking services
US20130144974A1 (en) 2011-12-02 2013-06-06 Notice Software LLC Method and system for facilitating push notification
US20140350349A1 (en) * 2011-12-16 2014-11-27 Koninklijke Philips. N.V. History log of users activities and associated emotional states
US20130282454A1 (en) * 2012-04-19 2013-10-24 Landslide IP Group, LLC Virtual Environment with Targeted Advertising and Rewards
US20140052488A1 (en) * 2012-08-15 2014-02-20 Magnet Systems, Inc. Contextual task management and notifications
WO2014036854A1 (en) 2012-09-06 2014-03-13 百度在线网络技术(北京)有限公司 Cloud pushing method, system and device
US20130117254A1 (en) * 2012-12-26 2013-05-09 Johnson Manuel-Devadoss Method and System to update user activities from the World Wide Web to subscribed social media web sites after approval
US20140280556A1 (en) * 2013-03-15 2014-09-18 Rousseau Kazi Real-time fan engagement

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yu, Kuifei, et al. "Towards personalized context-aware recommendation by mining context logs through topic models." Pacific-Asia Conference on Knowledge Discovery and Data Mining. Springer Berlin Heidelberg, 2012.

Also Published As

Publication number Publication date
CN105706409B (en) 2019-12-24
EP3042483A1 (en) 2016-07-13
CN105706409A (en) 2016-06-22
EP3042483A4 (en) 2017-04-12
US20160198011A1 (en) 2016-07-07
WO2015032065A1 (en) 2015-03-12

Similar Documents

Publication Publication Date Title
US11727048B2 (en) Methods, systems, and media for presenting recommended content based on social cues
US11397763B1 (en) Live video recommendation by an online system
US9628414B1 (en) User state based engagement
JP6408014B2 (en) Selecting content items for presentation to social networking system users in news feeds
US9438941B2 (en) Using second screen devices to augment media engagement metrics
US10009308B2 (en) Social content features based on user tracking
US9146894B2 (en) Objective value models for entity recommendation
US20110264531A1 (en) Watching a user's online world
US9467744B2 (en) Comment-based media classification
JP6737707B2 (en) Method, apparatus and system for content recommendation
CN113711545A (en) Improving user interaction with a common user of a network system
US8949228B2 (en) Identification of new sources for topics
US9530168B2 (en) Reducing churn rate for a social network service
KR102141674B1 (en) Optimization of content distribution using model
CN110659404B (en) An information recommendation method, device and storage medium
US10764379B2 (en) Method, apparatus and system for enhancing a user's engagement with a service
WO2017136179A1 (en) Pattern matching for content in digital magazine
JP5813052B2 (en) Information processing apparatus, method, and program
US20110264525A1 (en) Searching a user's online world
US9189737B2 (en) Determining a churn probability for a subscriber of a social network service
US11276079B2 (en) Method and system for meeting service level of content item promotion
US10505883B1 (en) Re-engagement notifications

Legal Events

Date Code Title Description
AS Assignment

Owner name: NOKIA TECHNOLOGIES OY, FINLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOKIA CORPORATION;REEL/FRAME:037884/0988

Effective date: 20150116

Owner name: NOKIA CORPORATION, FINLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHIN, ALVIN;TIAN, JILEI;REEL/FRAME:037884/0939

Effective date: 20130911

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

ZAAA Notice of allowance and fees due

Free format text: ORIGINAL CODE: NOA

ZAAB Notice of allowance mailed

Free format text: ORIGINAL CODE: MN/=.

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20240901