Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws2122:spotify:spotify_chart_analyse

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws2122:spotify:spotify_chart_analyse [2022/03/17 11:56]
quinten Website Text angepasst
ws2122:spotify:spotify_chart_analyse [2022/04/25 22:14] (aktuell)
quinten code zip datei
Zeile 9: Zeile 9:
  
 =====1. Einleitung===== =====1. Einleitung=====
-Wir haben lange zwischen mehreren Ideen geschwankt, wir hatten aber definitiv Lust etwas mit der sehr umfangreichen API von Spotify zu realisieren. Das war im November, kurz vor der Hochphase der Weihnachtszeit - mit (coronakonformen) Weihnachtsmärkten und Last Christmas überall. ...+Wir haben lange zwischen mehreren Ideen geschwankt, wir hatten aber definitiv Lustetwas mit der sehr umfangreichen API von Spotify zu realisieren. Das war im November, kurz vor der Hochphase der Weihnachtszeit - mit (coronakonformen) Weihnachtsmärkten und Last Christmas überall. ...
  
-So kam uns die Idee die "​besten"​ bzw. "​beliebtesten"​ Weihnachtssongs zu küren. Also überlegten wir uns welche Daten wir für die Analyse brauchen und wie wir diese verarbeiten wollen. Auf der Website von [[https://​spotifycharts.com | Spotify]] wurden wir fündig. Zwar sind die Daten insofern beschränkt,​ dass dort nur Chartdaten für Länder, die Spotify in einem bestimmten Maß nutzen und für einen bestimmten Zeitrahmen zu finden. Jedoch reicht dies für unsere ​Projekt aus.+So kam uns die Ideedie "​besten"​ bzw. "​beliebtesten"​ Weihnachtssongs zu küren. Also überlegten wir unswelche Daten wir für die Analyse brauchen und wie wir diese verarbeiten wollen. Auf der Website von [[https://​spotifycharts.com | Spotify]] wurden wir fündig. Zwar sind die Daten insofern beschränkt,​ dass dort nur Chartdaten für Länder, die Spotify in einem bestimmten Maß nutzen und für einen bestimmten Zeitrahmen zu finden ​sind. Jedoch reicht dies für unser Projekt aus.
    
 Schaut man sich die Verteilung von Spotify-Nutzern an, fällt auf, dass Spotify vor allem in der westlicheren Kultur Anwendung findet. ​ Schaut man sich die Verteilung von Spotify-Nutzern an, fällt auf, dass Spotify vor allem in der westlicheren Kultur Anwendung findet. ​
Zeile 19: Zeile 19:
 Somit erklärt sich auch, warum es kaum Daten über zum Beispiel afrikanische oder asiatische Länder bei Spotify gibt. Somit erklärt sich auch, warum es kaum Daten über zum Beispiel afrikanische oder asiatische Länder bei Spotify gibt.
  
-Also haben wir uns entschieden hauptsächlich mit den Daten westlicher Länder zu arbeiten und als Bonus Länder wie Japan oder Vietnam mit in den Katalog aufzunehmen.+Also haben wir uns entschiedenhauptsächlich mit den Daten westlicher Länder zu arbeiten und als Bonus Länder wie Japan oder Vietnam mit in den Katalog aufzunehmen.
 ---- ----
 =====2. Projektziele===== =====2. Projektziele=====
Zeile 49: Zeile 49:
 =====3. Dokumentation===== =====3. Dokumentation=====
  
-{{ws2122:​spotify:​flowchart.drawio-2.png|Flowchart unseres Projekts}}+{{ws2122:​spotify:​flowchart-2.drawio.png|Flowchart unseres Projekts}}
  
 ====Datenakquise==== ====Datenakquise====
  
-Spotify stellt ihre wöchentlichen Charts für alle Länder ​wo Spotify verfügbar ist öffentlich zum Download zur Verfügung. Wir haben uns alle Daten heruntergeladen und ein Programm geschrieben, ​dass alle wöchentlichen Chartdaten eines Landes in eine Datei zusammenfügt (Merger). So ist es später für unser Analyseprogramm einfacher, alle Chartdaten einzulesen.+Spotify stellt ihre wöchentlichen Charts für alle Länder, in denen Spotify verfügbar istöffentlich zum Download zur Verfügung. Wir haben uns alle Daten heruntergeladen und ein Programm geschrieben, ​das alle wöchentlichen Chartdaten eines Landes in eine Datei zusammenfügt (Merger). So ist es später für unser Analyseprogramm einfacher, alle Chartdaten einzulesen.
  
  
 ====Entwicklung des Algorithmus==== ====Entwicklung des Algorithmus====
  
-Nachdem wir uns überlegt hatten, welche Möglichkeiten wir haben (siehe 2. Projektziele),​ haben wir entschieden,​ uns als erstes auf die Daten aus Deutschland zu konzentrieren,​ d.h. unser Algorithmus beruht auf den Erfahrungen aus der Analyse der deutschen Chartdaten.+Nachdem wir uns überlegt hatten, welche Möglichkeiten wir haben (siehe 2. Projektziele),​ haben wir entschieden,​ uns als erstes auf die Daten aus Deutschland zu konzentrieren,​ d. h. unser Algorithmus beruht auf den Erfahrungen aus der Analyse der deutschen Chartdaten.
  
-Um typische Eigenschaften eines Weihnachtssongs zu ermitteln, haben wir unteranderem ​erfolgreiche Songs in den deutschen Charts mit populären Weihnachtssongs verglichen.+Um typische Eigenschaften eines Weihnachtssongs zu ermitteln, haben wir unter anderem ​erfolgreiche Songs in den deutschen Charts mit populären Weihnachtssongs verglichen.
 {{:​ws2122:​spotify:​weihnachtssong_vs._chartsong.png |Abb.2}}{{ :​ws2122:​spotify:​ Last_Christmas_vs._Baller_los.png?​300|Abb.3}}\\ {{:​ws2122:​spotify:​weihnachtssong_vs._chartsong.png |Abb.2}}{{ :​ws2122:​spotify:​ Last_Christmas_vs._Baller_los.png?​300|Abb.3}}\\
  
Zeile 76: Zeile 76:
 ^ Chartplazierung nach Weihnachten ​ | nicht in den Charts ​               | ^ Chartplazierung nach Weihnachten ​ | nicht in den Charts ​               |
  
-Daraufhin haben wir entschieden wie wichtig die Eigenschaften sind bzw. wie stark diese gewichtet werden sollen:+Daraufhin haben wir entschiedenwie wichtig die Eigenschaften sind bzw. wie stark diese gewichtet werden sollen:
  
 ====Gewichtung==== ====Gewichtung====
-{{ analyse.drawio.png?​300|Aufbau des Analysealgorithmus}}+{{ analyse.drawio-2.png?​300|Aufbau des Analysealgorithmus}}
  
 Der erarbeitete Algorithmus ordnet jedem Song, der in den Charts gewesen ist, einen Wert zu, diesen nennen wir Weihnachtlichkeit. Der erarbeitete Algorithmus ordnet jedem Song, der in den Charts gewesen ist, einen Wert zu, diesen nennen wir Weihnachtlichkeit.
Zeile 175: Zeile 175:
  
 Weitestgehend sind wir mit dem Ergebnis unseres Projekts zufrieden. Wir haben unser Minimalziel erreicht, indem wir Weihnachtssongs mit Hilfe unserem Code für bestimmte Länder identifizieren können. Natürlich unter der Voraussetzung,​ dass für dieses Land von Spotify die Charts für einen längeren Zeitraum generiert wurden, da sonst der Datensatz zu gering ist. Weitestgehend sind wir mit dem Ergebnis unseres Projekts zufrieden. Wir haben unser Minimalziel erreicht, indem wir Weihnachtssongs mit Hilfe unserem Code für bestimmte Länder identifizieren können. Natürlich unter der Voraussetzung,​ dass für dieses Land von Spotify die Charts für einen längeren Zeitraum generiert wurden, da sonst der Datensatz zu gering ist.
 +
 +Natürlich ist unser Algorithmus nicht perfekt - einige der aufgeführten Songs sind ganz offensichtlich keine Weihnachtssongs. Dabei zu beachten ist die Weihnachtlichkeit des Top-Songs: Wenn diese einen gewissen Wert unterschreitet (nach unserer Erfahrung etwa 10), sind die Ergebnisse mit hoher Wahrscheinlichkeit keine Weihnachtssongs und werden nicht zu Weihnachten gespielt. Nun zeigen wir auf unserer Website aber immer die Top 15 Songs an, egal wie hoch die Weihnachtlichkeit ist. So ist es, vor allem in Ländern mit keiner stark ausgeprägten Weihnachtskultur so, dass wir eben keine schlüssigen Ergebnisse anbieten können.
 +
 +Außerdem sind unsere korrekt identifizierten Songs meistens keine ‘traditionellen’ Songs: unsere Datenbasis liefert der Streamingdienst Spotify, den doch tendenziell eher junge Menschen nutzen - die tendenziell eher moderne Musik hören.
 +
 +Die Parameter des Algorithmus kann man auch noch etwas optimieren - momentan übertrumpfen sehr erfolgreiche Songs, die die lange in den Charts sind die periodisch wieder eintretenden Weihnachtssongs mit purer Popularität.
 +
 Auch konnten wir “Option 1” und “Option 2” realisieren,​ durch die Visualisierung der Analyseergebnisse mittels einer interaktiven Landkarte wird der Benutzer interaktiv gefragt, welches Land für diesen von Interesse ist. Auch konnten wir “Option 1” und “Option 2” realisieren,​ durch die Visualisierung der Analyseergebnisse mittels einer interaktiven Landkarte wird der Benutzer interaktiv gefragt, welches Land für diesen von Interesse ist.
  
Zeile 214: Zeile 221:
  
 [[https://​spotifycharts.com]] [[https://​dash.plotly.com]] [[https://​pandas.pydata.org/​docs/​]] [[https://​stmorse.github.io/​journal/​spotify-api.html]] [[https://​matplotlib.org]] [[https://​spotifycharts.com]] [[https://​dash.plotly.com]] [[https://​pandas.pydata.org/​docs/​]] [[https://​stmorse.github.io/​journal/​spotify-api.html]] [[https://​matplotlib.org]]
 +
 +
 +Unser gesamter Code befindet sich [[https://​git.tu-berlin.de/​music-charts/​spotify-charts|hier]],​ bzw. hier:
 +{{:​ws2122:​spotify:​spotify-charts-main.zip|}}
 +
  
 ==Bildquellen== ==Bildquellen==
ws2122/spotify/spotify_chart_analyse.1647514582.txt.gz · Zuletzt geändert: 2022/03/17 11:56 von quinten