봇 탐지에서 오탐(false positive)의 실제 비용: 정확도 99%로는 충분하지 않은 이유
대부분의 플랫폼에서 정상 트래픽은 봇을 압도한다. 그래서 오탐률 1%는 잡아낸 봇 전체보다 더 많은 실제 고객을 차단한다. 봇 탐지가 도움이 되는지, 조용히 매출을 갉아먹는지 가르는 기저율 계산.
봇 탐지는 정확도 수치로 마케팅된다. 탐지율 99%. 오탐률 0.5%. 정확도 99.5%. 이런 숫자는 안심을 준다. 하지만 실제 경제성을 가린다.
문제는 대부분의 플랫폼에서 정상 트래픽이 봇 트래픽을 압도한다는 점이다. 실제 사용자 100만 명과 봇 10만 명을 처리할 때, 정상 쪽의 오탐률이 아무리 작더라도 그로 인해 차단되는 고객 수는 사기 쪽에서 잡아낸 봇 전체 수보다 많아진다.
이 글은 여러분의 봇 탐지가 도움이 되는지 해가 되는지를 결정하는 계산을 짚어 본다.
기저율 문제
현실적인 숫자에서 시작하자. 중견 이커머스 플랫폼이 월 500만 명의 방문자를 처리한다. 이 가운데 15%가 봇 — 스크래퍼, 가격 비교 에이전트, 사기 자동화 — 이다. 즉 봇 방문자 75만 명과 정상 방문자 425만 명이다.
이제 양쪽 모두에 정확도 99%의 탐지 시스템을 적용해 보자.
-
참 양성(정상적으로 차단된 봇): 750,000 × 0.99 = 742,500
-
거짓 음성(빠져나간 봇): 750,000 × 0.01 = 7,500
-
참 음성(정상적으로 허용된 실제 사용자): 4,250,000 × 0.99 = 4,207,500
-
거짓 양성(잘못 차단된 실제 사용자): 4,250,000 × 0.01 = 42,500
거짓 양성 수는 거짓 음성 수를 5.6배 초과한다. 그리고 월 42,500명의 차단된 고객은 상당한 매출 영향이다.
평균 전환율 2%, 평균 주문 금액 $80을 적용하면, 이 42,500명의 차단된 사용자는 월 850건의 차단된 구매, 즉 $68,000의 매출 손실을 뜻한다. 직접적인 손실이다.
프레이밍이 중요한 이유
탐지 벤더는 정확도를 탐지율 99%, 오탐률 1%로 보고한다. 대칭처럼 들리기 때문이다. 양쪽의 1%가 시각적으로 동등한 무게를 갖는다.
올바른 프레이밍은 이렇다. 정상적으로 잡아낸 봇 1마리당, 잘못 차단하는 실제 고객은 몇 명인가?
위 숫자에서 그 비율은 거짓 양성 42,500 대 참 양성 742,500 — 봇 17.5마리를 잡을 때마다 실제 고객 1명이 차단되는 셈이다.
기저율이 달라지면 그림은 극적으로 바뀐다. 봇이 트래픽의 15%가 아니라 5%라면, 같은 오탐률 1%가 잡아낸 봇과 거의 맞먹는 수의 고객을 차단한다. 봇이 트래픽의 1%라면, 거짓 양성이 참 양성을 4배로 앞선다.
정확도 수치보다 기저율이 더 중요하다.
차단된 고객의 하류 비용
직접 매출 손실은 겉면에 불과하다. 오탐의 실제 비용에는 다음이 포함된다.
생애 가치(LTV) 손실. 첫 시도에서 오탐으로 차단당한 고객은 대개 돌아오지 않는다. 이커머스 연구에 따르면 마찰을 겪은 첫 방문자의 30~40%가 영구히 이탈한다. 평균 고객 LTV가 $200이라면, 첫 방문 오탐 한 건의 비용은 단일 거래 매출 $2가 아니라 기대 LTV 기준 $60에 가깝다.
고객지원 비용. 차단된 사용자 일부는 지원팀에 연락해 불만을 제기한다. 지원 상호작용당 평균 $8일 때, 오탐의 10%가 티켓을 발생시킨다면 월 $34,000의 추가 지원 비용이 된다.
평판 훼손. 차단된 사용자는 리뷰를 남긴다. 정상 사용자를 차단하는 서비스에 대한 공개 리뷰는 신규 고객의 전환에 복리로 영향을 미친다.
마케팅 효율 손실. CAC가 $30이고 유료 획득 트래픽의 10%가 잘못 차단된다면, 여러분은 데려오자마자 즉시 돌려보내는 고객에게 $30을 지불하는 셈이다. 규모가 커지면 이것은 사기 대시보드 어디에도 나타나지 않은 채 마케팅 효율을 조용히 죽인다.
오탐의 전체 경제적 비용은 보통 즉각적인 거래 손실의 15~30배에 달한다. 이 때문에 오탐률은 봇 탐지 시스템의 실제 가치를 좌우하는 가장 중요한 단 하나의 숫자가 된다.
오탐은 어디에서 오는가
원인을 이해하면 줄이는 데 도움이 된다. 가장 흔한 출처는 다음과 같다.
프라이버시 중심 브라우저. Brave, 엄격한 추적 방지를 켠 Firefox, 프라이버시를 강화한 Chrome은 핑거프린트 출력을 변조하는 확장 프로그램을 설치한다. canvas나 WebGL 핑거프린트에 의존하는 탐지 시스템은 프라이버시를 중시하는 정상 사용자를 다수 플래그로 표시한다.
VPN 사용자. 인구의 상당 비율이 상용 VPN을 사용한다 — 일부 시장에서는 최대 30%에 이른다. VPN 트래픽에 페널티를 주는 탐지 시스템은 이런 사용자를 차단한다. VPN 사용이 흔한 시장(인도, 중국, 이란, 러시아)에서는 이로 인해 고객 기반의 큰 세그먼트가 통째로 사라질 수 있다.
기업 네트워크. 엔터프라이즈 환경은 트래픽을 기업 프록시와 SASE 스택을 거쳐 라우팅한다. 출구 IP가 봇 인프라를 닮은 방식으로 뭉친다 — 하나의 IP에서 나오는 다수 사용자, 높은 볼륨, 기계 생성된 요청 헤더. 소매 트래픽에 맞춰 튜닝된 탐지 시스템은 엔터프라이즈 사용자를 오분류한다.
구형 기기. 5년 된 폰과 8년 된 노트북을 쓰는 사용자는 WebGPU 지원이 낮고, 폰트 세트가 빠져 있으며, GPU 드라이버가 오래됐다. 이들의 핑거프린트는 주류와 전혀 닮지 않았고, 중간값 하드웨어에 맞춰 튜닝된 탐지 시스템은 이들을 플래그로 표시한다.
정당한 이유의 자동화. 스크린 리더, 비밀번호 관리자, 접근성 도구 — 이 모두는 자동화를 닮은 방식으로 페이지와 상호작용한다. 보조 기술에 의존하는 장애가 있는 사용자는 특히 봇 탐지 오탐에 취약하다.
트레이드오프는 선형이 아니다
오탐에 대한 자연스러운 대응은 탐지 임계값을 높이는 것이다. 차단하기 전에 더 많은 증거를 요구한다. 이는 오탐을 거짓 음성과 맞바꾼다 — 일부 진짜 봇이 빠져나가지만, 차단되는 실제 사용자는 줄어든다.
이 트레이드오프는 선형이 아니다. 봇 탐지 점수는 뭉치는 경향이 있다. 대부분의 정상 사용자는 매우 낮은 점수를 받고, 대부분의 봇은 매우 높은 점수를 받으며, 좁은 중간 구간만이 모호하다. 그 모호한 구간 안에서 임계값을 옮기면 한 번에 많은 방문자의 분류가 바뀐다.
임계값 0.90에서는 봇의 99%를 잡고 사람의 1.5%를 차단할 수 있다. 임계값 0.95에서는 봇의 97%를 잡고 사람의 0.4%를 차단한다. 임계값 0.98에서는 봇의 88%를 잡고 사람의 0.1%를 차단한다.
올바른 선택은 여러분의 경제성에 달려 있다. 고마진 비즈니스(SaaS, 고가 상품)는 고객 경험을 지키기 위해 더 많은 봇을 감내할 수 있다. 사기 노출이 큰 저마진 비즈니스(iGaming, 크립토)는 높은 오탐률을 감수하더라도 공격적인 탐지가 필요할 수 있다. 보편적으로 옳은 임계값은 없다.
정확도보다 나은 지표
정확도가 오해를 부른다면, 대신 무엇을 측정해야 하는가?
사람 트래픽에 대한 정밀도(precision). 봇으로 분류된 방문자 전체 중 실제로 봇은 몇 명인가? 이것은 "내가 실제 고객을 얼마나 차단하고 있는가"에 대한 직접적인 답이다.
비용 보정 정밀도. 참 양성에는 방지한 사기 가치로, 거짓 양성에는 잃어버린 고객 LTV로 가중치를 부여한다. 이는 비즈니스 영향에 매핑되는, 달러 단위로 표현된 지표를 만든다.
세그먼트별 정확도. 지표를 트래픽 출처, 지역, 기기 유형별로 분해하라. 탐지 품질은 세그먼트마다 엄청나게 다른 경우가 많다 — 데스크톱 Chrome에서 99% 정확한 시스템이 모바일 Safari에서는 85% 정확할 수 있다.
불만 접수율. 차단된 사용자 중 몇 명이 지원팀에 연락하는가? 이것은 레이블링된 정답 데이터에 의존하지 않는, 오탐률의 현실 세계 대리 지표다.
벤더는 보통 이런 숫자를 보고하지 않는다. 원시 정확도보다 덜 돋보이기 때문이다. 하지만 이것들이야말로 그 시스템이 순이익인지 숨은 비용 센터인지를 결정하는 숫자다.
단계적 대응
가장 성능이 좋은 시스템은 방문자를 봇이냐 사람이냐로 이진 분류하지 않는다. 점수를 매기고 단계적 대응을 적용한다.
-
매우 높은 확신의 봇 → 즉시 차단
-
높은 확신의 봇 → 챌린지 제공(CAPTCHA, JavaScript 검사, 2차 인증)
-
모호함 → 모니터링과 함께 정상 제공
-
확실한 사람 → 정상 제공
이 구조는 단일 분류 오류의 피해를 억제한다. 즉시 차단 단계에서의 오탐은 고객을 잃게 한다. 챌린지 제공 단계에서의 오탐은 약간의 마찰을 유발하지만 고객은 대개 챌린지를 통과한다. 모니터링 단계에서의 오탐은 어떤 행동이 진짜 의도를 드러내기 전까지 아무 비용도 들지 않는다.
이진 차단/허용 결정만 지원하는 시스템은 이 구조를 쓸 수 없다. 이들은 모든 오탐의 전체 비용을 치른다.
탐지 벤더에게 요구해야 할 것
이 계산을 감안하면, 세 가지는 타협 불가여야 한다.
실험실 벤치마크가 아닌 실제 트래픽에 대한 정밀도 보고. 어떤 벤더든 큐레이팅된 테스트 세트에서 99%를 보고할 수 있다. 중요한 것은 여러분의 트래픽 구성에서의 프로덕션 성능이다.
단계적 대응 옵션. 시스템이 차단/허용만 제공한다면, 여러분은 모든 분류 오류에 대해 가장 비용이 큰 결과에 묶이게 된다.
세그먼트 분해. 집계된 정확도는 시스템이 실패하는 세그먼트를 숨긴다. 지역 사용자, 모바일 사용자, 구형 기기 사용자, VPN 사용자 — 시스템이 이 그룹들을 조용히 차단하고 있는지 알아야 한다.
99%라는 숫자는 틀리지 않았다. 다만 불완전할 뿐이다. 봇 탐지가 여러분의 비즈니스에 도움이 되는지 해가 되는지를 실제로 결정하는 것은 오탐의 경제성이다. 그 조건으로 대화하기를 꺼리는 벤더는 잘못된 것을 최적화하고 있는 것이다.