I'm trying to implement a recommender system for a website that hosts a wide variety of software and you can search the website to find what you need. The need is to implement a recommender system to better recommend software to the users except that there is no ratings system and users don't really buy the software from the website...

A first approach would be like this: let's imagine a user clicks on software A, we can search for the most clicked software by all the users who also clicked on software A. But this would lack meaning since these users that clicked on software A may just search the category of this software and would click on the first suggestion from a list that may be sorted alphabetically.

Also, the users don't really interact with the software. They can't bookmark it or post a comment so we can't just take these actions and give them a weight to simulate a rating system.

I don't really find ideas about solving this issue and I don't have any experience with user tracking data so any idea would be really helpful.


In the complete absence of user feedback, you can still build a (non-personalized) recommender system based on the products' descriptive features, e.g. by employing some distance metric.

In your case, there are at least two behavioral signals: clicks and search terms. Both can be used to personalize recommendations. I would start with getting familiar with session-based recommendations, which take into account user's actions in the context of the current session, and refine the recommendations incrementally (a kNN algorithm would be a good starting point).

  • $\begingroup$ Thank you for your answer I think that'll help a lot. While searching I also found reinforcement learning based recommender systems. What do you think about them? $\endgroup$
    – Daviiid
    May 12 at 13:48
  • $\begingroup$ I think that multi-arm bandits in particular are very useful in reinforcement learning tasks. If you have access to user features, you can try a contextual bandit which chooses products to recommend based on a user's feature vector. $\endgroup$ May 13 at 9:18
  • $\begingroup$ Thank you for your help ! $\endgroup$
    – Daviiid
    May 13 at 19:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.