Webanalyse mit R – Teil 3

Lesezeit :5min
SHARE

Inhalte

Webanalyse mit R – Teil 3

Bei unserem letzten Blogbeitrag wurde beschrieben wie die Statistik-Software R mit dem Trackingtool Google Analytics verknüpft werden kann. Dieser Beitrag wird Ihnen zeigen wie Sie weitere Daten aus Google Analytics ziehen und in R tabellarisch abspeichern. Darüber hinaus werden weitere Grundfunktionen in R Schritt für Schritt vorgestellt.

In der Webanalyse kommt es häufig vor, dass die Performance Marketing Abteilung oder die Geschäftsführung wissen möchte wie die Online Performance in Bezug auf deren strategischen Ziele wie bspw. Verkauf von bestimmten Produkten oder Dienstleistungen im Vergleich zur Vorwoche ist.

Im ersten Schritt werden Programmiersprache R zwei Data Frames (Verknüpfung von Variablen und Faktoren bzw. Verknüpfung von Metriken und Dimensionen – siehe Webanalyse mit R – Teil 1) aufgebaut. Dabei wird davon ausgegangen, dass Google Analytics bereits mit R verbunden ist.

Anschließend werden diese zwei Data Frames, welche von der letzten abgeschlossen Woche und der Vorwoche die Webanalyse Daten enthalten formatiert und verglichen. Hierfür werden die Funktionen zur Berechnung der Summe und Mittelwert vorgestellt.

Außerdem wird noch eine neue Variable (CVR – Performance KPI aus der Webanalyse) in den beiden Data Frame eingefügt.

Um den Performancevergleich abschließen zu können wird das Delta der Data Frames voneinander abgezogen.  

Teil A – Google Analytics Metriken & Dimension in Data Frame kombinieren

Zunächst sollte überlegt werden, welche KPIs benötigt werden. Der einfachheitshalber nehmen wir in diesem Beispiel lediglich die Metriken:

  • Sessions (Sitzungen)
  • Bounce Rate (Absprungrate)
  • Transactions (Transaktionen)
  • Revenue (Umsatz)

Diese haben in Google Analytics folgende „API-Names“:

  • ga:sessions
  • ga:bounceRate
  • ga:transactions
  • ga:transactionRevenue

Die Schreibweise ist wichtig, da bei den R-Abfragen bzgl. dem verwendeten Google Analytics Paketes, an die Schreibkonventionen von Google eingehalten werden muss.

Damit lautet die erste R-Abfrage wie folgt:

GA_DataFrame_KW3 <- google_analytics_4(KontoName_ViewID, date_range = c(„2018-01-21“, „2018-01-27“),  metrics = c(„sessions“,“bounceRate“, „transactions“, „transactionRevenue“), dimensions = c(„day“))

Abbildung 1: Webanalyse mit R – Data Frame mit Google Analytics Daten

Um die Daten der Vorwoche zu erhalten führen Sie diese Abfrage erneut aus,  jedoch müssen Sie das Zeitintervall abändern.

Damit lautet die erste R-Abfrage wie folgt:

GA_DataFrame_KW2 <- google_analytics_4(KontoName_ViewID, date_range = c(„2018-01-14“, „2018-01-20“), metrics = c(„sessions“,“bounceRate“, „transactions“,“transactionRevenue“), dimensions = c(„day“))

Teil B – Formatierung der Google Analytics Data Frames

Da die Geschäftsführung, die Performance Marketing Abteilung einer Webanalyse Agentur oder der Webanalyst selbst, die Ergebnisse in seiner gewohnten Form darstellen möchte, werden die beiden Data Frames formatiert. 

(I) Spaltenüberschriften:
a) Spaltenüberschrift editieren in R – Funktion edit:

Die einfachste Art und Weise die Spaltenüberschrift zu bearbeiten geht über den R-Befehl „GA_DataFrame_KW3 <- edit(GA_DataFrame_KW3)

Nach Eingabe und Bestätigung des R-Befehls, erscheint die Tabelle mit den Google Analytics Dimensionen und Metriken im Dateneditor:

Abbildung 2: Webanalyse mit R – Spaltenüberschrift editieren

Hierin kann man über einen Mausklick die gewünschte Spaltenüberschrift auswählen und bearbeiten.

Abbildung 3: Webanalyse mit R – Variableneditor öffnen

In diesem Fall sollte geändert werden:

  • sessions in Sessions
  • bounceRate in BounceRate
  • transactions in Transactions
  • transactionRevenue in Revenue

