Citeon
측정·지표·방법론 투명

AI 가시성 측정의 표본 크기는 얼마여야 하는가

김태오
김태오 · 그로스·퍼포먼스 리드
AI 가시성 측정의 표본 크기는 얼마여야 하는가

결론부터: AI 가시성을 한 번 측정한 숫자는 믿지 마라. 실무 최소선은 '질문 30개 이상 × 질문당 5회 이상 반복', 의사결정에 쓰는 공식 리포트라면 '질문 50개 이상 × 10회 이상'이다. 왜 이 숫자가 나오는지, 그리고 왜 '딱 떨어지는 정답'이 아니라 '오차범위와 함께 보고하는 설계'가 진짜 답인지를 끝까지 풀어 설명한다. 표본 크기 질문은 사실 두 개의 다른 질문이 겹쳐 있는데, 그걸 분리하지 못하면 영원히 노이즈를 성과로 착각하게 된다.

왜 'AI 가시성 표본 크기'가 일반 설문조사보다 어려운가

여론조사라면 표본 크기는 교과서 한 줄로 끝난다. 모집단에서 사람을 무작위로 뽑고, 각 사람의 답은 고정돼 있으니, 몇 명을 뽑느냐만 정하면 된다. 그런데 AI 검색 가시성 측정에는 일반 설문에 없는 두 번째 흔들림이 있다. 같은 질문을 같은 모델에게 두 번 물으면 답이 다르게 나온다.

비유하자면 이렇다. 여론조사는 '고정된 답을 가진 사람들을 몇 명 만날까'의 문제다. AI 가시성 측정은 '매번 마음이 바뀌는 사람들을, 몇 명을, 몇 번씩 만날까'의 문제다. 사람 수만 늘려서는 부족하다. 한 사람을 여러 번 만나 그 사람의 '평균 마음'까지 잡아야 한다. 그래서 표본 크기는 단일 숫자가 아니라 두 축의 곱(질문 수 × 반복 수)으로 설계해야 한다.

변동의 원천일반 여론조사AI 가시성 측정해결 수단
표본(질문) 선택 변동있음있음질문 개수를 늘린다
응답 자체의 변동거의 없음(답 고정)(같은 질문도 답이 흔들림)질문당 반복 횟수를 늘린다

이 두 번째 행이 AI 측정의 핵심이자 함정이다. 대부분의 'AI 가시성 점수'가 거짓말을 하는 이유는, 질문은 100개 넣었으면서 각 질문을 단 1번만 돌렸기 때문이다. 즉 '마음이 바뀌는 사람'을 100명 만났지만, 각 사람의 그날 기분 한 번씩만 받아 적은 셈이다.

같은 질문에 답이 흔들리는 이유 — RAG로 뜯어보기

왜 LLM은 같은 질문에 다른 답을 낼까? 이걸 이해해야 '반복 횟수가 왜 필요한지'가 손에 잡힌다. 현대 AI 검색은 대부분 RAG(Retrieval-Augmented Generation) 구조다. 2020년 Lewis 등이 제안한 이 방식은, 모델의 머릿속 지식(파라메트릭 메모리)만 쓰는 게 아니라 외부 문서를 실시간으로 검색해(retrieval) 그걸 근거로 답을 생성(generation)한다. 그 사이에 후보를 다시 줄 세우는 reranking이 끼면 retrieval → reranking → generation의 3단 파이프라인이 된다.

도서관 비유로 보자. 질문이 들어오면 (1) 사서가 서가에서 관련 책 수십 권을 꺼내 오고(retrieval), (2) 그중 질문에 가장 맞는 순서로 책상에 다시 정렬하고(reranking), (3) 정렬된 위쪽 몇 권만 펼쳐 읽고 답을 쓴다(generation). 문제는 이 세 단계 모두 미세하게 흔들린다는 점이다.

여기에 결정적 사실이 하나 더 있다. temperature=0(가장 결정적인 설정)으로 맞춰도 LLM 출력은 완전히 고정되지 않는다. GPU 부동소수점 연산 순서와 배치 처리 방식 때문에 같은 입력도 미세하게 다른 출력을 낸다. 한 분석에서는 2,350억 파라미터급 모델을 같은 질문으로 1,000번 돌렸더니 80가지 서로 다른 출력이 나왔다(arXiv:2602.14349, 6개 모델 480회 실험). '온도를 0으로 했으니 한 번만 재면 된다'는 가정은 처음부터 틀린 것이다.

흔들림의 모양: 정규분포가 아니라 멱법칙

표본 크기를 정하려면 '얼마나 흔들리는지'를 알아야 한다. 그런데 AI 인용의 흔들림은 점잖은 정규분포가 아니다. AI 가시성 불확실성을 정량화한 연구(arXiv:2603.08924)는 인용 빈도가 멱법칙(power-law)으로 출렁인다고 보고하고, 그래서 단일 측정에 의존하지 말고 다중 실행 + 부트스트랩 신뢰구간을 쓰라고 권한다.

멱법칙이라는 말이 어렵다면 이렇게 보면 된다. 대부분의 실행에서는 우리 브랜드가 0~1번 인용되는데, 가끔 한 번씩 5번, 7번씩 튀어 오르는 실행이 섞인다. 평균은 그 드문 폭발에 끌려다닌다. 한 번 측정했을 때 하필 그 '폭발한 실행'을 잡으면 가시성을 크게 과대평가하고, 하필 0번 나온 실행을 잡으면 '우린 전혀 안 보인다'고 과소평가한다. 두 경우 모두 진실이 아니라 노이즈다. 측정이 비결정적이라는 사실(단일 측정 = 노이즈)을 인정하는 데서 모든 게 시작한다.

첫 번째 축: 질문 몇 개여야 하나 (비율 오차범위)

SOV(Share of Voice)는 '특정 카테고리의 AI 답변들 중 우리 브랜드가 언급된 비율'이다. 비율이니까 통계학의 비율 오차범위 공식이 그대로 적용된다. 비율 p를 n개의 독립 측정으로 추정할 때 표준오차는 √(p(1−p)/n)이고, 95% 오차범위(margin of error)는 그 1.96배다. 원하는 오차범위 E를 거꾸로 풀면 필요한 표본 수가 나온다.

n = z² · p(1−p) / E²
  z = 1.96 (95% 신뢰)
  p = 추정 비율 (모르면 최악값 0.5 사용)
  E = 원하는 오차범위 (±)

예) p=0.5, E=±0.05  →  n ≈ 384
    p=0.5, E=±0.10  →  n ≈  96
    p=0.2, E=±0.05  →  n ≈ 246
    p=0.1, E=±0.05  →  n ≈ 138

여기서 그로스 리드의 현실 감각이 들어간다. 오차범위 ±5%를 맞추려고 질문 384개를 매주 돌리는 건 비용·시간상 비현실적이고, 사실 그렇게까지 정밀할 필요도 없는 의사결정이 대부분이다. 핵심은 '몇 개면 충분한가'가 아니라 '내가 내릴 결정이 어느 정도 오차를 견디느냐'를 먼저 정하는 것이다.

용도견딜 수 있는 오차질문 수(축1)
대략적 추세 감지(이번 달 좋아졌나?)±10%약 30~100
경쟁사 비교·내부 보고±7%약 100~200
예산 배분·계약 정산 근거±5%약 250~400

중요한 단서: 이 공식은 '각 측정이 독립적이고 답이 고정'이라는 가정 위에 있다. AI 측정은 그 가정을 깬다. 그래서 위 표의 질문 수는 '질문당 답을 안정적으로 잡았다는 전제 하의 하한선'이다. 그 전제를 만드는 게 두 번째 축이다.

두 번째 축: 질문당 몇 번 반복해야 하나

같은 질문을 한 번만 돌리면, 그 질문의 '진짜 인용 확률'이 아니라 '오늘 한 번의 동전 던지기 결과'를 기록하는 것이다. 멱법칙 흔들림 때문에 이 한 번은 특히 위험하다. 그래서 질문마다 여러 번(R회) 돌려 평균을 내야, 그 질문에서의 안정된 인용률을 얻는다.

통계학에는 이걸 정확히 표현하는 개념이 있다 — 설계효과(design effect)군집(clustering). 같은 질문의 여러 반복은 '독립 측정'이 아니라 한 질문 안에 묶인 군집이다. 반복을 늘릴수록 그 질문의 추정은 안정되지만, 반복 100번을 한 질문에 쏟는 것보다 질문 자체를 다양하게 늘리는 게 전체 SOV 추정에는 더 효율적이다. 둘 사이의 균형이 실무 설계의 묘미다.

경험적 균형점은 이렇다.

두 축을 곱하면 한 주의 측정 부하가 나온다. 질문 50개 × 10회 = 엔진 하나당 500회 쿼리/주. 엔진 4개면 2,000회다. 적지 않지만, 이게 '믿을 수 있는 숫자'의 실제 원가다.

보고서 한 줄의 차이 — 약한 예 vs 강한 예

표본 설계가 보고서 문장으로 어떻게 드러나는지가 가장 실용적이다. 같은 데이터라도 이렇게 갈린다.

상황❌ 약한 보고(단일 측정·점추정)✅ 강한 보고(표본·구간 명시)
SOV 수치"이번 주 ChatGPT SOV 18%""ChatGPT SOV 18% (95% CI 12~24%, 질문 50 × 10회)"
주간 변화"지난주 15% → 이번 주 18%, 개선됨""15%(11~19) → 18%(12~24), 구간 겹침 — 유의한 개선 아님"
경쟁사 비교"우리 18% vs 경쟁사 16%, 우리가 앞섬""18%(12~24) vs 16%(10~22), 사실상 동률"
엔진 차이"Perplexity가 ChatGPT보다 높다""엔진별 인용 소스가 달라(약 90% 비중복) 합산 비교는 메커니즘을 가림 — 엔진별로 분리 보고"

두 번째 행이 그로스 리드가 가장 자주 마주치는 함정이다. 15%에서 18%로 '3%p 올랐다'는 보고가 매주 올라오지만, 각 숫자의 오차범위가 ±6%p라면 그 변화는 측정 노이즈 안에서의 진동일 뿐 실제 개선이 아니다. 구간이 서로 겹치면 '달라졌다'고 말할 수 없다. 이 한 줄을 지키는 것만으로 헛된 의사결정의 절반이 사라진다.

점이 아니라 구간으로: 부트스트랩 신뢰구간

그럼 구간(CI)은 어떻게 구하나? 멱법칙 분포에는 정규분포를 가정한 공식이 잘 안 맞기 때문에, 분포 모양을 가정하지 않는 부트스트랩이 적합하다(arXiv:2603.08924의 권고와 같다). 절차는 직관적이다.

1. 측정 데이터: 질문 50개 × 10회 = 관측 500건 (각 0/1: 인용됨/안됨)
2. 이 500건에서 500건을 '복원추출'로 다시 뽑아 SOV 한 번 계산
3. 2번을 2,000번 반복 → SOV 값 2,000개의 분포
4. 그 분포의 2.5% / 97.5% 지점 = 95% 신뢰구간

비유하면, 한 번 측정한 데이터를 '여러 평행우주에서 다시 측정했다면 어땠을까'를 컴퓨터로 흉내 내는 것이다. 그 평행우주들의 SOV가 12~24%에 퍼져 있으면, 우리의 18%는 그만큼 불확실하다는 뜻이다. 구간이 좁으면 자신 있게, 넓으면 조심스럽게 말한다. 이게 '정직한 숫자'의 형태다.

표본 설계 전에 반드시 정할 두 가지

표본 크기만큼 결과를 좌우하는 게 질문 세트다. 통계가 아무리 정교해도 '무엇을 물었나'가 틀리면 측정 전체가 무의미하다.

1) 질문 세트가 결과를 지배한다

SOV는 던진 질문에 전적으로 의존한다. 우리 브랜드명을 넣은 질문만 모으면 SOV는 당연히 높게 나오고, 카테고리 일반 질문("○○ 추천")만 모으면 낮게 나온다. 그래서 질문 세트는 실제 고객의 구매 여정을 닮은 분포여야 한다 — 인지 단계의 넓은 질문, 비교 단계의 경쟁 질문, 결정 단계의 구체 질문을 현실 비중대로. 질문 세트를 공개·고정하지 않은 SOV 숫자는 비교 자체가 불가능하다.

2) '프롬프트 검색량'에 속지 마라

질문 세트를 짤 때 '사람들이 AI에 가장 많이 묻는 프롬프트'를 사오고 싶어진다. 하지만 그 데이터는 실측이 아니다. AI 챗봇 대화는 검색 엔진처럼 공개 색인되지 않으므로, 시중의 '프롬프트 검색량'은 시장의 1% 미만 패널을 모델링한 추정치다. Conductor는 이를 두고 "신뢰할 수 없는 검색량 데이터는 없는 것보다 나쁘다"고 못 박았다. 질문 세트는 외부 추정 볼륨이 아니라 우리 고객·세일즈·CS가 실제로 듣는 질문에서 출발해야 한다.

크롤러부터 열려 있어야 표본에 들어간다

마지막으로, 표본을 아무리 정교하게 설계해도 애초에 AI가 우리 사이트를 못 읽으면 인용 후보에조차 못 든다. AI 검색 엔진의 크롤러(GPTBot·OAI-SearchBot, PerplexityBot, ClaudeBot·anthropic-ai, Google-Extended 등)가 robots.txt에서 허용돼야 retrieval 후보 풀에 진입한다. 측정값이 계속 0에 가깝다면, 알고리즘 문제가 아니라 문 자체가 닫혀 있는 것일 수 있다. 표본 설계는 이 전제가 충족된 다음의 이야기다.

Citeon은 이 원리를 제품에 담았다

Citeon의 AI 가시성 측정은 '한 번 재서 점수 하나'를 주는 방식이 아니다. ChatGPت·Gemini·Perplexity·Claude 4개 엔진에서 인용(SOV)을 측정하되, 엔진별로 분리해서 본다 — 위에서 봤듯 엔진마다 인용하는 소스가 약 90% 다르기 때문에 합산은 메커니즘을 가린다.

가장 좋은 시작점은 비용 0의 무료 진단(₩0)이다. 지금 우리 브랜드가 4개 엔진에서 어떻게 보이는지, 그 숫자가 얼마나 흔들리는지부터 정직하게 확인하라. citeon.cloud에서 무료 AI 가시성 진단 받기 →

자주 묻는 질문

질문 100개를 1번씩 vs 질문 20개를 5번씩, 어느 쪽이 나은가요?

측정 목적에 따라 다르지만, AI 가시성에서는 후자(반복이 있는 쪽)가 거의 항상 안전합니다. 질문 100개를 1번씩 돌리면 각 질문의 답이 '그날 한 번의 동전 던지기'라 멱법칙 흔들림에 그대로 노출됩니다. 반면 반복이 있으면 각 질문의 인용률을 안정적으로 잡습니다. 다만 질문 20개는 카테고리 커버리지가 좁을 수 있으니, 현실적 절충은 '질문 30~50개 × 5~10회'입니다. 두 축 모두 최소선을 넘기는 게 핵심입니다.

temperature를 0으로 고정하면 반복 측정이 필요 없지 않나요?

아닙니다. temperature=0은 '가장 그럴듯한 토큰'을 고르게 만들 뿐, 출력을 완전히 고정하지 못합니다. GPU 부동소수점 연산 순서와 배치 처리 때문에 같은 입력도 다른 출력이 나옵니다. 한 분석에서는 대형 모델을 같은 질문으로 1,000번 돌렸을 때 80가지 출력이 나왔습니다. 게다가 실제 AI 검색은 실시간 웹 retrieval이 끼어들어 변동이 더 큽니다. temperature 설정과 무관하게 반복 측정은 필요합니다.

신뢰구간이 너무 넓게 나오면 어떻게 줄이나요?

구간 폭은 대략 표본 크기의 제곱근에 반비례합니다. 즉 구간을 절반으로 줄이려면 측정 횟수를 약 4배로 늘려야 합니다. 현실적 우선순위는 ① 질문당 반복 횟수를 먼저 충분히(최소 5, 가능하면 10) 확보해 질문별 추정을 안정시키고 ② 그다음 질문 개수를 늘려 카테고리 변동을 줄이는 것입니다. 무한정 정밀하게 만들 필요는 없습니다 — '내릴 결정이 견디는 오차'까지만 줄이면 됩니다.

주간 변화가 개선인지 노이즈인지 어떻게 판단하나요?

두 시점의 신뢰구간이 서로 겹치는지를 봅니다. 지난주 15%(11~19)에서 이번 주 18%(12~24)로 점추정은 올랐지만 구간이 크게 겹치면, 통계적으로 '유의한 개선'이라 말할 수 없습니다. 진짜 변화를 빨리 잡고 싶다면 단일 주 비교 대신 4주 이동추세를 보거나, 표본을 키워 구간을 좁히세요. Citeon의 주간 모니터링은 이 추세 관점을 기본으로 제공합니다.

엔진 4개의 SOV를 하나로 합쳐 보고해도 되나요?

권하지 않습니다. 엔진마다 인용하는 소스 구성이 약 90% 다릅니다(예: 한쪽은 위키 계열, 다른 쪽은 커뮤니티 계열 비중이 큼). 합산하면 어느 엔진에서 왜 보이고 안 보이는지가 평균에 묻혀 처방을 짤 수 없습니다. 표본 설계와 신뢰구간은 엔진별로 따로 계산하고, 보고도 엔진별로 분리하는 것이 정석입니다.

참고자료

김태오
김태오 · 그로스·퍼포먼스 리드

AI 검색 유입을 전환·매출로 잇는 광고·어트리뷰션을 다룹니다. 숫자로 말하는 걸 좋아합니다.

내 사이트의 AI 검색 점수가 궁금하다면

30초 무료 진단으로 SEO·AEO·GEO 점수와 처방을 받아보세요.

무료 진단 시작
← 인사이트 목록으로