Como Identificar Clientes no Twitter Usando Data Mining

Marketing digital é uma área que tem crescido bastante, principalmente com a chegada das redes sociais. Uma das grandes questões da área é: como tornar os usuários destas redes em clientes? Uma das estratégias de maior sucesso é interagir com usuários interessados em comprar seus produtos ou usar seus serviços.

Neste artigo vou mostrar como utilizei técnicas de mineração de dados, num projeto pessoal, para identificar clientes em potencial para uma loja americana de sapatos femininos.

Procurar tweets com uma hashtag específica e relevante

Existe uma forma simples de filtrar tweets, que é buscando por uma hashtag específica. Neste caso, a primeira hashtag testada foi #shoes. O raciocínio foi o seguinte: pessoas interessadas em sapatos postam tweets com esta tag, portanto interagir com elas pode ser uma forma de apresentar a loja. Neste mesmo raciocínio, testei a hashtag #fashion.

O único problema é que, apesar de realmente ser utilizada por consumidoras de sapatos, estas hashtags são utilizadas mais ainda por lojas que postam sobre seus produtos. O número de novos seguidores por dia obtidos usando estas hashtags foi satisfatório, mas a qualidade deles não era a desejada, pois eles estavam mais interessados em vender sapatos do que comprar.

Outra hashtag testada foi a #highheels, com o raciocínio que mulheres interessadas em sapatos de salto alto postam tweets com a mesma. E esta foi surpreendente, pois eu descobri que ela é utilizada por homens que possuem fetiches sobre sapatos femininos, e uma minoria de mulheres que trabalham nesta área para divulgar suas fotos. Ou seja, também não atingia de forma satisfatória o público desejado.

Usando ferramentas mais avançadas do que “especulação”

Com os resultados acima, decidi então que era hora de usar técnicas mais avançadas para descobrir se havia uma maneira de “filtrar” os tweets e encontrar os clientes.

Mineração de dados (Data Mining)

Existem várias definições sobre mineração de dados, até por ser uma área relativamente nova. Mas, em geral, é um conjunto de técnicas e procedimentos para se explorar bancos de dados em busca de padrões e informações. Isso pode envolver desde técnicas simples como fazer a média diária de faturamento de uma empresa, para ver quais são os dias em que vale mais a pena fazer promoções, até técnicas mais avançadas de reconhecimento de padrões, agrupamento de clientes, e previsão de resultados.

Agrupando tweets

O próximo passo na busca por uma forma melhor de encontrar o público alvo no Twitter foi coletar milhões de tweets que continham a hashtag #shoes. Minha intenção era descobrir se existia algum grupo especial de palavras que diferenciava tweets de consumidores e de lojas, para melhorar o filtro dos favoritos.

Aquisição e Processamento dos Tweets

O primeiro passo foi utilizar a API do Twitter usando Python. O único dado utilizado foi o conteúdo do tweet. O segundo passo foi remover palavras que apareciam em poucos tweets, as stopwords (palavras frequentes, mas sem valor preditivo como “the”, “and”), e fazer o stemming (remover a conjugação de algumas palavras, como por exemplo, “loving” to “lov”). Feito isso, os dados foram transformados numa matriz na qual cada linha era um tweet, e cada coluna uma palavra. Se a palavra estava presente, ela tinha o valor 1, caso não, 0.

Clustering

Após coletar e processar os tweets, fiz o agrupamento (clustering) utilizando K-Means. Esta foi a técnica que demonstrou melhores resultados tanto em relação à performance, quanto em relação à divisão dos clusters.

K-Means é um algoritmo simples para encontrar clusters nos dados. Ele é iniciado com clusters aleatórios.  A partir daí começa um processo iterativo:

1. Determina a qual cluster um exemplo específico (no caso, tweet) deve pertencer calculando a distância entre os exemplos e os clusters.

2. Faz a média dos exemplos atribuídos a um determinado cluster para determinar sua nova posição.

É importante fazer um bom pré processamento antes de usar este algoritmo, pois ele não funciona muito bem quando os dados incluem muitas dimensões. Outra recomendação é rodá-lo mais de uma vez, pois a natureza aleatória dos clusters iniciais pode mudar o resultado.

As descobertas

Dentre os grupos de tweets, encontrei alguns que citavam marcas, outros que usavam outras hashtags, mas um deles possuía tweets com as palavras “new” e “shoes”. Resolvi explorar mais profundamente este grupo, e descobri que existem usuários que postam tweets dizendo que precisam de sapatos novos, ou acabaram de comprar os sapatos.

Ainda assim muitas lojas usavam estas palavras para anunciar seus produtos, então decidi filtrar mais ainda. Desta vez encontrei uma terceira palavra: “love”.

Quando resolvi investigar os tweets que possuíam as palavras “love”, “new”, e “shoes” (sem #), notei que a maioria era de usuários que estavam postando fotos, ou simplesmente avisando os amigos, que estavam “adorando seus sapatos novos”.

Isso significa que encontramos uma forma de identificar consumidores de sapatos através dos tweets postados por eles. Ainda assim havia uma minoria de tweets enviados por lojas, mas a maioria era fácil de identificar, pois era spam de várias contas similares.

Se você entrar no Twitter agora e digitar essas três palavras (“love new shoes”) na busca, verá que a maioria dos tweets pertence a usuários consumidores de sapatos, que fazem parte do público desejado pela loja.

Melhorias futuras

O número de seguidores do perfil da loja cresceu, e com ele os retweets e cliques em produtos anunciados, mas ainda há mais a ser feito, como uma segmentação mais profunda, baseada na localização. Mesmo assim, relativa à situação inicial, agora temos uma filtragem muito melhor de tweets, e a loja está alcançando um público com um potencial de compra maior do que simplesmente usando hashtags gerais.

  1. Mauricio Dantas

    Bom dia, Mario. Estou acompanhando seu trabalho desde que o conheci na palestra da Udacity e confesso que o admiro muito. Parabéns!
    Imagino que sua agenda esteja sempre cheia, mas seria possível fazer um post sobre como usar a API do twitter? Acho que é um conhecimento bacana esse de aprender a fazer requests em APIs e um pouco mais difícil de encontrar do que os clássicos algoritmos de Machine Learning.
    Faço esse pedido pois estou tentando puxar dados da API da Riot Games (criadora do League of Legends) e é uma barreira inicial bem complicada.

    Abraços.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *