christmas motif, christmas, christmas carols

A Tale of 187 Christmas Songs: How I Logged Nearly Every Song on Chicago’s Christmas Station

The Question:

A lot of people say that the same Christmas songs are played on repeat over and over again. I am sick and tired of the radio playing the same songs repeatedly and wanted to quantify exactly how correct I was in that assumption. In Chicago we have a radio station called 93.9 The Lite FM that plays Christmas songs and has become Chicago’s Christmas station from seemingly Halloween all the way to Christmas time. This year was no exception. They started playing Christmas music on November 1st 2022 and stopped playing Christmas music promptly at 6 AM on December 26th 2022. Guess that is the end of Christmas Radio Chicago

So as a computer programmer that wanted to take matters into his own hands to find a solution to that question, I took the time to create an application that will log all of the songs that the radio station plays up until Christmas. I wanted to truly determine how many times they played each song, how many different songs were repeated on the radio. And present my findings in an article on my website here. Read below to find out what I did to create this software to log the Christmas music on my radio station and determine the Answer to my longstanding question.

My Methodology

In order to determine the answer to my question, I created a Laravel admin panel area with several objects created into it. I created a play object that would log the time that the song was played, the artist, and the song title, but I ran into a snag getting the data from the web. If I went to the radio station’s recently recently played website, they had the information I was looking for but no easy way to put that into a software of my own creation. What I wound up creating was a Python parsing script that used the GraphQL API provided by iHeartMedia that would list the items played.

I was able to parse the currently song in the object that was returned to this page and just use a simple curl request in Python to create the object needed to insert into the MySQL back end of the Laravel application. The Laravel application provided me the ability to view and manage the data through an easy to use interface and allowed me to make changes on the fly and see some preliminary data of songs being played, as well as keep track on my algorithm pulling the data properly.

By using Chrome developer tools to find that there was a GraphQL API back end that this application used to render, I was able to reduce load not only on my servers but also the radio station servers as well by just only getting the data that I need, rather than using something like beautiful soup to parse the entire page and get all the unnecessary information that I did not need.

The good thing about using this approach as well was the ability to not succumb to page changes if iHeartMedia chose to change this page as I was in the middle of my experiment. By only using the data, I just had to be concerned if they changed the data object that was coming back and would be an easier fix if they did rather than parsing through CSS attributes and HTML code using a web scraper. I considered this a low risk of the GraphQL Backend changing happening, so I went with this approach.

Furthermore, I extended this out to play the last fully played song on the radio and log that rather than the currently playing song in case I missed it coming up on the screen. I scheduled my Python script to run every minute via a Cron job and thought that was the most secure way to ensure I get the data that I need and not miss any previously played songs that could have been less than a minute long.

MediaLoggers Radio Edition: The Laravel App I made to Log Christmas Playlists

Some Hiccups

Unfortunately, this solution worked well but not perfectly. I was a day late in getting this application created for the 2022 Christmas season. This question did occur to me when I first heard the station playing Christmas music November 1st. I was able to get this application created by November 2nd using some spare time that I had during the night. It kept bugging me to create this application, and I was able to do so in a way such that I logged the majority of the season.

Next year I will be able to do the entire season. Who knows, maybe I’ll even extend this to get more information out of the station as well! Another issue that I ran into as I was taking data was an issue with my server that had an outage during the 8th of December. I did not realize that the my SQL Server on my web host was not functioning properly, and it caused the play count to be low for that day. In general though, I feel that this experiment was a great success and I have been able to learn a lot.

The Results

The results of my experiment were quite interesting, the most played song that the radio station played this Christmas Season was Carol of the bells by Mannheim Steamroller. With a frequency of 224 plays in the Christmas season, that is 2.35% of all songs played that I logged. I logged over 9500 songs that were played 24 hours a day seven days a week for most of the Christmas season.

The second most popular song was it’s the most wonderful time of the year by Andy Williams with a total play count of 222 taking up 2.33% of all time logged coming in #3 was Feliz Navidad by José Feliciano with a total play count of 218 with 2.29% of total songs logged. There were only 187 unique songs played! in the entire Christmas Season! There were also less songs played in the afternoon with 4731 in the PM and 4782 in the AM. 

