Search code examples
typesrecommendation-engine

Two-item-to-item collaborative filtering- Is there a solution?


I have the following problem: In my case a person always buys two products (one of type X and one of type Y). After this I want to recommend further products of type Z to my customer. I already figured out that if the person only bought one item the best way would be probably an item-to-item recommender. But I can not come up with a solution where the recommendation is always based on the combination of one product of type X and one of type Y and the recommend several products of type Z to the customer.

So maybe there is a solution out there for this problem that I haven't found yet?

Many thanks


Solution

  • One approach here is to look into building a 'hybrid' recommender system:

    1. Calculate item-item scores using query item X
    2. Calculate item-item scores using query item Y

    You know have a new problem to solve:

    • Input: item_scores_X, item_scores_Y
    • Output: prediction_Z

    There are several ways to tackle making the prediction of Z, based on knowing X and Y. You could formulate this as a regression problem, and perhaps look into RandomForests for example. You could also build a 'cascade' system if it is true to say the most recent item is more informative. There are more sophisticated ways, but the input/output of the problem remain as described. Reading about hybrid recommender systems should give you more ideas.