Rastreando DAU e MAU de forma eficiente em sites de alto tráfego
Rastrear DAU e MAU em sites de alto tráfego é uma tarefa desafiadora. Este artigo descreve como resolvemos este problema no Logto.
Não há como negar que, como provedor de identidade, o Logto processa uma montanha de dados de usuários diariamente. Uma das métricas críticas que não podemos deixar de dar atenção é "Usuários Ativos Diariamente" (DAU) - nos dá uma noção de quão engajados nossos usuários estão. Mas quando se trata de rastrear DAUs e Usuários Ativos Mensalmente (MAU), as coisas podem se complicar. Gerir volumes massivos de dados sem afetar a experiência do usuário não é fácil, mas é algo que aprendemos a enfrentar de forma eficiente.
Nesta leitura, aproveitaremos a oportunidade para guiá-lo através dos conceitos relacionados ao DAU, explicar como DAU, MAU e uma taxa de engajamento mensal podem ser calculados.
DAU, MAU e Taxa de Engajamento Mensal
Usuários ativos diariamente (DAU)
DAUs são usuários únicos que interagem com sua plataforma em qualquer dia dado. Essas interações podem ser qualquer coisa - desde simplesmente fazer login, postar ou curtir algo, ou qualquer outra ação específica que sinalize atividade. Rastrear DAUs nos permite avaliar o engajamento do usuário diariamente e ter uma noção do tamanho de nossa base de usuários ativos.
Usuários ativos mensalmente (MAU)
MAU, por outro lado, é um indicador de usuários únicos que se envolvem com sua plataforma pelo menos uma vez dentro de um mês. Assim como os DAUs, os usuários ativos podem variar de qualquer um que simplesmente fez login até alguém que interagiu com a plataforma de alguma maneira.
Taxa de engajamento mensal
Quando se trata de entender o quão frequentemente os usuários interagem com nossa plataforma em um mês, encontramos um imenso valor em uma métrica particular - a Taxa de Engajamento Mensal (MER). Isso não é apenas um número para nós, mas um elemento fundamental que influencia fortemente nossa estratégia de preços.
MER revela a frequência do engajamento de um usuário, destacando a contagem de dias únicos em que um usuário faz login ou interage com nossa plataforma em um mês. Este insight não é apenas útil; é um diferencial fundamental para nós. Diferentemente da abordagem típica que se concentra apenas em se um usuário visitou dentro de um mês, nós mergulhamos mais fundo, costumamos entender 'quão frequentemente'. Essa "frequência" nos permite avaliar a profundidade da interação de um usuário com nossa plataforma e nos fornece métricas tangíveis para entregar mais valor aos nossos usuários.
No Logto, a MER é um fator significativo do modelo de precificação baseado em uso. Ancorando nossa precificação à MER, garantimos que nossas cobranças correspondam ao nível de engajamento do usuário; poderíamos dizer que transformamos a equidade em uma métrica que podemos medir. Enquanto outros podem contar um usuário que só fez login uma vez da mesma forma que um usuário diário, diferenciamos, precificamos com base no uso real e valor fornecido. Através disso, garantimos uma abordagem mais transparente, justa e, em última análise, destacada em relação à precificação.
A partir dos logs do usuário
Normalmente, o DAU e o MAU são calculados diretamente dos logs do usuário. Mas à medida que esses logs se acumulam, o processo se torna ineficiente e apresenta desafios como escalonamento de dados e retenção de logs. Sem falar que manter registros dos logs do usuário para sempre não é prático devido a regulamentos de privacidade e segurança.
Outra abordagem: criando uma tabela DAU
Foi por isso que criamos o conceito de uma tabela DAU. Esta tabela inclui principalmente duas colunas - user_id
e date
. A date
pode ser definida para o início de um dia.
Temos duas maneiras de manter esta tabela atualizada. A primeira é um trabalho automatizado diário que passa pelos logs do usuário do dia anterior. A segunda aciona uma atualização sempre que ocorre uma atividade do usuário.
Sempre que encontramos um user_id
único, adicionamos uma nova entrada à tabela DAU, que inclui o user_id
e a date
. Isso é feito usando uma operação SQL "upsert" que requer uma chave única de user_id
e date
.
Como resultado, rastrear DAU e MAU se torna apenas uma questão de contar linhas na tabela. E o cálculo da taxa de engajamento mensal pode ser feito combinando group by
e count
.
Resultados e benefícios
A tabela DAU, que essencialmente é uma versão condensada dos logs do usuário, simplificou enormemente nosso processo de cálculo DAU e MAU. Não apenas facilitou o rastreamento do engajamento do usuário, mas também reduziu significativamente a carga em nosso sistema.
Conclusão
Em nossa jornada de otimização do cálculo DAU e MAU, sempre demos muito ênfase à privacidade do usuário e ao cumprimento legal. Construímos nossa estratégia em torno de garantir que a tabela DAU não armazenasse informações sensíveis do usuário. Em vez disso, apenas armazenamos identificadores anônimos (o valor hash do user_id normal) e as datas de atividade, aderindo estritamente a todas as regulamentações relevantes de proteção de dados.
Recomendamos fortemente essa abordagem orientada à privacidade para outros na indústria de serviços digitais. Independentemente da escala ou volume de dados do usuário, a privacidade deve sempre ter a máxima prioridade.
No final, o rastreamento de dados não precisa ser complicado, mesmo para aplicações web de alto tráfego. Uma estratégia estável e eficiente como a nossa pode facilitar o rastreamento de métricas essenciais de engajamento de usuários.
Esperamos que compartilhar nossa experiência possa inspirar outras plataformas digitais e fornecer ideias sobre como desenvolver soluções inovadoras para rastreamento de dados eficaz e eficiente.