Are there any well known algorithms for figuring out the "Recommended Items" that websites often use? On a new project, I'm currently tracking things they've viewed, purchased, searched on, favourited, etc. I am curious what the best way would be to utilize all of this information to intelligently give meaningful recommendations.