contar clientes distintos por período em DAX: como calcular
Contar clientes distintos por período em DAX: por que os meses não somam no ano, como usar DISTINCTCOUNT com contexto de tempo e medir clientes novos e recorrentes.
O total de clientes do ano não é a soma dos clientes de cada mês, e isso confunde
Uma cena comum em reuniões: alguém aponta que a soma dos clientes distintos de cada mês não bate com o número de clientes distintos do ano, e conclui que a medida está errada. Não está. Um cliente que compra em março e em agosto conta uma vez em março, uma em agosto, mas uma só no total do ano. Por isso os meses somam mais que o ano, e isso é o comportamento correto de uma contagem de únicos ao longo do tempo. Entender e calcular corretamente como contar clientes distintos por período em DAX é essencial para métricas de base ativa, retenção e aquisição. Este guia mostra como fazer a contagem, por que os totais se comportam assim e como derivar clientes novos e recorrentes.
DISTINCTCOUNT já respeita o período selecionado
A base para contar clientes distintos é a função DISTINCTCOUNT sobre a coluna que identifica o cliente. O ponto que muitos não percebem é que, com uma boa tabela de datas relacionada ao fato, essa medida já respeita o período automaticamente: quando o usuário filtra um mês, ela conta os clientes distintos daquele mês; quando filtra o ano, conta os do ano. Não é preciso escrever uma medida diferente para cada nível de tempo:
Clientes Distintos =
DISTINCTCOUNT ( Vendas[ClienteID] )
O contexto de filtro faz o trabalho. Colocada em uma matriz por mês, essa medida mostra os clientes ativos de cada mês; na linha de total, mostra os do período inteiro, contando cada cliente uma vez, mesmo que ele apareça em vários meses. Essa é a razão de os subtotais não somarem, e é o resultado correto para uma base de clientes.
Os totais não somam, e isso é uma característica, não um bug
Vale reforçar esse ponto porque ele gera muita dúvida. Ao contar entidades únicas ao longo do tempo, a soma dos períodos menores quase sempre supera o período maior, porque a mesma entidade se repete entre os períodos. Trinta clientes em janeiro mais trinta em fevereiro não são sessenta no bimestre se dez compraram nos dois meses; são cinquenta. A contagem de únicos elimina essa dupla contagem no nível superior, e é exatamente isso que se quer de uma métrica de base ativa. Explicar esse comportamento a quem lê o relatório evita a falsa impressão de erro. Um bom painel, inclusive, pode deixar claro que aquele é o número de clientes únicos no período, para não gerar a expectativa de que os meses somariam. O que parece uma inconsistência é, na verdade, a medida funcionando como deveria.
As métricas de base de clientes se derivam da contagem distinta
| Métrica | O que mede | Base de cálculo |
|---|---|---|
| Clientes ativos | Únicos que compraram no período | DISTINCTCOUNT no contexto |
| Clientes novos | Primeira compra no período | Comparar com todo o histórico anterior |
| Clientes recorrentes | Já compraram antes | Ativos menos novos |
| Base acumulada | Únicos desde sempre até a data | DISTINCTCOUNT com contexto acumulado |
Clientes novos exigem comparar com todo o histórico anterior
Contar clientes ativos é direto; separar os novos exige um pouco mais. Um cliente novo é aquele cuja primeira compra caiu no período analisado, ou seja, que não existia na base antes. Para identificá-lo, a lógica compara a presença do cliente no período atual com todo o histórico anterior: se ele não comprou nada antes daquele período, é novo. Isso costuma envolver uma medida que conta os clientes do período que não aparecem em nenhuma data anterior, usando funções de tempo para olhar todo o passado até o início do período. A partir dos novos, os recorrentes saem por diferença: são os clientes ativos que não são novos, ou seja, que já haviam comprado antes. Essas duas métricas, novos e recorrentes, são a base de qualquer análise de aquisição e retenção, e ambas nascem da contagem distinta bem entendida.
A base acumulada mostra o total de clientes conquistados até a data
Outra métrica valiosa é a base acumulada, o número de clientes distintos que a empresa já teve desde o início até uma determinada data. Diferente dos ativos do período, ela nunca diminui ao avançar no tempo, porque conta todo mundo que já comprou ao menos uma vez até ali. Ela se calcula aplicando o DISTINCTCOUNT em um contexto de tempo acumulado, que abrange desde a primeira data até a data corrente. Essa medida é útil para acompanhar o crescimento total da carteira ao longo do tempo, em contraste com a base ativa, que sobe e desce conforme os clientes compram ou deixam de comprar em cada período. Ter as duas visões, a base ativa do período e a base acumulada histórica, dá uma leitura completa da carteira: quantos estão ativos agora e quantos já foram conquistados no total. Para análises de carteira e retenção, veja nossos serviços de analytics avançado, os dashboards e o guia completo de Power BI para empresas.
Perguntas frequentes
Por que a soma dos clientes por mês não bate com o ano? Porque um cliente que compra em vários meses é contado em cada mês, mas uma vez só no ano. A contagem de únicos elimina a dupla contagem no total, então os meses somam mais que o ano. Isso é o comportamento correto.
Preciso de uma medida diferente para cada período? Não. Com uma boa tabela de datas relacionada ao fato, o DISTINCTCOUNT já respeita o período selecionado: conta os clientes do mês quando se filtra o mês, e os do ano quando se filtra o ano. O contexto de filtro faz o trabalho.
Como contar clientes novos? Comparando a presença do cliente no período com todo o histórico anterior. Um cliente é novo se sua primeira compra caiu no período, ou seja, se ele não aparece em nenhuma data anterior. Isso usa funções de tempo para olhar todo o passado.
Como contar clientes recorrentes? Por diferença: os recorrentes são os clientes ativos do período que não são novos, ou seja, que já haviam comprado antes. Uma vez calculados os ativos e os novos, os recorrentes saem da subtração entre eles.
O que é a base acumulada de clientes? É o número de clientes distintos que a empresa já teve desde o início até uma data, contando todo mundo que comprou ao menos uma vez. Diferente da base ativa, ela nunca diminui ao avançar no tempo.
Devo explicar no painel que os totais não somam? Vale a pena, porque a soma dos períodos não bater com o total gera dúvida em quem lê. Deixar claro que aquele é o número de clientes únicos no período evita a falsa impressão de erro na medida.
Conte a carteira do jeito certo
Contar clientes distintos por período é direto com DISTINCTCOUNT e uma boa tabela de datas, e os totais que não somam são o comportamento correto. A partir daí, novos, recorrentes e base acumulada dão a leitura completa da carteira. Se quiser análises de retenção confiáveis, fale com a gente.
Quer aplicar isso na sua empresa?
A Fynx implementa BI, Power BI e Power Platform de ponta a ponta. Conte seu cenário e devolvemos um diagnóstico direto ao ponto.
Falar com um especialista