A Analise de Dados parece complicada, mas não precisa ser
Hoje vou mostrar como gestores de negócios podem aproveitar o poder do Python para analise de dados, mesmo sem saber programar. Vamos usar a inteligência artificial para nos ajudar nesse processo.
A ideia aqui é te mostrar como uma empresa pode analisar a performance de suas vendas, por meio de técnicas relativamente avançadas, em menos de 10 minutos. Vou te guiar em um passo a passo bem simples e detalhado.
Minha intenção de desmistificar questões complexas, colocando-as em linguagem simples, e te estimulando por meio de casos práticos, reais e com ferramentas excelentes e gratuitas.
Passo 1: Preparação dos Dados
Para mergulharmos em qualquer analise de dados, é crucial ter nossos dados bem organizados. Eu tenho aqui uma planilha com dados de vendas e vamos seguir algumas práticas recomendadas.
Escolha do Software:
Você pode usar o Microsoft Excel ou o Google Sheets. Hoje, usarei o Google Sheets pela sua acessibilidade e facilidade de colaboração.
Estrutura da Planilha:
Começaremos com uma linha de cabeçalho clara. Por exemplo: Data, Produto, Região, Vendas, Custos.
Evitaremos espaços nos nomes das colunas, usando "PrecoUnitario" em vez de "Preço Unitário".
Tipos de Dados:
Manteremos a consistência em cada coluna. Datas serão no formato AAAA-MM-DD, e números usarão ponto como separador decimal.
Dados Ausentes:
Se houver dados faltantes, deixaremos as células vazias em vez de usar marcadores como "N/A".
Formatação:
Manteremos a formatação simples, sem cores ou estilos elaborados.
Salvando como CSV:
Após preencher os dados, salve a planilha como CSV. No Google Sheets, vá em Arquivo > Baixar > Valores separados por vírgula (.csv).
Verificação:
Abra o arquivo CSV em um editor de texto para garantir que está formatado corretamente.
Nomenclatura de Arquivos:
Nomeie o arquivo de forma descritiva: "vendas_farmaceuticas.csv".
Backup:
Antes de converter para CSV, faça uma cópia da planilha original.
Considerações de Privacidade:
Lembrem-se de remover ou anonimizar dados sensíveis antes de compartilhar.
Tamanho do Arquivo:
Para este exemplo, usaremos um conjunto de dados relativamente pequeno. Para análises mais complexas, podem ser necessárias ferramentas mais avançadas.
Consistência:
Se você atualizar esses dados regularmente, mantenha a mesma estrutura para facilitar comparações ao longo do tempo.
Passo 2: Utilizando IA para Criar o Código Python
Agora que temos nossos dados preparados, vamos usar um modelo de IA para nos ajudar a criar o código Python para analise dos dados. Usarei o Claude, mas você pode usar qualquer assistente de IA de sua preferência, como o ChatGPT.
Aqui está o prompt que usaremos:
Crie um script Python para analisar um arquivo CSV chamado 'vendas_farmaceuticas.csv' com as colunas: Data, Produto, Região, Vendas e Custos. O script deve:
Carregar os dados
Calcular o total de vendas e custos
Identificar o produto mais vendido
Mostrar as vendas por região
Calcular o lucro (vendas - custos) ao longo do tempo
Criar visualizações para esses dados
Use pandas para manipulação de dados e matplotlib ou seaborn para visualizações.
Passo 3: Configurando o Google Colab
Com nosso código gerado pela IA, vamos usar o Google Colab para executá-lo:
Abra o navegador e vá para colab.research.google.com
Crie um novo notebook
Cole o código gerado pela IA no primeiro bloco de código
Passo 4: Fazendo Upload do Arquivo CSV
Antes de executar o código, faremos o upload do nosso arquivo CSV:
Clique no ícone de pasta no painel esquerdo
Clique em "Fazer upload para o armazenamento da sessão"
Selecione o arquivo "vendas_farmaceuticas.csv"
Passo 5: Executando a Análise
Agora estamos prontos para executar nossa análise:
Verifique se o caminho do arquivo no código corresponde ao nome do arquivo que você fez upload
Clique no botão de play ao lado do bloco de código ou use o atalho Shift+Enter
Código (gerado e/ou corrigido por IA)
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime
# Carregando os dados
df = pd.read_csv('vendas_farmaceuticas.csv')
# Convertendo a coluna 'Data' para o tipo datetime
df['Data'] = pd.to_datetime(df['Data'])
# Convertendo as colunas de preço e custo para float
df['Preço Unitário'] = df['Preço Unitário'].str.replace(',', '.').astype(float)
df['Custo Unitário'] = df['Custo Unitário'].str.replace(',', '.').astype(float)
# Calculando o lucro
df['Lucro'] = (df['Preço Unitário'] - df['Custo Unitário']) * df['Unidades Vendidas']
# 1. Visão geral dos dados
print(df.describe())
# 2. Top 10 produtos mais vendidos
top_produtos = df.groupby('Produto')['Unidades Vendidas'].sum().sort_values(ascending=False).head(10)
plt.figure(figsize=(12, 6))
top_produtos.plot(kind='bar')
plt.title('Top 10 Produtos Mais Vendidos')
plt.xlabel('Produto')
plt.ylabel('Unidades Vendidas')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()
# 3. Vendas por região
vendas_por_regiao = df.groupby('Região')['Lucro'].sum().sort_values(ascending=False)
plt.figure(figsize=(10, 6))
vendas_por_regiao.plot(kind='pie', autopct='%1.1f%%')
plt.title('Distribuição de Lucro por Região')
plt.ylabel('')
plt.show()
# 4. Tendência de vendas ao longo do tempo
df_diario = df.groupby('Data')['Lucro'].sum().reset_index()
plt.figure(figsize=(12, 6))
plt.plot(df_diario['Data'], df_diario['Lucro'])
plt.title('Tendência de Lucro Diário')
plt.xlabel('Data')
plt.ylabel('Lucro')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
# 5. Performance por categoria de produto
categoria_performance = df.groupby('Categoria')[['Unidades Vendidas', 'Lucro']].sum().sort_values('Lucro', ascending=False)
plt.figure(figsize=(12, 6))
sns.scatterplot(data=categoria_performance, x='Unidades Vendidas', y='Lucro', s=100)
for i, txt in enumerate(categoria_performance.index):
plt.annotate(txt, (categoria_performance['Unidades Vendidas'].iloc[i], categoria_performance['Lucro'].iloc[i]))
plt.title('Performance por Categoria de Produto')
plt.xlabel('Unidades Vendidas')
plt.ylabel('Lucro Total')
plt.tight_layout()
plt.show()
# 6. Análise de canal de vendas
canal_vendas = df.groupby('Canal de Venda')['Lucro'].sum().sort_values(ascending=False)
plt.figure(figsize=(10, 6))
canal_vendas.plot(kind='bar')
plt.title('Lucro por Canal de Venda')
plt.xlabel('Canal de Venda')
plt.ylabel('Lucro Total')
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()
# 7. Produtos mais lucrativos
produtos_lucrativos = df.groupby('Produto')['Lucro'].sum().sort_values(ascending=False).head(10)
plt.figure(figsize=(12, 6))
produtos_lucrativos.plot(kind='bar')
plt.title('Top 10 Produtos Mais Lucrativos')
plt.xlabel('Produto')
plt.ylabel('Lucro Total')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()
# 8. Correlação entre preço e unidades vendidas
plt.figure(figsize=(10, 6))
sns.scatterplot(data=df, x='Preço Unitário', y='Unidades Vendidas')
plt.title('Relação entre Preço Unitário e Unidades Vendidas')
plt.xlabel('Preço Unitário')
plt.ylabel('Unidades Vendidas')
plt.tight_layout()
plt.show()
# 9. Análise de margem de lucro
df['Margem de Lucro'] = (df['Lucro'] / (df['Preço Unitário'] * df['Unidades Vendidas'])) * 100
margem_media = df.groupby('Produto')['Margem de Lucro'].mean().sort_values(ascending=False).head(10)
plt.figure(figsize=(12, 6))
margem_media.plot(kind='bar')
plt.title('Top 10 Produtos com Maior Margem de Lucro Média')
plt.xlabel('Produto')
plt.ylabel('Margem de Lucro Média (%)')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()
# 10. Resumo estatístico
print("\nResumo Estatístico:")
print(f"Total de Vendas: R$ {(df['Preço Unitário'] * df['Unidades Vendidas']).sum():.2f}")
print(f"Total de Custos: R$ {(df['Custo Unitário'] * df['Unidades Vendidas']).sum():.2f}")
print(f"Lucro Total: R$ {df['Lucro'].sum():.2f}")
print(f"Margem de Lucro Média: {df['Margem de Lucro'].mean():.2f}%")
print(f"Produto Mais Vendido: {df.groupby('Produto')['Unidades Vendidas'].sum().idxmax()}")
print(f"Produto Mais Lucrativo: {df.groupby('Produto')['Lucro'].sum().idxmax()}")
print(f"Região Mais Lucrativa: {df.groupby('Região')['Lucro'].sum().idxmax()}")
print(f"Canal de Venda Mais Lucrativo: {df.groupby('Canal de Venda')['Lucro'].sum().idxmax()}")
Para rodar o código:
Em aproximadamente 3 segundos você verá os resultados esperados, logo abaixo do código:
Conclusão
E pronto! Acabamos de realizar uma análise de dados complexa usando Python, sem precisar escrever uma única linha de código. Vimos como a preparação adequada dos dados e o uso de IA podem nos ajudar a gerar insights valiosos.
Esta abordagem permite que executivos e profissionais de negócios aproveitem o poder da análise de dados avançada, mesmo sem conhecimentos profundos de programação. Lembre-se, porém, que é importante entender os princípios básicos por trás dessas análises para interpretá-las corretamente e tomar decisões informadas.
Espero que este tutorial tenha sido útil! Se você tiver alguma dúvida, deixe nos comentários.
Até a próxima!
Materiais utilizados neste tutorial:
Ferramentas utilizadas: