Fechando a iFood Dev Week Com Chave de Ouro
Nos dias 1 e 2 da nossa Dev Week, demos os primeiros passos em uma jornada emocionante através do mundo de Python e Ciência de Dados. Focamos no poder da linguagem Python e suas bibliotecas para coletar, analisar e visualizar dados.
Dia 1: Conhecendo o Google Colab e Calculando o Net Promoter Score (NPS)
O Google Colab é uma poderosa ferramenta que combina a simplicidade do Google Drive com a força da programação Python. Em nosso primeiro dia, exploramos o Google Colab e utilizamos a biblioteca gdown para baixar um arquivo CSV contendo feedback dos usuários.
A estrela do dia foi a métrica Net Promoter Score (NPS). É uma ferramenta simples, mas poderosa, que nos ajuda a entender a satisfação do cliente. Implementamos três versões de um algoritmo para calcular o NPS: uma versão imperativa, uma versão funcional e uma versão orientada a objetos (POO).
A POO mostrou-se especialmente útil, pois nos permitiu criar uma abstração clara dos dados e comportamentos envolvidos no cálculo do NPS, preparando-nos para as futuras evoluções do projeto, que incluirão a análise de sentimentos por meio dos comentários. Veja como fizemos:
class Feedback:
def __init__(self, nota, comentario):
self.nota = nota
self.comentario = comentario
class AnalisadorFeedback:
def __init__(self, feedbacks):
self.feedbacks = feedbacks
def calcular_nps(self):
detratores = sum(1 for feedback in self.feedbacks if feedback.nota <= 6)
promotores = sum(1 for feedback in self.feedbacks if feedback.nota >= 9)
return (promotores - detratores) / len(self.feedbacks) * 100
feedbacks = dados.apply(lambda linha: Feedback(linha['nota'], linha['comentario']), axis=1)
analisador = AnalisadorFeedback(feedbacks)
nps = analisador.calcular_nps()
print(nps)
Dia 2: Desvendando o Poder dos Seus Dados com Python
No segundo dia, mergulhamos de cabeça na visualização de dados. Conectamos o Google Colab ao Google Drive e aplicamos as técnicas de ETL (Extração, Transformação e Carregamento) em nossos dados de NPS.
Em seguida, com a ajuda da biblioteca matplotlib, criamos um gráfico de barra horizontal para visualizar o NPS. Essa visualização nos permitiu ter uma ideia clara de como nossos clientes estão se sentindo em relação ao nosso produto.
# Definição das constantes que usaremos para visualizar o NPS
NPS_ZONAS = ['Crítico', 'Aperfeiçoamento', 'Qualidade', 'Excelência']
NPS_VALORES = [-100, 0, 50, 75, 100]
NPS_CORES = ['#FF595E', '#FFCA3A', '#8AC926', '#1982C4']
def criar_grafico_nps(nps):
fig, ax = plt.subplots(figsize=(10, 2))
for i, zona in enumerate(NPS_ZONAS):
ax.barh([0], width=NPS_VALORES[i+1]-NPS_VALORES[i], left=NPS_VALORES[i], color=NPS_CORES[i])
ax.barh([0], width=1, left=nps, color='black')
ax.set_yticks([])
ax.set_xlim(-100, 100)
ax.set_xticks(NPS_VALORES)
plt.text(nps, 0, f'{nps:.2f}', ha='center', va='center', color='white', bbox=dict(facecolor='black'))
patches = [mpatches.Patch(color=NPS_CORES[i], label=NPS_ZONAS[i]) for i in range(len(NPS_ZONAS))]
plt.legend(handles=patches, bbox_to_anchor=(1,1))
plt.title('Gráfico de NPS da iFood Dev Week')
plt.show()
criar_grafico_nps(nps)
Cada zona do gráfico representava um nível de satisfação diferente, do "Crítico" à "Excelência". Com isso, conseguimos ter um entendimento visual claro do nível de satisfação dos nossos clientes, conforme a imagem abaixo:
O Que Esperar do Dia 3: Decifrando Sentimentos com Inteligência Artificial (IA)
O terceiro e último dia da nossa Dev Week promete ser ainda mais emocionante. Vamos mergulhar na técnica de Processamento de Linguagem Natural (PLN) para analisar os sentimentos expressos nos comentários associados às notas de NPS.
Ao decifrar os sentimentos de nossos usuários, seremos capazes de obter insights mais profundos sobre o que eles pensam sobre nosso produto. Vamos utilizar a API do ChatGPT, a solução líder em PLN, para analisar e classificar os sentimentos de cada avaliação. Desta forma, teremos uma perspectiva qualitativa que complementa nossos dados quantitativos.
Não perca o terceiro dia da iFood Dev Week. Junto com a IA, vamos desvendar os sentimentos dos nossos usuários e descobrir o que eles realmente pensam sobre nosso produto. Até lá! Todas as implementações detalhadas estão disponíveis em nosso notebook do Google Colab, que contém todo o código do projeto desenvolvido nesta semana incrível