# Item-based collaborative filtering – Can you add demographic information to initial user×item matrix?

I am building an item-based collaborative filter recommendation system. I have a matrix of users and items, which in this case, are products that were either bought or not (i.e., binary: 1 or 0). I can build an item-based CF out of this co-occurrence/association matrix (note: this is not a matrix of product ratings (15)).

I would also like to add information on "demographics" (location, browser type, device type, etc.) to my recommender to improve the recommendations, especially for people new to the site. Is it possible to just binarize the demographic variables, treat them like new items (i.e., not different than a product), and then add them as new columns in the occurrence matrix? In other words: {user_1: {product_22: 1, product_38: 1, browser_firefox: 1, California: 1, etc}.

I want to either use this matrix (with both products and demographic information for items) to obtain measures of item-similarity (e.g., how similar is product1 to product2; firefox_browser to product1) that can be used for recommendations. I may also want apply matrix factorization on this matrix.

It strikes me that this is a sensible approach but I haven't been able to find documentation on anyone adding demographics to their recommender in such a simple way. Any thoughts?

Thanks for any help!

• You may find this paper interesting: jstatsoft.org/article/view/v039i12, while it does not answer directly to your needs it describes something very similar. – Tim Oct 27 '16 at 11:06