Amazon Analysen mit Jupyter Notebooks erstellen
In diesem Artikel stellen wir Ihnen eine Alternative zur Analyse der Amazon-Geschäftsdaten zu Microsoft Excel vor. Mit Hilfe von sog. "Jupyter Notebooks" können Sie mit Hilfe von Programmcode Daten analysieren und visualisieren. Wir zeigen Ihnen anhand von ausgewählten Beispielen, wie Sie Daten importieren und auswerten können.
Vor- und Nachteile von Microsoft Excel
Für die Analyse von Geschäftsdaten kommt häufig Microsoft Excel zum Einsatz. Der Vorteil von Excel liegt auf der Hand: Auf den meisten Rechnern ist das Office Paket von Microsoft vorinstalliert, die meisten Nutzer besitzen Vorkenntnisse im Umgang mit Excel und man kommt schnell zu guten Ergebnissen.
In Excel wird es jedoch schnell unübersichtlich, wenn mehrere umfangreiche Datensets analysiert werden sollen und sich diese regelmäßig ändern. Bereiche verändern sich, Formeln und Diagramme müssen händisch angepasst werden. Datensätze müssen verknüpft werden. Dabei kommt es nicht selten zu Fehlern, die unbemerkt bleiben. Ein anderer Nachteil ist, dass Excel nicht gut mit sehr großen Datensätzen umgehen kann. Auch moderne Ansätze wie "Machine Learning" werden von Excel derzeit nicht nativ unterstützt.
Jupyter Notebooks als Alternative
Unter Datenanalysten gehören die Tools Python, Pandas und Jupyter Notebooks bereits zum de-facto Standard. Der Vorteil beim Einsatz dieser Tools liegt in der deskriptiven Vorgehensweise: Alle Schritte vom Import bis zur Visualisierung werden in Form von Code definiert.
Daraus ergibt sich der große Vorteil der Stabilität und Flexibilität. Solange sich die zugrundeliegende Datenstruktur nicht ändert, kann das Skript beliebig oft ausgeführt werden und es kommen immer die gleichen Ergebnisse heraus. Auch große Datenmengen sind für diese Tools kein Problem. Und wer sich mit dem Thema "Machine Learning" beschäftigt, kommt um diese Tools ohnehin nicht herum.
Das fertige Skript unterstützt dabei in allen Bereichen:
- Datenimport
- Bereinigung der Daten
- Filtern der Daten
- Verknüpfung unterschiedlicher Datensätze
- Auswertung der Daten
- Visualisierung
Als Amazon Agentur stehen wir häufig vor der Aufgabe, die Geschäftsdaten hinsichtlich mehrerer Dimensionen (Land, Kategorie, SKU, Produkt) zu analysieren, um Trends zu erkennen und Umsatzentwicklungen besser zu erklären. Wir haben uns hier für den Skript-basierten Ansatz entschieden, da dieser insbesondere beim wiederholten Einsatz schneller zu Ergebnissen führt. Früher haben wir diese Aufgabe auch mit Excel gelöst (und tun dies für kleinere Aufgaben immer noch), wir haben aber häufig viel Zeit damit verbracht, Excel zu bändigen anstatt uns mit den Erkenntnissen der Daten zu beschäftigen. Durch den Einsatz Tools wie Jupyter Notebooks dauert es nur noch einen Bruchteil der Zeit. Käme heute also ein Marketplace-Seller auf uns zu und würde uns bitten, einen Blick auf alle Transaktionen der letzten 18 Monate zu werfen, so würde sich der Aufwand auf folgende Schritte beschränken:
- Verknüpfung unseres Analyse-Tools mit der MWS Schnittstelle des Sellers
- Auslesen der Daten der letzten 18 Monate
- Normalisierung der Daten
- Export der Daten in Form von CSV Dateien
- Einlesen der Daten in das Skript
- Ausführung des Skripts
- Analyse der Daten
Insbesondere die Schritte 4-6 dauern hier maximal eine Stunde. Bei den Schritten 1-3 unterstützt uns das Amazon Tool AMALYTIX, so dass mehr Zeit mit der wertstiftenden Tätigkeit der Analyse verbracht werden kann.
Im folgenden möchten wir Ihnen eine kurze Einführung geben, wie Sie auch selbst ähnliche Analysen durchführen können.
Vorbemerkung
Dieses Vorgehen richtet sich an Anwender, die bereits Erfahrungen mit der Programmiersprache Python gesammelt haben. Anwender mit Erfahrungen von anderen Skriptsprachen wie PHP oder JavaScript werden sich mit Jupyter Notebooks schnell zurechtfinden und können diese auf ihre Bedürfnisse anpassen. Aber auch Analysten, die keine Erfahrung im Umgang mit diesen Sprachen haben, können mit Hilfe von Freelancern oder Agenturen entsprechende Tools erstellen lassen und so auf ihre Bedürfnisse anpassen. Wer sich selbst fortbilden möchte, findet auf der Plattform Kaggle hervorragende kostenlose Kurse für Einsteiger.
Installation der benötigten Tools
Wie bereits angedeutet führen wir das Skript innerhalb eines sog. Jupyter Notebooks aus. Ein Jupyter Notebook kann man sich als Kombination aus Word, Excel und einer Entwicklungsumgebung vorstellen, welche komplett im Browser läuft. So schreiben Sie Ihr Skript innerhalb des Notebooks (also wie in Word) und sehen auch gleich die Ergebnisse in Form von Tabellen oder Grafiken (wie in Excel). Dabei können Sie Ihren Code mit Anmerkungen in Text-Form ergänzen, um die unterschiedlichen Stellen ergänzen. Wie das aussieht, sehen Sie im nächsten Kapitel.
Innerhalb des Jupyter Notebooks setzen wir die Programmiersprache Python ein, da diese über diverse Bibliotheken verfügt, die den Umgang mit Daten deutlich erleichtern. Ein Beispiel für diese Bibliotheken ist Pandas, mit Hilfe wir die Daten manipulieren können, oder die Bibliotheken Matplotlib oder Seaborn, mit Hilfe die Daten visualisiert werden.
Jupyter Notebooks können entweder lokal (auf Ihrem Rechner) oder auf einem Server ausgeführt werden. So stellt z.B. Google mit dem Colab Projekt eine Umgebung bereit, mit Hilfe man mit wenigen Klicks eine Jupyter Notebook Umgebung bereitgestellt bekommt. Wer also die Installation auf dem eigenen Rechner scheut, findet hier eine gute Alternative. Eine kurze englische Einführung in Colab findet man z.B. hier. Wer schon mit der Google Suite arbeitet, kann mit drei Klicks ein erstes Notebook erstellen:
Wer Jupyter Notebooks lieber lokal betreiben möchte, um z.B. mehr Kontrolle über die Daten, die installierten Erweiterungen oder die verwendete Programmiersprache zu haben, muss die benötigten Programme selbst installieren. Aber auch hier gibt es mittlerweile fertige Pakete, die alles Nötige bereitstellen. Stellvertreter dieser Pakete sind z.B. die Umgebungen Anaconda oder die abgespeckte Version Miniconda. Mit Anaconda ist die Installation besonders einfach. Nachdem Sie Anaconda installiert haben, starten Sie den Server für das Jupyter Notebook auf der Kommandozeile mit
jupyter notebook
Mehr Infos zur Installation finden Sie hier. Wenn alles richtig läuft, dann öffnet sich jetzt ein Browser-Tab, das ungefähr so aussieht.
Von hier aus können Sie auf bestehende Notebooks zugreifen oder auch neue erstellen.
Export der Daten aus Amazon
Als nächstes benötigen Sie die Daten, die Sie analysieren möchten. Hier sind viele Quellen denkbar. So können Sie Daten aus Seller Central oder Vendor Central herunterladen.
Wir nutzen in der Regel die Amazon Berichte, die das Amazon Analyse Tool AMALYTIX bereitstellt. Vorteil dieser Lösung ist, dass AMALYTIX sich an die MWS Schnittstelle des/der jeweiligen Kunden*Kundinnen andocken und auch Daten aus Seller oder Vendor Central extrahieren kann. Zudem werden die Daten durch AMALYTIX so aufbereitet, dass diese leicht weiterverarbeitet werden können. Dies spart eine Menge Zeit.
In AMALYTIX gibt es für Marketplace-Seller z.B. einen Bericht mit dem Namen "Zahlungen", der alle Zahlungen, die Amazon an den Seller leistet, bereitstellt. Hier ist auf Ebene der SKU so gut wie alles enthalten: Umsätze, Kosten für FBA, Verkaufsprovisionen uvm. Um zu einer SKU noch die Produktdaten hinzuzuladen, laden wir als zweites noch den Bericht "Katalogdaten" herunter. Jetzt haben wir schon alles, was wir für unsere Analyse benötigen.
Ausführung des Skriptes
Im folgenden möchten wir Ihnen einige Einblicke in ein von uns entwickeltes Skript geben. Um den Rahmen dieses Artikels nicht zu sprengen, zeigen wir hier nur ausgewählte Beispiele. Ziel dieses Artikels ist, dass Sie ein Gefühl dafür bekommen, wie ein Jupyter Notebook aufgebaut ist und welche Analysen denkbar sind.
Import und Einstellungen
Als erstes geht es darum, die Daten zu importieren und einige Einstellungen zu treffen, die Auswirkungen auf die Analyse haben, z.B. welche Länder analysiert, welcher Zeitraum betrachtet und welche KPIs analysiert werden sollen. In dem von uns entwickelten Notebook sieht dies dann z.B. so aus:
Ein Blick in die Daten
Als nächstes lohnt es sich immer, zuerst ein Blick in die Daten zu werfen. Hier z.B. ein Blick in die Daten, wie AMALYTIX Sie im Bericht Zahlungen bereithält:
"Principal" stellt hier den Umsatz durch den Verkauf dar, "FBAPerUnitFulfillmentFee" ist die FBA-Versandgebühr und "Commission" ist die Verkaufsprovision.
Ausgewählte Auswertungen
So lässt sich jetzt mit einigen Hilfsfunktionen (hier nicht dargestellt) und wenigen Zeilen Code der Umsatz pro Monat ermitteln und visualisieren:
Auch die Darstellung in Tabellenform ist natürlich möglich:
Es lassen sich auch komplexere Tabellen erstellen, die mehrere Kennzahlen (hier Umsatz, Absatz, Durchschnittspreis) zusammenfassen:
Auf SKU Ebene haben wir dann auch die sog. "Movers & Shakers" analysiert, also die SKUs, die absolut betrachtet die größten Schwankungen zur gleichlangen Vorperiode aufwiesen:
Aber auch die Produktdaten lassen sich auswerten. Hier z.B. in Histogramm, welches den Listing Quality Index von AMALYTIX auswertet. Dieser gibt ein Gefühl dafür wieder, wie gut die Listings hinsichtlich verschiedener Kennzahlen optimiert sind (Länge des Titels, Anzahl (HD) Bilder, A+ Content uvm.:
Fazit
Mit Hilfe von Jupyter Notebooks können Daten-Analysten auf einfache Art und Weise beliebige Analysen erstellen und die Ergebnisse mit anderen teilen. Aber auch Dashboards und Berichte lassen sich auf diese Weise erstellen und sogar teilweise auch automatisieren.
Wer einen Schritt weitergehen möchte, kann mit Hilfe von Pandas auch Zeitreihenanalysen durchführen, z.B. auf Basis der eigenen Bestelldaten. So sind dann auch Vorhersagen möglich, die Trends und Saisonalitäten berücksichtigen. Wer sich hier etwas einlesen möchte, findet hier einen guten Artikel.