iTunes Analysis

Interactive iTunes Analytics Made Beautiful

A small project to help analyze your iTunes library, all online by uploading a single file. The default data is mine and I will most likely by embarrassed by some of the results. Once your data is uploaded it will be stored in your browser so you don't have to reload it. Click Default Data to revert back to my data.

Upload your iTunes Library.xml file located in your iTunes music folder to begin analysis on your own library.


I love analytics. Sometimes I search for data sets just so I can perform some analytics on them. I've been especially excited about analytics since I was introduced to the D3 JavaScript library because I've wanted to use it to create interesting and interactive visualizations.

I also love music. I use iTunes fairly religiously and make sure to rate songs and fill in as much information about them as I can. I even make sure to not skip songs which are almost over so the play count is increased.

Top 25 Songs

Below are the top 25 songs in your library as well as the top 10 genres. Click on a genre to filter by it and see the new top 25. Each song's color is that of its genre. Songs whose genre is not in the top 10 are black. Click on a rectangle to query YouTube for the song.

Old Gems

Here is a chart of how many songs were last played on any given day. There seems to be at least a few each day for the last year. I often listen to playlists, but sometimes get bored and listen to all my five star music on shuffle. I bet that's where a lot of the random songs come up. It looks like a lot of music got played on May 26th.

Old Gems becomes especially interesting when you click a day. To the right the top songs (some are cut off if there is not enough space) that were last played on that day are displayed. I've been using this to look for old gems that have been lost in the depths of my library. Click on a song to link to YouTube.

Average Plays per Day

This is average plays per day since the song was added. Recent songs you've binged on will be heavily weighed, while oldies will still show up (but only if you truly love them).

Top 25 Skipped Songs

Now let's take a quick look at the most skipped songs. Can't say I'm surprised by that first one...

Play Count Distribution

At first glance this graph isn't terribly interesting. Who's surprised that I haven't listened to a large portion of my library more than five times? Not I. The data becomes more interesting through some filtering, though. It looks like I'm more selective in adding Electronic and Hip-Hop music, leading to fewer songs I don't really listen to.

Rating Distribution

The Rating Distribution shows how songs are rated filtered on genre. My library isn't that interesting because I only rate my songs 0, 4, or 5 stars, but your library might have some more useful results. Each column is inclusive of its lower bound on the x-axis, so the bar spanning 5-6 stars is how many songs have a 5 star rating.

Song Length Distribution

Here we explore the song length distribution. It looks fairly Poisson for those interested in statistics. For the rest of you, that song on the far right is the entire soundtrack from Age of Empires II: The Conquerors. What a classic.

Again, some interesting conclusions fall out of filtering. The median Pop song in my library is around 3:15 long while the median Alternative song comes in about a half minute longer. I was expecting Classic Rock songs to average out around 4:30, but the distribution fell short. I'm not surprised there were a few long outliers. I bet that can be attributed to The Eagles and Meat Loaf.

Artist Rating Distribution

The Artist Rating Distribution is the same as the Rating Distribution except it filters on artist instead of genre. My library is still fairly uninteresting.

Bit Rate Distribution

I thought bit rates would have more consistent values, but by the looks of it they're all over the place. I wonder if that is just a result of the different sources of my music or if it is some other reason.

Top Artists

Here is play count again by top album. It's interesting that to make it into the top 6 an artist has to have at least a few solid hits. Foo Fighters is the first where there are two clear outliers followed by about 14 others that have over 20 plays.

Date Added

Date Added isn't very helpful for songs before November 15th, 2010 because that's when I migrated my iTunes from one machine to another, wiping all metadata. After that date it looks like I've pretty consistently added a few songs a week. This chart might be more interesting when looking at your own data.

Last Play Hour

Last Play Hour shows the distribution of how many songs were last played in a certain hour. This chart says some interesting things about my work day. I normally get into work around 7:30 and have a couple hours before the rest of my team gets in. We usually have a bit of a staff meeting when they get in (around 9-10) and it looks like that shows up here with a drop off of music.