Aplicação analítica que identifica oportunidades de venda cruzada entre produtos, revelando clientes que compram um item mas ainda não compram outro — permitindo ações diretas de aumento de receita.
Transforma dados transacionais em estratégias comerciais com base em comportamento real de compra.
Problema
Empresas possuem milhares de combinações de produtos, mas não conseguem identificar facilmente oportunidades de venda cruzada entre clientes.
Solução
Aplicação que utiliza lógica de conjuntos para identificar clientes que compram apenas um produto, ambos ou nenhum, permitindo segmentação clara de oportunidades.
Resultado
Aumento potencial de receita via cross-sell, priorização de clientes e insights claros para equipes comerciais.
3
grupos de clientes
Real-time
taxa de conversão cruzada
Excel
exportação direta
∞
combinações de produtos
┌────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐ │ │ │ │ │ │ │ Neon Cloud │──────▶│ Streamlit App │──────▶│ Visualizações │ │ (PostgreSQL) │ │ (Python) │ │ (Venn + Plotly) │ │ │ │ │ │ │ │ Dados de vendas │ │ Queries SQL + │ │ Diagrama de Venn │ │ transacionais │ │ Set Operations │ │ + Gráficos + Tabelas │ └────────────────────┘ └──────────────────────────┘ └──────────────────────────┘
Comunicação criptografada via SSL com Neon Cloud PostgreSQL. Credenciais gerenciadas por variáveis de ambiente.
Consultas SQL parametrizadas com filtro temporal dinâmico, permitindo análise por mês, trimestre ou ano.
Operações de conjuntos nativas do Python: interseção, diferença e união para segmentação precisa de clientes.
Diagrama de Venn via matplotlib_venn para visualização de conjuntos e Plotly para gráficos interativos de distribuição.
Quatro etapas que transformam dados transacionais em oportunidades diretas de cross-sell.
Seleção de produtos
Usuário seleciona dois produtos para análise de venda cruzada. O app busca todos os clientes que compraram cada produto no período.
# Usuário seleciona os produtos na interface produto_A = st.selectbox("Selecione o Produto A", lista_produtos) produto_B = st.selectbox("Selecione o Produto B", lista_produtos) # Query busca clientes distintos por produto SELECT DISTINCT cliente FROM vendas WHERE produto = '{produto_A}' AND data_emissao BETWEEN '{inicio}' AND '{fim}'
Separação de clientes em conjuntos
Os resultados das queries geram dois conjuntos Python distintos para operações matemáticas.
# Transformar resultados em sets nativos do Python clientes_A = set(df_produto_a["cliente"]) clientes_B = set(df_produto_b["cliente"]) print(f"Clientes Produto A: {len(clientes_A)}") print(f"Clientes Produto B: {len(clientes_B)}")
Interseção e diferença — segmentação
Três grupos estratégicos são gerados a partir das operações de conjuntos, identificando onde estão as oportunidades.
# Operações de conjuntos → 3 grupos de oportunidade apenas_A = clientes_A - clientes_B # 🔵 Compra A, NÃO compra B apenas_B = clientes_B - clientes_A # 🟡 Compra B, NÃO compra A ambos = clientes_A & clientes_B # 🟣 Já compra ambos # → apenas_A = oportunidade de cross-sell de B # → apenas_B = oportunidade de cross-sell de A
Cálculo de oportunidade — taxa de conversão
Métrica que quantifica o potencial de cross-sell: qual % dos clientes do Produto A já compram o Produto B?
# Taxa de conversão cruzada taxa_conversao = len(ambos) / len(clientes_A) * 100 # Exemplo de resultado: # │ Clientes A │ Compram ambos │ Taxa conversão │ # │ 850 │ 127 │ 14.9% │ # → 723 clientes compram A mas NÃO compram B # → Oportunidade direta de cross-sell
Diagrama de Venn
Visualização principal mostrando interseção e diferença entre os dois conjuntos de clientes.
Gráfico de barras
Distribuição quantitativa dos três grupos: apenas A, apenas B e ambos.
Tabela: Clientes apenas A
Lista de clientes que compram A mas não compram B — oportunidade direta de cross-sell.
Tabela: Clientes apenas B
Lista de clientes que compram B mas não compram A — oportunidade reversa de cross-sell.
Tabela: Clientes ambos
Lista de clientes que já compram ambos os produtos — base de fidelização.
Exportação Excel por grupo
Download direto de cada segmento para ação comercial imediata da equipe de vendas.
Core
Python
Lógica e set operations
Streamlit
Framework web interativo
Dados
PostgreSQL (Neon Cloud)
Banco de dados remoto
Pandas
Manipulação de DataFrames
Visualização & Infra
Matplotlib
Diagrama de Venn
Plotly
Gráficos interativos
Cada cliente identificado no grupo "apenas A" ou "apenas B" é uma oportunidade concreta e mensurável de cross-sell.
Times de vendas recebem listas prontas com nomes de clientes para contato — sem necessidade de análise adicional.
Operações de conjuntos são conceitualmente simples, mas geram insights de altíssimo valor quando aplicadas em dados reais.
A mesma lógica pode ser aplicada a qualquer par de produtos, categorias ou linhas de negócio.
Exportação Excel por grupo permite que vendedores atuem no mesmo dia em que a análise é gerada.
Essa solução pode ser aplicada diretamente para identificar oportunidades de venda cruzada e aumentar ticket médio de clientes.