So I am building a recommendation model using customer and product information. This will be done via implicit, that is, a customer has a product or not as we don't have rating information about products. I want the model to recommend a product using collaborative filtering so I am thinking of using a recommender model like Matrix factorisation/ SVD etc. I will perform multiple tests/experiments to determine the best algorithm to go with.
Should I perform clustering first to determine similar customers based on their demographic and geographic information before the recommender? Then subsequently should I train a recommender model for each cluster?
Would there be any benefit in this approach or would the recommender model be able to naturally determine similar customers?