Was ist Kanalzuordnung?? Modellierung der Kanalzuordnung

Inhalt

Einführung

In einer typischen Customer Journey 'vom Denken zum Kaufen', Ein Kunde durchläuft mehrere Berührungspunkte, bevor er sich auf das Endprodukt zum Kauf konzentriert. Dies ist bei E-Commerce-Verkäufen noch ausgeprägter.. Es ist relativ einfacher, die verschiedenen Kontaktpunkte, die der Kunde gefunden hat, vor dem endgültigen Kauf zu verfolgen.

Namensnennung-colby-1200-800x450-6060540

Quelle: MarTech heute

Da sich das Marketing zunehmend auf die verbraucherorientierte Seite der Dinge verlagert, Die Identifizierung der richtigen Kanäle für Zielkunden ist für Unternehmen von entscheidender Bedeutung geworden. Dies hilft Unternehmen, ihre Marketinginvestitionen zu optimieren und die richtigen Kunden an den richtigen Stellen anzusprechen..

Meistens, Unternehmen investieren normalerweise in den letzten Kanal, den Kunden finden, bevor sie den endgültigen Kauf tätigen. Aber trotzdem, das ist vielleicht nicht immer der richtige Ansatz. Es gibt mehrere Kanäle, die diesem Kanal vorausgehen und die letztendlich die Kundenkonversion fördern.. Das zugrunde liegende Konzept zur Untersuchung dieses Verhaltens ist bekannt als “Multichannel-Attributionsmodell”.

In diesem Artikel, wir analysieren, was Channel-Attribution ist und wie sie mit dem Konzept der Markov-Ketten zusammenhängt. Wir werden auch eine Fallstudie eines E-Commerce-Unternehmens durchführen, um zu verstehen, wie dieses Konzept funktioniert., sowohl theoretisch als auch praktisch (mit R).

Inhaltsverzeichnis

  1. Was ist Kanalzuordnung??
    • Markov-Ketten
    • Eliminationseffekt
  2. Fallstudie eines E-Commerce-Unternehmens
  3. Implementierung in R

Was ist Kanalzuordnung??

Google Analytics bietet ein Standardregelwerk für die Attributionsmodellierung. Laut Google, „Ein Attributionsmodell ist die Regel, oder Regelwerk, die bestimmt, wie den Touchpoints auf Conversion-Pfaden die Gutschrift für Verkäufe und Conversions zugewiesen wird. Zum Beispiel, Das Modell „Letzte Interaktion“ in Analytics weist die 100% Gutschrift auf Endkontaktstellen (nämlich, die Klicks) die unmittelbar vor Verkäufen oder Conversions stehen. Umgekehrt, das First-Interaction-Modell weist die 100% von Guthaben bis zu Touchpoints, die Conversion-Pfade initiieren “.

Wir werden das letzte Interaktionsmodell und das erste Interaktionsmodell später in diesem Artikel sehen.. Davor, Nehmen wir ein kleines Beispiel und verstehen die Kanalzuordnung ein wenig mehr. Nehmen wir an, wir haben ein Übergangsdiagramm wie unten gezeigt:

ca-5997237

Im obigen Szenario, ein Kunde kann seine Reise über den Kanal „C1“ beginnen’ oder Kanal 'C2'. Die Wahrscheinlichkeit, mit C1 oder C2 zu beginnen, ist 50% (Ö 0.5) jede einzelne. Lassen Sie uns zuerst die Gesamt-Conversion-Wahrscheinlichkeit berechnen und dann weitergehen, um die Wirkung jedes der Kanäle zu sehen.

P (Wandlung) = P (C1 -> C2 -> C3 -> Wandlung) + P (C2 -> C3 -> Wandlung)

= 0,5 * 0,5 * 1 * 0,6 + 0,5 * 1 * 0,6
= 0,15 + 0,3
= 0,45

Markov-Ketten

Markov-Ketten sind ein Prozess, der Bewegung abbildet und eine Wahrscheinlichkeitsverteilung liefert, um von einem Zustand in einen anderen zu wechseln. Eine Markov-Kette wird durch drei Eigenschaften definiert:

  • Zustandsraum – Menge aller Zustände, in denen der Prozess potentiell existieren könnte
  • Übergangsoperator –Die Wahrscheinlichkeit, von einem Zustand in einen anderen zu wechseln
  • Wahrscheinlichkeitsverteilung des aktuellen Zustands – Wahrscheinlichkeitsverteilung, sich zu Beginn des Prozesses in einem der Zustände zu befinden

Wir kennen die Phasen, die wir durchlaufen können, die Wahrscheinlichkeit, sich von jedem der Pfade zu entfernen, und wir kennen den aktuellen Zustand. Das sieht aus wie Markov-Ketten, Nein?

Eliminationseffekt

