Last time out I was getting all moany about genre. In the process I started to try and figure out how Spotify worked. Since then I stepped off the deep end and have been reading way too much about Discover and how it recommends music to folks. And I have to say I have been pretty surprised and impressed. On the off-chance that someone else finds this interesting I am going to tell you what I found.
Discover often does a really great job at giving me new music. The reason it does so well is that the whole Spotify app is built around learning and improving. Customising even how it presents itself, to give the user their bespoke experience.
So how is it doing this? I promise I will not go into the hard maths and the details of the Artificial Intelligence running under the hood. But I think it is worth talking broadly about how it works, because it does a lot more than I thought.
There are three main approaches that Spotify uses:
- Listener base – what do us users like and what do we not like?
- Natural language processing – it reads the internet (i.e. blogs) and other public data.
- Sound Waves – it listens to the songs themselves.
Lets dig a little into each.
- Listener base
Spotify is the largest music streaming platform. And it’s only growing. They reported in October that they had ~250 million active users. Considering that they also have been in the biz for so long, this means they have a lot of data on our listening habits. All our darkest secrets and guilty pleasures. And this is really their lifeblood of their discovery algorithm. They use us against each other.
All this listener data ends up in a giant matrix. Going down one side we have all 250 million+ users. Then going along the top is all 30 milllion+ songs. Filling the matrix is a simple 1 and 0. Has this person listened to this song (1) or not listened to this song (0). From this matrix users that have similar profiles of songs to each other can be grouped together. Likewise they can group together songs/artists with others, this time based on the profile of users that listen to the music
So how does this help? Recommendations of new songs will come from other people who listen to similar music. Say Nick and I have more or less the same profile, then they are going to recommend me songs that he listened to and I haven’t, and vice versa.
By doing this with everyone and across all the songs, they create a score for each song for how much they should recommend to each user. This is the model on which all their other algorithms are applied to further refine your scores. It also means you’ve got to be careful. Just let your friend play Backstreet Boys once. That 0 will turn to a 1. And your profile and recommendations are changed forever!
Anyway this database is what they say gives it an edge over other streaming platforms. It’s just a matter of having the most data.
- Natural Language Programming
So what happens if no one has listened to a song? Then our big matrix has a big old gap in it and which isn’t all that helpful. To deal with this problem Spotify has an algorithm that uses Natural Language Programming. This is just a fancy way of saying that a computer reads text and understands it. It will read through and essentially highlight anything that describes the music. So Spotify trawls the internet taking information from blogs, newspapers and anything it can get its hands on. i.e. Picky Bastards. Say in a recent review, Fran describes Katie Blount as ‘modern folk’. This will be picked up by Spotify and then factored into their model, making it more likely to be recommended to fans of modern folk. This example is pretty straightforward, but it is dragging in all kinds of descriptors. Not just genre. If the music is lively, dark etc. It knows what music is described in the same way, and which users like that music. This thing is smart.
This means real world opinions about music, is guiding the Discover weekly. Other streaming sites have tried to do this in the past, but often relied on manual curation. This limited how much music was actually rated and reviewed. Instead Spotify has developed a way to do this without doing it manually.
- Sound Waves
Lastly we have what I think is the most wild thing. What happens when you have new music from a new band that isn’t all over blogs. How does that get out there? Spotify uses an algorithm that will listen to every song. It looks at the sound files and classifies it based on what it sounds most like. Finding it a home in our matrix. So that if it is similar to songs that you like, it will push it into your model of what to recommend to you.
Pretty fucking nuts. They have an objective tastemaking computer filling in all the gaps. It can group songs without bias or prior knowledge.
All in all I think this is crazy. I assumed they were leveraging all our data. But the way they are curating this with both opinions from both people and computers is really surprising.
And as an AI system it is learning. Everytime it makes a wrong or right choice it gets better. They even include randomness. A wild card song thrown in the mix to see if what they know about you and the songs are correct. I can’t speak for everyone, but it has my taste pretty much nailed.
A big caveat with all this, is that I can only find out about what has made its way into the public. It’s probably out of date. They are going to be keeping a lot of the good stuff secret. Just think, Spotify is tracking everything you do. Hard signals like whether you skip a song, add it to a playlist or favourite it. Or more ambiguous signals like whether you are passively listening or if you go and look at the artist after you hear a song. All of that information is going to be feeding into to give you that perfect playlist every week.
Spotify is such a cornerstone of the music business these day. And it deservedly gets some stick for the way the money side is works. But there seem to be some very smart people driving forward the technology. Some of it is scary. But at a time where it’s hard for young bands to break out and be seen, it at least seems like the data heads behind Spotify are doing their best to help music find its crowd.