В A / B-тестировании довольно распространено разделение по модулю артеметики, но это часто приводит к перекрывающимся экспериментам, т. Е. Если вы использовали id% 2 == 0 в качестве критерия разделения, один набор пользователей будет постоянно попадать в контроль или эксперимент.
Решение, о котором я слышал, заключается в использовании хеширования. Я хочу объединить user_id
с именем эксперимента, хэшировать его, а затем преобразовать его в число с плавающей запятой между 0 и 1. Я знаю, как сделать хеширование (Digest::MD5::hexdigest('test').to_i(16)
), но я не совсем понимаю следующие шаги для преобразование в число с плавающей точкой от 0 до 1.
Какие шаги?