Che cos'è l'attribuzione del canale?? Modelli di attribuzione del canale

Contenuti

introduzione

In un tipico customer journey "think-to-buy", Un cliente passa attraverso più punti di contatto prima di concentrarsi sul prodotto finale da acquistare. Questo è ancora più evidente nel caso delle vendite e-commerce. È relativamente più facile tenere traccia di quali sono i diversi punti di contatto che il cliente ha incontrato prima di effettuare l'acquisto finale.

attribuzione-colby-1200-800x450-6060540

Fonte: MarTech oggi

UN misura que el marketing se mueve cada vez más hacia el lado de las cosas impulsado por el consumidor, Identificare i canali giusti per i clienti target è diventato fondamentale per le aziende. Questo aiuta le aziende a ottimizzare i loro investimenti di marketing e a rivolgersi ai clienti giusti nei posti giusti.

La maggior parte delle volte, Le aziende spesso investono nell'ultimo canale che i clienti trovano prima di effettuare l'acquisto finale. tuttavia, Questo potrebbe non essere sempre l'approccio giusto. Ci sono diversi canali che precedono quel canale che alla fine guidano la conversione dei clienti. Il concetto alla base dello studio di questo comportamento è noto come “Modello di attribuzione multicanale”.

In questo articolo, Vediamo cos'è l'attribuzione del canale e come si relaziona al concetto di catene di Markov. Prenderemo anche un caso di studio di un'azienda di e-commerce per capire come funziona questo concetto, sia teoricamente che praticamente (usando R).

Sommario

  1. Che cos'è l'attribuzione del canale??
    • Catene di Markov
    • Effetto di eliminazione
  2. Caso di studio di un'azienda di e-commerce
  3. Implementazione in R

Che cos'è l'attribuzione del canale??

Google Analytics offre un insieme standard di regole per la modellazione dell'attribuzione. Secondo Google, "Un modello di attribuzione è la regola, o Insieme di regole, che determina il modo in cui il credito per le vendite e le conversioni viene allocato ai punti di contatto nei percorsi di conversione. Ad esempio, il modello Ultima interazione in Analytics assegna il metodo 100% Accredita i punti di contatto con i punti di contatto finali (vale a dire, Clic) che precedono immediatamente le vendite o le conversioni. al contrario, il modello First Interaction assegna il 100% Dal credito ai touchpoint che avviano percorsi di conversione “.

Esamineremo l'ultimo modello di interazione e il primo modello di interazione più avanti in questo articolo. Prima di ciò, Facciamo un piccolo esempio e capiamo un po' di più l'attribuzione del canale. Supponiamo di avere un diagramma di transizione come mostrato di seguito:

CA-5997237

Nello scenario di cui sopra, un cliente può iniziare il suo percorso attraverso il canale "C1"’ o il canale 'C2'. La probabilità di iniziare con C1 o C2 è 50% (oh 0.5) ogni. Calcoliamo prima la probabilità complessiva di conversione e poi andiamo oltre per vedere l'effetto di ciascuno dei canali.

P (conversione) = P (C1 -> C2 -> C3 -> Conversione) + P (C2 -> C3 -> Conversione)

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

Catene di Markov

Le catene di Markov sono un processo che mappa il movimento e fornisce una distribuzione di probabilità per spostarsi da uno stato all'altro. Una catena di Markov è definita da tre proprietà:

  • Area di stato – l'insieme di tutti gli Stati in cui il processo potrebbe potenzialmente esistere
  • Operatore di transizione –La probabilità di spostarsi da uno stato all'altro
  • Distribuzione di probabilità dello stato corrente – Distribuzione di probabilità di trovarsi in uno qualsiasi degli stati all'inizio del processo

Conosciamo le fasi che possiamo attraversare, la probabilità di spostarsi da ciascuna delle strade e conosciamo lo stato attuale. Sembra una catena di Markov, no?

Effetto di eliminazione

Questo è, infatti, Un'applicazione delle stringhe di Markov. Torneremo su questo argomento più avanti; Seguiamo il nostro esempio per ora. Se dovessimo scoprire qual è il contributo del canale 1 nel percorso del nostro cliente dall'inizio alla fine della conversione, Utilizzeremo il principio di Effetto di eliminazione. Il principio dell'effetto eliminazione dice che se vogliamo trovare il contributo di ogni canale nel percorso del cliente, A tale scopo, possiamo rimuovere ogni canale e vedere quante conversioni si verificano senza che quel canale sia presente.

Ad esempio, supponiamo di dover calcolare il contributo del canale C1. Rimuoveremo il canale C1 dal modello e vedremo quante conversioni si verificano senza C1 nell'immagine, vale a dire, Conversione completa quando tutti i canali sono intatti. Calcoliamo per il canale C1:

CA1-6850867

P (Conversione dopo l'eliminazione di C1) = P (C2 -> C3 -> Convertire)

= 0,5 * 1 * 0,6

= 0,3

Il 30% delle interazioni con i clienti può essere convertito senza che il canale C1 sia presente; mentre con C1 intatto, può essere convertito in 45% di interazioni. Quindi, l'effetto knockout di C1 è

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

L'effetto knockout di C2 e C3 è 1 (Puoi provare a calcolarlo, Ma pensa in modo intuitivo. Se dovessimo rimuovere C2 o C3, Potremmo completare una conversione??).

Questa è un'applicazione molto utile delle stringhe di Markov. Nel caso sopra, Tutti i canali – C1, C2 ·, C3 (in diverse fasi) – sono denominati Stati di transizione; mentre la probabilità di spostarsi da un canale all'altro si chiama Probabilità di transizione.

Il percorso del cliente, che è una sequenza di canali, può essere pensato come una stringa su un grafo di Markov diretto in cui ogni vertice è uno stato (canale / Punto di contatto), e ogni spigolo rappresenta la probabilità di transizione di passare da uno stato all'altro. Poiché la probabilità di raggiungere uno stato dipende solo dallo stato precedente, può essere pensato come una catena di Markov senza memoria.

Caso di studio di un'azienda di e-commerce

Prendiamo un caso di studio reale e vediamo come possiamo implementare il modello di attribuzione del canale.

Un'azienda di e-commerce ha condotto un sondaggio e ha raccolto dati dai propri clienti. Questa può essere considerata una popolazione rappresentativa. Nel sondaggio, L'azienda ha raccolto dati sui vari punti di contatto visitati dai clienti prima di acquistare definitivamente il prodotto sul proprio sito web.

Totale, ci sono 19 canali in cui i clienti possono trovare il prodotto o la pubblicità del prodotto. Dopo il 19 canali, Ci sono altri tre casi:

  • # 20 – Il cliente ha deciso quale dispositivo acquistare;
  • # 21 – il cliente ha effettuato l'acquisto finale e;
  • # 22 – Il cliente non ha ancora preso una decisione.

Le categorie generali di canali sono le seguenti:

Categoria Canale
Sito web (1,2,3) Sito web dell'azienda o sito web della concorrenza
Rapporti di ricerca (4,5,6,7,8) Rapporti di ricerca di consulenza di settore
in linea / Recensioni (2) (9,10) Ricerche organiche, forum
Comparazione prezzi (11) Aggregatori
Gli amici (12,13) Rete sociale
Esperto (14) Esperto online o offline
Negozi (15,16,17) Negozi fisici
Altri. (18,19) Altri, come campagne promozionali in più sedi.

Ora, Dobbiamo aiutare l'azienda di e-commerce a individuare la giusta strategia per investire nei canali di marketing. Su quali canali dovresti concentrarti?? In quali canali dovrebbe investire l'azienda?? Risolveremo questo problema usando R nella sezione successiva.

Implementazione con R

Andiamo avanti e proviamo l'implementazione in R e controlliamo i risultati. Puoi scaricare il set di dati qui E continuare ad andare avanti come noi.

#Install the libraries
install.packages("Attribuzione del canale")
install.packages("ggplot2")
install.packages("rimodellare")
install.packages("dplyr")
install.packages("compensatore")
install.packages("rimodellare2")
install.packages("Markovchain")
install.packages("trama")

#Load the libraries
library("Attribuzione del canale")
biblioteca("ggplot2")
biblioteca("rimodellare")
biblioteca("dplyr")
biblioteca("compensatore")
biblioteca("rimodellare2")
biblioteca("Markovchain")
biblioteca("trama")

#Leggere i dati in R
> canale = read.csv("Channel_attribution.csv", intestazione = T)
> testa(canale)

Produzione:

R05A.01 R05A.02 R05A.03 R05A.04 … .. Visualizzazione del materiale R05A.18 Visualizzazione del materiale R05A.19 Visualizzazione del materiale R05A.20
sedici 4 3 5 n / UN n / UN n / UN
2 1 9 10 n / UN n / UN n / UN
9 13 20 sedici n / UN n / UN n / UN
8 15 20 21 n / UN n / UN n / UN
sedici 9 13 20 n / UN n / UN n / UN
1 11 8 4 n / UN n / UN n / UN

Faremo un po' di elaborazione dei dati per arrivare a una fase in cui possiamo usarli come input nel modello. Dopo, Identificheremo quali percorsi del cliente sono andati alla conversione finale (nel nostro caso, Tutti i percorsi hanno raggiunto lo stato di conversione finale).

Creeremo un 'percorso'’ variabile en un formato específico que se puede alimentar como entrada al modelo. Cosa c'è di più, Scopriremo le occorrenze totali di ogni percorso utilizzando il pacchetto 'dplyr'.

> per(riga in 1:ora(canale))
{
  Se(21 %canale in%[riga,]){canale$converti[riga] = 1}
}
> colonna = colnames(canale)
> canale$percorso = do.call(impasto, C(canale[colonna], SEP = " > "))
> testa(canale$percorso)
[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"

> per(riga in 1:ora(canale))
{
  canale$percorso[riga] = strsplit(canale$percorso[riga], " > 21")[[1]][1]
}
> channel_fin = canale[,C(23,22)]
> channel_fin = ddply(channel_fin,~Sentiero,riassumere, conversione= somma(Convertire))
> testa(channel_fin)

Produzione:

sentiero conversione
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
> Dati = channel_fin
> testa(Dati)

Produzione:

sentiero conversione
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

Ora, creeremo un modello euristico e un modello di Markov, Combineremo i due e poi controlleremo i risultati finali.

> h <- heuristic_models(Dati, 'Percorso', 'Conversione', var_value="Conversione")
> h

Produzione:

Nome del canale first_touch_conversions … .. conversiones_touch_lineales 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
sedici 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(Dati, 'Percorso', 'Conversione', var_value="Conversione", ordine = 1)> m

Produzione:

Nome del canale conversión_total 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
sedici 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

Prima di andare avanti, Cerchiamo prima di capire cosa significano alcuni dei termini che abbiamo esaminato sopra.

Conversione al primo contatto: La conversione che avviene attraverso il canale quando quel canale è il primo punto di contatto per un cliente. Le 100% Accredito al primo punto di contatto.

Conversione dell'ultimo tocco: La conversione che avviene attraverso il canale quando quel canale è l'ultimo punto di contatto per un cliente. Le 100% accredito fino all'ultimo punto di contatto.

Conversione tattile lineare: Tutti i canali / I punti di contatto ricevono lo stesso credito in caso di conversione.

Torna al codice R, Uniamo i due modelli e rappresentiamo il risultato in un modo visivamente accattivante e più facile da capire.

# Unisce i due frame di dati nella cartella "channel_name" colonna.
R <- unire(h, m, by='channel_name')

# Select only relevant columns
R1 <- R[, (colnames(R) %in %c('channel_name', 'first_touch_conversions', 'last_touch_conversions', 'linear_touch_conversions', 'total_conversion'))]

# Transforms the dataset into a data frame that ggplot2 can use to plot the outcomes
R1 <- Fondere(R1, id='channel_name')
# Plot the total conversions
ggplot(R1, aes(channel_name, valore, fill = variabile)) +
  geom_bar(stat="identità", position='schiva') +
  ggtitle('CONVERSIONI TOTALI') +
  Tema(axis.title.x = element_text(vjust = -2)) +
  Tema(axis.title.y = element_text(vjust = +2)) +
  Tema(titolo = element_text(dimensione = 16)) +
  Tema(plot.title=element_text(dimensione = 20)) +
  ylab("")

conversioni-totali2-3926341

Lo scenario è chiaramente visibile nel grafico qui sopra. Dal punto di vista della conversione al primo tocco, Il Canale 10, Il Canale 13, Il Canale 2, Il Canale 4 e il canale 9 sono piuttosto importanti; mentre dal punto di vista dell'ultimo tocco, Il Canale 20 È la cosa più importante (nel nostro caso, Dovrebbe essere perché il cliente ha deciso quale prodotto acquistare). In termini di conversione lineare del tocco, Il Canale 20, Il Canale 4 e il canale 9 si stanno rivelando importanti. Dal punto di vista delle conversioni totali, I Canali 10, 13, 20, 4 e 9 sono piuttosto importanti.

Note finali

Nel grafico qui sopra, siamo stati in grado di capire quali sono i canali importanti su cui dobbiamo concentrarci e quali possono essere scartati o ignorati. Questo caso ci dà un'idea molto buona dell'applicazione dei modelli di catena di Markov nello spazio dell'analisi dei clienti. Le aziende di e-commerce possono ora creare con sicurezza la propria strategia di marketing e distribuire il budget di marketing utilizzando informazioni basate sui dati.

Biografia dell'autore:

Questo articolo è stato contribuito da Analisi percettiva. Chaitanya Sagar, Prudhvi Potuganti e Saneesh Veetil hanno sviluppato questo articolo.

Perceptive Analytics fornisce l'analisi dei dati, visualizzazione dati, Servizi di Business Intelligence e Reporting per i settori dell'e-commerce, Commercio al dettaglio, Sanità medica e farmaceutica. La nostra lista di clienti include società quotate in borsa Fortune 500 e NYSE negli Stati Uniti. UU. E l'India.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.