홈 / 사용 가이드

뽑고 추첨 검증 보고서 (2026년 10월)

돋보기로 막대그래프와 체크 표시를 살펴보는 그림

뽑고는 「모든 참가자에게 같은 확률」이라고 말합니다. 말만으로는 믿을 수 없으니, 이 사이트가 실제로 쓰는 추첨 코드를 그대로 불러다가 수백만 번 돌려 결과의 분포를 재었습니다. 방법, 결과, 한계를 숨김없이 적습니다.

무엇을 어떻게 쟀나

사이트의 추첨 코드(packages/domain)를 수정 없이 그대로 호출했습니다. 따로 구현한 복사본을 시험하면 그것은 사이트가 아니라 복사본을 시험하는 것이기 때문입니다. 실행 환경은 Node.js v23.10.0(V8 엔진), 2026년 10월 13일 실행입니다.

각 시험은 「기대하는 확률」과 「실제로 나온 비율」을 비교합니다. 비교에는 카이제곱 값을 썼습니다. 이 값은 관측과 기대의 거리를 하나의 수로 줄인 것으로, 자유도에 따라 정해진 5% 기준값보다 작으면 「우연의 범위 안」으로 봅니다. 아주 공정한 도구도 스무 번 검정하면 한 번은 이 기준을 넘길 수 있다는 점을 염두에 두어야 합니다.

결과 요약

아래 표가 전체 결과입니다. 확률이 25%나 50%처럼 하나로 정해지는 시험은 모든 칸이 그 값 근처에 들어오는지를 범위로 적었습니다.

시험 결과 요약
시험횟수관측된 확률의 범위카이제곱5% 기준판정
섞기 (4항목)1,000,0004.121% ~ 4.198%24.735.172기준 이내
숫자 하나 (0~9)5,000,0009.974% ~ 10.023%816.919기준 이내
룰렛 (7칸, 추첨 함수)3,000,00014.241% ~ 14.316%712.592기준 이내
사다리 (4명)400,00024.78% ~ 25.17%——25% 근처
팀 나누기 (30명→4팀)300,00049.87% ~ 50.08%——50% 근처
레이스 입력 첫째 (20명)1,000,0004.95% ~ 5.03%17.130.144기준 이내
레이스 입력 마지막 (20명)1,000,0004.96% ~ 5.05%27.730.144기준 이내
레이스 입력 첫째 · 재시행1,000,0004.95% ~ 5.05%25.230.144기준 이내
레이스 입력 마지막 · 재시행1,000,0004.97% ~ 5.03%10.530.144기준 이내

처음에 기준을 넘은 값이 하나 있었습니다

솔직하게 적습니다. 처음 실행에서 레이스 20명 시험의 한 값(입력 첫째)이 31.3으로 5% 기준 30.1을 살짝 넘었습니다. 검정이 여러 개이면 우연히 넘는 일이 있기 때문에 같은 시험을 독립으로 다시 돌렸고, 전체 스크립트를 다시 실행한 결과에서는 모든 값이 기준 안에 들어왔습니다. 위 표에는 재실행 결과와 그 안의 재시행 값을 그대로 실었고, 처음 실행 결과 파일도 이 글 아래 「참고한 자료」에 함께 공개했습니다.

한 번의 이탈이 곧 편향은 아니라는 것, 그리고 그런 이탈을 숨기지 않고 다시 확인하는 것이 검증의 일부라는 점을 기록해 둡니다.

과거에 실측으로 찾아 고친 편향

이런 시험은 실제로 문제를 찾아낸 적이 있습니다. 팀 나누기에서 참가자를 「순서대로 팀에 돌려 배정」하는 방식은, 나누어떨어지지 않을 때 남는 인원이 늘 앞 팀부터 가게 만듭니다. 30명을 4팀으로 나누면 항상 8·8·7·7이고 어느 팀이 큰지도 고정되어, 참가자가 「1팀」에 들어갈 확률이 26.8%, 「4팀」은 23.2%로 나왔습니다(20만 회 실측).

지금은 어느 팀이 한 명 더 받을지도 무작위로 뽑습니다. 같은 조건에서 8명 팀이 어느 번호 팀인지의 분포는 49.87%~50.08%로 고르고, 한 참가자가 1팀에 들어갈 확률은 사람마다 24.83%~25.23%로 이상적인 25%에 가깝습니다.

이 보고서가 말해 주지 않는 것

이 시험들은 「결과의 분포가 고르다」는 것만 보여 줍니다. 난수의 출처가 예측 불가능한지, 여러분의 기기나 브라우저가 변조되지 않았는지는 증명하지 못합니다. 상금이 걸린 추첨이나 법적인 효력이 필요한 추첨에는 알맞지 않다는 말은 추첨 방식 안내에 이미 적어 두었습니다.

또 사용한 크기(4항목, 7칸, 20명 등)는 대표적인 경우를 고른 것이라 모든 인원을 다 시험한 것은 아닙니다. 다만 같은 함수가 인원 수만 바꿔 쓰이므로, 다른 크기에서도 같은 성질이 유지될 것으로 기대합니다.

같은 시험을 다시 해 보고 싶다면

시험은 사이트의 추첨 함수를 그대로 호출하는 스크립트로 했고, 이번 결과 파일은 이 글 아래 「참고한 자료」에서 내려받을 수 있습니다. 같은 시험을 다시 돌리면 1~2분이 걸리고, 실행할 때마다 숫자는 조금씩 달라지지만 판정은 같아야 정상입니다. 이 사이트에서 이상한 결과를 겪으셨다면 문의 페이지로 알려 주세요. 어떤 도구에서 몇 명으로 몇 번 반복했는지 알려 주시면 같은 조건으로 재현해 보겠습니다.

참고한 자료

바로 써 보기

이런 글도 있어요