Categorias

Ele usou Python, Aprendizado de Máquina e Instagram para comer de graça em Nova York

Chris Buetti é engenheiro de dados da NBA. Chris Buetti também é o feliz proprietário de uma conta no Instagram com mais de 25 mil seguidores e tem todos os restaurantes da cidade de Nova York na palma da mão, através de uma intrincada e inteligente estrutura automatizada com Python e aprendizado de máquina.

Em uma era digital onde nem tudo é o que parece ser na internet e bots representam uma parcela significativa do tráfego e da produção de conteúdo online, Chris Buetti decidiu empregar seus talentos para descolar refeições gratuitas e descontos em uma das cidades mais caras do mundo. A partir do zero, ele fabricou uma identidade virtual, construiu um elevado nível de relevância dentro do Instagram e automatizou até mesmo o processo de solicitar “mimos”. Ele é o influenciador digital da nova era.

O truque é mais simples do que parece: usando exclusivamente algoritmos e mecanismos que rodam automaticamente, ele coleta imagens da cidade de Nova York publicadas na internet, classifica e seleciona, republica as melhores e faz marketing de crescimento no seu perfil. Essa estrutura funciona 24 horas por dia, sem intervenção humana, enquanto Chris vive sua vida normal.

O engenheiro de dados revelou sua estratégia de forma transparente em uma postagem no Medium, que funciona tanto como um tributo à inteligência humana e ao poder da programação, como também como um alerta para o nível de artificialidade que permeiam nossas redes sociais e nossa relação com a popularidade.

O Que Ele Fez?

Permita-me que o próprio Chris Buetti explique como funciona seu esquema (negrito por nossa conta):

Eu criei uma página no Instagram que mostrava fotos de paisagens de Nova York, pontos icônicos, arranha-céus elegantes – você escolhe. A página reuniu mais de 25.000 usuários na área de Nova York e ainda está crescendo rapidamente.

Eu entro em contato com restaurantes na área, seja por meio de mensagens ou e-mails diretos do Instagram, e ofereço postar uma resenha para meus seguidores em troca de uma entrada gratuita ou pelo menos de um desconto. Quase todos os restaurantes com quem falei voltaram para mim com uma refeição compensada ou um cartão de presente. A maioria dos lugares tem um orçamento de marketing alocado para esses tipos de coisas, então eles ficaram felizes em me oferecer uma experiência gastronômica gratuita em troca de uma possível promoção.

A beleza disso tudo é que eu automatizei tudo. E eu quero dizer 100% disso. Escrevi códigos que encontram essas fotos ou vídeos, fazem legendas, adicionam hashtags e créditos de onde a foto ou o vídeo vem, eliminam postagens ruins ou com spam, publico, seguem e deixam de seguir usuários, curtem fotos, monitoram minha caixa de entrada e, mais importante, direcionam tanto mensagens quanto e-mails  para restaurantes sobre uma promoção em potencial. Desde a sua criação, ainda não fiz login na conta. Eu gasto tempo zero nisso. É essencialmente um robô que opera como um ser humano, mas o espectador médio não consegue ver a diferença. E como programador, posso me sentar e admirar seu trabalho (e meu).

Caçando e Postando Conteúdo

O programador construiu um mecanismo preciso e eficiente. E a primeira engrenagem dessa máquina de gerar refeições gratuitas é o algoritmo de coleta de conteúdo. Porque nenhuma, absolutamente nenhuma das fotos publicadas em sua conta no Instagram foi tirada por Buetti. Nenhuma delas, na verdade, sequer foi escolhida manualmente. Ele nem mesmo olha para elas.

Ele utiliza um scraper para pegar imagens publicadas em outras contas no Instagram. Esse não é um método novo, nem mesmo incomum. Muitos sites de spam e até mesmo sites legítimos recorrem a processos automáticos para coletar conteúdo de outros sites. Buetti apenas refinou a arte.

Eu coletei uma lista de cinquenta outras contas do Instagram que postaram fotos de qualidade de NYC. Usando software de código aberto, eu configurei um scraper para fazer o download dessas mídias a partir dessas outras contas. Além do conteúdo real, coletei vários metadados junto com a imagem, como a legenda, o número de curtidas e a localização. Configurei o scraper para funcionar todas as madrugadas às 3:00 ou quando meu inventário estava vazio.

Um programador ruim, um oportunista de pouco talento ou um usuário amador de scrapers teria parado por aí. Mas Buetti foi além e desenvolveu regras minuciosas para selecionar automaticamente conteúdo válido, expurgando spam de sua própria conta, evitando determinadas palavras-chave, tomando cuidado para não republicar propaganda.