Song and ArtistFrequencyPercentage of Songs Logged
Carol of the Bells by Mannheim Steamroller2242.35%
It’s The Most Wonderful Time Of The Year by Andy Williams2222.33%
Feliz Navidad by José Feliciano2182.29%
Rockin’ Around The Christmas Tree by LeAnn Rimes2152.26%
Winter Wonderland by Amy Grant2112.22%
Winter Wonderland by Andy Williams2012.11%
Carol of the Bells by David Foster2012.11%
All I Want for Christmas Is You by Mariah Carey1992.09%
Sleigh Ride by Johnny Mathis1982.08%
Jingle Bells by Frank Sinatra1922.02%
Ring Christmas Bells by Ray Conniff1912.01%
Do You Hear What I Hear? by Jordin Sparks1912.01%
Sleigh Ride by The Ronettes1891.99%
You’re A Mean One, Mr. Grinch by THURL RAVENSCROFT1811.90%
Let It Snow! Let It Snow! Let It Snow! by Dean Martin1791.88%
Jingle Bell Rock by Brenda Lee1791.88%
White Christmas (feat. Clyde McPhatter & Bill Pinkney) by The Drifters1741.83%
Last Christmas by Glee1701.79%
Happy Xmas War Is Over (Full Version) by John Lennon1691.78%
Frosty the Snowman by Ray Conniff1471.55%
I Saw Mommy Kissing Santa Claus by The Jackson 51411.48%
Jingle Bells by The Ray Conniff Singers1391.46%
Deck the Halls With Boughs of Holly by Percy Faith1351.42%
Christmas (Baby Please Come Home) by Darlene Love1341.41%
Here Comes Santa Claus (Right Down Santa Claus Lane) by Gene Autry1341.41%
Rudolph The Red-Nosed Reindeer by Burl Ives & Videocraft Chorus1251.31%
Frosty The Snowman by Bing Crosby1221.28%
Rudolph the Red-Nosed Reindeer by Harry Connick, Jr.1211.27%
It’s Beginning to Look a Lot Like Christmas by Perry Como and The Fontane Sisters with Mitchell Ayres & His Orchestra1141.20%
Deck The Hall by Nat King Cole1141.20%
Christmas Eve / Sarajevo 12/24 by Trans-Siberian Orchestra1091.15%
Frosty the Snowman by Willie Nelson1091.15%
O Holy Night by Martina McBride1061.11%
Sleigh Ride by The A-Strings981.03%
Sleigh Ride by Amy Grant951.00%
Underneath the Tree by Kelly Clarkson930.98%
Let It Snow, Let It Snow, Let It Snow by Michael Bublé920.97%
A Holly Jolly Christmas by Lady A920.97%
Rudolph The Red-Nosed Reindeer by Dean Martin910.96%
Last Christmas by Backstreet Boys900.95%
Linus and Lucy by Vince Guaraldi890.94%
Let It Snow, Let It Snow, Let It Snow by Harry Connick, Jr.860.90%
This Christmas by Donny Hathaway750.79%
Linus And Lucy by Vince Guaraldi Trio750.79%
Frosty The Snowman by Kimberley Locke700.74%
I’ll Be Home for Christmas by Kelly Clarkson690.73%
Rockin’ Around The Christmas Tree by Amy Grant690.73%
(There’s No Place Like) Home for the Holidays by Perry Como680.71%
The Top 50 Played Tracks

Another interesting note is “All I Want for Christmas is You” by Mariah Carey was only played 199 times in the span of my experiment.

Tracks

One interesting thing to note is there was a total of 187 different tracks played, but only 101 different song names meaning that multiple artists had multiple versions of traditional Christmas carols. What I wanted to do was determine the most played Christmas song as a whole so I filtered the data by the song name itself and determine the most played song. As you can see in the table below the most popularly played song was ‘Sleigh Ride’ with a count of 635. This makes sense because there are both instrumental as well as sung versions of ‘Sleigh Ride’. Next was ‘Frosty the Snowman’ and ‘Winter Wonderland’ with 504 and 494 plays respectively to round out the top three. I’ve included the top 50 songs below for your reference.

SongCount
Sleigh Ride635
Frosty the Snowman504
Winter Wonderland494
Carol of the Bells450
Rudolph The Red-Nosed Reindeer401
Jingle Bells391
Rockin’ Around The Christmas Tree284
Last Christmas260
It’s The Most Wonderful Time Of The Year251
O Holy Night223
Do You Hear What I Hear?221
Feliz Navidad218
Jingle Bell Rock214
Let It Snow, Let It Snow, Let It Snow200
All I Want for Christmas Is You200
Christmas (Baby Please Come Home)192
Let It Snow! Let It Snow! Let It Snow!192
Ring Christmas Bells191
Silver Bells182
You’re A Mean One, Mr. Grinch181
Here Comes Santa Claus (Right Down Santa Claus Lane)178
White Christmas (feat. Clyde McPhatter & Bill Pinkney)174
Happy Xmas War Is Over (Full Version)169
Linus and Lucy164
This Christmas164
Have Yourself A Merry Little Christmas155
I Saw Mommy Kissing Santa Claus152
Deck the Halls With Boughs of Holly135
Happy Xmas (War Is Over)120
It’s Beginning to Look a Lot Like Christmas114
Deck The Hall114
Christmas Eve / Sarajevo 12/24109
Santa Claus Is Coming to Town97
Santa Claus Is Comin’ to Town95
Underneath the Tree93
A Holly Jolly Christmas92
I’ll Be Home for Christmas81
The Twelve Days of Christmas68
(There’s No Place Like) Home for the Holidays68
Happy Christmas (War Is Over)64
We Wish You a Merry Christmas61
Please Come Home for Christmas58
Mele Kalikimaka57
Blue Christmas55
Joy to the World53
We Need a Little Christmas52
Please Come Home for Christmas (Bells Will Be Ringing)52
Up On The Housetop46
The Christmas Song (Chestnuts Roasting on an Open Fire)43

