1. A method comprising: collecting, via at least one computing device, a training data set comprising data about a plurality of playlists of a plurality of media streams, for each occurrence of a media item in a playlist, the training data set comprising information identifying the media item, the playlist, at least one artist associated with the media item, and a timestamp indicating a play time of the media item; generating, via the at least one computing device and using the training data set, at least one latent factor model modeling a plurality of media items and the plurality of media streams; and using, via the at least one computing device, the at least one model generated using the training set comprising data about a plurality of playlists of a plurality of media streams to make a recommendation.