Rastreamento eficiente de DAU e MAU em sites com alto tráfego
Rastrear DAU e MAU em sites com alto tráfego é uma tarefa desafiante. Este artigo descreve como resolvemos este problema na Logto.
Não há como negar que, como provedor de identidade, a Logto processa uma montanha de dados do usuário diariamente. Uma das métricas críticas que não podemos nos dar ao luxo de negligenciar é 'Usuários Ativos Diariamente' (DAU) - isso nos dá uma ideia de quão engajados nossos usuários estão. Mas quando se trata de rastrear DAUs e Usuários Ativos Mensais (MAU), as coisas podem ficar confusas. Gerenciar volumes massivos de dados sem afetar a experiência do usuário não é fácil, mas é algo que aprendemos a lidar eficientemente.
Neste artigo, aproveitaremos esta oportunidade para apresentar conceitos relacionados ao DAU, explicar como DAU, MAU e a taxa de engajamento mensal podem ser calculados.
DAU, MAU e Taxa de Engajamento Mensal
Usuários ativos diariamente (DAU)
Os DAUs são usuários únicos que interagem com sua plataforma em qualquer dia específico. Essas interações podem ser qualquer coisa - desde simplesmente fazer login, postar ou curtir algo, ou qualquer outra ação específica que signifique atividade. Rastrear DAUs nos permite avaliar o envolvimento do usuário diariamente e ter uma noção do tamanho de nossa base de usuários ativos.
Usuários ativos mensais (MAU)
MAU, por outro lado, é um indicador de usuários únicos que se envolvem com a sua plataforma pelo menos uma vez dentro de um mês. Assim como os DAUs, usuários ativos podem variar de alguém que apenas fez login para alguém que interagiu com a plataforma de alguma forma.
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 específica - a Taxa de Engajamento Mensal (MER). Isso não é apenas um número para nós, mas um elemento crucial que influencia fortemente nossa estratégia de preços.
MER revela a frequência do envolvimento de um usuário, identificando a contagem de dias únicos que um usuário faz login ou interage com nossa plataforma dentro de um mês. Esta percepção não é apenas útil; é um diferenciador-chave para nós. Ao contrário da abordagem típica que se concentra apenas em saber se um usuário visitou dentro de um mês, vamos mais fundo, nos esforçamos para entender 'com que frequência'. Esta 'com que 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, o MER é um fator significativo do preço baseado no uso. Ao ancorar nossos preços ao MER, garantimos que nossas cobranças se alinhem ao nível de engajamento do usuário; você poderia dizer que transformamos a imparcialidade em uma métrica que podemos medir. Enquanto outros contam um usuário que fez login apenas uma vez da mesma forma que um usuário diário, diferenciamos, precificando com base no uso real e no valor fornecido. Através disso, garantimos uma abordagem mais transparente, justa e, no final das contas, diferenciada em relação aos preços.
A partir de registros de usuários
Geralmente, DAU e MAU são calculados diretamente a partir dos registros do usuário. Mas à medida que esses registros se acumulam, o processo torna-se ineficiente e apresenta desafios como escalabilidade de dados e retenção de logs. Sem falar que manter registros de logs de usuário para sempre não é prático devido aos regulamentos de privacidade e segurança.
Outra abordagem: criar uma tabela DAU
É por isso que surgiu a ideia de uma tabela DAU. Essa tabela inclui principalmente duas colunas - user_id
e data
. A data
pode ser definida para o início de um dia.
Temos duas maneiras de manter esta tabela atualizada. O primeiro é um trabalho automatizado diário que passa pelos logs do usuário do dia anterior. O segundo dispara uma atualização sempre que ocorre uma atividade do usuário.
Sempre que nos deparamos com um user_id
único, adicionamos uma nova entrada à tabela DAU, que inclui o user_id
e a data
. Isso é feito usando uma operação SQL "upsert" que requer uma chave única de user_id
e data
.
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 de logs de usuário, simplificou drasticamente nosso processo de cálculo de DAU e MAU. Não só tornou o rastreamento do envolvimento do usuário muito mais fácil, mas também reduziu significativamente a carga em nosso sistema.
Conclusão
Em nossa jornada de otimização dos cálculos de DAU e MAU, sempre colocamos grande ênfase na privacidade do usuário e conformidade legal. Construímos nossa estratégia em torno da garantia de que a tabela DAU não armazene informações sensíveis do usuário. Em vez disso, armazenamos apenas identificadores anônimos (o valor hashed do normal user_id) e datas de atividade, aderindo estritamente a todos os regulamentos relevantes de proteção de dados.
Altamente recomendamos esta abordagem orientada à privacidade para outros na indústria de serviços digitais. Independentemente da escala ou volume de dados do usuário, a privacidade sempre deve ter máxima prioridade.
No final, o rastreamento de dados não precisa ser complicado, mesmo para aplicativos da web de alto tráfego. Uma estratégia estável e eficiente como a nossa pode tornar o rastreamento de métricas vitais de envolvimento do usuário fácil.
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.