Páginas e Funcionalidades¶
📋 Visão Geral¶
O Motor de Pricing possui 7 páginas (rotas), cada uma com funcionalidades específicas para o processo de precificação. Todas as páginas protegidas exigem autenticação e utilizam dados pré-carregados.
🔐 Login (/login)¶
Arquivo: pages/login/login_page.py
Página de autenticação do sistema. Após o login bem-sucedido, os dados são pré-carregados e o usuário é redirecionado.
🏗️ Arquitetura de Preços (/price-architecture)¶
Arquivo: pages/price_architecture/price_architecture.py
Página principal para configuração da estratégia de precificação. Utiliza um componente Stepper com 12 etapas sequenciais:
| Etapa | Nome | Descrição |
|---|---|---|
| 1 | Parametrizações | Configurar datas para geração da tabela (Preço Focus, Carteira, Kynetec, Interno, Vendas) |
| 2 | Custos | Visualizar CMV Individual, CMV Agrupado, custos projetados e de reposição |
| 3 | Preço Ponta | Configurar preços de referência: Preço Cheio, Focus Datado, Pesquisa Interna, Carteira, Kynetec, Win/Loss |
| 4 | Margem Bruta | Definir margens base e limites mínimos por produto (MB% = (Preço - Custo) / Preço × 100) |
| 5 | Embalagem | Classificação por tipo de embalagem com percentuais de acréscimo |
| 6 | Produtos | Perfil do produto (Crítico, Monitoramento, Sensível), elasticidade, classificação ABC |
| 7 | Regionalização | Perfis regionais: mercado, market share, competitividade, consumo |
| 8 | Estratégia Produtos | Perfil de elasticidade + Arquitetura de embalagens |
| 9 | Estratégia Regionalização | Índices Delta por perfil regional |
| 10 | Atributos Dinâmicos | Ajuste de preço baseado na posição vs mercado (desconto/acréscimo proporcional) |
| 11 | Estratégia Tática | VS Sugestão de Vendas, CAPS vs Última Lista, Margem Mínima, Index Base por Faixa |
| 12 | Tabela de Preços | Validação e ajustes finais antes de gerar a lista |
Fluxo de Geração¶
graph LR
A[Configurar 12 etapas] --> B[Confirmar no Modal]
B --> C[send_data enviando para BigQuery]
C --> D[Pipeline Dataform processando]
D --> E[Redirect para /price-list]
E --> F[Visualizar lista gerada]
style C fill:#4285F4,color:#fff
style D fill:#34A853,color:#fff
Ao clicar em "Gerar Tabela de Preços":
1. Dados de parametrização e variáveis são enviados via send_data()
2. Um request_id UUID é gerado
3. O pipeline Dataform é disparado
4. O usuário é redirecionado para /price-list com o request_id
📊 Lista de Preços (/price-list)¶
Arquivo: pages/price_list/price_list_page.py (1235 linhas)
Página mais complexa da aplicação. Exibe o resultado da Arquitetura de Preços com 7 visões:
| Visão | Descrição |
|---|---|
| Detalhada | Tabela completa com todos os produtos — permite edição inline |
| SKU | Resumo agregado por SKU |
| Empresa | Resumo por empresa com drill-down |
| Impacto na Margem | Produtos com maior variação de margem |
| Alertas de Qualidade | Inconsistências e pontos de atenção |
| Parâmetros | Visualização dos parâmetros utilizados |
| Variáveis | Visualização das variáveis aplicadas |
Funcionalidades Principais¶
| Funcionalidade | Descrição |
|---|---|
| Edição inline | Alterar preco_final diretamente na tabela — recalcula mb_final e var_ult_lista_final automaticamente |
| Marcar/Desmarcar preços | Bulk update de salvar_preco (Sim/Não) para linhas filtradas |
| Atualizar datas em lote | Alterar inicio_vigencia e final_vigencia para múltiplas linhas |
| Filtros dinâmicos | 7 filtros: empresa, SKU agrupado, código SKU, produto, cluster, safra, data efetiva |
| Cards de totalização | Indicadores calculados sobre dados filtrados com ponderação configurável |
| Exportação Excel | Download dos dados em formato Excel |
| Salvar lista | Enviar lista final para BigQuery via save_price_list() |
🎯 Command Center (/command-center)¶
Arquivo: pages/command_center/command_center_page.py (727 linhas)
Painel de análise com duas abas:
Alertas de Qualidade¶
- Identificação de inconsistências, erros e oportunidades
- Filtros: investida, UF, SKU agrupado, produto
- Cards de totalização com indicadores de qualidade
Posicionamento de Produtos¶
- Discrepâncias entre posicionamento real e ideal
- Tabela com filtros dinâmicos
- Exportação para Excel
📈 Impacto na Margem (/margin-impact)¶
Arquivo: pages/margin_impact/margin_impact_page.py (339 linhas)
Lista de produtos com grande variação de margem (positiva e negativa) entre listas.
| Funcionalidade | Descrição |
|---|---|
| Filtros dinâmicos | Investida, UF, SKU agrupado, produto |
| Cards de totalização | Indicadores de impacto na margem |
| Download Excel | Exportação dos dados filtrados |
🔍 Decomposição do Preço (/price-decomposition)¶
Arquivo: pages/price_decomposition/price_decomposition_page.py (286 linhas)
Matriz de influência dos diversos fatores que aumentam ou diminuem o preço.
| Funcionalidade | Descrição |
|---|---|
| Filtros | Empresa, UF, SKU agrupado |
| Cards de totalização | Valores por fator de decomposição |
| Cache | Dados em cache para filtros rápidos |
📋 Lista de Preços Atual (/current-price-list)¶
Arquivo: pages/current_price_list/current_price_list_page.py (262 linhas)
Visualização da lista de preços atualmente vigente no sistema.
| Funcionalidade | Descrição |
|---|---|
| 12 filtros | Safra, moeda, cluster, empresa regional, organização de vendas, loja, código, produto, SKU agrupado, início validade, fim validade, data efetiva |
| Exportação Excel | Download dos dados filtrados |
| Dados pré-carregados | Utiliza store-data-current-price-list |
🧩 Padrão Comum das Páginas¶
Todas as páginas protegidas seguem o mesmo padrão:
- Callback de renderização — verifica dados no store ou faz fallback para API
- Filtros dinâmicos — opções de filtro se atualizam baseadas nas seleções do usuário
- Cache — filtragem usa dados em cache, sem novas chamadas à API
- Cards de totalização — recalculados a cada mudança de filtro
- Helper text — botão de ajuda com modal explicativo (configurado em
static_data/helper_text.py)
Última atualização: Março 2026 | Versão 1.0