Hero Background
Voltar aos projetos Projeto 04

Análise de Venda Cruzada — Oportunidades de Cross-Sell

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.

Python Streamlit PostgreSQL Plotly Matplotlib Data Analytics SQL Cross-Sell

01 — Resumo

O que foi construído

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


02 — Arquitetura

Fluxo da aplicação

  ┌────────────────────┐       ┌──────────────────────────┐       ┌──────────────────────────┐
  │                    │       │                          │       │                          │
  │   Neon Cloud        │──────▶│   Streamlit App          │──────▶│   Visualizações          │
  │   (PostgreSQL)      │       │   (Python)               │       │   (Venn + Plotly)        │
  │                    │       │                          │       │                          │
  │   Dados de vendas   │       │   Queries SQL +          │       │   Diagrama de Venn       │
  │   transacionais     │       │   Set Operations         │       │   + Gráficos + Tabelas   │
  └────────────────────┘       └──────────────────────────┘       └──────────────────────────┘
                
Conexão com banco via psycopg2

Comunicação criptografada via SSL com Neon Cloud PostgreSQL. Credenciais gerenciadas por variáveis de ambiente.

Query com filtro de período

Consultas SQL parametrizadas com filtro temporal dinâmico, permitindo análise por mês, trimestre ou ano.

Processamento com Python (sets)

Operações de conjuntos nativas do Python: interseção, diferença e união para segmentação precisa de clientes.

Visualização com Matplotlib e Plotly

Diagrama de Venn via matplotlib_venn para visualização de conjuntos e Plotly para gráficos interativos de distribuição.


03 — Lógica Analítica

Como funciona na prática

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

04 — Visualizações

O que o app entrega

01

Diagrama de Venn

Visualização principal mostrando interseção e diferença entre os dois conjuntos de clientes.

02

Gráfico de barras

Distribuição quantitativa dos três grupos: apenas A, apenas B e ambos.

03

Tabela: Clientes apenas A

Lista de clientes que compram A mas não compram B — oportunidade direta de cross-sell.

04

Tabela: Clientes apenas B

Lista de clientes que compram B mas não compram A — oportunidade reversa de cross-sell.

05

Tabela: Clientes ambos

Lista de clientes que já compram ambos os produtos — base de fidelização.

06

Exportação Excel por grupo

Download direto de cada segmento para ação comercial imediata da equipe de vendas.


05 — Stack

Tecnologias utilizadas

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


06 — Relevância

Por que esse projeto é relevante?

Oportunidades diretas de receita

Cada cliente identificado no grupo "apenas A" ou "apenas B" é uma oportunidade concreta e mensurável de cross-sell.

Fácil aplicação comercial

Times de vendas recebem listas prontas com nomes de clientes para contato — sem necessidade de análise adicional.

Lógica simples, alto impacto

Operações de conjuntos são conceitualmente simples, mas geram insights de altíssimo valor quando aplicadas em dados reais.

Escalável para múltiplos produtos

A mesma lógica pode ser aplicada a qualquer par de produtos, categorias ou linhas de negócio.

Dados → ação imediata

Exportação Excel por grupo permite que vendedores atuem no mesmo dia em que a análise é gerada.


Dados → Receita

Quer aumentar receita com dados?

Essa solução pode ser aplicada diretamente para identificar oportunidades de venda cruzada e aumentar ticket médio de clientes.

Voltar aos projetos