Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !
Voir l'indexLa fin d’année approche, et s’il y’a un évènement data que j’attends avec impatience chaque année, c’est bien le « bilan musicale » que Spotify m’envoie comprenant mes titres préférés ainsi qu’une nouvelle playlist reprenant les chansons que j’ai écouté en boucle en faisant mes workflows !
Bien que ce résumé musical soit bien mis en forme, je le trouve souvent limité dans les informations transmises. C’est d’autant plus frustrant qu’il n’a lieu qu’une fois par an. Donc pourquoi ne pas utiliser Alteryx pour en apprendre plus sur mes propres goûts ?
Tout d’abord, il faut faire la demande à Spotify pour vous envoyer vos données personnelles. Cela peut prendre plusieurs jours donc mieux vaut s’y prendre à l’avance. La demande peut être faite sur la page privacy settings de votre compte : https://www.spotify.com/us/account/privacy/
Une fois téléchargée, vous aurez une liste de fichiers disponibles :
Le fichier qui nous intéresse ici est le StreamingHistory0. Il s’agit d’un JSON.
Beaucoup pensent que les Fichiers JSON sont plus difficiles à aborder que les CSV, mais nous verrons qu’avec Alteryx, l’importation et la mise à plat de la donnée se fait en quelque clics !
Tout d’abord, nous devons importer le fichier avec un input :
Premier problème ! Il semble que la data ne s’importe pas correctement vu que nous n’avons pas de preview. Pour remédier à cela, il suffit de sélectionner le jeu de caractères UTF-8 qui est celui utilisé par notre fichier.
Le fichier est divisé en deux colonnes :
- la première avec l’ID du morceau écouté ainsi que les dimensions,
- la deuxième avec les valeurs.
L’étape suivante consiste à séparer nos IDs de nos noms de dimensions avec un "text to column" configuré pour un séparateur « . » :
Le résultat devrait ressembler à ceci :
A l’aide d’un select, on renomme nos nouvelles colonnes :
On peut maintenant pivoter nos données. Pour cela on utilisera un "cross tab" avec un regroupement par ID :
Le résultat devrait ressembler à ceci :
A l’aide d’un "select", on change le type de donnée EndTime et MSplayed :
Le nombre de millisecondes écoutées est peut-être pertinent pour Spotify, mais je préfère avoir mon écoute en secondes, c’est pourquoi je divise les millisecondes par 1000 avec une simple formule :
Nous allons maintenant essayer de répondre à 3 questions :
Pour l’artiste, nous ne compterons pas le nombre de secondes, mais plutôt le nombre d’écoutes. C’est pourquoi nous ferons un Count Distinct des IDs en groupant sur les artistes avec l’outil "summarize" :
Pour les secondes de diffusions, nous utiliserons un "summarize" avec une somme des secondes en groupant par les chansons ET les artistes (pour éviter qu’une reprise ne compte comme la chanson originale par exemple) :
Pour savoir quand est ce que sont mes pics de consommation Spotify, on utilisera une somme des secondes avec un group by sur les dates :
Il suffit alors de trier les valeurs avec l’outil "sort" pour obtenir nos résultats :
Conclusions ?
Concernant les artistes, on notera mon obsession pour le Jazz, le Rock et les obscures DJ Lo-Fi. Néanmoins, on remarquera l’arrivée d’Henry Dès depuis la naissance de mon fils.
Sur les chansons, le titre le plus écouté est Bad King Kong des Derevolutions ce qui est logique puisque c’est la chanson programmée dans Spotify pour me réveiller le matin ! On notera, là encore, l’influence de mon fils dans le top 100 avec Baby Shark qui fait une entrée fulgurante à la 56ieme position.
La chanson ci-dessus est une torture mentale agrée par la plupart des parents.
Enfin sur les périodes d’écoute, on remarquera que DJ Spotify a fait un malheur à la soirée du Nouvelle An avec pas loin de 10h de diffusion :
Bien entendu, les analyses que vous pouvez faire ne se limitent pas à celle-ci. Avec les autres fichiers JSON, il est possible de regarder si vos chansons favorites sont bien dans une playlist, ou aussi sur quel appareil vous écoutez le plus vos morceaux favoris !
Pour ajouter un commentaire ici, vous devez être inscrit. Si vous êtes déjà inscrit, connectez-vous. Dans le cas contraire, inscrivez-vous puis connectez-vous.