A Twitter bot that generates daily music insights powered by Chartmetric
As a data scientist with a passion for discovering new music and helping industry professionals, I created 5 python scripts that are each programmed to generate music insights. Each script, which is outlined below, is scheduled to run weekly on its designated day of the week. As today's music climate is becoming saturated with more aspiring artists, staying on top of the latest trends and overnight, breakthrough talent is nearly impossible. So whether you're a music enthusiast or this is how you pay your rent, this project is meant to help you. The data source is powered by Chartmetric
Follow me @jacksonabull to see the latest
Velocity: Average Change in Rank over 7-day Period
Spotify Popularity: The value will be between 0 and 100, with 100 being the most popular. The artist’s popularity is calculated from the popularity of all the artist’s tracks.
2020-01-22
Looking at the top trending tracks on Tiktok from January 15 - January 21, Olivia Rodrigo is a clear outlier in terms of Spotify listener growth. The boxplot illustrated below shows her way outside of the third quartile and aboce the top 25%
The boxplots shown below compare the distribution of Spotify listeners for each artist at the beginning and end of the week (January 15th-January 21st).
- In terms of audience growth, artists who have Tiktok accounts perform better on average compared to artists who don't have Tiktok accounts
Schedule: Monday @ 13:30 UTC, Weekly
Insights Description: This bot collects data on the top 100 trending tracks of the week on Tiktok and finds the record with the highest velocity (most viral track)
Schedule: Tuesday @ 17:00 UTC, Weekly
Insights Description: This bot collects data on the top 100 trending tracks of the week on Shazam and finds the record with the highest velocity (most viral track)
Schedule: Wednesday (first) @ 12:00 UTC, Monthly
Insights Description: This bot collects data on the top trending tracks on Tiktok from the previous 4 weeks. For each unique artists, the bot will collect daily listener counts for the current day and the date 7-days earlier. Based on the difference between those two values, the bot will output metadata for the artist with the biggest gain in listeners.
How It Works:
- Collects data for the top 100 trending tracks on Tiktok for each week over the past month
- Drops any track without an isrc code in order to filter out any audio that's not an actually song (i.e. some random user-generated audio)
- Drop all duplicate artists except for the last occurrence
- Using the ID for each artist, I fetch historical values for Spotify listeners and extract the first and last values to create a tuple.
- Feature engineer a new
listener difference
column calculated by subtracting the first tuple item from the second tuple item - Sort DataFrame by
listener difference
in descending order - Grab relevant data from first row to include in Tweet message
Schedule: Thursday @ 14:00 UTC, Weekly
Insights Description: A fun, throwback-thursday post to reminisce the #1 song on Spotify's Top 200 a year ago.
Schedule: Friday @ 12:00 UTC, Weekly
Insights Description: Similar to Wednesday's monthly post, this bot focuses on the artist with the biggest weekly boost in Spotify listeners
How It Works: Same process as Wednesday except within a scope of 1 week
Schedule: Wednesday(second) @ 12:00 UTC, Monthly
Insights Description: This bot collects data on 4 weeks of tiktok's top tracks. For each unique artist, the program calculates the total wikipedia views, returning the artist with the most wikipedia views.
Schedule: Wednesday(last) @ 13:00 UTC, Monthly
Insights Description: This bot collects data on 4 weeks of tiktok's top tracks and returns the record with the highest velocity + the artist's top 5 cities of Spotify monthly listeners.