WKCR Stream Tracker

 
 Average (A)

Current Streamers:

Average Streamers:

WKCR Streamership Over Time

Definitions and Methodologies

What is WKCR?

WKCR is a student-run, non-commercial, educational radio station operated out of Columbia University. During the 2022-2023 school year, I acted as Director of Operations, heading fundraising as well as the library, archive, and technological needs of the station. A lot has changed at WKCR since the COVID-19 pandemic, including the introduction of remote broadcasts which are still aired at the more inconvenient hours of the day. I built this tool for WKCR programmers to track the performance of their shows over time, and I hope that its scalability and usability will keep it useful for years to come.

What is Streamership?

Streamership is the number of devices streaming WKCR on the web at a given time. As such, streamership is not total listenership. It is impossible to accurately capture our listeners in the New York area tuning in to 89.9 FM. Streamership can however act as a sufficient metric to determine comparative listenership at different times or during different broadcasts.

How Does This Tool Work?

WKCR uses a stream provider, StreamGuys, and IceCast server to stream our broadcast over the web. IceCast keeps track of stream statistics which are viewable real-time in a web viewer or as a JSON file. Using a low-cardinality MySQL database for storage, a PHP script to make HTTP requests for the provided JSON, and a cron job to automate this data retrieval, we can display streamership over time with ChartJS here in the browser.

Does the PHP script run 24/7?

Yes. Data is retrieved from the IceCast server every 5 minutes. NOTE: While streamership is retrieved every 5 minutes, some data are omitted if their values are abnormally low. This seems to be an issue with our stream provider semi-regularly resetting the streamer count, so for now, these outlier values are excluded from the visualization.

How Many People Are Listening Now?

Because my method of data retrieval is pseudo real-time (every 5 minutes), you may want to view the current streamership as well as some other real-time statistics here.