Archive for category Music
At the time when I was coming of age musically, when we listened to music on LPs, the listening experience was very different than it is today. For one, if you didn’t like the currently playing song you had to get out of your chair, walk over to the turntable, carefully pick up the tone arm and advance the needle to the next track. That was a lot of work to avoid three minutes of bad music. You really had to really dislike a song to make skipping it worth the effort. Today, with our fancy iPhones and our digital streaming music subscription services, skipping a song couldn’t be easier. Just tap a button and you are on to the next song. The skip button is now a big part of the overall listening experience. Don’t like a song? Skip it. Never heard a song? Skip it. Just heard a song? Skip it. The Skip even plays a role in how we we pay for music. For most music subscription services if you want the freedom to skip a song whenever you want, you’ll need to be a premium subscriber, otherwise you’ll be limited to a half-dozen or so skips per hour.
I am interested in how people are using the skip button when listening to music so I spent a bit of time taking a closer look at skip data. This and the next blog post or two will be all about the skipping behavior of music listeners. We’ll take a look at how often people skip, whether different listener demographics have different skipping behavior, what artists and genres are most and least likely to trigger skips and more!
This is my first deep dive into Spotify data. The Spotify team has built up a fantastic big data infrastructure making it easy to extract insights from the billions and billions of music plays. For this study I’ve processed several billions of plays from many million unique listeners from all around the world.
What is a skip?
For this study, I define a skip as any time the listener abandons a song before the song finishes. It could be because the listener explicitly presses the skip button, or it could be that they searched for and started another song before the current song finished, or they clicked on a different song in the playlist. For whatever reason, if the listener doesn’t make it to the end of the song, I call it a skip.
How often do people skip?
The first and most basic question to answer is: How often do people skip?. Given that skipping is so easy how big of a part does skipping play in our listening. The answer: A lot!
Here are the numbers. First, lets look at how often a song is skipped within the first five seconds of play. I call these quick skips. The likelihood that a song will be skipped within the first five seconds is an astounding 24.14%. Nearly one quarter of all song plays are abandoned in the first 5 seconds. The likelihood that a song will be skipped within the first thirty seconds rises to 35.05%. The chance that a song is skipped before it ends is a whopping 48.6%. Yes, the odds are only slightly better than 50/50 that a song will be played all the way to the end.
|Skipped in||Likelihood of skip|
|First 5 seconds||24.14 %|
|First 10 seconds||28.97 %|
|First 30 seconds||35.05 %|
|Before song finishes||48.6 %|
The following plot shows the average skipping behavior for millions of listeners and billions of plays. The plot shows the rather steep drop off in listeners in the early part of a song when most listeners are deciding whether or not to skip the song. Then there’s a slow but steady decline in listeners until we reach the end of the song where only about 50% of the listeners remain.
The next plot shows the average skipping behavior within in the first 60 seconds of a song. It shows that most of the song skips happen within the first 20 seconds or so of the song, and after that there’s a relatively small but steady skipping rate.
We can also calculate an overall skip rate per listener – that is, the average number of times a listener skips a song per hour.
Average listener/skips per hour: 14.65
On average a listener is skipping a song once every four minutes. That’s a whole lot of skipping.
Who is doing all that skipping?
Do different types of listeners skip music at different rates? Lets take a look.
Skipping rate of male listeners: 44.75%
Skipping rate of female listeners: 45.23%
There seems to be little difference as to how often men and women skip.
Desktop skipping rate: 40.1%
Mobile skipping rate: 51.1%
When we are at our desktops, we tend to settle into longer listening sessions and skip less, while when we are mobile we spend much more time interacting with our music.
This plot shows the skipping rate as a function of the age of the listener. It shows that young teenagers have the highest skipping rate – well above 50%, but as the listener gets older their skipping rate drops rather dramatically, to reach the skipping nadir of about 35%. Interestingly, the skipping rate rises again for people in their late 40s and early 50s. I have a couple of theories about why this might be. The first theory is that the skipping rate is a indication of how much free time a person has time. Teenagers skip more because they have more time to devote to editing their music stream, whereas thirty-somethings, with their little kids and demanding jobs, have no time to pay attention to their music players. The second theory, suggested by Spotify über-analyst Chris Tynan, is that the late-forties skipping resurgence is caused by teenagers that use their parent’s account.
When do people skip the most?
The following plot shows the skipping behavior over a 24 hour period. To create the plot, I analyzed the listening behavior for UK residents (which are conveniently confined to a single timezone) over several weeks.
The plot shows that the skipping rate is lowest when people are paying less attention to music – like when they are asleep, or at work. Skipping behavior peaks in the morning hour as people start they day and start to head into work and again at the end of the day when they are at home or out socializing with their friends. The plot shows the time of day when people tend to have the most attention to devote to hand-curating their music stream. When people are sleeping or working, their skip rate goes down.
In the next plot, below, the skipping rate is overlaid with normalized song plays. It is interesting to see that the highest skipping rates do not coincide with the peak music playing times of the day, but instead is aligned with the times of day when rate of change in plays is the most.
Skipping behavior by Day of the Week
The following plot shows the average skipping rate per day of the week. The skipping rate is higher on weekends, showing, once again, that when people have more spare time, they are more apt to curate their listening sessions by skipping tracks.
The Skip really has changed how we listened to music. It plays a significant role in how we interacts with our music stream. When we are more engaged with our music – we skip more, and when music is in the background such as when we are working or relaxing, we skip less. When we have more free time, such as when we are young, or on the weekends, or home after a day of work, we skip more. That’s when we have more time to pay attention to our music. The big surprise for me is how often we skip. On average, we skip nearly every other song that we play.
Skipping has become an important part of how we listen to music. It is no surprise then, that ‘unlimited skipping’ is a feature used to entice people to upgrade to a premium paid account. And it may be one of the reasons why people would switch from a service that doesn’t offer unlimited skips even on their premium service to one that does.
Coming soon: Look for my next post that will look at which genres, songs and artists get skipped the most and the least.
I spent this weekend in Rochester NY where I participated in the Rochester Institute of Technology’s WiC Hacks – a hackathon for women of all skill levels. At the hackathon women from the Rochester area – including many from local high schools and middle schools spent 12 hours learning about technology and then applying what they learned by making a hack that they could show off to the rest of the hackers. Around 75 women hackers were in attendance along with participation from companies such as Google, Apple, Xerox, Intuit, and, of course, Spotify and The Echo Nest. Companies provided technical guidance, inspiration, mentorship and prizes.
There were lots of great hacks in built during the hackathon. One of the crowd favorites was The Virtual Outdoors, an Android app designed to interest young women in STEM technologies using real life applications and fun games built by a team of high schoolers.
Another nifty hack was the Mixtery – a game in which you had to figure out the identify of a song that has been beat-shuffled with the Echo Nest. This hack won the Echo Nest prize.
The winner of the Spotify prize was Steminist – a web app that helps you identify the type of science, engineering or tech field you might be best suited for – it rewards you with some Spotify music after finishing the quiz.
All in all, it was a great event – with lots of energy, great teamwork, and lots of really creative ideas from all of the young women. Plus an added bonus I got to see my daughter @imjen – she was helping out and even gave the Twitter API talk.
Congrats to the organizers for putting together such a wonderful event. Looking forward to participating in more events just like this one.
I work for Spotify now – so for my Sunday morning programming project I thought I’d write a simple Spotify App that uses The Echo Nest API to create playlists based upon a seed song. I’ve done this before, but the last time was a few years ago and the Spotify Apps API has changed quite a bit since then, so I thought I’d use this as an opportunity to freshen my understanding of the Spotify API as well as to demonstrate how to write a Spotify App that uses The Echo Nest API.
It did take me a bit of time to get the hang of the newer Spotify Apps API. It has changed quite a bit since I last used it and many of the examples that I relied on in the past, like Peter Watt’s excellent Kitchen Sink app, use an older version of the API. The new version has some significant changes including a nifty new module system along with a new approach to managing long-running queries that relies on promises. Once I got the hang of it, I decided that I like the new version – it makes for cleaner code and a much more efficient app since much less data needs to be moved around.
The app is on github – to use it you need to sign up for a developer account on Spotify and follow the rest of the Getting Started instructions (this means if you are not a developer, you’ll probably not be able to use the app).
The Spotify Apps API makes it super easy to be able to create apps that run inside Spotify. Its a very familiar programming environment for anyone who has done web programming. You can use all of your favorite libraries from jQuery to Lo-Dash to create really compelling apps that sit on top of the millions and millions of tracks in the Spotify catalog. However, unlike a web app where anyone can publish their app on the web, to publish a Spotify App you have to submit your app to the Spotify App approval process and only apps that Spotify approves are published. Spotify sets a high bar for what ultimately gets approved – which keeps the quality of the apps high, but also means that hacks and experiments built on the Spotify Apps platform will likely never be approved for release to the general public. It’s a difficult balancing act for Spotify. They’ve built the ultimate music hacking platform with this API, but if they open the doors to every music hack, they will ultimately dilute the listening experience of the user – like so other many App stores that are flooded with garbage apps, if they publish every app and hack then Spotify listeners would be inundated with the musical equivalent of flashlight and fart apps. With the approval process, Spotify essentially says ‘the listener comes first’ which is the right choice. Still, as a music hacker I do wish it was easier to publish rich music apps built on the Spotify platform. Luckily Spotify is committed to building an active and vibrant developer ecosystem so I don’t expect they we will be standing still.
Update 3/24/14: – I’ve added the ability to save these playlists back to Spotify, so you can take the Echo Nest radio playlists with you.
Second update 3/24/14 – note that Spotify’s recent announcement that they are closing app submissions means that you won’t be able to submit apps for publishing anymore, but you should be able to still create your own.
I’ve created a page with all the supporting info for my SXSW Talk called Beyond The Play Button – the future of listening.
The page contains slides, links to all supporting data and links to all apps demoed.
I love writing music apps and playing with music data. How much? Every weekend I wake up at 6am and spend a long morning writing a new music app or playing with music data. That’s after a work week at The Echo Nest, where I spend much of my time writing music apps and playing with music data. The holiday break is even more fun, because I get to spend a whole week working on a longer project like Six Degrees of Black Sabbath or the 3D Music Maze.
That’s why I love working for The Echo Nest. We have built an amazing open API, which anyone can use, for free, to create music apps. With this API, you can create phenomenal music discovery apps like Boil the Frog that take you on a journey between any two artists, or Music Popcorn, which guides you through hundreds of music genres, from the arcane to the mainstream. It also powers apps that create new music, like Girl Talk in a Box, which lets you play with your favorite song in the browser, or The Swinger, which creates a Swing version of any song:
One of my roles at The Echo Nest is to be the developer evangelist for our API — to teach developers what our API can do, and get them excited about building things with it. This is the best job ever. I get to go to all parts of the world to attend events like Music Hack Day and show a new crop of developers what they can do with The Echo Nest API. In that regard, it’s also the easiest job ever, because when I show apps that developers have built with The Echo Nest API, like The Bonhamizer and The Infinite Jukebox, or show how to create a Pandora-like radio experience with just a few lines of Python, developers can’t help but get excited about our API.
At The Echo Nest we’ve built what I think is the best, most complete music API — and now our API is about to get so much better.
Today, we’ve announced that The Echo Nest has been acquired by Spotify, the award-winning digital music service. As part of Spotify, The Echo Nest will use our deep understanding of music to give Spotify listeners the best possible personalized music listening experience.
Spotify has long been committed to fostering a music app developer ecosystem. They have a number of APIs for creating apps on the web, on mobile devices, and within the Spotify application. They’ve been a sponsor and active participant in Music Hack Days for years now. Developers love Spotify, because it makes it easy to add music to an app without any licensing fuss. It has an incredibly huge music catalog that is available in countries around the world.
Spotify and The Echo Nest APIs already work well together. The Echo Nest already knows Spotify’s music catalog. All of our artist, song, and playlisting APIs can return Spotify IDs, making it easy to build a smart app that plays music from Spotify. Developers have been building Spotify / Echo Nest apps for years. If you go to a Music Hack Day, one of the most common phrases you’ll hear is, “This Spotify app uses The Echo Nest API”.
I am incredibly excited about becoming part of Spotify, especially because of what it means for The Echo Nest API. First, to be clear, The Echo Nest API isn’t going to go away. We are committed to continuing to support our open API. Second, although we haven’t sorted through all the details, you can imagine that there’s a whole lot of data that Spotify has that we can potentially use to enhance our API. Perhaps the first visible change you’ll see in The Echo Nest API as a result of our becoming part of Spotify is that we will be able to keep our view of the Spotify ID space in our Project Rosetta Stone ID mapping layer incredibly fresh. No more lag between when an item appears in Spotify and when its ID appears in The Echo Nest.
The Echo Nest and the Spotify APIs are complementary. Spotify’s API provides everything a developer needs to play music and facilitate interaction with the listener, while The Echo Nest provides deep data on the music itself — what it sounds like, what people are saying about it, similar music its fans should listen to, and too much more to mention here. These two APIs together provide everything you need to create just about any music app you can think of.
I am a longtime fan of Spotify. I’ve been following them now for over seven years. I first blogged about Spotify way back in January of 2007 while they were still in stealth mode. I blogged about the Spotify haircuts, and their serious demeanor:
Last month, on a very cold and snowy day in Boston, I sat across a conference table from of bunch of really smart folks with Swedish accents. As they described their vision of a music platform, it became clear to me that they share the same obsession that we do with trying to find the best way to bring fans and music together.
Together, we can create the best music listening experience in history.
I’m totally excited to be working for Spotify now. Still, as with any new beginning, there’s an ending as well. We’ve worked hard, for many years, to build The Echo Nest — and as anyone who’s spent time here knows, we have a very special culture of people totally obsessed with building the best music platform. Of course this will continue, but as we become part of Spotify things will necessarily change, and the time when The Echo Nest was a scrappy music startup when no one in their right mind wanted to be a music startup will be just a sweet memory. To me, this is a bit like graduation day in high school — it is exciting to be moving on to bigger things, but also sad to say goodbye to that crazy time in life.
There is a big difference: When I graduated from high school and went off to college, I had to say goodbye to all my friends, but now as I go off to the college of Spotify, all my friends and classmates from high school are coming with me. How exciting is that!
For this study, I sampled the listening preferences of about a quarter million listeners that have a zip code associated with their account. update: Listener data is drawn from a variety of music streaming services that are powered by The Echo Nest. I aggregated these listeners into regions (state, regional and all-US). To compare regions I look at the top-N most popular artists based upon listener plays in each region and look for artists that have a substantial change in rank between the two regions. These artists are the artists that define the taste for the region.
As an example let’s compare Tennessee to New England. If we look at the top 100 artists listened to in Tennessee and see which artists fall the furthest on the New England chart we find these 10 artists:
|9||The Civil Wars||22||150||-128|
The first artist, Hillsong United is the 97th most popular artist in Tennessee for our sample of listeners. In New England, Hillsong United drops all the way to the 1097th artist, a drop in rank of 1,000. Hillsong United is a Christian rock worship band. Tennessee listeners, living in the heart of the U.S. Bible Belt, listen to Hillsong United much more than their New England counterparts. Second on the Tennessee list is Juicy J,a rapper, songwriter and record producer from Memphis, Tennessee. Third is Young Jeezy from nearby Atlanta Georgia. The rest of the top 10 is dominated by southern rappers, country, and folk artists.
Now let’s look at top 100 New England artists and see which artists fall furthest on the Tennessee charts:
New England tastes run to jam bands, indie and classic rock.
Exploring Region differences on your own
I built an app that makes it easy to explore the regional differences in music. With the app you can select two regions and it will show you which artists are distinctive for each region.
Using this approach we can pick a single signature artist for each state. I do this by finding the top most distinctive popular artist for a state that hasn’t already been selected for a more populous state. Here’s the list of signature state artists:
|State||Name||State Rank||US Rank||Change|
|AL||The Civil Wars||34||110||-76|
|CO||The Naked And Famous||48||125||-77|
|ID||Tegan and Sara||31||107||-76|
|KY||Fall Out Boy||17||59||-42|
|OH||Florida Georgia Line||26||75||-49|
|PA||Edward Sharpe & the Magnetic Zeros||43||77||-34|
|VA||Dave Matthews Band||48||113||-65|
|WA||The Head and the Heart||22||83||-61|
It is pretty clear that people in different parts of the US listen to different kinds of music. These regionalisms can be used to help recommend music for people when you otherwise might not know anything about their music taste.
Note – the base map in the visualizations is shaded by population density.
I spent this weekend in the Harajuku neighborhood of Tokyo at Music Hack Day Tokyo. Inspired by the Tokyo Subway, and the love many people in Japan have for music games I thought I would build a Tokyo Subway-themed music game for my hack. The result is the Tokyo Tune Train.
The goal of the game is to drive a Tokyo Subway car through the maze of routes and make it to the final stop with the fewest deviations from the track (in my world, the trains don’t stay on the tracks unless you steer them). It’s a bit like Centipede or Snake, but with a train track and music integrated into the game play.
The movement of the train is synchronized to a song – with every beat of the song, the train advances a hundred feet down the track. As long as you stay on the track, the song will play perfectly, but if you miss a turn, not only will you veer off the tracks you will also veer into a completely different part of the song. If you stop the train, the song will stop and continually play that one beat until you start again. If you go backwards the song will play backwards. You can speed the train up and slow it down (which, of course, also speeds up or slows down the song). A faster train is harder to drive but gets you to the destination quicker. You get points for good driving and getting to the destination in the quickest time. There’s an adjustable headlight on the train – the brighter the headlight, the further ahead you can see, making the drive easier, but the headlight uses lots of energy, so a brighter headlight will cost you a number of points. You can also drive during the day letting you see the whole line stretched out in front of you. It’s much easier to navigate, but driving during the day costs more points than (access to the tracks during the day is very expensive in my train system). There’s even an autopilot that will take over and drive the train perfectly for you, but it chews through points very rapidly, so use it sparingly.
This is the first game I’ve built in a long time. My goal was to make something that was fun to play in which music was an integral part of the game.
The Technical Bits
At the core of the game is the Echo Nest remix library. I essentially ripped Girl Talk in a Box apart and put in a new play engine that was tied to the game mechanic. The harder bit was figuring out how to build good labyrinth mazes that would get progressively twistier and would fill a 2-D plane. I played around with a number of algorithms, but none were satisfactory, so instead, I built a maze editor that lets you hand draw mazes and then export the data as json to be used by the app.
I enlisted the help of Elissa and Eric to build the mazes. They created 15 awesomely creative mazes that met the needs of the game much better than any maze algorithm, again confirming the superiority of human curators over the algorithm.
I briefly took a look at using Google Play Game service to manage the high-scores, but it looked like it would take at least an hour of precious hacking time to integrate and since it is a feature that wouldn’t appear in the demo, I decided it was not worth the effort.
It was a great demo session at Music Hack Day Tokyo. There were easily 150 people crammed into the demo area – it was standing room only. The demo session was conducted in Japanese, so Taishi provided simultaneous translation for me. I was nervous giving the demo, so I let the train autopilot do most of the driving. The crowd seemed to really enjoy the demo, the hack got lots of votes for ‘favorite hack‘ on the hacker league page of hacks, and I got many compliments. I was pleased with the response and feedback
A day later I see that a number of people have played the game and have posted their scores to twitter which is great to see (way better response than I received for my dark horse hack).
Give the game a try and let me know what you think:
The code is on github.