Automatic recipient targeting for notifications
In one embodiment, a method includes one or more computing devices detecting a triggering action by a user of a social-networking system, wherein the detecting includes receiving information about the triggering action from a client device associated with the user and accessing a queue including multiple notifications. The method also includes, for each of one or more of the notifications, calculating using a machine-learning model, a click-through probability that the user will interact with the notification upon display of the notification, wherein the machine-learning model is based at least in part on one or more features associated with the user or the notification, determining whether the click-through probability satisfies a threshold, and if the click-through probability satisfies the threshold, then sending the notification to the client device associated with the user for display, else, removing the notification from the queue.
1. A method comprising, by one or more computing devices associated with a social-networking system:
detecting a triggering action by a user of the social-networking system, wherein the detecting comprises receiving information about the triggering action from a client device associated with the user, wherein the triggering action comprises:
a click-through of an icon by the user,
a mouseover of an icon by the user, or
a request to log in to the social-networking system by the user;
accessing, in response to detection of the triggering action, a queue comprising a plurality of notifications, wherein each of the notifications was received by the social-networking system from an application associated with the social-networking system prior to the detecting the triggering action, and wherein the detected triggering action is associated with one or more of the notifications in the queue;
for each of the one or more notifications in the queue associated with the triggering action:
calculating, using a machine-learning model, a click-through probability that the user will interact with the notification upon display of the notification, wherein the machine-learning model is based at least in part on one or more features associated with the user or the notification, and wherein the features comprise a period between receipt of the notification and the detecting of the triggering action;
determining whether the click-through probability satisfies a threshold; and
if the click-through probability satisfies the threshold, then sending the notification to the client device associated with the user for display;
else, removing the notification from the queue.
2. The method of claim 1 , wherein the features further comprise, for an application associated with the notification:
the user's frequency of interacting with notifications associated with the social-networking system within a specified timeframe;
the user's frequency of interacting with the application within a specified timeframe;
the user's click-through rate for notifications associated with the social-networking system;
the user's click-through rate for notifications associated with the application;
a time of the user's most recent interaction with the application; or
a category corresponding to the application.
3. The method of claim 1 , wherein the features comprise:
the user's frequency of interacting with applications associated with the social-networking system, wherein the frequency is assessed within a specified timeframe;
the user's frequency of interacting with applications associated with the social-networking system, wherein the applications fall within a particular category;
a time of the user's most recent interaction with any application associated with the social-networking system; or
a time of the user's most recent interaction with an application associated with the social-networking system, wherein the application falls within a particular category.
4. The method of claim 1 , wherein the features comprise, for an application associated with the notification:
a number of daily active users of the application;
a number of monthly active users of the application;
a growth rate of the application's number of daily active users;
a growth rate of the application's number of monthly active users;
a conversion rate associated with the application among users of the social-networking system fitting a particular demographic description; or
a language supported by the application.
5. The method of claim 1 , further comprising:
computing one or more similarity scores between an application associated with at least one of the accessed notifications and one or more other applications;
identifying one or more similar applications based on the computed similarity scores; and
extracting one or more features based on the user's interactions with the identified similar applications.
6. The method of claim 1 , wherein the determining whether the click-through probability satisfies a threshold further comprises, for at least one of the accessed notifications:
determining whether the triggering action took place within a timeframe within which the notification is valid.
7. The method of claim 1 , further comprising:
detecting one or more actions taken by the user upon display of one or more of the accessed notifications; and
modifying the machine-learning model based on the detected actions.
8. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
detect a triggering action by a user of the social-networking system, wherein the detecting comprises receiving information about the triggering action from a client device associated with the user, wherein the triggering action comprises:
a click-through of an icon by the user,
a mouseover of an icon by the user, or
a request to log in to the social-networking system by the user;
access, in response to detection of the triggering action, a queue comprising a plurality of notifications, wherein each of the notifications was received by the social-networking system from an application associated with the social-networking system prior to the detecting the triggering action, and wherein the detected triggering action is associated with one or more of the notifications in the queue;
for each of the one or more notifications in the queue associated with the triggering action:
calculate, using a machine-learning model, a click-through probability that the user will interact with the notification upon display of the notification, wherein the machine-learning model is based at least in part on one or more features associated with the user or the notification, and wherein the features comprise a period between receipt of the notification and the detecting of the triggering action;
determine whether the click-through probability satisfies a threshold; and
if the click-through probability satisfies the threshold, then send the notification to the client device associated with the user for display;
else, remove the notification from the queue.
9. The media of claim 8 , wherein the features comprise, for an application associated with the notification:
the user's frequency of interacting with notifications associated with the social-networking system within a specified timeframe;
the user's frequency of interacting with the application within a specified timeframe;
the user's click-through rate for notifications associated with the social-networking system;
the user's click-through rate for notifications associated with the application;
a time of the user's most recent interaction with the application; or
a category corresponding to the application.
10. The media of claim 8 , wherein the features comprise:
the user's frequency of interacting with applications associated with the social-networking system, wherein the frequency is assessed within a specified timeframe;
the user's frequency of interacting with applications associated with the social-networking system, wherein the applications fall within a particular category;
a time of the user's most recent interaction with any application associated with the social-networking system; or
a time of the user's most recent interaction with an application associated with the social-networking system, wherein the application falls within a particular category.
11. The media of claim 8 , wherein the features comprise, for an application associated with the notification:
a number of daily active users of the application;
a number of monthly active users of the application;
a growth rate of the application's number of daily active users;
a growth rate of the application's number of monthly active users;
a conversion rate associated with the application among users of the social-networking system fitting a particular demographic description; or
a language supported by the application.
12. The media of claim 8 , wherein the software is further operable when executed to:
compute one or more similarity scores between an application associated with at least one of the accessed notifications and one or more other applications;
identify one or more similar applications based on the computed similarity scores; and
extract one or more features based on the user's interactions with the identified similar applications.
13. The media of claim 8 , wherein the determining whether the click-through probability satisfies a threshold further comprises, for at least one of the accessed notifications:
determining whether the triggering action took place within a timeframe within which the notification is valid.
14. The media of claim 8 , wherein the software is further operable when executed to:
detect one or more actions taken by the user upon display of one or more of the accessed notifications; and
modify the machine-learning model based on the detected actions.
15. A system comprising: one or more processors; and a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:
detect a triggering action by a user of the social-networking system, wherein the detecting comprises receiving information about the triggering action from a client device associated with the user, wherein the triggering action comprises:
a click-through of an icon by the user,
a mouseover of an icon by the user, or
a request to log in to the social-networking system by the user;
access, in response to detection of the triggering action, a queue comprising a plurality of notifications, wherein each of the notifications was received by the social-networking system from an application associated with the social-networking system prior to the detecting the triggering action, and wherein the detected triggering action is associated with one or more of the notifications in the queue;
for each of the one or more notifications in the queue associated with the triggering action:
calculate, using a machine-learning model, a click-through probability that the user will interact with the notification upon display of the notification, wherein the machine-learning model is based at least in part on one or more features associated with the user or the notification, and wherein the features comprise a period between receipt of the notification and the detecting of the triggering action;
determine whether the click-through probability satisfies a threshold; and
if the click-through probability satisfies the threshold, then send the notification to the client device associated with the user for display;
else, remove the notification from the queue.
16. The system of claim 15 , wherein the features comprise, for an application associated with the notification:
the user's frequency of interacting with notifications associated with the social-networking system within a specified timeframe;
the user's frequency of interacting with the application within a specified timeframe;
the user's click-through rate for notifications associated with the social-networking system;
the user's click-through rate for notifications associated with the application;
a time of the user's most recent interaction with the application; or
a category corresponding to the application.
17. The system of claim 15 , wherein the features comprise:
the user's frequency of interacting with applications associated with the social-networking system, wherein the frequency is assessed within a specified timeframe;
the user's frequency of interacting with applications associated with the social-networking system, wherein the applications fall within a particular category;
a time of the user's most recent interaction with any application associated with the social-networking system; or
a time of the user's most recent interaction with an application associated with the social-networking system, wherein the application falls within a particular category.