Das ist, in der Tat, eine Anwendung von Markov-Ketten. Wir werden später darauf zurückkommen.; folgen wir vorerst unserem Beispiel. Wenn wir herausfinden sollten, was der Beitrag des Kanals ist 1 auf der Reise unseres Kunden vom Anfang bis zum Ende der Konvertierung, wir werden das prinzip verwenden Eliminationseffekt. Das Prinzip des Eliminationseffekts besagt, dass wenn wir den Beitrag jedes Kanals in der Customer Journey finden wollen, Wir können dies tun, indem wir jeden Kanal entfernen und sehen, wie viele Conversions stattfinden, ohne dass dieser Kanal vorhanden ist.

Zum Beispiel, Angenommen, wir müssen den Beitrag von Kanal C1 berechnen. Wir werden Kanal C1 aus dem Modell entfernen und sehen, wie viele Conversions ohne C1 im Bild stattfinden, nämlich, vollständige Konvertierung, wenn alle Kanäle intakt sind. Rechnen wir für Kanal C1:

ca1-6850867

P (Konvertierung nach Entfernen von C1) = P (C2 -> C3 -> Einbiegen in)

= 0,5 * 1 * 0,6

= 0,3

Das 30% der Kundeninteraktionen können umgewandelt werden, ohne dass Kanal C1 vorhanden ist; während mit C1 intakt, du kannst das umwandeln 45% von Interaktionen. Dann, die Entfernungswirkung von C1 ist

0,3 / 0,45 = 0,666.

Die Entfernungswirkung von C2 und C3 ist 1 (du kannst versuchen es zu berechnen, aber denke intuitiv. Eliminieren wir C2 oder C3, Könnten wir eine Konvertierung abschließen??).

Dies ist eine sehr nützliche Anwendung von Markov-Ketten. Im obigen Fall, alle kanäle – C1, C2, C3 (in verschiedenen Stadien) – werden genannt Übergangszustände; während die Wahrscheinlichkeit, von einem Kanal zum anderen zu wechseln, genannt wird Übergangswahrscheinlichkeit.

Die Kundenreise, was ist eine kanalfolge, kann man sich als Kette in einem gerichteten Markov-Graphen vorstellen, in dem jeder Knoten ein Zustand ist (Kanal / Kontaktpunkt), und jede Kante stellt die Übergangswahrscheinlichkeit dar, von einem Zustand in einen anderen zu wechseln. Da die Wahrscheinlichkeit, einen Zustand zu erreichen, nur vom vorherigen Zustand abhängt, kann als gedächtnislose Markov-Kette betrachtet werden.

Fallstudie eines E-Commerce-Unternehmens

Sehen wir uns eine Fallstudie aus dem wirklichen Leben an und sehen wir, wie wir das Kanalzuordnungsmodell implementieren können.

Ein E-Commerce-Unternehmen hat eine Umfrage durchgeführt und Daten von seinen Kunden gesammelt. Dies kann als repräsentative Population betrachtet werden. In der übersicht, das Unternehmen sammelte Daten zu den verschiedenen Berührungspunkten, die Kunden besuchen, bevor das Produkt schließlich auf seiner Website gekauft wurde.

Gesamt, Es gibt 19 Kanäle, auf denen Kunden das Produkt oder die Produktwerbung finden. Nach dem 19 Kanäle, es gibt noch drei weitere Fälle:

  • # 20 – der Kunde hat sich für ein Gerät entschieden;
  • # 21 – der Kunde hat den endgültigen Kauf getätigt und;
  • # 22 – der Kunde hat sich noch nicht entschieden.

Die allgemeinen Kategorien von Kanälen sind wie folgt:

Kategorie Kanal
Webseite (1,2,3) Firmenwebsite oder Konkurrenzwebsite
Untersuchungsberichte (4,5,6,7,8) Branchenberatungsforschungsberichte
Online / Bewertungen (2) (9,10) Organische Suchanfragen, Foren
Preisvergleich (11) Aggregatoren
Freunde (12,13) Rote soziale
Experte (14) Experte online oder offline
Geschäfte (15,16,17) Physische Geschäfte
Sonstiges. (18,19) Andere, als Werbeaktionen an verschiedenen Standorten.

Jetzt, Wir müssen dem E-Commerce-Unternehmen helfen, die richtige Strategie für Investitionen in Marketingkanäle zu finden. Auf welche Kanäle sollte ich mich konzentrieren? In welche Kanäle soll das Unternehmen investieren? Wir werden dies im nächsten Abschnitt mit R lösen.

Implementierung mit R

Lassen Sie uns die Implementierung in R ausprobieren und die Ergebnisse überprüfen. Sie können den Datensatz herunterladen hier und folge wie wir gehen.

