Sitemap
Feedpresso

The smartest content aggregator for people that want to stay ahead

How are recommendations done at Feedpresso?

2 min readOct 27, 2017

--

Occasionally users ask us how we are doing recommendations at Feeedpresso and now it is a good opportunity to cover this so our users can be more confident in the entire process.

I won’t go here into all the nitty-gritty details but it should give you a much better picture how the system works.

First of all, it is about the data we collect. Feedpresso observes a few main interactions with the app:

  • news entry was opened for reading
  • news entry was bookmarked
  • news entry entered and left the screen
  • news entry was marked as uninteresting (swipe left)
  • news entry was marked as interesting (swipe right)

The first three are the implicit feedback about the relevance of the stories, and the last two are the explicit feedback as user intentionally lets us know if that’s relevant or not.

These interactions have different weights in our system. For example, opening the article is a really strong indicator that the story is interesting. On the other hand, the fact that entry came into the screen and the left without any action, is regarded as a mild negative feedback. Also, the explicit feedback is taken seriously — if a user disliked a story, there is going to be a lot less of that.

With this, the system builds a historical profile of the user and its preferences that is weighted towards more recent interests.

When a user opens the app, and the new stream of updates is being loaded, there are several factors that are taken into account to pick the best stories and to determine the order of them. To name the most important factors:

  1. Stories’ content (an approach that goes beyond just keywords) is matched against a historical profile of the user to see if the topic is something that user is interested in.
  2. Does the user tend to read from this source (is the source trustworthy for the reader)?
  3. Is the source spammy? Spammy sources (lots of stories per day) get a negative score.
  4. Is the story hot (interesting) for everybody? If yes, then it is probably something that you should see.
  5. Obviously, there is timeliness — how fresh the update is.

And that’s about it. In the end, all of this is fed into our Probabilistic Machine Learning Model that weights different factors and produces a final score — how is it likely, that the story is relevant for the user.

A technical person will see right away that we are not using collaborative filtering techniques — that’s correct. This approach is a poor fit for a content that changes rapidly and becomes irrelevant fast. Additionally, it suffers from a cold-start problem — it is hard to give relevant content to users right away.

However, we do have plans for it for the new sources (blogs and news sites) discovery.

If it happens so that you haven’t tried Feedpresso, give it a spin — it might surprise you :).

--

--

Feedpresso
Feedpresso

Published in Feedpresso

The smartest content aggregator for people that want to stay ahead

Tadas Šubonis
Tadas Šubonis

Written by Tadas Šubonis

Geek. Data Scientist. Software Engineer. Entrepreneur.

No responses yet