Análise de Funil em SQL: Como Descobrir Onde Seus Usuários Desaparecem Seu website tem 10 mil visitantes por semana. Quantos desses viram o produto? Quantos adicionaram ao carrinho? Quantos de verdade compraram? Se você não consegue responder essas perguntas com dados precisos, está perdendo dinheiro todos os dias em conversões desperdiçadas. A maioria dos analistas tira esses números de várias ferramentas diferentes — Google Analytics aqui, CRM ali, planilha em Excel lá. No final, fica difícil conectar os pontos e ver onde exatamente o funil está vazando. A boa notícia: tudo isso pode ser feito diretamente no SQL, sem sair do seu banco de dados, com Window Functions fazendo o trabalho pesado. O Conceito: O Funil Como Uma Sequência de Eventos Antes de mergulhar no código, vamos definir o que é um funil de conversão. Um funil não é just um gráfico bonito. É uma sequência lógica de eventos que um usuário precisa passar para se tornar cliente: 1. Visit — usuário entra no site 2. View Product — visualiza um produto 3. Add to Cart — adiciona ao carrinho 4. Purchase — completa a compra Cada um desses passos pode ser um "event" rastreado no seu banco de dados. E a primeira coisa que queremos saber é: em qual passo estamos perdendo o maior volume de pessoas? Se estamos perdendo 70% dos usuários no passo "Add to Cart" → "Purchase", o investimento em otimização deve ser na página de checkout, não na landing page. Sem saber onde está o vazamento, você está otimizando no escuro. A Query SQL Clássica (e Por Que É Fraca) A primeira abordagem que muitos fazem é algo assim: Resultado: Isso funciona, mas é limitado. Você vê o número total, mas não consegue responder perguntas mais profundas: Qual é a taxa de conversão de cada etapa? Quantos usuários entraram em "view product" mas nunca chegaram em "add cart"? Qual é o tempo médio entre um evento e o próximo? Quais usuários estão presos em uma etapa (não avançaram)? Para respostas sofisticadas, precisamos de Window Functions. O Poder das Window Functions em Análise de Funil Window Functions permitem que você calcule valores baseado em um "janela" (subset) de linhas, sem desagrupar os dados. A chave para análise de funil com Window Functions é: rastrear a transição de um usuário de um evento para o próximo. Aqui está a query profissional: Resultado: Agora você sabe EXATAMENTE onde o vazamento acontece. Análise Avançada: O Funil por Segment Suponha que você quer saber se o funil varia por país ou por origem do tráfego. Isso pode reveljar coisas como: "tráfego do Google tem 15% de conversão, mas tráfego de Facebook tem 3%". Agora você sabe onde investir. O Padrão Profissional: Funil Com Timing Em muitos casos, você quer saber não só se o usuário converteu em cada passo, mas quando — para entender o ciclo de vendas. Isso te mostra: em média, quanto tempo leva entre um usuário ver um produto e adicionar ao carrinho? Se for 5 dias, talvez você precise de remarketing. Se for 30 minutos, você tem uma venda quente. Implementação Prática: Monitoramento Contínuo O ideal é que essa análise de funil seja executada automaticamente todo dia, para você ter um dashboard sempre atualizado. Agora você pode rodar a qualquer momento e ter a visão mais atualizada do seu funil. Resumo: Por Que Isso Importa Análise de funil sem Window Functions é como pilotar de olhos fechados — você sabe que chegou ao destino, mas não sabe por onde passou. Com Window Functions você consegue: ✅ Identificar exatamente onde está o vazamento ✅ Calcular taxas de conversão em cada etapa ✅ Comparar performance por segmento ✅ Monitorar tendências ao longo do tempo ✅ Automatizar relatórios que você rodava manualmente O resultado: decisões melhores baseadas em dados que você confia. Próximas dicas: Confira também como usar CTEs para criar funnels ainda mais complexos, e como integrar essas análises com Python para visualizações interativas. Comece pequeno — faça a query básica com seus dados hoje e explore as variações. O SQL que você domina é mais valioso do que qualquer ferramenta que você aluga. Produto relacionado: Domine SQL Avançado na Elite Data Academy — aprenda o SQL que as startups usam em produção.