사전 노트 — 본 글은 내가 운영하는 공연 사이트의 접속 데이터를 직접 들여다본 기록이다. 모든 수치는 2026년 6월 2–15일의 실측 표본이며, 사용자 식별 정보는 다루지 않는다.
어제 하루, 내 사이트에서 공연 상세를 연 사람은 462명이었다.
지난 일주일 내내, 이 숫자는 Firebase 가 집계한 DAU(하루 400명 안팎)와 거의 같은 곳을 가리키고 있었다.
예를 들어 6월 11일 — DB 397명, Firebase 400명. 거의 한 몸이다.
서로 다른 두 시스템이 비슷한 답을 내놓으니, 나는 잠깐 안심했다.
그런데 며칠 더 거슬러 올라가 보니, 이야기가 달라졌다.
1. 두 숫자가 어긋나는 자리
내겐 사람 수를 재는 두 개의 자가 있다.
하나는 DB. 공연 상세를 연 사람을 직접 기록한다. 하나는 Firebase. 사이트에 들어온 활성 사용자를 센다.
최근 일주일은 둘이 잘 맞았다.
| 날짜 | DB(상세 연 사람) | Firebase DAU |
|---|---|---|
| 6/13 | 440 | 421 |
| 6/12 | 418 | 479 |
| 6/11 | 397 | 400 |
| 6/10 | 435 | 465 |
| 6/08 | 436 | 496 |
그런데 6월 초로 내려가면 —
| 날짜 | DB(상세 연 사람) | Firebase DAU |
|---|---|---|
| 6/07 | 157 | 486 |
| 6/05 | 149 | 538 |
| 6/03 | 147 | 478 |
| 6/02 | 150 | 395 |
DB 는 150 인데, Firebase 는 480.
세 배가 넘게 벌어진다.
2. 어긋남은 노이즈가 아니다
만약 내가 DB 숫자 하나만 보고 있었다면, 나는 이렇게 결론 내렸을 것이다.
"6월 초엔 사람이 별로 없었구나. 그 뒤로 트래픽이 세 배가 됐구나."
그럴듯한 이야기다. 그리고 틀린 이야기다.
Firebase DAU 는 6월 초부터 줄곧 하루 400명 안팎(395–538)으로 평평했다. 사람은 처음부터 매일 ~480명씩 오고 있었다.
바뀐 것은 트래픽이 아니라, 내가 그들을 기록하는 비율 이었다.
6월 초엔 들어온 사람의 30% 만 DB 에 남았다. 어느 시점부터 90% 가 남기 시작했다.
그 경계는 사이트 구조를 바꾼 날과 정확히 겹쳤다. 새 프론트엔드가 모든 상세 진입을 빠짐없이 기록하기 시작한 날.
즉, 두 숫자가 어긋난 자리는 트래픽의 변화 가 아니라 내 계측의 사각(死角) 이었다.
한 숫자만 봤다면 영영 몰랐을 구멍을, 두 번째 숫자가 정확히 짚어 줬다.
측정이 맞을 때는 신뢰의 근거가 되고, 어긋날 때는 결함의 위치를 가리킨다.
이게 숫자를 두 개 이상 두는 진짜 이유다.
3. 보이지 않는 23%
같은 데이터를 다른 각도에서 보면, 더 이상한 게 나온다.
DB 에 쌓인 8만 9천 건의 조회 기록 중, 브라우저(사람)로 보이는 건 약 59%. 봇/크롤러가 23%. 나머지는 식별 불가.
그리고 가장 많이 찍힌 단일 정체 는 사람이 아니었다.
Applebot. 애플의 크롤러. 13,362건. 어떤 사람 브라우저보다도 많이 내 공연 페이지를 "봤다".
그 뒤로 메타 크롤러 5,684건, 바이두 1,022건, 바이트댄스, 구글 광고봇, 소거우… 검색·AI·광고 회사들의 수집기가 줄을 섰다.
흥미로운 건, 이 23% 가 Firebase DAU 에는 거의 잡히지 않는다는 점이다. Firebase 는 알려진 봇을 자동으로 걸러내니까.
그래서 두 측정은 같은 사람 을 보면서, 서로 다른 비사람 을 본다. DB 는 봇을 보고, Firebase 는 못 본다.
어느 쪽이 맞나? 둘 다 맞다. 다만 무엇을 사람으로 칠 것인가 를 서로 다르게 정의했을 뿐이다.
4. 사람은 시간을 안다
봇과 사람을 가르는 가장 정직한 신호는, 뜻밖에도 시계 였다.
하루 24시간에 조회를 펼쳐 보면 —
사람은 일주기를 갖는다. 새벽 4시에 바닥(75건), 낮 11시에 정점(363건). 자고, 일어나고, 점심에 몰리고, 저녁에 다시 몰린다.
봇은 정반대다. 새벽 4시에 정점(275건). 사람이 가장 적은 그 시각에 가장 바쁘다. 낮엔 잠잠하다.
두 곡선을 겹치면 거의 거울상 이다.
사람은 밤에 자고, 봇은 그때 깬다.
라벨(UA)을 신뢰하지 않아도 된다. 시간표만 봐도 누가 사람이고 누가 기계인지 드러난다.
5. 같은 이름, 다른 정체
봇을 들여다보다 한 가지가 눈에 걸렸다.
네이버의 Whale 브라우저가 전체의 16.5%, 14,659건이나 찍혀 있었다. "네이버가 봇을 돌리나?" 싶었다.
아니었다.
Whale 은 네이버의 사람용 웹 브라우저 다. 진짜 사람. 네이버의 봇 은 따로 있다. Yeti 라는 크롤러.
그리고 Yeti 는 DB 에 단 0건이었다. 사이트가 입구에서 이미 차단하고 있었기 때문이다.
같은 "네이버" 라는 이름 아래, 하나는 사람으로 16.5% 가 들어오고, 하나는 봇으로 0이 됐다.
이름이 아니라, 우리가 그은 선 이 둘을 갈랐다.
결론 없는 관찰
이 작업이 내게 가르쳐 준 것은 어떤 정답 이 아니었다.
오히려 숫자를 다루는 태도에 대한 작은 단서였다.
하나의 숫자는 믿지 않는다. 두 개의 숫자가 같은 곳을 가리킬 때 비로소 믿고, 어긋날 때는 그 어긋남이 어디를 가리키는지 본다.
그리고 한 가지 더.
DAU 든 조회수든, 어떤 지표도 사람 을 직접 세지 않는다. 그것은 우리가 사람이라고 정의한 것 을, 우리가 포착할 수 있었던 만큼만 센다.
내 6월 초 데이터가 비어 보였던 건 사람이 없어서가 아니라 내가 못 봤기 때문이고, 내 최대 방문자가 사람이 아니라 크롤러였던 건 내가 그어 둔 선이 그랬기 때문이다.
숫자는 세상을 보여주는 창문이 아니다. 숫자는 우리가 무엇을 보기로 했는지 를 보여주는 거울에 가깝다.
Field Notes 는 결론을 내리기 위한 기록 이 아니다. 현상을 관찰하기 위한 기록 이다.
그리고 때때로, 하나의 지표는 세상보다 그 지표를 만든 사람의 가정 을 더 많이 보여준다.