Recommendation Systems at Koo

Written by Danish Ebadulla and Meghna Kayam

Danish Ebadulla
Koo App
5 min readAug 3, 2022

--

Generic recommendation system graph

At Koo, we strive to be a platform where every user has the opportunity to voice their thoughts and opinions to the world; to connect with each other; to build and be part of a community. With over 35 million users, and hundreds of thousands of koos posted daily, what becomes core to the quality of our platform is being able to help users discover people and content of interest to them. Recommendation systems play an integral role here.

This is the first of a series of articles that will focus on all things recommendations and personalization.

What do we recommend?

Recommendations on the app come in different forms: we recommend creators and users you may be interested in connecting with (people recommendation); trending topics and hashtags that may cater to your tastes (topics recommendation); koos that are related to the topics you subscribe to, or are similar to the ones you have previously engaged with (feed personalization).

What kind of data do we use?

There are varying techniques to generate personalized recommendations. But the two most vital factors involved in the process are 1) capturing user preferences and intent, and 2) identifying similar users, creators, and content. As for data, we can group them into three broad categories:

  1. Engagement — What kind of content you like to read or watch on the platform
  2. Network — Whom you are connected to, whom they in-turn are connected to, and so on
  3. User Profile — What you tell us about yourself

Often, a combination of these data sources are used to generate personalized recommendations for the user base, and additional characteristics to rank order them.

Introduction to Recommended for You

Koo’s personalized people recommendation feature is visible on the app under the Feed and People tabs as “Recommended for you” (RFY) for every active user. It relies on signals from both the user’s surrounding network and their engagement activities on the app to build an understanding of their potential interests and suggest profiles accordingly.

Figure 1 — Recommended for You on the Feed

Signals in Recommended for You

Here are some types of signals that RFY taps into to identify candidate profiles:

Multi-hop Connections

Network connections are leveraged by RFY to recommend profiles that are followed by the users whom you follow or users whom you share multiple mutual connections with.

Gaps in User Network

RFY nudges you to follow people who already follow you or users on the platform that might be in your synced phone contacts as well. All of these recommendations extract the user’s neighborhood connections to identify potential gaps in their network that could be filled.

Content Engagement

The content and creators that you engage with help RFY determine which other creators you might be interested to follow. RFY uses data based on in-app activity and engagement for this. Engagement can come in a variety of forms: from reacting to a creator’s content whom you do not follow yet, visiting the profile of a user that you found interesting on the platform, or following and reacting to topics that are relevant to you.

Collaborative Filtering

Collaborative filtering helps to identify users who have similar tastes as you and recommends content that they like and you haven’t interacted with yet. It relies on the assumption that users who show similar behavior on the platform have similar tastes. Koo leverages the implicit feedback that we receive from users on our platform to quantify their preferences and runs advanced collaborative filtering models to give personalized recommendations to every user who spends time on our app.

Graph showing RFY’s follow data over time
Figure 2 — Developments in RFY: The graph above shows the trend in daily average follow actions performed per user from RFY over the past few months

Recommendation Justification

All personalized user recommendations on Koo are accompanied by a justification text, providing transparency to the end user on why a particular profile was suggested to them. This not only provides credibility to our recommendations but also gives users a stronger incentive to consider following a profile. Some of the justification texts can be seen in Figure 1 above.

Ranking Candidate Recommendations

Our signals are quantified based on what category they belong to; network-based signals are ranked based on the number and strength of connections, content-based signals are ranked on content similarity and model-based signals are ranked on the model prediction scores. We also apply additional functions post primary ranking. Some of these are:

  • Activity-based reranking : Users who have been active more recently than others get showcased slightly higher on the list, to encourage connections with active users over those potentially gone dormant. This also helps ensure freshness of content on the feed downstream.
  • Impression-based reranking : When a candidate profile on RFY has been viewed a few times but not followed, we consider this as implicit feedback from the user and downrank this suggestion in favor of surfacing up newer recommendations that the user is yet to see.
Graph showing effects of different reranking strategies
Figure 3 — Reranking: Effects on conversion with and without impressions-based reranking can be seen on the two user cohorts under experiment.

All our recommendations go through rigorous post-processing steps that involve multiple heuristic and ranking functions to ensure only the most relevant profiles are shown to you on RFY. Reranking helps the recommendations stay fresh and relevant, even when you have low in-app engagement or when you haven’t followed anyone in a long time.

Summary

RFY today contributes to roughly 20% of total connections formed across the platform for eligible users post-onboarding. With every version that goes live, we expand and fine-tune the underlying signals; and we continue to learn from our users to help improve their experience on Koo.

Here we shared an overview of RFY. Stay tuned for future blogs, where we will dive into the technical details of some of our most popular signals and engineering know-how needed to build and scale a recommendation system to a rapidly growing user base.

Acknowledgements

Recommended for You owes its success to all those who contributed to building this feature from inception and continue to advance its intelligence — Akanksha Baghel, Amey Muley, Amit Kumar, Babu Mahesh, Danish Ebadulla, Dishant Singla, Meghna Kayam, Neeti Khard, Rahul Rustagi, Raj Kumar, Saswat Nanda, and Vinod Kumar.

--

--