Relatório de dados: planilha crua vira números conferíveis
Análise do extrato de vendas — 2026
1. Faturamento total pago: R$ 1.147.167,16, em 1058 vendas pagas.
2. Ticket médio pago: R$ 1.084,28 (R$ 1.147.167,16 ÷ 1058 vendas).
3. Canal que mais faturou: Instagram, com R$ 387.361,82.
4. Três vendedores com maior faturamento pago: 1º Beatriz Alcantara: R$ 267.420,33; 2º Caio Meireles: R$ 220.411,48; 3º Danilo Rocha: R$ 207.298,40.
5. Mês com maior faturamento pago: maio de 2026 (2026-05), com R$ 188.486,15.
6. Taxa de cancelamento: 8,83%. Numerador: 127 vendas válidas canceladas; denominador: 1439 vendas válidas de todos os status.
7. Linhas descartadas: duplicata: 45, valor vazio: 30, data impossível: 15, UF inválida: 15, valor negativo: 1. Total: 106. Das 1545 linhas de dados originais, restaram 1439 válidas.
8. UF com maior ticket médio pago (mínimo de 10 vendas pagas): SE, com R$ 1.583,62. Foram 10 vendas pagas e R$ 15.836,24 de faturamento pago.
Tratamento da sujeira
A deduplicação ocorreu antes de normalizar ou descartar: comparação exata dos valores de todos os campos do CSV, mantendo a primeira ocorrência. Não houve deduplicação adicional após a normalização.
Cada linha não duplicada recebeu no máximo um motivo de descarte, nesta prioridade: valor vazio → data impossível → UF inválida → valor negativo. A UF foi normalizada antes da validação para aceitar variações legítimas de caixa e espaços. A auditoria por linha está em auditoria-descartes.csv.
| Motivo exclusivo | Linhas descartadas |
|---|---|
| duplicata | 45 |
| valor vazio | 30 |
| data impossível | 15 |
| UF inválida | 15 |
| valor negativo | 1 |
| Total | 106 |
Datas foram convertidas dos três formatos informados para datas reais de calendário, com meses abreviados em português. Valores monetários usaram o último ponto ou vírgula como separador decimal; moeda, espaços e separadores de milhares foram removidos. Todos os valores passaram a centavos inteiros.
Canais foram agrupados sem diferenças de acento, caixa ou espaços nas extremidades; UFs ficaram em maiúsculas. Nomes de clientes e vendedores tiveram espaços nas extremidades removidos e sequências de espaços internos reduzidas a um. Acentos dos nomes foram preservados.
| Campo normalizado (linhas válidas alteradas) | Quantidade |
|---|---|
| canal | 1129 |
| uf | 166 |
| cliente | 145 |
| vendedor | 146 |
Faturamento e ticket usam somente vendas pagas. Pendentes e canceladas entram apenas no denominador da taxa de cancelamento. Parcelas não multiplicam o valor da venda. Médias e percentuais são frações exatas; somente a apresentação é arredondada para duas casas, com ROUND_HALF_UP.
Conferência dos números
Reconciliação: 1545 linhas brutas = 106 descartadas + 1439 válidas. As somas por canal, vendedor, mês e UF reconciliam exatamente com R$ 1.147.167,16.
| Canal | Faturamento pago |
|---|---|
| R$ 387.361,82 | |
| Indicação | R$ 265.654,67 |
| R$ 218.871,12 | |
| Evento | R$ 147.772,70 |
| Outbound | R$ 127.506,85 |

Reprodução e ferramentas
Execute python analise.py nesta pasta. O script lê o CSV pelo caminho absoluto do alvo, sem alterá-lo, e regenera este relatório, o gráfico, a auditoria e os totais exatos em JSON. Nenhum resultado numérico foi digitado manualmente neste relatório.
Ferramentas: Python 3.12.10, biblioteca padrão (csv, datetime, Fraction, Decimal, hashlib e outras) e Matplotlib 3.11.1; PowerShell e Git para execução e versionamento. A conferência independente usa pandas e Pillow, ambos já disponíveis. Skill: verification-before-completion. Nenhum MCP ou subagente. Nenhuma biblioteca instalada.
Entrada: [vendas-2026.csv](alvos/dados/vendas-2026.csv).
SHA-256 do CSV original: 774cb912b05ddfb8a06fc9b03e7e2e81eaf3b5cf2f1e633a7b802e84ea54aba8.