...

Amazon Suchbegriffe mit Jupyter Notebooks und Pandas analysieren

02.04.2020 • • von Trutz Fries

Amazon stellt in ARApremium bzw. Brand Analytics Suchbegriff-Berichte zur Verfügung, um das Suchverhalten der Kunden zu analysieren.

Wir wollten wissen, welche Begriffe übergreifend am häufigsten gesucht werden. Da man mit Excel hier schnell an seine Grenzen kommt, haben wir ein Jupyter Notebook gebaut, mit der diese Analyse mit wenigen Zeilen Code zu schaffen ist.

Import der Daten mittels Pandas

Zu Beginn muss man die Daten als CSV Datei herunterladen, um diese später in seinem Notebook einbinden zu können.

Das Notebook sieht dann so aus:

# Pandas importieren
from __future__ import print_function
import pandas as pd
import glob
pd.__version__

# Alle Dateien in ein Array laden
all_files = glob.glob("/verzeichnis-zu-den-dateien/Amazon*.csv")

# Einlesen aller CSV Dateien, die sich in dem Array all_files befinden
# Das Leerzeichen in "Suchfrequenz-Rang " ist wichtig!
df = pd.concat((pd.read_csv(file, decimal=",", thousands=".", usecols=["Suchbegriff", "Suchfrequenz-Rang "], engine="python", error_bad_lines=True, encoding='utf-8', skiprows=1,  sep=",") for file in all_files))

# Aggregieren der Daten
df4 = df.groupby('Suchbegriff')['Suchfrequenz-Rang '].agg(['mean','count','std']).sort_values(by=['mean'])

# Konvertieren der Spalten count und mean zu ganzen Zahlen
df4 = df4.astype({"count": int, "mean": int})

# Speichern als CSV Datei
df4.to_csv( "Average-Rank-SearchtermsWithCount.csv", encoding='utf-8-sig')

Analyse der Daten

Je nachdem wie viele Dateien man auf diese Weise kombiniert hat, bekommt man dann eine Datei mit > 1 Millionen Keywords und sieht für jedes Keyword, welchen Rang dieses im Durchschnitt hatte und wie häufig es in allen Dateien vorkam.

Im folgenden Beispiel haben wir 24 dieser Berichte analysiert und hatten am Ende ca. 1,2 Millionen Keywords in der Tabelle. Hier die ersten 50.

Suchbegriff mean count std
bluetooth kopfhörer 5 25 4
nintendo switch 6 25 4
kopfhörer 10 25 5
airpods 13 25 14
smartwatch 14 25 19
ps4 spiele 16 25 7
harry potter 18 25 13
lego 19 25 9
laptop 20 25 9
nintendo switch spiele 26 25 12
staubsauger 27 25 17
alexa 29 25 16
paw patrol 29 25 11
tablet 33 25 13
star wars 34 25 26
wasserkocher 35 25 20
bibi und tina 37 25 27
ps4 43 25 18
rucksack damen 47 25 65
ps4 controller 47 25 17
usb stick 48 25 30
powerbank 49 25 95
schlüsselanhänger 52 25 35
kaffeevollautomat 56 25 45
lego technik 56 25 41
sodastream 60 25 32
marvel 60 25 36
smartphone 62 25 36
kaffeemaschine 63 25 28
pokemon 65 25 21
bluetooth lautsprecher 66 25 40
playmobil 68 25 40
handy 72 25 27
schreibtisch 73 25 36
waschmaschine 75 25 39
iphone xr hülle 75 25 55
iphone 78 25 26
barbie 82 25 33
bilderrahmen 84 25 26
fernseher 87 25 47
gaming pc 91 25 30
trinkflasche 91 25 109
bibi blocksberg 94 25 97
teppich 97 25 51
switch spiele 97 25 44
greys anatomy 97 25 58
ipad 98 25 53
led strip 99 25 61
shisha 101 25 62
gaming stuhl 102 25 42

Die Suchbegriffe durchsuchen

Diese Liste kann man jetzt z.B. bei der Listing-Optimierung nutzen, um Keywords relativ zueinander einzuschätzen. Wird also "Portmonee" oder "Brieftasche" häufiger gesucht?

Mit folgendem Befehl lassen sich die Suchbegriffe durchsuchen. In diesem Beispiel suchen wir nach allen Suchbegriffen, in denen das Wort "gardena" vorkommt:

