I want to build a recommender system for shops, where I recommend items.

I've learned about these systems like with content-based, collaborative filtering and so on. But now I want to make one on a very huge data.

Here I talk about a recommender system for shops where I want to recommend some items to shops, based on their similarities with other shops. To have an idea, I speak about 3000 shops, and 1 000 000+ items (I can take categories (around 1000) to begin).

So, I know that I would have to compute the similarities between shops and builds a score to determine "how much shops likes items", and other steps.

So, my questions are about :

  • Where should I begin ?
  • Do I need to try to compute a score for shop on items with utility matrix?
  • How to store this huge utility matrix? Is there any database designed for this?
  • Do you recommend any libraries, technologies or databases ? (I have heard about Neo4j for relation between shop and item, or MongoDB for shops).

I will use Python for that task.

I write this to get opinions (there is maybe lot of way to do that) and answers (like with technologies).

I'm beginner and never did recommender on huge data (around 1TB of history data for 4 years).