I have one clarification -

First the definitions-

User-based: Recommend items by finding similar users. This is often harder to scale because of the dynamic nature of users.

Item-based: Calculate similarity between items and make recommendations. Items usually don't change much, so this often can be computed offline.

Now the question - in item based CF the similarity between items are tracked via user behavior - since user behavior is changing will it not impact the similarity between items?

  • 1
    $\begingroup$ Sure it will. If you suddenly get a new group of people on your site with a specific fetish, you can be sure that certain items will spike in their values. $\endgroup$ – LauriK Mar 25 '15 at 9:59
  • 2
    $\begingroup$ User behavior defines item similarity, or at least that's what I take from your question. how can user behavior not change item similarity? $\endgroup$ – Sean Owen Mar 27 '15 at 11:27

It depends on what data you are using to calculate similarity between your items.

If you are using data from a user interaction with an item - like viewing a web page or buying an item - then each time there is a user interaction with an item, the similarity between it and other items will change. If you are doing this calculation offline, then your model won't take that change into account until the next time the data set is updated and your recommendations are recalculated.

However, if you are using item meta-data to calculate similarity, then user behavior won't make any difference. For example, if you took the number of shared tags between two items, or the number of shared inbound links, etc.

I have always used user browsing data to build content recommendation engines, but it is certainly possible to calculate similarity in many different ways. Have fun!

| improve this answer | |

What you are asking for is usually called basket analysis.

I think you should get maximum value from the data you have by using both of them: user & items.

What you said about "item-based" approach means something like recommendation based on item tags or categories. It isn't a recommendation system in the full sense, because it uses your categorization/tagging. In other words, you will never place diapers and beer into a single category, but it is still legendary buying pattern :).

Item-based data is used typically in basket analysis algorithms, such as frequent pattern mining. In couple words: you search for most frequent item sets (items bought together or coherently) and make suggestions based on them.

User-based data shouldn't be ignored either. Clustering approach works here: you can find some groups of customers which buying attitude to item sets (found above) is different from the average.

You can find more at statistics stack exchage site. Questions like this. And more.

| improve this answer | |

Sure, as @LaruiK said.

You've notice the factor which would change the similarity measure of the 'co-view' data, a simple way it to integrate a time decay function into your model.

| improve this answer | |

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