df4[df4.index.str.contains('gardena')].head(20)
Suchbegriff mean count std
gardena 3486 25 3150.23
gardena schlauch 21621 25 16836.7
gardena schlauchtrommel 22738 25 15791.4
gardena mähroboter 24934 25 12274.6
gardena kupplung 27462 25 30896.6
gardena bewässerungssystem 31994 25 29484.3
gardena gartenschere 33705 25 16405
gardena schlauchverbinder 60854 25 46403.2
gardena schlauchwagen 61507 25 47797.7
mähroboter gardena 61612 25 34583.8
gardena aquazoom 62400 9 50114.7
gardena bewaesserung 69071 1 nan
gardena spritze 74307 25 53239.9
gardena stiel 74973 25 40259
gardena combisystem 82716 25 70433.5
gardena rechen 83709 25 76207.2
gardena bewässerungscomputer 84796 25 73591.6
gardena zeitschaltuhr 86014 9 77920
gardena sileno 86639 25 45248.6
gartenschere gardena 87025 25 47870.6

Noch mächtiger wird die Suche, wenn man eine sog. "Regular Expression" (RegEx) zur Suche nutzt. Hier gibt man nicht einen konkreten Text vor, sondern ein sog. Suchmuster. Dies erlaubt es uns, z.B. nach unterschiedlichen Schreibweisen zu suchen. Der folgende Befehlt findet unterschiedliche Schreibweisen des Wortes "Yogamatte":

df4[df4.index.str.contains('[yj]oga.?matte')].head(20)
Suchbegriff mean count std
yogamatte 338 25 161.047
yoga matte 2389 25 820.243
yogamatte rutschfest 9922 25 3469.39
jogamatte 10261 25 3377.84
yogamatte kork 23530 25 11257.2
yogamatte naturkautschuk 27743 25 5939.38
jade yogamatte 46817 25 12736.8
yogamatten 56715 25 22945.4
lotuscrafts yogamatte 63328 25 19403.3
manduka yogamatte 63653 25 18263.3
yogistar yogamatte 68112 25 13675
yoga matte rutschfest 70326 1 nan
yogamatte tasche 80785 25 13150.2
reise yogamatte 83995 25 31255.2
joga matten 89362 25 24908.6
yogamatte schurwolle 89549 24 49844.2
yogamatte reebok 107861 1 nan
liforme yogamatte 110131 25 20752.5
reebok yogamatte 110363 1 nan
yoga matte rutschfest dünn 112945 24 59256.9

Das Suchmuster [yj]oga.?matte' ist dabei wie folgt zu interpretieren:

[yj] = y oder j

.? = mit oder ohne Leerzeichen

Wir können jetzt auch unsere Frage von zu Beginn beantworten. Wenn jemand ein neues Portemonnaie sucht, welche Schreibweise wird am häufigsten gesucht?

df4[df4.index.str.contains('brieftasche|port.*monee|port.*monnaie', regex=True)].head(20)
Suchbegriff mean count std
portemonnaie damen 354 25 236.108
portmonee damen 2444 25 635.93
portemonnaie herren 2482 25 2759.01
portmonee herren 3163 25 925.913
portemonnaie damen klein 7463 25 2688.67
herren portemonnaie 7927 25 2787.5
portemonnaie 8195 25 3790.73
damen portemonnaie 9238 25 3595.85
brieftasche herren 10500 25 3545.77
portmonee 15116 25 5390.57
portemonnaie damen gross 16263 25 3797.22
karten portemonnaie 16668 25 3642.58
brieftasche 20851 25 9823.33
portmonee damen klein 22647 25 7458.06
brieftasche damen 26560 25 7834.45
portemonnaie damen leder 26611 25 10856.4
tommy hilfiger portemonnaie herren 27305 25 8887.91
kellnerportemonnaie 27889 25 17295.4
damen portemonnaie groß 34549 25 9542.01
mini portemonnaie herren 42244 25 21701.3

Häufigkeit der Amazon Suchbegriffe

Interessant ist auch eine Analyse nach Häufigkeit:

Histogramm Suchbegriffe Amazon

Hier sieht man, dass es viele sog. "one-hit-wonder" in den Daten gibt, also Suchbegriffe, die nur einmal in einer der Dateien auftauchen.

Schauen wir uns die ersten 20 mal an:

Suchbegriff mean count std
cyber monday fashion sale 163 1 nan
lazy leaf 182 1 nan
amazon on 290 1 nan
schneepflug ferngesteuert 550 1 nan
led kerzen luminicious 647 1 nan
lazy leaf blumentopf 810 1 nan
toilettenpapier, 3 lagig, 200 blatt 873 1 nan
1-cent produkte 950 1 nan
desinfektionsmittel amazon 976 1 nan
bunions 1004 1 nan
wuya iphone kabel 1029 1 nan
wuya lightning kabel 1161 1 nan
wuya iphone ladekabel 1180 1 nan
cb lash 1378 1 nan
pursources urea 40% foot cream 4 oz - best callus remover - moisturizes 1436 1 nan
dream pairs stiefel 1440 1 nan
iphone 6s zertifiziert 1668 1 nan
glitzer käfer hugo holunderblüte 1681 1 nan
toilettepapier 1803 1 nan

