For our final course project in Data Science, we proposed the following-
Give the Amazon Reviews Dataset, we plan to come up with an algorithm (thats roughly based on Personalized PageRank) that determines a strategic position for placing ads on Amazon. For example, there are millions of products on Amazon. And the dataset gives you an idea of what products are related, what products were brought together, viewed together etc. ( We can construct a graph with this info of also viewed and also bought ) It also gives you the reviews associated with each product over 14 years. Using all these info, we will rate/rank products on Amazon. Now, you are a vendor on Amazon who wants to improve traffic to their product page. Our algorithm helps you identify strategic positions in the graph where you can place your ad so that you can derive max traffic.
Now, our Professor's question is, how will you validate your algorithm without real users? We said-
We can model a fixed set of users. Some users follow
also_bought
andalso_viewed
links to the third hop more often than first or fifth hop. There users' behavior is normally distributed. Some other users hardly navigate beyond the first hop. This set of users' behavior is exponentially distributed.
Our Professor's said - Whatever distribution the users follow, users are navigating using links for similar products. Your ranking algorithm also considers similarity b/w 2 products to rank products. So using this validation algorithm is kinda cheating
. Come with some other user behavior, something more realistic and orthogonal to the algorithm.
Any ideas on how to model the users' behavior? I am happy to provide more details about the algo.