Personalized push notifications enabled by artificial intelligence

Recent progress in artificial intelligence enables us to design proactive AI systems. Whereas traditional recommender systems produce recommendation upon a user request helping them to discover relevant content or product, a proactive system should notify user every time some highly interesting content or product becomes available or changes so they can read it, watch it or get it.

Proactive systems can significantly lift engagement of users. However their deployment was problematic in the past, because it was very hard to come with any intelligent heuristics that prevents jamming users with irrelevant content. Such behaviour quickly leads to ignoring notifications and has often negative impact on user satisfaction with the system/product.

Cloud algorithms generate personalized recommendations based on interaction history. Inverse recommendations provide you with list of users interested in a particular item, you can notify.

With growing number of products and amount of content available, you cannot notify every user each time new content appears. You need a truly smart personalization AI system that can judge which users should be notified so they are very likely to respond positively. Good thing is that advanced recommenders can identify which items are relevant for users and can offer them quite diversified portfolio of products covering large portion of the catalog as you can learn in our previous post. Traditional recommenders are however seldom capable of recommending particular users that should be notified and when the recommendation should be sent.

Inverse recommendation scenarios

In Recombee, we have just introduced new functionalities supporting proactive recommendations. Whereas standard recommendations return list of relevant items for any user, with our new API requests and algorithms, you can generate list of users for any item. Such functionality (we call it “inverse recommendations”) is perfect for proactive recommendation, because you can identify users, that are very likely to be interested in given item.

Inverse recommendations can be used in following scenarios:

  • Push notification to selected users when new content is available (can be new movie, article, job offer, product or any other item). In this case, it is beneficial when you collect at least few user interactions with new item before asking for inverse recommendation, otherwise content based methods only can be applied.
  • Hidden gems promotion — identify audience for high quality content that often leads to conversion or increased engagement (top articles with a subscription offer, intro show of addictive series)
  • Identify particular users from a group that might be interested in special offer (for example sending offer just to recently joined users who are likely to respond).
  • E-mailing scenarios for retail to promote goods, which expire soon and should be sold out or need to be promoted.
  • E-mailing of “premium” offers, such as jobs, products or other premium or high margin content.
  • A tool for recruiters to find suitable candidates. Recommending job applicants for certain position.
  • Identifying new items that should be offered in order to increase engagement of certain group of users.
  • Identifying potential content popularity before acquisition (see which users are interested in particular content before it becomes available to users).
  • In the educational domain to identify students with interest in some specific content or course. Recommending students for assignments or projects.
  • Recommending reviewers of articles or projects.
  • In-game recommendation of players with similar interests.
  • Recommending potential partners in dating apps.
  • Notifications in social networks — for example a friend with similar interests just liked some item.

And of course in many other scenarios. Inverse recommendations can help you to be more efficient and significantly increase engagement of users.

When to send proactive recommendations?

Many companies just carpet-bomb their users with static everyday email campaigns. Certain group of users learns to ignore such emails or filter them out, even though they contain personalized recommendations, just because they receive it everyday no matter if there is enough new relevant content. We encourage our clients to use heuristics that are more sensitive to users behaviour and needs. This strategy helps to grow their user bases in the longer term.

Timing is very important for proactive recommendations. You do not want to bother users too much so they learn that notifications/emails you send them are very interesting, relevant with good timing.

Some companies might have enough behavioral data even to detect boredom of their users so they can use it to calculate best time for sending recommendations. Session based recommender systems can model user behavior and predict best time for next interaction, but the research in this area is still very imature. Recent papers promise to scale session based recommenders powered by neural nets or Poisson processes for millions of users and items. Unfortunately, such models consume significant resources and are still not commercially viable.

For heavy users, we can model behavioral patterns and predict when is the best time to send recommendations, but significant proportion of users are not very predictable (depends on a domain — it is harder in retail and easier in media, jobs or education).

Moreover, many of our customers do not have long interaction history for reasonable percentage of their users enabling to calculate perfect timing when recommendations should be sent. Therefore we recommend you to use some simple heuristic until session based algorithms become available and affordable.

Good heuristic is that you increase frequency of regular personalized recommendation whenever user responds and when you have enough relevant new content (in Recombee, you need to use min relevance parameter and we will AB test rotation of content for you). On the other hand you decrease frequency if user does not respond.

When sending proactive recommendations it is good to combine adaptive periodic push notifications for all users obtained by standard recommendations as suggested above with occasional notifications obtained by inverse recommendations.

Algorithms behind inverse recommendations

Whereas in standard recommendation scenarios we recommend items to users, in inverse scenarios, users are recommended to items. So for one particular item, we can get ranked list of users, who are most likely to watch/buy/consume it. To compute this ranked list one can use historical interactions among users and items. Also, attributes of users and items are beneficial especially in cold start scenarios (when you need users for bright new item with no interactions).

Family of algorithms used for inverse recommendation are almost the same as for the standard recommendation, including collaborative filtering, matrix factorization and all approaches described in our blog post.

The most challenging part is customizing inverse recommendations by ReQL that helps to use them in various scenarios. See examples below.

Here is how you can make it with Recombee

Getting inverse recommendations is very easy with provided SDKs. For example in Python it’s as simple as sending RecommendUsersToItem request with the following code:

users = client.send(RecommendUsersToItem(‘item-458’, 50))

It returns list of 50 users who are mostly likely to be interested in item-458.

If you uploaded attributes for users, you can use it to filter or boost output based on those attributes, like sending to users who joined within last 7 days:

users = client.send(RecommendUsersToItem(‘item-458’, 50, filter = “ ‘activation_date’ > now()-7*24*60*60”))

Or increase the probability that users belonging to a particular group appear between recommended ones

users = client.send(RecommendUsersToItem(‘item-458’, 50, booster = “if ‘group’ == \”loyal\” then 2.0 else 1.0”))

See our video tutorial for more info.

Conclusion

Personalized push notifications, emails or newsletters are great tools that will help you to increase revenue and user engagement. We provide you with algorithms in the cloud enabling you to send relevant content exclusively to users that might be intested. Inverse recommendations can be used in many new scenarios helping you to improve your product and services.