1. A method comprising: receiving, using at least one processor, an item recommendation request, the request identifying a user; responsive to a determination made using web page interaction data that the user is a frequent user, using item scoring in a model trained using the web page interaction data for a plurality of users, the item scoring identifying a plurality of scored items and the corresponding scores; responsive to a determination made using the web page interaction data that the user is an infrequent user, the at least one processor; identifying, using a current item identified from behavior of the user and the trained model, a probability for each cluster identified in the trained model that the user belongs to the cluster; and generating the plurality of scored items, each item of the plurality of scored items having an item score determined using the item's cluster score and the probability that the user belongs to the cluster; selecting, by the at least one processor, items from the plurality of scored items based on the item scoring; and providing, by the at least one processor, the selected items as item recommendations in response to the request.