XPN 90s A to Z Countdown

It's countdown time at XPN. While I took a year off from doing stats last year, as the station did a bang up job and I had other things going on, I'm up for another crack at it.

This year it's the 90s A-Z countdown, which stated at 8am on December 1st. There's a Real Time Countdown and the usual Twitter banter.

Status

It's Thursday, Dec 8, things have been running for over a week. And We're just finished Z at 8:30.

  • Resurrected most of the Data Loading with updates for the new playlist format
  • Started with the the absolute basics
  • Added in the trivial manipulations that don't need much data augmentation
  • Took a pass at doing breakdown by years. It needs work. But running with it for the moment
  • Added scan for sequential tracks by the same artist.
  • Added pivots for artist by year and by letter.

Loading Data

Most people don't care about how I get the data. If you do, checkout my Dataloading notebook. If you just want to play with the data, the playlist with some data augmentation, is here as 90sA2Z.csv. If you do something interesting, let me know, and post with the #XPN90sAtoZ hashtag so people can find it.

So far, as of Dec 08 08:27AM, we have seen 2133 tracks with 2083 unique titles, from 860 artists.

Analysis

The first question everyone seems to ask is "which artist has been played the most".

[<matplotlib.text.Text at 0x7f4bcb167450>]

I'd always wanted to group on albums. But using an external source like MusicBrainz to find / guess album names based on artist and title was kind of problematic. Now that album is in the new playlist format, this is easy.

[<matplotlib.text.Text at 0x7f4bcafafc50>]

Songs By Letter

If we are doing A to Z, it's probably good to know how far we are, and have some notion of where we're going.

[<matplotlib.text.Text at 0x7f4bcae60810>,
 <matplotlib.text.Text at 0x7f4bcae12450>]

Tracks by Year

Well, years are what a 90s countdown is about. I've had mixed results in earlier years trying to get release dates by looking for matches on MusicBrainz. So, right now I'm using the datas from the 90s A-Z playlist page. They may not be a lot better. We're only batting a bit over 90% But here's what we got.

Of 2133 tracks, 1937 had valid dates and 196 did not
[<matplotlib.text.Text at 0x7f4bc8fd9710>,
 <matplotlib.text.Text at 0x7f4bd9bf84d0>]

Tracks by Frist word

Back in the origional A-Z the first thing I did was break things down by popular first words.

[<matplotlib.text.Text at 0x7f4bc9042510>]

Covererage

Has an artist had a track played for each letter yet? Unlikely, but who comes the closest? This really relates to number of tracks played and, to some degree, diversity of naming. Similary, has any artist had a track played for each year? That's an easier goal, but relies a lot on consistant output.

[<matplotlib.text.Text at 0x7f4bc8d539d0>]
[<matplotlib.text.Text at 0x7f4bc81a2c90>]

Longest Songs

At some level the duration we calculate is somewhat suspect. There are station id breaks, and such. So just counting start to start is iffy. But it's still interesting.

[<matplotlib.text.Text at 0x7f4bc3fcf5d0>]

Sequential Runs by an Artist

How often do we get runs of two or more consecutive tracks by the same artist? It happens. The alphabet is a strange thing.

Note, I'm not sure that the same artist playing the same song really counts. But the two plays of All Apologies by Nirvana really happened. They were from In Utero and MTV Unplugged in New York. So a self cover?

Artist Songs
Nirvana [All Apologies, All Apologies]
Gomez [Get Miles, Get Myself Arrested]
Pearl Jam [Given to Fly, Glorified G]
Guided By Voices [I Am A Scientist, I Am A Tree]
The Lemonheads [It's A Shame About Ray, It's About Time]
Ben Harper [Mama's Got A Girlfriend, Mama's Trippin']
Wilco [Outta Mind (Outta Sight), Outtasite (Outta Mi...
Nirvana [Pennyroyal Tea, Pennyroyal Tea]
Los Lobos [Reva's House, Revolution]
10,000 Maniacs [These Are Days, These Days]

Duplicate Titles

Duplicate titles could be covers. or they could just be "same name, different song".

[<matplotlib.text.Text at 0x7f4bc3d85350>,
 <matplotlib.text.Text at 0x7f4bc3dfe110>]
Title Count
All Apologies 3
Alright 2
Be Thankful For What You Got 2
Believe 2
Blue 2
Changes 2
Closing Time 2
Congo Square 2
Crazy 2
Creep 4
December 2
Drown 2
Early In The Morning 2
Everyday Is A Winding Road 2
Excuse Me Mr. 2
Friend Of The Devil 2
Hold On 4
I Know 2
I Need Love 2
It's Alright 2
Last Goodbye 2
Late At Night 2
Liar 2
Maria 2
Nothing Compares 2 U 2
One 2
Pennyroyal Tea 2
Right Here, Right Now 3
Ripple 2
Sexuality 2
Shine 2
Show Me Love 2
Spoonman 2
Stars 2
Stones In The Road 2
Summertime 2
Superstar 2
Tennessee 2
There She Goes 2
Time Bomb 2
Wild Horses 2
You 2
You And Your Sister 2
You Bowed Down 2

Availability

The code for this project is in my github repo and this file is specifically 90sA2Z.ipynb.

License

This project is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. You are free to use for commercial or non-commercial purposes, so long as you attribute the source and also allow sharing.