Imagine you have a band that plays live music, and you need to come up with the setlist each night. Many bands play the same basic show, plus or minus a song or two. But some bands make an effort to have no two performances be the same. Let’s say you were a band like that, and you wanted to write an algorithm to decide what to play each night. How might you do it?
Some guiding principles for a playlist algorithm
- People like rare songs more than overplayed songs
- People like good songs more than bad songs
- New songs need a chance to prove themselves
The image above is a result of a playlist algorithm I’ve been working on. The top left looks like this. The first column represents the first show for this (make-believe) band, where they played three songs. Notice how row #3 has more dots than #1 or #2. That’s because #3 is a much better song, meaning people want to hear it more.
Notice the fourth column. This is the first show where the band didn’t play songs #1 or #2, and in fact debuted three new songs, #6, #7, and #8.
This is a lot of fun
I could point out a lot more interesting visuals here and the stories behind them. I could explain why songs #22 through #26 aren’t played anymore, or why there are such striking vertical lines every so often. But I’ll explain later. I just wanted to poke my head up and say how cool this is and how much fun I’m having. Ok, time to get back to it!