Artists You May Like
Because you like “Hans Zimmer”, you may also like “Harry Gregson-Williams.” How did you know that Spotify??
Below I have outlined the first approach that comes to mind:
- Find all artists you like
- Find all users who like the same artists as you
- Find all artists those users like, but you haven’t liked yet
Here is a simplified database setup along with queries to determine this information.
users
-id
likes
-id
-user_id
-song_id
artists
-id
songs
-id
-artist_id
Find all artists USER likes:
Find all users who like the artists USER likes:
Find all artists the found users like but USER does not like (yet):
This is fairly limited in what it can tell us but could be extended to provide more information. For example:
- count the likes for the artists
- give higher weight to users whose tastes are most similar to USER
- assign genres to songs
- track how many times the users have listened to each song