1. A method comprising: generating, using at least one processor, training data from data identifying user web page interactions for a plurality of users, the training data comprising information to identify each user of the plurality and a plurality of items associated with the web page interactions of the plurality of users; training, using the at least one processor and the generated training data, a model to be used in making item recommendations; receiving an item recommendation request, the request identifying a requesting user; making, using the at least one processor, a determination whether to use short-term user behavior to make a recommendation; responsive to making a determination not to use short-term user behavior, the at least one processor using item scoring in the trained model, the item scoring identifying a plurality of scored items and the corresponding scores; responsive to making a determination to use short-term user behavior, the at least one processor: generating a short-term cluster membership vector using a current item identified from behavior of the user and the trained model, the short-term membership vector identifying a probability for each cluster identified in the trained model that the user belongs to the cluster; generating the plurality of scored items, each item having an association with at least one cluster identified in the trained model and having a cluster score corresponding to each cluster association, an item's score being determined using the item's cluster score and the probability that the user belongs for each cluster associated with the item; 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 for the requesting user.