Este projeto não busca definir preços ótimos, mas estruturar critérios claros para tomada de decisão em cenários reais de incerteza.
Logo, estruturei um sistema analítico para monitoramento competitivo de preços, identificação de price gaps, dispersões e riscos competitivos, com foco em decisões de pricing no varejo.
O projeto simula um cenário real de negócio, comparando preços próprios vs. concorrência e gerando métricas acionáveis para apoio à tomada de decisão.
• Para profissionais de pricing, RGM e performance
• Para contextos de varejo competitivo
• Para apoio tático, não precificação automática
Apoiar decisões reais de pricing, reduzindo risco competitivo e priorizando ações com impacto financeiro.
Permite responder perguntas como:
Arquitetura pensada para separar orquestração, lógica de negócio e dados, seguindo boas práticas de engenharia de dados.
├── data/
│ ├── raw/ # Dados de entrada (preços próprios e concorrência)
│ └── processed/ # Dados tratados (parquet)
├── outputs/ # Outputs finais (CSV para consumo de negócio)
├── scripts/ # Orquestração do pipeline
│ ├── generate_sample_data.py
│ └── run_pipeline.py
├── src/price_gap_monitor/
│ ├── pipeline.py # Lógica principal de competitividade e pricing
│ ├── metrics.py # Cálculo de métricas de gap e dispersão
│ ├── risk.py # Classificação de risco competitivo
│ └── io.py # Leitura e escrita de dados
├── tests/ # Testes unitários
├── pyproject.toml # Configuração do pacote Python
└── README.md
Por que essa arquitetura
data/rawdata/processed (parquet)outputs/monitor_competitividade.csvEste projeto simula um pipeline de análise de competitividade e price gap com foco em apoiar decisões de pricing e RGM.
Clone o repositório e acesse a pasta do projeto:
git clone https://github.com/ivancaputonunes-hub/monitor-competitividade-price-gap-py.git
cd monitor-competitividade-price-gap-py
python -m venv .venv
# macOS / Linux
source .venv/bin/activate
# Windows (PowerShell)
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
pip install -e .
Gera um conjunto de dados sintético para simular cenário de negócio:
python scripts/generate_sample_data.py
Roda o pipeline e gera os artefatos finais:
python scripts/run_pipeline.py
• Dados tratados (parquet): data/processed/
• Output final para consumo (CSV): outputs/monitor_competitividade.csv
Para executar os testes automatizados:
pytest -q
Este playbook traduz os outputs do monitor em ações táticas.
Mexer quando houver risco competitivo alto e gap acima do mercado.
Critério prático: • gap_pct_vs_mean > +5% • risk_label = HIGH
Ação: • Reduzir preço ou acionar mecanismo de proteção (ex.: ajuste tático por cluster/canal/categoria)
Segurar quando estiver alinhado ao mercado e o risco estiver controlado.
Critério prático: • gap_pct_vs_mean entre -5% e +5% • risk_label = LOW ou MEDIUM
Ação: • Manter preço e monitorar (sem mexer por ansiedade)
Investigar quando o gap for negativo (abaixo do mercado), porque pode ser perda de margem sem necessidade.
Critério prático: • gap_pct_vs_mean < -5%
Ação: • Validar competitividade real (cesta, elasticidade, promo, ruptura) • Se não houver justificativa, corrigir para recuperar margem
Exemplo A — Alto risco competitivo (ação imediata) • own_price: 10.49 • comp_price_mean: 9.79 • gap_pct_vs_mean: +7.1% • risk_label: HIGH Decisão: priorizar revisão de preço (ou proteção por cluster) e acompanhar impacto.
Exemplo B — Potencial perda de margem (investigar) • own_price: 8.99 • comp_price_mean: 9.79 • gap_pct_vs_mean: -8.2% • risk_label: LOW/MEDIUM Decisão: investigar se há motivo (promo, estratégia, elasticidade). Se não houver, corrigir para recuperar margem.
• Concorrência é tratada como comparável (não considera diferenças finas de canal/serviço/experiência)
• Gap é calculado de forma estática (não modela elasticidade-preço)
• Não incorpora efeito de promoções, ruptura e substitutos de forma explícita
• Dispersão captura variabilidade de preço, mas não explica causalidade (ex.: guerra de preços local)
Esta seção demonstra, na prática, os outputs gerados pelo pipeline e como eles suportam decisões reais de pricing e competitividade.
Arquivo gerado automaticamente pelo pipeline (monitor_competitividade.csv), contendo métricas de competitividade por SKU, loja e data.
Principais campos:
own_pricecomp_price_meangap_pct_vs_meanrisk_labelEm um ambiente real, este output seria consumido por times de pricing, comercial ou BI como insumo para priorização de ações. Este arquivo é a base para análises exploratórias, dashboards e priorização de ações de pricing.

Análise agregada via tabela dinâmica, classificando SKUs conforme o GAP percentual vs média da concorrência:
Essa visão permite:
