I'm building an e-commerce recommender system. Given a seed (bought) product I want to recommend a product that has the highest probability of being bought.
I model this as a conditional probability of recom. product (R) given the seed product (S): $P(R|S)$.
Now the problem is that purchase data is not exactly abundant. So $P(R \cap S)$ is actually quite small and I guess the results are not very statistically sound. I've decided to look at this at the category level instead.
Instead of computing $P(R|S)$ I compute $P(R|C)$ where C denotes category of the recom. product. I model user purchase decision process like: 1) user selects category 2.) user chooses the product inside category. Which, I think, could be written like
$$P(R) = P(C|S) * P(R|C)$$
where C = category of a recom. product, S = seed product, R = recom. product. I'm assuming independence of this two events.
This actually turns out to work better. It's somehow similar to taking the most probable category given the seed product and then selecting best selling product inside this category. Nevertheless I'm not happy of just blindly selecting best sellers from a category. I'm thinking how to boost relevant products i.e. include the probability from the product level $P(R|P)$ (as described in the beginning) into the formula above?
Any help greatly appreciated. I apologize for any error that occurred due to my lack of stats knowledge.