I am attempting to use item based collaborative filtering for product recommendation. The matrix is all 1s and 0s based on whether or not a buyer purchased an item, and I am using cosine similarity to identify similar products.
In the data I am testing this on, there are over 2K products, and many were available for different amounts of time. Some have been available the entire time, some were available in the past but are no longer available, and some have only recently become available.
I've noticed that products that have been available for a long time tend to match up to other products that have been available a long time (popular greatest-hits sort of items). Similarly, items that are less popular and have not been available as long tend to get good matches that are also not quite as popular. In many cases, the popular products were available at times when the less popular products were not.
http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf This paper about Amazon has pseudo code that seems to suggest only considering people who bought item X when looking for items similar to X (although that might be a misinterpretation on my part). This corrects the issue to some extent, but might even over-correct the issue because it ignores the many people who may have bought item Y and not bought item X.
Has anybody attempted item based collaborative filtering under these conditions, and do you have any advice on how to deal with products that have had different availability?