PROTÓTIPO DE AUTOMAÇÃO DE ANÁLISE DE DADOS EM PYTHON

PROTOTYPE OF DATA ANALYSIS AUTOMATION IN PYTHON

REGISTRO DOI: 10.5281/zenodo.10393723


Nicole Alves1
João Henrique Borges2
Fabiana Florian3


Resumo

Este artigo tem o objetivo de descrever o desenvolvimento de um protótipo de automação para análise de dados. Foi realizado um estudo em uma rádio localizada em Araraquara-SP. Foi utilizada a linguagem de programação Python. O protótipo de automação de análise de dados envolve uma espécie de “brincadeira” em que os ouvintes participantes votam em músicas via WhatsApp e um sorteio é realizado com base na música mais votada. O procedimento atual é manual e ineficiente, resultando em grande volume de mensagens em curto período de tempo. A hipótese deste trabalho é que a automação da análise dos dados permitirá o cadastro de um maior número de participantes com maior eficiência. Os resultados foram positivos comprovando a hipótese estudada nesse trabalho, trazendo maior eficiência e agilidade no processo da brincadeira.

Palavras-chave: Automação. Python. Análise. Dados. Sorteio. Eficiência.

Abstract

This article aims to describe the development of a prototype for data analysis automation. A literature review and a study were conducted at a radio station located in Araraquara-SP. The Python programming language was utilized for this purpose. The data analysis automation prototype involves a kind of “game” in which participating listeners vote for songs via WhatsApp, and a draw is conducted based on the most voted song. The current procedure is manual and inefficient, resulting in a high volume of messages in a short period. The hypothesis of this work is that automating data analysis will enable the registration of a greater number of participants more efficiently. The results were positive, confirming the hypothesis studied in this work, bringing greater efficiency and speed to the game process.

Key-words: Automation. Python. Data. Analysis. Prioritization. Efficiency.

1 INTRODUÇÃO

Nos últimos anos, o cenário de comunicação empresarial tem passado por mudanças profundas, à medida que tecnologias de mensagens instantâneas se tornaram uma parte essencial da interação entre empresas e clientes. O WhatsApp Business, uma versão voltada para empresas do aplicativo de mensagens amplamente popular, emergiu como uma ferramenta de comunicação revolucionária. A crescente adoção do WhatsApp Business pelas empresas reflete sua capacidade de oferecer uma comunicação direta e conveniente com os clientes em uma plataforma familiar.

A flexibilidade e versatilidade do WhatsApp Business tornam-no uma escolha preferida de diversas empresas; desde pequenas empresas locais até grandes corporações globais. As características que definem essa plataforma incluem perfis comerciais, respostas automáticas, mensagens em massa e a capacidade de categorizar conversas por meio de tags personalizadas.

A automação de interações no WhatsApp Business oferece grandes oportunidades para as empresas otimizarem seus processos, fornecerem respostas rápidas e personalizadas aos clientes e melhorarem a eficiência global do atendimento ao cliente. A possibilidade de categorizar as conversas usando tags personalizadas proporciona uma organização precisa e facilita o gerenciamento das interações com os clientes ganhando, assim, tempo e rendimento nos atendimentos.

No entanto, à medida que as empresas exploram as capacidades da automação e das tags no WhatsApp Business, surgem desafios complexos que abrangem áreas de ética, privacidade e eficácia. O objetivo deste trabalho é desenvolver uma automação na análise de dados em conversas do WhatsApp por meio da linguagem Python, para resolver um problema encontrado no cotidiano de uma rádio do Município de Araraquara-SP.

A rádio em estudo promove uma brincadeira em que são apresentadas três músicas para que os ouvintes votem na sua preferida e, após tocar todas as músicas é feito um sorteio dentre as pessoas que votaram na música mais votada. Hoje em dia esse sorteio não existe e o que acaba sendo feito é a escolha de alguém tendo como prioridade quem nunca ganhou ou ganhou menos vezes.

Foi observado um grande volume de mensagens enviadas pelo WhatsApp para um tempo curto. Neste sentido, a hipótese da pesquisa é automatizar o sorteio e a análise de priorização necessária.

Foi realizada pesquisa bibliográfica e um estudo em uma rádio localizada no município de Araraquara-SP de como seria a melhor forma de fazer essa automação sem ferir as leis de privacidade e buscando maior agilidade para o atendente que está recebendo as mensagens no WhastApp. Foi criado um protótipo de aplicativo em Python que analisa duas listas, sendo uma com os nomes dos ganhadores anteriores e outra com os nomes de quem gostaria de participar naquele momento. Foi possível fazer uma análise da quantidade de vezes que os participantes já ganharam a fim de priorizar e sortear algum outro participante que ainda não ganhou no sorteio ou que ganhou menos vezes.

