도구스개발

표본 추출 확률 계산기

샘플링한 로그에서 원래 건수를 되추정할 때의 오차범위를 계산합니다. 드문 사건이 표본에 걸릴 확률도 함께 내며, 추출률 1%로 100건이면 실제는 8,100~12,200건이라는 것을 보여 줍니다.

이 사건이 표본에 한 번이라도 걸릴 확률을 계산합니다.

3번 일어난 사건이 표본에 걸릴 확률

2.97%

뒤집으면 97.03%는 흔적도 남지 않는다는 뜻입니다

각 항목이 뽑힐 확률 (k/N)1%
한 번이라도 걸릴 확률2.9701%
한 번도 안 걸릴 확률97.0299%
표본에 걸릴 기대 횟수0.03
절반 넘게 걸리려면 몇 번 일어나야 하나69번
이 사건은 표본에 안 남을 가능성이 더 큽니다 (97%). 3번 일어났는데 추출률이 1%뿐이라 그렇습니다. 절반 넘게 잡으려면 69번은 일어나야 합니다.샘플링을 걸어 둔 채 «로그에 그런 오류가 없었다»고 말하면 안 되는 이유가 이것입니다. 없는 것이 아니라 안 잡힌 것일 수 있습니다. 오류처럼 드물지만 중요한 것은 샘플링에서 빼거나 (테일 기반 샘플링), 100%로 따로 받는 편이 안전합니다.
리저버 샘플링은 전체 개수를 몰라도 균등합니다. 흘러오는 자료에서 k개를 뽑되 모든 항목이 정확히 k/N 확률로 남게 하는 알고리즘입니다. 앞의 k개는 그냥 담고, i번째(i > k)는 확률 k/i로 담되 담을 때 기존 중 하나를 무작위로 밀어냅니다.i번째가 끝까지 살아남을 확률은 «들어갈 확률 k/i»에 «그 뒤 매 단계에서 안 밀려날 확률»을 곱한 것인데, 뒤의 곱이 i/N으로 정리되어 결국 k/N이 됩니다. 자료를 한 번만 훑고 메모리도 k만큼만 쓰기 때문에, 전체 개수를 모르는 스트림에서 표본을 뽑을 때 표준으로 쓰입니다.
추출률 샘플링과 «k개 뽑기»는 다릅니다. 이 계산기의 «표본에 걸릴 확률»은 N개 중 정확히 k개를 뽑는 경우(초기하분포)이고, «되추정»은 각 건을 독립적으로 확률 r로 남기는 경우(이항분포)입니다. APM·트레이싱 도구가 하는 것은 대개 뒤쪽이라 표본 크기가 매번 달라집니다. N이 크면 두 결과는 사실상 같아집니다.트레이스 단위로 샘플링하는지 스팬 단위로 하는지, 앞에서 자르는지(헤드) 뒤에서 자르는지(테일)에 따라 «추출률»의 뜻이 달라지므로 실제 도구의 설정을 확인하고 넣어야 합니다.입력한 값은 브라우저 안에서만 계산되며 서버로 전송되지 않습니다.

사용 방법

  1. 1«표본에 걸릴 확률»에서는 전체 건수와 뽑을 개수를 넣습니다.
  2. 2관심 있는 사건이 몇 번 일어났는지 넣으면 표본에 한 번이라도 걸릴 확률이 나옵니다.
  3. 3«원래 건수 되추정»으로 넘어가면 표본에서 관측된 건수와 추출률을 넣습니다.
  4. 4점추정과 95% 신뢰구간이 나옵니다. 구간이 얼마나 넓은지 꼭 보세요.
  5. 5오차를 ±10% 안으로 줄이려면 표본에 몇 건이 잡혀야 하는지도 함께 나옵니다.

자주 묻는 질문

점추정으로는 그렇지만 실제 값은 8,146~12,151건 사이 어디든 될 수 있습니다(95% 신뢰구간). ±20%쯤 되는 폭입니다. 잡힌 건수 자체가 매번 달라지는 확률변수라서 그렇습니다. 이 폭을 모르고 «어제 10,000건, 오늘 11,000건이니 10% 늘었다»고 읽으면 잡음을 신호로 오해하게 됩니다.

표본에 잡히는 건수를 늘려야 합니다. 상대 오차는 대략 z÷√k라서, ±10% 안으로 들어오려면 표본에 385건이 잡혀야 합니다(95% 기준). 추출률을 올리거나 집계 구간을 넓혀 잡히는 건수를 키우면 됩니다. 전체 건수가 아니라 «표본에 잡힌 건수»가 정확도를 정한다는 점이 중요합니다.

약 3%입니다. 97%는 흔적도 남지 않습니다. 그래서 샘플링을 걸어 둔 채 «로그에 그런 오류가 없었다»고 말하면 안 됩니다. 없는 것이 아니라 안 잡힌 것일 수 있습니다. 절반 넘게 잡히려면 69번은 일어나야 합니다.

오류처럼 드물지만 중요한 것은 샘플링에서 빼거나 100%로 따로 받는 것이 안전합니다. 트레이싱 도구라면 요청이 끝난 뒤에 결과를 보고 남길지 정하는 테일 기반 샘플링을 쓰면 오류만 골라 남길 수 있습니다. 다만 그러려면 트레이스를 잠시 모아 두어야 해서 비용이 더 듭니다.

앞의 k개는 그냥 담고 i번째(i > k)는 확률 k/i로 담되 담을 때 기존 중 하나를 무작위로 밀어내기 때문입니다. i번째가 끝까지 살아남을 확률은 «들어갈 확률 k/i»에 «그 뒤 매 단계에서 안 밀려날 확률»을 곱한 것인데, 뒤의 곱이 i/N으로 정리되어 결국 k/N이 됩니다. 전체 개수 N을 몰라도 되고 자료를 한 번만 훑으며 메모리도 k만큼만 씁니다.

이항분포를 N에 대해 뒤집어 얻는 구간이기 때문입니다. 관측 k건이 나올 만한 N의 범위를 찾는 것이라 위쪽이 아래쪽보다 넓습니다. 흔히 쓰는 어림 공식 ±z√k÷추출률은 좌우 대칭이라 건수가 적으면 크게 어긋나고, 심하면 «음수 건수»를 내놓기도 합니다.

다릅니다. N개 중 정확히 k개를 뽑으면 초기하분포이고, 각 건을 독립적으로 확률 r로 남기면 이항분포입니다. APM·트레이싱 도구가 하는 것은 대개 뒤쪽이라 표본 크기가 매번 달라집니다. N이 크면 두 결과는 사실상 같아집니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이루어지며 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 되추정 신뢰구간은 이항분포를 N에 대해 뒤집어 얻는 정확 구간이며, scipy로 N을 하나씩 올려 가며 구한 값과 정확히 일치하는 것을 확인했습니다.
  • «표본에 걸릴 확률»은 초기하분포, «되추정»은 이항분포를 씁니다. 실제 도구가 어느 방식으로 샘플링하는지 확인하고 넣어야 합니다.
  • 트레이스 단위인지 스팬 단위인지, 헤드 기반인지 테일 기반인지에 따라 «추출률»의 뜻이 달라집니다.
  • 이 계산은 모든 건이 같은 확률로 뽑힌다는 것을 전제합니다. 특정 엔드포인트나 사용자만 다른 비율로 샘플링하고 있다면 그대로 쓸 수 없습니다.
  • 입력한 값은 브라우저 안에서만 계산되며 서버로 전송되지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 8월 31일 · 결과는 참고용 추정치입니다.