Es wird in der R-Console direkt die neue Bezeichnung der Spalten angezeigt.

Abbildung 4: Webanalyse mit R – Spaltenüberschrift editieren 2

b) Spaltenüberschrift editieren in R – Funktion names

Eine weitere Möglichkeit die Überschriften zu editieren ist die Eingabe von:

names(GA_DataFrame_KW2) <- c(„Tag“ ,“Sessions“, „BounceRate“,“Transactions“, „Revenue“)

In diesem Beispiel wurde „day“ in „Tag“ umgewandelt. Hierbei ist es wichtig das Sie die exakte Anzahl an Spaltennamen innerhalb der Anführungszeichen in der Funktion combine (c()) eintragen. Auch wenn nur eine Spalte geändert werden soll, müssen die anderen Spalten auch angegeben werden.

Wenn vorab nicht bekannt ist, wie viele Spalten in einem Data Frame gespeichert sind und wie deren Benennung ist, kann man in der R-Console „names(GA_DataFrame_KW2)“ eingeben. Dann erscheinen alle vorhandenen Spalten und deren Namen.

Wenn weniger Spaltennamen als vorhanden vergeben werden, dann erhalten alle fehlenden Spalten die Bezeichnung „NA“.

Abbildung 5: Webanalyse mit R – fehlende Bezeichnungen

c) Spaltenüberschrift editieren in R – Funktion names [Position]

Die dritte in diesem Beitrag vorgestellte Version, wie man Bezeichnungen innerhalb eines Data Frames editieren kann, ist eine Erweiterung der Funktion „names“. Und zwar ist es möglich die Position anzugeben.

names(GA_DataFrame_KW2) [1] <- „Day“

Mit eintragen der Zahl 1 in die eckige Klammer wird Tag wieder in „Day“ umbenannt. Dadurch wird lediglich die erste Variable -Position 1- ausgewählt und überschrieben bzw. umbenannt.

(II) Nachkommastellen anpassen – Funktion format

Um die Nachkommastellen anzupassen wird die Funktion format(x, ….)  verwendet.

Abbildung 6: Webanalyse mit R – Nachkommastellen editieren

Wie man in der Grafik erkennen, haben die Werte der Bounce Rate nur noch 2 Nachkommastellen. Dies erfolgt durch Festlegen des Arguments innerhalb der Funktion digit=4 (es werden lediglich 4 Zeichen angezeigt).

Warum wurde die Spaltenvariable „BounceRate“ verändert?

Im ersten Teil des Befehls wurde „GA_DataFrame_KW2$BounceRate“ angegeben. Mit dem Dollarzeichen wird R mitgeteilt, dass innerhalb des Data Frames „GA_DataFrame_KW2“ die Variable „BounceRate“ auszuwählen ist.

Teil C – Berechnung der Summe und Mittelwert

Um der Geschäftsführung und der Online Marketing Abteilung mitzuteilen, wie sich die Performance von Woche 2 zu 3 verändert hat, muss nun die Summe bzw. der Mittelwert für die ausgewählten Google Analytics Metriken berechnet werden.

a) Summe berechnen mit der Funktion sum

Zur Berechnung der jeweiligen Summe der Sessions, Transactions und Revenue benutzen Sie folgende Befehle:

  • GA_DataFrame_SUM_Sessions <- sum(GA_DataFrame_KW2$Sessions)
  • GA_DataFrame_SUM_Transactions <- sum(GA_DataFrame_KW2$Transactions)
  • GA_DataFrame_SUM_Revenue <- sum(GA_DataFrame_KW2$Revenue)
b) Mittelwert berechnen mit der Funktion mean

Um nun für die BounceRate den Mittelwert zu berechnen verwenden Sie folgenden Befehl:

  • GA_DataFrame_MEAN_BounceRate <- mean(GA_DataFrame_KW2$BounceRate)

Bemerkung – Umwandlung einer Variable:

Bei der Berechnung des Mittelwertes der Bounce Rate wird an dieser Stelle eine Fehlermeldung erscheinen. 

Dies liegt daran, dass durch die Formatierung der Nachkommastellen mittels der Funktion „format(x,…)“ den Datentyp der Variable „BounceRate“ von „numeric“ in „character“ umgewandelt wurde. Damit ist es nicht mehr möglich den Mittelwert zu berechnen.

Daher müssen Sie die Bounce Rate wieder umwandeln. Dies erfolgt über folgenden Befehl:

GA_DataFrame_KW2$BounceRate <- as.numeric(GA_DataFrame_KW2$BounceRate)

Mit der Funktion „as.numeric(x)“ wird die Bounce Rate aus dem Data Frame wieder in Zahlenwerte umgewandelt.

Dies kann mit der Funktion „class(x)“ überprüft werden.

Abbildung 8: Webanalyse mit R – Überprüfung Variablentyp

Nun kann der Mittelwert oder sonstige Berechnungen durchgeführt werden.

Teil D – weitere Variable erstellen

Variable in beiden Google Analytics Data Frames aufgenommen. Bei der neuen Variable handelt es sich um die Conversionrate (CVR) welche ein Key Performance Indicator (KPI) darstellt.

Mittels der Conversionrate können die Webanalyse Agentur und deren Stakeholder in der Regel erkennen, wie effektiv der Traffic bzgl. eines Conversionzieles ist. Ist z.B. die Anzahl der erfolgreichen Online-Verkäufe ein im KPI-Framework definiertes Ziel, so kann mittels der CVR ermittelt werden, wie viele Sitzungen im Durchschnitt nötig sind um einen Online-Verkauf zu realisieren.

Die Formel hierfür ist:

Um die Conversionrate nun als neue Spalte in beiden Data Frames mit aufzunehmen, können Sie mittels folgender Abfrage die CVR aus Google Analytics abfragen und in einer Variable abspeichern.

  • GA_DataFrame_KW3_CVR <- google_analytics_4(KontoName_ViewID, date_range = c(„2018-01-21“, „2018-01-27“), metrics = c(„transactionPerSession„), dimensions = c(„day“))
  • CVR <- GA_DataFrame_KW3_CVR$transactionsPerSession
  • GA_DataFrame_KW3$CVR <- CVR

Eine weitere Möglichkeit wäre es die CVR direkt in beiden bereits erstellten Data Frames zu berechnen. Für das Data Frame „GA_DataFrame_KW2”, sieht die Berechnung der Conversionrate inkl. Erstellung einer neuen Spalte wie folgt aus:

GA_DataFrame_KW2$CVR <- GA_DataFrame_KW2$Transactions/GA_DataFrame_KW2$Sessions*100

Hierzu erstellen Sie in dem Data Frame „GA_DataFrame_KW2“ eine neue Spalte „CVR“ und dieser bekommt den Inhalt Transaktion geteilt der Sitzungen.
Wird nun das Data Frame aufgerufen, so werden und in der sechsten Spalte die CVR angezeigt.

Abbildung 9: Ausgabe der Werte

Teil E – Vergleich der Kalenderwochen

Im letzten Teil dieses Beitrages werden noch die beiden Kalenderwochen miteinander bzgl. Metriken aus Google Analytics verglichen. Damit können Sie erkennen, ob Ihr Online-Shop sich in seiner Performance positiv oder negativ verändert hat.

Im ersten Schritt berechnen Sie die Differenz für die fünf ausgewählte Webanalyse Metriken sowie einer Dimension „Tag“ und ordnen diese neuen Variablen zu:

  • delta_Sessions <- GA_DataFrame_KW3$Sessions-GA_DataFrame_KW2$Sessions
  • delta_BounceRate <- GA_DataFrame_KW3$ BounceRate -GA_DataFrame_KW2$BounceRate
  • delta_Transactions <- GA_DataFrame_KW3$ Transactions-GA_DataFrame_KW2$Transactions
  • delta_Revenue <- GA_DataFrame_KW3$ Revenue -GA_DataFrame_KW2$Revenue
  • delta_CVR <- GA_DataFrame_KW3$CVR-GA_DataFrame_KW2$CVR
  • Tag <- c(14,15,16,17,18,19,20)

Im zweiten Schritt erstellen Sie einen neuen Data Frame „DataFrame_GA_Delta“ und ordnen die sechs neuen Variablen dem Data Frame zu.

DataFrame_GA_Delta <- data.frame(Tag, delta_Sessions, delta_BounceRate, delta_Transactions, delta_Revenue)

Bei der Betrachtung des Umsatzes und der Transaktionen können Sie den Stakeholdern mitteilen, dass bis auf dem ersten Tag stets mehr generiert wurde als zur Vorwoche.

Natürlich werden in der Realität bei solch einer Analyse weitere Faktoren betrachtet. Jedoch sollte dieser Beitrag euch neue Funktionen zum Umgang mit vorgestellt haben.

Der IT-WINGS Blog -
Immer auf dem neusten Stand bleiben