Time

Looking at a trendline for analyzing the songs played each day, there is a downward trend, meaning they play less Christmas music the closer it gets to Christmas. The day with the most songs played was Christmas Day with a total of 241 songs logged (As it Should be!!)

Artists

There was a total of 102 artists that were represented in my data set, and the most popular one was Andy Williams. Amy Grant, Ray Conniff, Mariah Carey, and Dean Martin rounded out the top five. I have included the top 10 artists below.

ArtistPlays
Andy Williams566
Amy Grant430
Ray Conniff419
Mariah Carey374
Dean Martin320
Mannheim Steamroller291
Kelly Clarkson241
Johnny Mathis237
Frank Sinatra236
Jose Feliciano218

In general though, I was not very surprised by the data although I would have expected more songs to be played in general. There is an average number of songs played roughly 173 a day. assuming each song is 3 minutes comma that is a total of 8.65  hours per day playing music on this radio station. I would have expected that to be much higher personally.

Limitations

As I mentioned, some of the limitations with my algorithm was the ability for it to not log the entire season, and I’m hoping to improve greatly upon this next year. I am not a data expert here, and I am sure somebody with more knowledge in the field can do a much better job of analyzing this than I could. I am just a computer programmer with a question that I wanted to get an answer for and I feel as though I’ve done that.

Moving Forward

Next year I really hope to expand this algorithm further, and do more data analytics on the entirety of the Christmas season plays as opposed to the day that I missed this year. I’m hoping to eventually also pull in the things like the length of songs and the length of commercial breaks to determine exactly how many commercials run on the station without me having to listen to it 24 hours a day seven days a week during the entire Christmas season.

Do you see some data that I missed or an error? Please let me know in the comments or by contacting me on social media as well. I would love to see if anybody else would be interested in this data set to get more information than I was able to drive from it and eventually understand even more about the Christmas music landscape in Chicagoland. I hope you have a wonderful holiday season and a great new year!

10 thoughts on “A Tale of 187 Christmas Songs: How I Logged Nearly Every Song on Chicago’s Christmas Station

  1. I’m impressed Matthew. Interesting data.

  2. Super interesting! I saw this in Block Club. I like listening to Christmas songs during the season but I find 93.9 so disappointing lately – the same songs over and over, mostly from pre-2000. Is it just me or are there more commercials this time of year, too? That’s something I would be interested in seeing, too: are there changes or trends in amount of commercial time between songs during the Christmas season on 93.9 compared to the rest of the year? I look forward to next year’s report!

  3. The fact that Bing Crosby is not in the top ten, and that his White Christmas does not make it at, is criminal. I am truly and deeply grateful for the Lite Christmas music – a hardcore fan of many years – but have always found its rotation too narrow and unimaginative. For instance, Harry Connick, Jr. has written multiple great Christmas songs, but I silent for two months straight and hear not a one.

  4. Donatas Ramanauskas December 28, 2022 at 10:53 pm

    I would like to know the ten LEAST played Christmas songs-what were the rarest ones?
    Better yet, a listing of least played to most played.
    Then again, I’m a list nerd!

    1. Matthew J. Fitzgerald December 28, 2022 at 11:15 pm

      That’s a great idea! Watch out for another blog article 😉

  5. Fascinating. An excellent exercise and good summation. Sad that The Lite gives us such a narrow selection – only 187 tracks for a holiday play list. My only quibble is with the phrase that starts the second paragraph under Results: “The second most popular song was…” . A more accurate description might be “the second most PROGRAMMED song” as even the radio station doesn’t represent its selections as based on popularity.

    1. Matthew J. Fitzgerald December 29, 2022 at 3:49 am

      Noted for next time!

  6. Interesting results. I shared this with several friends. I wonder how the entire music industry could use this information for other genres.

  7. I love this research and article. I am grateful, Mr Fitzgerald, and hope you do some follow up articles as you have hinted. If you will forgive the plug, I edited _The Oxford Handbook of Christmas_ (2020). It includes an article by the musicologist and professor Dr Todd Decker, “Carols and Music since 1900”, which creates similar lists for the most played Christmas music in rotation today based on sites such as Spotify. As I teach church history, I would be interested in a list of the most religious songs in the Lite FM rotation.

    1. Matthew J. Fitzgerald January 8, 2023 at 3:02 pm

      That is really interesting, if you need any information for your research purposes, please let me know! I can send you over some information if you would like.

      Matt

Leave a Comment

Your email address will not be published. Required fields are marked *