#Installieren Sie die Bibliotheken
install.pakete("Kanalzuordnung")
install.pakete("ggplot2")
install.pakete("umformen")
install.pakete("dplyr")
install.pakete("Pflaume")
install.pakete("umformen2")
install.pakete("markovchain")
install.pakete("verschwörerisch")

#Laden Sie die Bibliotheken
Bücherei("Kanalzuordnung")
Bücherei("ggplot2")
Bücherei("umformen")
Bücherei("dplyr")
Bücherei("Pflaume")
Bücherei("umformen2")
Bücherei("markovchain")
Bücherei("verschwörerisch")

#Einlesen der Daten in R
> Kanal = read.csv("Channel_Attribution.csv", Kopfzeile = T)
> Kopf(Kanal)

Produktion:

R05A.01 R05A.02 R05A.03 R05A.04 … .. R05A.18 R05A.19 R05A.20
Sechszehn 4 3 5 n / EIN n / EIN n / EIN
2 1 9 10 n / EIN n / EIN n / EIN
9 13 20 Sechszehn n / EIN n / EIN n / EIN
8 15 20 21 n / EIN n / EIN n / EIN
Sechszehn 9 13 20 n / EIN n / EIN n / EIN
1 11 8 4 n / EIN n / EIN n / EIN

Wir werden ein wenig Datenverarbeitung durchführen, um sie auf ein Stadium zu bringen, in dem wir sie als Eingabe für das Modell verwenden können. Später, Wir ermitteln, welche Customer Journeys in die endgültige Conversion eingeflossen sind (in unserem Fall, alle Touren haben den endgültigen Konvertierungsstatus erreicht).

Wir erstellen eine "Route"’ Variable in einem bestimmten Format, das als Eingabe in das Modell eingespeist werden kann. Was ist mehr, Wir werden die Gesamtvorkommen jeder Route mit dem 'dplyr'-Paket herausfinden.

> zum(reihen Sie sich ein 1:jetzt(Kanal))
{
  Wenn(21 %in% Kanal[Reihe,]){Kanal$konvertieren[Reihe] = 1}
}
> Spalte = Spaltennamen(Kanal)
> channel$path = do.call(Einfügen, C(Kanal[Säule], sep = " > "))
> Kopf(Kanal$Pfad)
[1] "16 > 4 > 3 > 5 > 10 > 8 > 6 > 8 > 13 > 20 > 21 > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > 1"     

[2] "2 > 1 > 9 > 10 > 1 > 4 > 3 > 21 > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > 1"     

[3] "9 > 13 > 20 > 16 > 15 > 21 > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > 1"

[4] "8 > 15 > 20 > 21 > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > 1"

[5] "16 > 9 > 13 > 20 > 21 > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > 1"

[6] "1 > 11 > 8 > 4 > 9 > 21 > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > N / A > 1"

> zum(reihen Sie sich ein 1:jetzt(Kanal))
{
  Kanal$Pfad[Reihe] = strsplit(Kanal$Pfad[Reihe], " > 21")[[1]][1]
}
> channel_fin = Kanal[,C(23,22)]
> channel_fin = ddply(channel_fin,~Pfad,zusammenfassen, Umrechnung = Summe(Konvertieren))
> Kopf(channel_fin)

Produktion:

Weg Wandlung
1> 1> 1> 20 1
1> 1> 12> 12 1
1> 1> 14> 13> 12> 20 1
1> 1> 3> 13> 3> 20 1
1> 1> 3> 17> 17 1
> 1> 6> 1> 12> 20> 12 1
> Daten = channel_fin
> Kopf(Daten)

Produktion:

Weg Wandlung
1> 1> 1> 20 1
1> 1> 12> 12 1
1> 1> 14> 13> 12> 20 1
1> 1> 3> 13> 3> 20 1
1> 1> 3> 17> 17 1
1> 1> 6> 1> 12> 20> 12 1

Jetzt, wir erstellen ein heuristisches Modell und ein Markov-Modell, wir werden beides kombinieren und dann das Endergebnis prüfen.

> h <- heuristische_modelle(Daten, 'Weg', 'Wandlung', var_wert ="Wandlung")
> h

Produktion:

Kanal Name first_touch_conversions … .. linear_touch_conversions linear_touch_value
1 130 73.773661 73.773661
20 0 473.998171 473.998171
12 75 76.127863 76.127863
14 34 56.335744 56.335744
13 320 204.039552 204.039552
3 168 117.609677 117.609677
17 31 76.583847 76.583847
6 50 54.707124 54.707124
8 56 53.677862 53.677862
10 547 211.822393 211.822393
11 66 107.109048 107.109048
Sechszehn 111 156.049086 156.049086
2 199 94.111668 94.111668
4 231 250.784033 250.784033
7 26 33.435991 33.435991
5 62 74.900402 74.900402
9 250 194.07169 194.07169
15 22 65.159225 65.159225
18 4 5.026587 5.026587
19 10 12.676375 12.676375
> m <- markov_model(Daten, 'Weg', 'Wandlung', var_wert ="Wandlung", Ordnung = 1)> m