Ele também tomou um cuidado especial na análise de metadados para sempre tentar, na medida possível, dar os créditos originais da foto, seja da conta que publicou inicialmente, seja do próprio fotógrafo. Essa preocupação rendeu bons resultados, com muitos Instagramers agradecendo a menção, sem saber que todo o processo foi feito sem intervenção humana depois da programação inicial.

As legendas das fotos também são automatizadas, a partir de um banco de dados de opções genéricas como “Quem pode nomear este local?”, “Conte-nos o seu bar favorito em NYC nos comentários!” ou “Você não viveu até morrer em Nova York”. Com uma lista colossal que poderia ser aplicada a qualquer foto e usando randomicidade, seu truque passa imperceptível para a audiência. A mesma técnica foi utilizada para preencher o limite de 30 hashtags para cada foto, a partir de um banco com 100 opções diferentes.

Usando algoritmos de aprendizado de máquina, Buetti também estabeleceu critérios para avaliar a qualidade das fotos, não somente a relevância. Estudando as tags utilizadas, a relação entre seguidores e curtidas e vários outros fatores que seu sistema coletava além da foto, ele consegue antecipar quais imagens tem a maior probabilidade de agradar sua audiência e manter o nível de qualidade de suas postagens. Dada a abundância de material disponível e a intensidade de automação, seu perfil poderia ser bastante seleto e ainda assim ter material em volume suficiente para sustentar três postagens diárias.

No exemplo abaixo, podemos ver a foto coletada automaticamente, com uma legenda gerada randomicamente, com os créditos corretos extraídos da postagem original, trinta hashtags e os resultados: milhares de postagens e até mesmo agradecimentos do autor da foto.

Postando e Crescendo

Publicar constantemente é a receita certa para o sucesso de qualquer site ou rede social e o Instagram não seria diferente. Muito pelo contrário, estudos comprovam que assiduidade e quantidade são fatores importantes para os critérios de relevância da plataforma. Enquanto a maioria daqueles que almejam o estrelato dentro da rede social acabam falhando ou desistindo de manter a constância, seja por problemas de agenda ou perda de interesse, o mecanismo de Buetti nunca dorme, nunca falha e nunca cansa.

O engenheiro de dados configurou gratuitamente uma instância de EC2 da Amazon Web Services porque não queria confiar nem mesmo na estabilidade de sua máquina pessoal ou sua conectividade. Seu processo consome tão poucos recursos que se enquadra nos planos gratuitos da plataforma.

Usando um script em Python, ele seleciona aleatoriamente uma das imagens do seu banco, adiciona as informações necessárias e, através de uma API, publica a postagem propriamente dita. Um cron-job roda religiosamente todos os dias às 8:00 AM, 2:00 PM, e 7:30 PM, os horários de maior probabilidade de interação no Instagram.

Estabelecida essa estrutura de publicação, faltava ainda crescer a audiência. Infelizmente, na internet ou mesmo fora dela, não adianta apenas ter conteúdo de qualidade, se o público não conhece o seu trabalho. Para alavancar seu perfil no Instagram, ele precisava incrementar seu trabalho como social media. Entretanto, para manter a proposta inicial do projeto, isso também precisava ser automatizado.

O chamado marketing de crescimento é um conjunto de estratégias que tampouco foram inventadas por Buetti.

Se você usa o Instagram, tenho certeza de que você já fez parte disso antes de perceber ou não. Esse método é muito comum para contas que tentam aumentar seus seguidores. Um dia, você segue uma interessante página do Instagram no nicho de fitness e, no dia seguinte, está sendo seguido por um monte de fisiculturistas e modelos de fitness. Isso parece extremamente trivial, e é, mas é muito eficaz.

Ele poderia simplesmente ter comprado seguidores, uma prática proibida pela plataforma, mas que ainda acontece e sustenta todo um mercado negro de bots, contas fake e perfis furtados. Ele preferiu utilizar a boa e velha estratégia de interagir com usuários reais. Exceto que o processo era totalmente mecânico.

Na teoria, sua abordagem consiste em seguir contas relevantes, deixar comentários e curtidas em postagens relacionadas ao seu tópico e aguardar que os usuários cheguem e conheçam seu próprio perfil. Inicialmente, sua estratégia foi manual: escolheu a dedo as contas mais próximas e relevantes no segmento da cidade de Nova York. A partir dessas contas, analisou seus seguidores e os seguidores desses seguidores e começou a automação.