2 REVISÃO BIBLIOGRÁFICA

Uma rádio de Araraquara faz uma brincadeira em que são apresentadas três músicas para os ouvintes, que devem votar pelo WhatsApp em uma e, a partir do resultado da mais votada, é feito um sorteio de todos que votaram na ganhadora priorizando quem ganhou menos vezes ou ainda não ganhou.

 2.1. Processo Atual do sorteio na rádio

Para todo esse processo, atualmente, é usado um sistema de cadastramento de ouvintes e de sorteio, mas pouco eficiente. O funcionamento dele é o seguinte: primeiro faz uma pesquisa no sistema atual de sorteio em funcionamento na rádio, chamado PULSAR, com base no nome do ouvinte se ele já possui cadastro, caso não tenha deve cadastrar imediatamente com nome completo, telefone, cidade e bairro. Caso tenha ou após cadastrar segue para a aba de pesquisa e é necessária buscar a música votada (podendo ter mais de uma vez aquela música, caso tenha sido cadastrada mais de uma vez, todas as versões ficam salvas) e, por fim, seguir para última aba que seria para selecionar o botão “música 1”, “música 2” ou “música 3”.

Esse processo acontece ouvinte por ouvinte e pode causar grande perda de tempo cadastrando o ouvinte naquele momento e confirmando a seleção da música buscada se está correta. Além de ser em um tempo curto para a quantidade de participantes.

Após o cadastro de todos, ou de quem foi possível naquele intervalo, abre a aba de sorteios, seleciona o sorteio da música mais votada.

Para saber qual a música vencedora deve ser anotada por fora do sistema ou buscar o relatório dado por ele em uma outra aba em que precisar preencher o dia e hora que deseja fazer essa busca.

2.2. Adaptação do processo do sorteio na rádio

Quando o sistema esteve fora do ar foi feito o processo de adaptação com o Excel. Foi criado três colunas, uma para cada música, e colocou o nome de cada ouvinte embaixo da música que ele votou. Com a tela dividida entre o Excel e o WhatsApp, há uma grande redução do tempo. A visualização da música ganhadora é instantânea, já que basta comparar o tamanho das colunas.  Porém deve usar a função “ALEATÓRIOENTRE” Excel e depois comparar com uma planilha de ganhadores se o sorteado está a mais de um mês sem ganhar, no mínimo. Tem a possibilidade de escolher o ganhador com base em saber qual ouvinte nunca ganhou ou está a mais tempo sem ganhar, o que é um problema.

2.3. Desafios Éticos e de Privacidade

Enquanto as automações de conversas no WhatsApp Business oferecem benefícios evidentes, elas também levantam questões éticas e de privacidade. A automação excessiva pode levar à perda da experiência humana no atendimento ao cliente, enquanto a categorização inadequada das conversas pode resultar em violações da privacidade dos usuários.

A coleta de dados pessoais dos clientes para automação também exige cuidadosa consideração das leis de privacidade e regulamentações, como a LEI GERAL DE PROTEÇÃO DE DADOS (LGPD). Deve -se equilibrar a busca pela eficiência com a proteção da privacidade do cliente e a conformidade regulatória.

2.4. Desenvolvimento de Automação em Python

As automações têm tomado conta dos processos mais manuais nos dias de hoje por questões de aumento da eficiência, diminuição de custos e de tempo e ganho na agilidade de processos. Com isso, foi elaborada uma pesquisa em cima de um processo em uma brincadeira que acontece na rádio em estudo.

A linguagem de programação Python oferece ferramentas poderosas para o gerenciamento de dados, incluindo a possibilidade de armazenar informações em bancos de dados, ou até em tabelas Excel, e a geração de relatórios personalizados. Essas capacidades são fundamentais para a análise posterior das interações automatizadas e para o aprimoramento contínuo das estratégias de comunicação.

3 METODOLOGIA

Uma rádio de Araraquara faz uma brincadeira em que são apresentadas três músicas para os ouvintes, que devem votar pelo WhatsApp em uma e, a partir do resultado da mais votada, é feito um sorteio de todos que votaram na ganhadora priorizando quem ganhou menos vezes ou ainda não ganhou.

 3.1. Processo Atual do sorteio na rádio

Para todo esse processo, atualmente, é usado um sistema de cadastramento de ouvintes e de sorteio, mas pouco eficiente. O funcionamento dele é o seguinte: primeiro faz uma pesquisa no sistema atual de sorteio em funcionamento na rádio, chamado PULSAR, com base no nome do ouvinte se ele já possui cadastro, caso não tenha deve cadastrar imediatamente com nome completo, telefone, cidade e bairro. Caso tenha ou após cadastrar segue para a aba de pesquisa e é necessária buscar a música votada (podendo ter mais de uma vez aquela música, caso tenha sido cadastrada mais de uma vez, todas as versões ficam salvas) e, por fim, seguir para última aba que seria para selecionar o botão “música 1”, “música 2” ou “música 3”.

Esse processo acontece ouvinte por ouvinte e pode causar grande perda de tempo cadastrando o ouvinte naquele momento e confirmando a seleção da música buscada se está correta. Além de ser em um tempo curto para a quantidade de participantes.

Após o cadastro de todos, ou de quem foi possível naquele intervalo, abre a aba de sorteios, seleciona o sorteio da música mais votada.

Para saber qual a música vencedora deve ser anotada por fora do sistema ou buscar o relatório dado por ele em uma outra aba em que precisar preencher o dia e hora que deseja fazer essa busca.

3.2. Adaptação do processo do sorteio na rádio

Quando o sistema esteve fora do ar foi feito o processo de adaptação com o Excel. Foi criado três colunas, uma para cada música, e colocou o nome de cada ouvinte embaixo da música que ele votou. Com a tela dividida entre o Excel e o WhatsApp, há uma grande redução do tempo. A visualização da música ganhadora é instantânea, já que basta comparar o tamanho das colunas.  Porém deve usar a função “ALEATÓRIOENTRE” Excel e depois comparar com uma planilha de ganhadores se o sorteado está a mais de um mês sem ganhar, no mínimo. Tem a possibilidade de escolher o ganhador com base em saber qual ouvinte nunca ganhou ou está a mais tempo sem ganhar, o que é um problema.

3.3. Automação do sorteio no Excel com a priorização.

Este código em Python implementa um processo de sorteio priorizado, considerando um conjunto de ganhadores anteriores e participantes de um sorteio. O objetivo é promover equidade no sorteio, privilegiando participantes que nunca foram ganhadores ou que tiveram menor presença nos sorteios anteriores. A seguir uma breve explicação detalhada do código:

a. Carregamento dos Ganhadores Anteriores:
Utiliza a biblioteca Pandas para carregar os dados da tabela de ganhadores anteriores a partir de um arquivo Excel.
O nome da coluna contendo os nomes dos ganhadores é definido pela variável nome_da_coluna_ganhadores.

b. Criação da Lista de Nomes dos Ganhadores Anteriores:
Forma uma lista, lista_nomes_ganhadores, com os nomes dos ganhadores obtidos do DataFrame.

c. Impressão da Lista de Ganhadores Anteriores:
Imprime a lista de nomes dos ganhadores anteriores para fins de verificação.

d. Carregamento da Lista de Participantes do Sorteio:
Carrega os dados da tabela de participantes do sorteio a partir de um arquivo Excel.
O nome da coluna contendo os nomes dos participantes é definido pela variável nome_da_coluna_participantes.

e. Criação da Lista de Nomes dos Participantes:
Forma uma lista, lista_nomes_participantes, com os nomes dos participantes do DataFrame.

f. Impressão da Lista de Participantes:
Imprime a lista de nomes dos participantes para fins de verificação.

g. Identificação de Quem Nunca Ganhou:
Cria a lista nunca_ganhou, contendo os nomes dos participantes que nunca foram ganhadores anteriores.

h. Inicialização do Dicionário de Contagens:
Inicializa um dicionário vazio, contagens_participantes, que será utilizado para rastrear as contagens de participação.

i. Atualização das Contagens com Base nos Ganhadores Anteriores:
Atualiza as contagens no dicionário com base nos nomes dos ganhadores anteriores.

j. Impressão das Contagens na Lista de Participantes:
Imprime as contagens de participação para cada nome na lista de participantes.

k. Sorteio Priorizado na Lista de Participantes:
Utiliza a função random.choices para realizar o sorteio priorizado.

A população do sorteio é composta pela lista de participantes que nunca ganharam (`nunca_ganhou`) e pelos nomes presentes no dicionário de contagens.

Os pesos são ajustados com base nas contagens de participação, garantindo uma priorização proporcional.

l.     Impressão do Ganhador do Sorteio Priorizado:

Imprime o nome do ganhador do sorteio priorizado na lista de participantes.

Este código proporciona uma estrutura modular e compreensível para realizar sorteios com critérios específicos, oferecendo uma ferramenta versátil para o cotidiano da rádio estudada.

Segue abaixo a listagem completa do código:

Figura 1: Planilha de Ganhadores Anteriores
Fonte: Autor

Figura 2: Planilha de participantes do sorteio atual
Fonte: Autor

4 RESULTADOS

No sistema usado atualmente, o cadastro do participante na brincadeira acontece em 3 etapas: busca do cadastro do ouvinte no sistema, busca da música votada pelo nome e seleção do número da música votada, podendo ser classificada em 1, 2 e 3.

As Figuras 3,4,5 apresentam o procedimento do cadastro do ouvinte na brincadeira:

Figura 3: Busca do cadastro do ouvinte participante no sistema
Fonte: Autor

Figura 4: Busca da música escolhida pelo ouvinte participante
Fonte: Autor

Figura 5: Seleção da opção de música escolhida
Fonte: Autor

Após esses procedimentos com todos os ouvintes participantes (Figuras 3,4,5), na aba superior “sorteios” é selecionado qual das opções das músicas disponíveis (1, 2 ou 3) foi a mais votada.

Com o protótipo, o procedimento foi reduzido para uma única etapa: adição do nome do participante na planilha “lista_de_pessoas” (Figura 6) na coluna correspondente à música escolhida.

Figura 6: Lista de ouvintes participantes
Fonte: Autor

Dessa forma, só é necessário alterar o nome da coluna que deve ser realizado o sorteio no código, que será realizado de acordo com a música vencedora

5 CONCLUSÃO

A automação do processo de sorteio na rádio representou uma otimização eficiente e ética, respeitando a privacidade dos participantes. O código Python desenvolvido permitiu a implementação de critérios de priorização baseados em ganhadores anteriores, simplificando o processo operacional e proporcionando uma distribuição mais equitativa de oportunidades. A redução significativa de tempo e esforço demonstrou a viabilidade e eficácia da automação

REFERÊNCIAS

ALVES, Amanda Oliveira. Uso de Chatbots para Apoio ao Atendimento de Clientes no Aplicativo Telegram. Instituto de Ciências Exatas, Departamento de Ciência da Computação, 21 de maio de 2021. Disponível em: https://bdm.unb.br/bitstream/10483/31229/1/2021_AmandaOliveiraAlves_tcc.pdf. Acesso em: 17/09/2023.

Guia de Boas Práticas para Adequação à Lei Geral de Proteção de Dados (LGPD). Disponível em: https://www.gov.br/governodigital/pt-br/seguranca-e-protecao-de-dados/guias/guia_lgpd.pdf. Acesso em: 17/09/2023.

MURTARELLI, Grazia; GREGORY, Anne; ROMENTI, Stefania. Uma perspectiva baseada em conversação para moldar interações éticas entre humanos e máquinas: o desafio específico dos chatbots. Science Direct, 11 de abril de 2021. Disponível em: https://www.sciencedirect.com/science/article/abs/pii/S0148296320305944. Acesso em: 17/09/2023.

PULSAR MULTIMÍDIA. Disponível em: https://www.pulsarmultimedia.com.br/. Acesso em: 24/11/2023.

PYTHON SOFTWARE FOUNDATION. Python 3.10.7 Documentation. Disponível em: https://docs.python.org/3/. Acesso em: 17/09/2023.

UNIVERSIDADE MACKENZIE. O que é Ética no Mundo Digital e por que é importante? Blog da Universidade Mackenzie. Disponível em: https://blog.mackenzie.br/mercado-carreira/mercado-de-trabalho/nocoes-de-etica-no-mundo-digital-2/#:~:text=%C3%89tica%20%C3%A9%20um%20conjunto%20de,legisla%C3%A7%C3%B5es%20a%20respeito%20do%20assunto. Acesso em: 17/09/2023.

WHATSAPP BUSINESS. Disponível em: https://business.whatsapp.com/products/business-platform. Acesso em: 17/09/2023.


Nicole Alves – Graduanda em Engenharia de Computação na Universidade de Araraquara-UNIARA, Araraquara-SP.1
João Henrique Borges – Docente do Curso de Engenharia da Computação e de Sistemas de Informação da Uniara.2
Fabiana Florian – Economista e Bacharel em Direito, Docente do Curso de Engenharia da Computação e de Sistemas de Informação da Uniara.3