Produktion:

Kanal Name total_conversion total_conversion_value
1 82.482961 82.482961
20 432.40615 432.40615
12 83,942587 83,942587
14 63.08676 63.08676
13 195.751556 195.751556
3 122.973752 122.973752
17 83.866724 83.866724
6 63.280828 63.280828
8 61.016115 61.016115
10 209.035208 209.035208
11 118.563707 118.563707
Sechszehn 158.692238 158.692238
2 98.067199 98.067199
4 223.709091 223.709091
7 41.919248 41.919248
5 81.865473 81.865473
9 179.483376 179.483376
15 70.360777 70.360777
18 5.950827 5.950827
19 15.545424 15.545424

Bevor es weitergeht, Lassen Sie uns zuerst verstehen, was einige der Begriffe, die wir oben gesehen haben, bedeuten.

First-Touch-Konvertierung: Die Conversion, die über den Kanal erfolgt, wenn dieser Kanal der erste Kontaktpunkt für einen Kunden ist. Die 100% Gutschrift an Erstkontakt.

Letzte Berührungskonvertierung: Die Conversion, die über den Kanal erfolgt, wenn dieser Kanal der letzte Kontaktpunkt für einen Kunden ist. Die 100% Gutschrift an letzter Ansprechpartner.

Lineare Touch-Konvertierung: Alle Kanäle / Touchpoints erhalten die gleiche Gutschrift bei der Conversion.

Zurück zum R-Code, Lassen Sie uns die beiden Modelle zusammenführen und das Ergebnis optisch ansprechend und verständlicher darstellen.

# Führt die beiden Datenrahmen auf dem "Kanal Name" Säule.
R <- verschmelzen(h, m, von='channel_name')

# Wählen Sie nur relevante Spalten aus
R1 <- R[, (Kolnamen(R) %in %c('Kanal Name', 'first_touch_conversions', 'last_touch_conversions', 'linear_touch_conversions', 'total_conversion'))]

# Transformiert das Dataset in einen Datenrahmen, den ggplot2 verwenden kann, um die Ergebnisse darzustellen
R1 <- schmelzen(R1, id='channel_name')
# Plotten Sie die Gesamtumwandlungen
ggplot(R1, aes(Kanal Name, Wert, füllen = variabel)) +
  geom_bar(stat="Identität", position='ausweichen') +
  ggtitle('GESAMTE KONVERTIERUNGEN') +
  Thema(axis.title.x = element_text(vjust = -2)) +
  Thema(axis.title.y = element_text(vjust = +2)) +
  Thema(title = element_text(Größe = 16)) +
  Thema(plot.title=element_text(Größe = 20)) +
  ylab("")

Gesamt-Conversions2-3926341

Die Bühne ist in der Grafik oben gut sichtbar. Aus Sicht der ersten Touch-Konvertierung, der Kanal 10, der Kanal 13, der Kanal 2, der Kanal 4 und der kanal 9 sie sind ziemlich wichtig; während aus der Perspektive der letzten Berührung, der Kanal 20 ist das wichtigste (in unserem Fall, Es sollte daran liegen, dass der Kunde sich entschieden hat, welches Produkt er kaufen soll). In Bezug auf die lineare Touch-Konvertierung, der Kanal 20, der Kanal 4 und der kanal 9 erweisen sich als wichtig. Aus Sicht der Gesamtumwandlungen, die Kanäle 10, 13, 20, 4 Ja 9 sie sind ziemlich wichtig.

Abschließende Anmerkungen

In der obigen Grafik konnten wir herausfinden, auf welche wichtigen Kanäle wir uns konzentrieren sollten und welche verworfen oder ignoriert werden können. Dieser Fall gibt uns eine sehr gute Vorstellung von der Anwendung von Markov-Kettenmodellen im Kundenanalyseraum. E-Commerce-Unternehmen können jetzt selbstbewusst ihre Marketingstrategie entwickeln und ihr Marketingbudget mithilfe von datengesteuerten Informationen verteilen..

Biografie des Autors:

Dieser Artikel wurde beigesteuert von Wahrnehmungsanalytik. Chaitanya Sagar, Prudhvi Potuganti und Saneesh Veetil haben diesen Artikel entwickelt.

Perceptive Analytics bietet Datenanalyse, Datenvisualisierung, Business Intelligence- und Reporting-Services für die E-Commerce-Branche, Einzelverkauf, medizinische und pharmazeutische Versorgung. Unsere Kundenliste umfasst börsennotierte Unternehmen 500 und NYSE in EE. UU. Und Indien.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.