Diariamente, seus algoritmos selecionam 400 contas para serem seguidas. E diariamente outras 400 contas deixam de ser seguidas. Esse é um limite que Buetti acredita ser capaz de burlar os mecanismos de detecção de automação do próprio Instagram. Para otimizar o processo, o engenheiro de dados realizou um intrincado processo de aprendizado de máquina para reconhecer os melhores momentos para realizar essa operação e quais os tipos de perfis com a maior probabilidade de seguirem de volta e interagirem com seu perfil.

Segundo suas observações:

  • “Os curtidores e comentaristas eram menos propensos a me seguir do que os seguidores, mas eram mais propensos a se envolver comigo. Isso me diz que embora eles sejam menos abundantes em quantidade, eles são mais altos em qualidade.
  • Seguir as pessoas pela manhã resultou em uma taxa de retorno mais alta do que na noite.
  • É muito mais provável que as contas públicas me acompanhem do que as contas privadas.
  • As mulheres eram mais propensas a seguir minha conta baseada em NYC do que os homens.
  • Aqueles que estavam seguindo mais pessoas do que os que os seguiam (razão seguidora / seguidora> 1,0) eram mais propensos a me seguirem de volta.

Enquanto isso, ele buscava sempre manter um equilíbrio entre o volume de seguidores e o volume de pessoas que seu perfil seguia. Para o Instagram, uma conta que é muito seguida, mas segue um número bem menor de pessoas, provavelmente é relevante.

Comida Grátis!

Neste ponto, tinha um Instagram robótico autossustentável completo. Minha página de NYC, por conta própria, está encontrando conteúdo relevante, eliminando postagens de potencial ruim, gerando créditos e uma legenda e postando ao longo do dia. Além disso, das 7h às 22h, ela está aumentando sua presença, curtindo, seguindo e deixando de seguir automaticamente com uma audiência intrigada que foi redefinida por alguns algoritmos da ciência de dados. A melhor parte é que parece mais humano do que a maioria das contas no mesmo nicho.

Para o experimento ser completo, faltava a etapa final. Após seu perfil atingir 20K de seguidores, era necessário testar se esse capital social era mesmo capaz de se converter em brindes e refeições grátis na cidade de Nova York. Teria sua conta realmente se tornado um influenciador digital?

Até mesmo nessa fase, Buetti optou pela automação. Ele produziu o seguinte template para o envio de mensagens:

Olá {NOME DA CONTA}

Meu nome é Chris e eu tenha esta conta no Instagram! Temos mais de {FOLLOWER COUNT} seguidores na área da cidade de Nova York, e muitos deles comentam minhas postagens ou me enviam mensagens sobre os melhores restaurantes para comer, bares para visitar ou atrações para visitar.

Nós gostaríamos de fazer algum tipo de acordo com você para patrocinar seu estabelecimento. Nós postaríamos o seu lugar, o endereço, marcaríamos a sua página e recomendaríamos a todos que dessem uma olhada. Ele vai ficar para sempre, e você pode até mesmo escrever a legenda e fazer o post para enviar para mim, se quiser. Também publicaremos você em nossa história do Instagram com um link para o seu site. Em troca, gostaria de pedir uma experiência gratuita, um pequeno vale-presente, um desconto ou um cupom para o seu lugar.

Se você tiver algum interesse, envie-me uma mensagem ou envie-me um e-mail!

Obrigado!
Chris

Apenas duas variáveis para preencher na mensagem mais genérica possível, que poderia ser aplicada a praticamente qualquer estabelecimento comercial que o seu criador desejasse. Buetti optou por focar em restaurantes na área de Manhattan e produziu um novo scraper para identificar páginas comerciais no Instagram que se enquadrassem nesses parâmetros de busca.

Usando Python novamente, ele identifica os estabelecimentos comerciais e disparava mensagens diretas através da própria API do Instagram.

Se fosse possível identificar um endereço de email de contato na página do restaurante, ele também poderia disparar uma segunda mensagem, se a primeira não fosse respondida.

Um outro script era capaz de monitorar sua conta de Gmail para reconhecer respostas dos restaurantes. A partir desse ponto é que Chris Buetti finalmente interage diretamente com outro ser humano e assume manualmente as negociações.

Conclusão

Para o programador, o desafio era ver até onde era possível automatizar um processo que deveria ser puramente social e que muitos ainda acreditam ser humano. Ele espera “que isso ajude a inspirar alguma criatividade quando se trata de mídia social. Qualquer um pode usar esses métodos, sejam eles técnicos o suficiente para automatizar ou se precisarem fazer isso manualmente. O Instagram é uma ferramenta poderosa e pode ser usada para uma variedade de benefícios comerciais”.

Para todos nós, sua história é um entre tantos outros sinais de uma evolução digital que pode não ter rosto e ser bem menos social do que imaginamos.