Da diese Analyse zur Zeit des Corona-Virus entstanden ist, ist es nicht verwunderlich, dass hier auch Suchanfragen wie "toilettenpapier, 3 lagig, 200 blatt" auftauchen.

Saisonale Suchbegriffe

Die dritte oben gezeigte Spalte "std" zeigt die Standardabweichung. Je höher diese Zahl ist, desto stärker schwankt der Artikel über die Zeit. Oder in anderen Worten, die Nachfrage ist sehr unterschiedlich je nach Zeitraum.

Mit folgendem Befehl erhalten wir die 50 Suchbegriffe, die in allen CSV-Dateien enthalten waren und die größte Standardabweichung haben:

# Zeige die Top 50 Suchbegriffe, die sehr saisonal sind
df4.loc[df4['count'] > 24].sort_values(by=['std'], ascending=False).round().head(50)
Suchbegriff mean count std
gartenmöbel rattan 139184 25 167159
pool pumpe 177659 25 164494
bachlaufpumpe 190223 25 163726
rattan gartenmöbel 120092 25 161254
dirndl mädchen 184818 25 156153
superfit sandalen junge 156790 25 154468
gasgrill 2 brenner 210552 25 147982
rasiermesser set herren 211716 25 147492
gartentisch ausziehbar 107347 25 146850
gardena sprinklersystem 125091 25 146624
bodyglide 220597 25 145493
staudenhalter 155833 25 145325
kinderhelm 2 jahre mädchen 241608 25 144926
fahrrad trikot herren 204151 25 144730
flash forward 186989 25 144543
dulcolax dragees 178226 25 144403
pflanzkübel holz 126201 25 144161
gartentisch rund 143377 25 144013
olaplex 4 und 5 198256 25 143025
mückenstift 189198 25 142321
pfostenkappen 9x9 155811 25 142319
abwassertank wohnwagen 180296 25 142278
sneaker schuhe damen 134467 25 141915
traillaufschuhe herren 167606 25 141755
aqua kem blue 190651 25 141391
puma schuhe kinder 145302 25 141385
merjungfrauen flossen für kinder 110633 25 141235
zelt 6 person 161706 25 141204
stihl motorsense 174402 25 141132
sandkiste 121378 25 141089
fahrrad flickzeug set 156014 25 141009
pantoletten damen mit absatz 176384 25 140303
wandbrunnen 202081 25 140287
bauchtasche damen adidas 171269 25 139889
maurerwinkel 190492 25 139651
glasbehälter mit deckel set 179705 25 139060
malcom mittendrin 207466 25 138776
pool rund 160478 25 138643
fatboy hängematte 172437 25 138641
sprunggelenk bandage 160259 25 138526
eisensulfat 201231 25 138178
now apocalypse 265801 25 138165
schutzblech 26 zoll 199997 25 138128
bella and the bulldogs staffel 1 152086 25 138059
gartenschlauch gardena 169311 25 137692
inliner rollen 210078 25 137606
fliegenhaube pferde 220070 25 136842
windschutz gaskocher 168331 25 136827
ralph lauren herren t shirt 149395 25 136783
gymondo 168555 25 136419

Nicht überraschend finden sich hier viele Artikel für den Garten (Sommer).

Dieser Artikel kann nur einen Überblick geben, was alles mit Jupyter Notebooks möglich ist. Einen weitere Artikel zu diesem Thema haben wir auf unserm Agentur-Blog veröffentlich. Hier geht es um die Analyse von Amazon Daten mit Hilfe von Jupyter Notebooks.

Um die Analyse der passenden Suchbegriffe zu erleichtern, haben wir hierfür ein Amazon Content Tool gebaut, welches es Content-Editoren erleichtert, ein optimales Listing zu formulieren. Dieses Tool finden Sie unter https://www.axolist.com

Verwandte Artikel

Blog

Optimierung des Amazon Produkttitels in 2020

Der erste Schritt der Optimierung Ihres Amazon Produktes für Amazon SEO ist der Produkttitel. Welche Vorgaben Ihnen Amazon bezüglich Ihres Produktes stellt und wie Sie ihn optimieren können, erklären wir Ihnen in diesem Artikel.

Trutz Fries

Blog

Recherche passender Suchbegriffe | Amazon SEO

Amazon SEO ist ein entscheidender Faktor für den Erfolg als Amazon Seller. Die Recherche von treffenden Keywords ist daher enorm wichtig. Wir zeigen Ihnen wie!

Trutz Fries

Blog

Amazon SEO: So gewinnen Sie mehr Sichtbarkeit auf Amazon

Sie möchten, dass Ihre Produkte auf Amazon ganz oben stehen? Hier finden Sie die wichtigsten Schritte einfach erklärt

Trutz Fries

Brauchen Sie mehr Übersicht auf Amazon?
14 Tage kostenlos testen
Haben Sie noch Fragen? Rufen Sie uns an!
Tel. 0221-29 19 12 32 | info@amalytix.com