O que é atribuição de canal? Modelagem de atribuição de canal

Conteúdo

Introdução

Em uma típica jornada do cliente de “pensar para comprar”, um cliente passa por vários pontos de contato antes de se concentrar no produto final para comprar. Isso é ainda mais proeminente no caso de vendas de e-commerce.. É relativamente mais fácil rastrear quais são os diferentes pontos de contato que o cliente encontrou antes de fazer a compra final..

atribuição-colby-1200-800x450-6060540

Fonte: MarTech hoje

UMA medir que el marketing se mueve cada vez más hacia el lado de las cosas impulsado por el consumidor, Identificar os canais certos para os clientes-alvo tornou-se fundamental para as empresas. Isso ajuda as empresas a otimizar seus gastos com marketing e segmentar os clientes certos nos lugares certos..

A maioria das vezes, as empresas costumam investir no último canal que os clientes encontram antes de fazer a compra final. Porém, isso pode nem sempre ser a abordagem certa. Existem vários canais que precedem esse canal que eventualmente impulsionam a conversão do cliente.. O conceito subjacente para estudar este comportamento é conhecido como “modelo de atribuição multicanal”.

Neste artigo, discutimos o que é atribuição de canal e como ela se relaciona com o conceito de cadeias de Markov. Também faremos um estudo de caso de uma empresa de e-commerce para entender como funciona esse conceito., tanto teoricamente quanto praticamente (usando R).

Tabela de conteúdo

  1. O que é atribuição de canal?
    • Cadeias de Markov
    • efeito de remoção
  2. Estudo de caso de uma empresa de comércio eletrônico
  3. Implementação em R

O que é atribuição de canal?

O Google Analytics oferece um conjunto padrão de regras para modelagem de atribuição.. De acordo com o Google, “Um modelo de atribuição é a regra, ou conjunto de regras, que determina como o crédito para vendas e conversões é atribuído aos pontos de contato nos caminhos de conversão. Por exemplo, o modelo Última interação no Analytics atribui o 100% crédito aos pontos de contacto finais (quer dizer, os cliques) que precedem imediatamente as vendas ou conversões. Pelo contrário, o modelo de Primeira Interação atribui o 100% crédito para pontos de contato que iniciam caminhos de conversão “.

Veremos o último modelo de interação e o primeiro modelo de interação posteriormente neste artigo.. Antes disso, Vamos dar um pequeno exemplo e entender um pouco mais a atribuição de canal. Digamos que temos um diagrama de transição como mostrado abaixo:

ca-5997237

No cenário acima, um cliente pode iniciar sua jornada pelo canal 'C1’ ou canal 'C2'. A probabilidade de começar com C1 ou C2 é 50% (o 0.5) as fórmulas que geram os conceitos de negócios a partir dos dados brutos. Vamos primeiro calcular a probabilidade geral de conversão e depois ir mais longe para ver o efeito de cada um dos canais.

P (conversão) = P (C1 -> C2 -> C3 -> Conversão) + P (C2 -> C3 -> Conversão)

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

Cadeias de Markov

As cadeias de Markov são um processo que mapeia o movimento e fornece uma distribuição de probabilidade para passar de um estado para outro.. Uma cadeia de Markov é definida por três propriedades:

  • Espaço de Estados – conjunto de todos os estados em que o processo poderia existir potencialmente
  • operador de transição –A probabilidade de passar de um estado para outro
  • Distribuição de probabilidade do estado atual – distribuição de probabilidade de estar em qualquer um dos estados no início do processo

Conhecemos as fases pelas quais podemos passar, a probabilidade de se mover de cada um dos caminhos e sabemos o estado atual. Isso parece cadeias de Markov, não?

efeito de remoção

Esta é, de fato, uma aplicação de cadeias de Markov. Voltaremos a isso mais tarde; vamos seguir nosso exemplo por enquanto. Se descobrirmos qual é a contribuição do canal 1 na jornada do nosso cliente do início ao fim da conversão, Usaremos o princípio de efeito de remoção. O princípio do efeito de eliminação diz que se quisermos encontrar a contribuição de cada canal na jornada do cliente, podemos fazer isso removendo cada canal e ver quantas conversões estão acontecendo sem que esse canal esteja em vigor.

Por exemplo, suponha que temos que calcular a contribuição do canal C1. Vamos remover o canal C1 do modelo e ver quantas conversões estão acontecendo sem C1 na imagem, quer dizer, conversão total quando todos os canais estão intactos. Vamos calcular para o canal C1:

ca1-6850867

P (Conversão após remover C1) = P (C2 -> C3 -> Transformar-se em)

= 0,5 * 1 * 0,6

= 0,3

o 30% das interações com o cliente podem ser convertidas sem que o canal C1 esteja em vigor; enquanto com C1 intacto, pode ser convertido em 45% de interações. Então, o efeito de remoção de C1 é

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

O efeito de remoção de C2 e C3 é 1 (você pode tentar calcular, mas pense intuitivamente. Eliminamos C2 ou C3, poderíamos concluir alguma conversão?).

Esta é uma aplicação muito útil das cadeias de Markov.. No caso acima, todos os canais – C1, C2, C3 (em diferentes estágios) – são chamados estados de transição; enquanto a probabilidade de passar de um canal para outro é chamada probabilidade de transição.

A jornada do cliente, o que é uma sequência de canais, pode ser pensado como uma cadeia em um grafo de Markov dirigido onde cada vértice é um estado (canal / Ponto de contacto), e cada aresta representa a probabilidade de transição de um estado para outro. Como a probabilidade de atingir um estado depende apenas do estado anterior, pode ser pensado como uma cadeia de Markov sem memória.

Estudo de caso de uma empresa de comércio eletrônico

Vamos fazer um estudo de caso real e ver como podemos implementar o modelo de atribuição de canal.

Uma empresa de comércio eletrônico realizou uma pesquisa e coletou dados de seus clientes. Esta pode ser considerada como uma população representativa.. Na pesquisa, a empresa coletou dados sobre os vários pontos de contato que os clientes visitam antes de comprar o produto em seu site.

No total, existem 19 canais onde os clientes podem encontrar o produto ou publicidade do produto. Depois de 19 canais, há mais três casos:

  • # 20 – o cliente decidiu qual dispositivo comprar;
  • # 21 – o cliente fez a compra final e;
  • # 22 – o cliente ainda não decidiu.

As categorias gerais de canais são as seguintes:

Categoria Canal
Site web (1,2,3) Site da empresa ou site do concorrente
relatórios de investigação (4,5,6,7,8) Relatórios de pesquisa consultiva da indústria
Conectados / Avaliações (9,10) buscas orgânicas, fóruns
comparação de preços (11) Agregadores
Amigos (12,13) Vermelho social
Especialista (14) Especialista online ou offline
Lojas (15,16,17) lojas físicas
Diversos. (18,19) Outros, como campañas promocionales en varias ubicaciones.

Agora, necesitamos ayudar a la empresa de comercio electrónico a identificar la estrategia adecuada para invertir en canales de marketing. ¿En qué canales debería centrarse? ¿En qué canales debería invertir la empresa? Resolveremos esto usando R en la siguiente sección.

Implementación usando R

Sigamos adelante e intentemos la implementación en R y verifiquemos los resultados. Você pode baixar o conjunto de dados aqui y seguir a medida que avanzamos.

#Install the libraries
install.packages("ChannelAttribution")
install.packages("ggplot2")
install.packages("remodelar")
install.packages("dplyr")
install.packages("plyr |")
install.packages("remodelar2")
install.packages("markovchain")
install.packages("conspirar")

#Load the libraries
library("ChannelAttribution")
biblioteca("ggplot2")
biblioteca("remodelar")
biblioteca("dplyr")
biblioteca("plyr |")
biblioteca("remodelar2")
biblioteca("markovchain")
biblioteca("conspirar")

#Read the data into R
> channel = read.csv("Channel_attribution.csv", cabeçalho = T)
> cabeça(channel)

Produção:

R05A.01 R05A.02 R05A.03 R05A.04 … .. R05A.18 R05A.19 R05A.20
dezesseis 4 3 5 N / UMA N / UMA N / UMA
2 1 9 10 N / UMA N / UMA N / UMA
9 13 20 dezesseis N / UMA N / UMA N / UMA
8 15 20 21 N / UMA N / UMA N / UMA
dezesseis 9 13 20 N / UMA N / UMA N / UMA
1 11 8 4 N / UMA N / UMA N / UMA

Haremos un poco de procesamiento de datos para llevarlos a una etapa en la que podamos usarlos como entrada en el modelo. Mais tarde, identificaremos quais jornadas do cliente passaram para a conversão final (no nosso caso, todas as travessias atingiram o estado de conversão final).

Vamos criar uma 'rota’ variável en un formato específico que se puede alimentar como entrada al modelo. O que mais, vamos descobrir o total de ocorrências de cada rota usando o pacote 'dplyr'.

> para(enfileirar 1:agora(channel))
{
  E se(21 %em% canal[fileira,]){canal$converter[fileira] = 1}
}
> coluna = nomes das colunas(channel)
> canal$caminho = do.call(colar, c(channel[coluna], set = " > "))
> cabeça(canal$caminho)
[1] "16 > 4 > 3 > 5 > 10 > 8 > 6 > 8 > 13 > 20 > 21 > N / D > N / D > N / D > N / D > N / D > N / D > N / D > N / D > N / D > N / D > 1"     

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

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

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

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

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

> para(enfileirar 1:agora(channel))
{
  canal$caminho[fileira] = strsplit(canal$caminho[fileira], " > 21")[[1]][1]
}
> canal_fin = canal[,c(23,22)]
> channel_fin = ddply(fin_canal,~caminho,resumir, conversão= soma(converter))
> cabeça(fin_canal)

Produção:

caminho conversão
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
> Dados = channel_fin
> cabeça(Dados)

Produção:

caminho conversão
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

Agora, vamos criar um modelo heurístico e um modelo de Markov, vamos combinar os dois e depois verificar os resultados finais.

> H <- heuristic_models(Dados, 'caminho', 'conversão', valor_var ="conversão")
> H

Produção:

nome do canal 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
dezesseis 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(Dados, 'caminho', 'conversão', valor_var ="conversão", ordem = 1)> M

Produção:

nome do canal total_conversion valor_conversão_total
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
dezesseis 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

Antes de seguir em frente, Vamos primeiro entender o que significam alguns dos termos que vimos acima..

Conversão de primeiro toque: A conversão que ocorre em todo o canal quando esse canal é o primeiro ponto de contato para um cliente. é concedido o 100% crédito ao primeiro contato.

Conversão de último toque: A conversão que ocorre em todo o canal quando esse canal é o último ponto de contato para um cliente. é concedido o 100% crédito ao último ponto de contato.

Conversão de toque linear: Todos os canais / pontos de contato recebem o mesmo crédito na conversão.

Voltando ao código R, fusionemos los dos modelos y representemos el resultado de una manera visualmente atractiva que sea más fácil de entender.

# Merges the two data frames on the "channel_name" coluna.
R <- fundir(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 <- Derreter(R1, id='channel_name')
# Plot the total conversions
ggplot(R1, aes(channel_name, valor, fill = variable)) +
  geom_bar(stat="identidade", position='dodge') +
  ggtitle('TOTAL CONVERSIONS') +
  tema(axis.title.x = element_text(vjust = -2)) +
  tema(axis.title.y = element_text(vjust = +2)) +
  tema(title = element_text(tamanho = 16)) +
  tema(plot.title=element_text(tamanho = 20)) +
  ylab("")

total-conversions2-3926341

El escenario es claramente visible en el gráfico anterior. Desde la perspectiva de la primera conversión táctil, el canal 10, el canal 13, el canal 2, el canal 4 y el canal 9 são bastante importantes; enquanto da perspectiva do último toque, el canal 20 é o mais importante (no nosso caso, deve ser porque o cliente decidiu qual produto comprar). Em termos de conversão de toque linear, el canal 20, el canal 4 y el canal 9 estão se mostrando importantes. Do ponto de vista do total de conversões, os canais 10, 13, 20, 4 e 9 são bastante importantes.

Notas finais

No gráfico acima conseguimos descobrir quais são os canais importantes que devemos focar e quais podem ser descartados ou ignorados.. Este caso nos dá uma ideia muito boa da aplicação dos modelos de cadeia de Markov no espaço de análise do cliente.. As empresas de comércio eletrônico agora podem criar com confiança sua estratégia de marketing e alocar seu orçamento de marketing usando insights orientados por dados.

biografia do autor:

Este artigo foi contribuído por análise perceptiva. Chaitanya Sagar, Prudhvi Potuganti y Saneesh Veetil desarrollaron esteculo.

Perceptive Analytics fornece análise de dados, Visualização de dados, serviços de inteligência de negócios e relatórios para indústrias de comércio eletrônico, Venda a retalho, assistência médica e farmacêutica. Nossa lista de clientes inclui empresas listadas na Fortune 500 e NYSE nos EUA. UU. E Índia.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.