How to change the accuracy rate of HyperLogLog in A/B testing
HyperLogLog is an algorithm used to estimate unique visitor counts. While it provides an estimation rather than an exact count, you can set a target accuracy level for that estimation. Higher accuracy can slow down processing, so a balance between accuracy and efficiency is necessary. For a more detailed explanation of HyperLogLog and Estimated Unique Visitors in A/B testing, refer to this FAQ.
By default, Matomo configures the accuracy rate of HyperLogLog to 99% by setting the error rate to 1%. You can adjust this accuracy rate by updating your configuration file located at config/config.ini.php
with the below code:
[AbTesting]
; Change this value to adjust the accuracy rate
hyperLogErrorRate = 0.01
Additionally, you need to ensure the maximum number of rows to archive for HyperLogLog is sufficient for your chosen error rate. For example, a 1% error rate requires 16,384 buckets, resulting in 32,768 rows (buckets * 2). The default maximum of 64,000 rows comfortably accommodates this. If you increase accuracy (lower the error rate below the 1% default), you may need more rows and thus need to increase this maximum to allow HyperLogLog to function correctly.
To adjust the maximum number of rows to archive for HyperLogLog, update your configuration file located at config/config.ini.php
with the following code:
[AbTesting]
; Change this value to adjust the maximum number of rows to archive
datatable_archiving_maximum_hyperloglog_rows = 64000