[t:/]$ 지식_

AB 테스트를 위한 UID 분할

2018/01/26

키분포가 보는 관점에 따라 바이어스 되어 있을 수 있다. 예를 들어 끝자리가 0으로 끝나는 키가 90%이고 0으로 끝나지 않는 키가 10%인 키집단을 예상해보자. 이때 단순히 모듈러(나머지) 연산을 취해서 키를 분할하면 9:1이 되버린다.

그러므로 다음 할 일은 상식적인 해시를 돌리는 것이다. 자바해시나 하이브해시를 돌리면 음수까지 나온다. n으로 나눠서 나머지 값으로 분할하는 경우, (n - 1) * 2 + 1 개의 분할을 갖는다. 홀수라서 어정쩡하다.

이제 그 다음 만만한 MD5를 돌려서 10으로 나눠보았다. 키가 심각하게 편중된 결과가 나온다.

결과적으로 고대의 유산인 CRC32을 돌려보았다. 10분할에서 고루 분포된 결과가 나온다.









[t:/] is not "technology - root". dawnsea, rss