“My brother keeps complaining that Spotify recommends him bad music,” my friend told me the other day, snorting. “I told him that if he doesn’t like it, his taste in music probably just sucks.”

My friend and I were discussing Spotify’s Discover Weekly product, launched in July. Now, every Monday, Spotify users get fresh playlists with songs algorithmically tailored to their idiosyncratic preferences, whether they’re all about Miles Davis or Miley Cyrus.

To be honest, though, I think my friend was being unnecessarily harsh. The implication that the algorithm accurately reflected her brother’s taste discounts the fact that algorithms aren’t magic – they’re built by humans, and humans are fallible; not all personalization is created equal.


How Spotify’s Discover Weekly Playlist Works

Matt Ogle, who runs Discover Weekly, gave Tech Insider’s Alex Heath a succinct description of what goes on behind the hood of every Discover Weekly playlist:

“You’ve been playing song A and song C a lot, but it turns out that when other people play those songs together in their playlists there’s a song B that you’ve never heard before. Discover Weekly gives you song B. We look at what you’ve been listening to and what are the songs playing around these songs that you’ve been jamming on,’ Ogle tells Tech Insider. ‘We’re trying to find the missing tracks.’”

If you’ve recently played an embarrassing song 15 times in a row (we all do that, right?), it won’t necessarily affect your playlist. Discover Weekly is smart enough to avoid basing its recommendations on obvious outliers. An example from Re/code’s Peter Kafka: he frequently played the “Minions” soundtrack for his kids, but his very first playlist was mercifully filled with indie music.

Spotify differentiates between the music you listen to actively and the music you listen to passively through clustering algorithms. To explain via another example — back in September 2014, FiveThirtyEight’s Walt Hickey got a preview of the developments that eventually led to Discover Weekly and found that his clusters represented him pretty accurately.

The clusters broke down like this:

  1. The Shame Cluster (his words, not mine): Lana Del Rey, Soft Cell, etc. — music he listened to quite frequently, but that didn’t accurately reflect his musical identity.
  2. The Indie Cluster: The Mountain Goats, The Shins, etc. — the kind of music he’d actively seek out.
  3. An “Other” Cluster: Vitamin String Quartet, soundtrack songs, etc. — stuff he played in the background.

Spotify’s clustering algorithms are undisputedly cool, but there’s quite a bit more that goes into quality personalization.


When Personalization Makes You Feel Pigeonholed

Like most people, I’d imagine, my taste in music is pretty all-over-the-place; when I first started listening to my Discover Weekly playlist, I assumed that Spotify would take that into account.

It did — but not in the way I had expected.

On week one, Spotify recommended almost nothing but surly teenager music. This week, it’s been nothing but hyper, pop-y indie music. In truth, I like both genres. Why don’t my playlists reflect this? You might like Mexican food and Indian food equally, but you wouldn’t want a personalized food delivery service to give you just one or the other for an entire week.

Peter Kafka made an observation roughly along those lines:

“. . . Spotify’s list seems like music I might listen to if I were programming something I actually wanted to hear: It’s heavy on aging indie acts like The Dead Milkmen, Camper Van Beethoven and the Violent Femmes, and sprinkled with lesser-known nuggets from really old acts like Elvis Costello and Paul Simon . . . Not bad! I wish it had some hip-hop (old hip-hop, that is).”

Now, instead of listening to my Discover Weekly playlist all the way through, I simply rush through the songs, cherry-pick a few, and move on from it completely.


Why Randomness is Key to Machine Learning

Disclaimer – my experience obviously doesn’t negate all the fantastic reviews Discover Weekly has been getting. That said, if Spotify wanted to introduce more serendipity into its personalized playlists, here’s how the team would likely go about doing it:

Imagine you’ve got three songs you could potentially recommend to someone – Love Shack, Don’t Stop Believin’, and Rapper’s Delight — and they’re all measured by how much that particular person would enjoy them (we’ll call the metric “goodness”). The bigger the number, the better.

The simplistic approach would be to simply recommend the song with the most “goodness”, but a smarter way to make recommendations would be to incorporate an element of uncertainty.

Let’s say that Don’t Stop Believin’ has the most goodness, followed by Rapper’s Delight, and then followed by Love Shack. But let’s say that you have next to no information on Love Shack — for all you know, this person could like Love Shack ten times more than they’d like Don’t Stop Believin’, or it could be a total flop.

In that case, you should randomize the songs within an acceptable range of “goodness” – Love Shack, Don’t Stop Believin’, Rapper’s Delight, I Will Always Love You, and so on — and only then make a selection.

This sort of randomness is crucial to making any recommendation engine work well, because a recommendation engine always trains on past data. If you never add anything new, it’ll never create an updated picture of the present. (What would happen if Spotify based its recommendations entirely on the music we listened to three years ago? I shudder to think.)


That’s the power of personalization: moving the needle even a little bit results in a much stickier experience.

Personalization Done Right

With Discover Playlists, Spotify took a bit of a risk. Music is an integral part of many peoples’ identities, so it’s important to get song recommendations right (you wouldn’t want to recommend Matt & Kim to the average metalhead). Otherwise, your users are going to feel misunderstood.

But the risk is well worth it, because Spotify just made music discovery infinitely easier. Most people love hearing great new songs, but most people are either unable or unwilling to take the time to look for them. Having the tunes come to you feels awesome, even if Spotify doesn’t get things right 100% of the time.

I’d say I’m about 40% satisfied with my recommendations, but I’ve gotten enough gems – new ones and forgotten favorites – that I’ve begun engaging with Spotify more than ever before.

That’s the power of personalization: moving the needle even a little bit results in a much stickier experience.

Share This