I wanted to enhance a recommendation engine with information relying not only on past purchases or ratings but also on behavioral and demographical variables like sex, age, location, service usage frequency or hours. This information may be sparse (e.g. the user may not have provided me with his age).

Can you suggest an approach that would allow for it?

My first approach:

After screening the general approaches to recommender systems, I think the one that is able to implement my idea is custom(?) item-based collaborative filtering.

To be more precise: I would include user profile information in the same way item ratings are introduced, probably with two alterations to raw data:

  1. Normalize scale to be compliant with the rating scale.
  2. Add a parameter in my algorithm that would put a weight (e.g. 20% or 50%) on user profile rows, as there may be 10 user-profile variables and a million product items.

2 Answers 2


Try matrix/tensor factorization methods and data fusion.

  • $\begingroup$ It may not be obvious to readers how tensor factorization facilitates the accommodation of users profiles. It would be good if you explained. $\endgroup$
    – Emre
    Commented Nov 23, 2016 at 5:08
  • $\begingroup$ As far as I understand, you can have anything you want (i.e. user's age) on the third (fourth etc.) dimension. I really have no in-depth knowledge or understanding of the subject, so I'd rather just stay with throwing the bone. :) $\endgroup$
    – K3---rnc
    Commented Nov 23, 2016 at 14:26
  • $\begingroup$ That requires some deeper understanding, but there is a direct statement that these methods can solve my problem, so it appears it is exactly what I have been looking for. Thank you. More examples of other techniques for incorporation of user profile information + assessment of my approach are still welcome :) $\endgroup$ Commented Nov 24, 2016 at 9:22

For the problem like this, you should try item-based collaborative filtering. There is a book named "The Ancient Art of Numerati (A guide to data mining)", a whole chapter on this book is based on item based collaborative filtering with a very good examples and also some coding samples of python for implementation. I suggest you do read this.

  • $\begingroup$ The book you are refering to (guidetodatamining.com/assets/guideChapters/DataMining-ch3.pdf) is actually a nice summary for basics of recommender systems. However, it does not contain an answer to my question. $\endgroup$ Commented Nov 22, 2016 at 8:35
  • $\begingroup$ Answer of your question is item based collaborative filtering. $\endgroup$ Commented Nov 23, 2016 at 11:14
  • $\begingroup$ Does it mean you suggest the approach I have outlined within the question? $\endgroup$ Commented Nov 24, 2016 at 9:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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