channel laboratory / distribution report
구독자 구간별 분포: 구독자 수가 설명하지 못하는 것
구독자 구간별로 최근 업로드 조회 중앙값과 업로드당 누적 조회가 어떻게 분포하는지 공개 코퍼스로 살핀 리서치. 구독자 수의 반올림 정밀도와 대형 채널 편중이라는 한계를 명시합니다.
research question
구독자 구간이 같은 채널들은 최근 업로드의 조회 성적도 비슷한가. 공개된 구독자 수는 최근작 조회수를 얼마나 설명하는가?
distribution plate
분포 판독표
| 구독자 구간 | 채널 수 | 최근작 중앙 조회의 중앙값 | 구독자 1명당 최근작 중앙 조회 | 중앙값 상대 크기 |
|---|---|---|---|---|
| 1,000만 미만 | 4개 | 94,718회 | 2.40% | |
| 1,000만 이상 2,000만 미만 | 7개 | 1,031,585회 | 6.14% | |
| 2,000만 이상 3,000만 미만 | 6개 | 2,116,085회 | 8.92% | |
| 3,000만 이상 | 2개 | 채널 3개 미만 | 미표시 | 표본 억제 |
1,000만 미만 · 채널 구성 4개
| 채널 | 구독자 | 최근작 조회 중앙 | 공개 업로드당 누적 조회 | 구독자당 최근작 중앙 조회 |
|---|---|---|---|---|
| Computerphile | 2,620,000명 | 48,121회 | 260,540회 | 1.84% |
| Numberphile | 4,760,000명 | 141,314회 | 896,037회 | 2.97% |
| Practical Engineering | 4,770,000명 | 986,959회 | 2,232,177회 | 20.69% |
| MIT OpenCourseWare | 6,360,000명 | 1,311회 | 67,056회 | 0.02% |
1,000만 이상 2,000만 미만 · 채널 구성 7개
| 채널 | 구독자 | 최근작 조회 중앙 | 공개 업로드당 누적 조회 | 구독자당 최근작 중앙 조회 |
|---|---|---|---|---|
| NileRed | 10,800,000명 | 6,488,586회 | 11,541,896회 | 60.08% |
| SmarterEveryDay | 11,900,000명 | 1,880,373회 | 3,218,111회 | 15.80% |
| Vox | 12,700,000명 | 23,796회 | 1,719,662회 | 0.19% |
| colinfurze | 13,300,000명 | 1,784,552회 | 4,267,899회 | 13.42% |
| BBC Earth | 14,500,000명 | 80,277회 | 1,663,895회 | 0.55% |
| Linus Tech Tips | 16,800,000명 | 1,031,585회 | 1,229,939회 | 6.14% |
| CrashCourse | 17,100,000명 | 28,949회 | 1,334,602회 | 0.17% |
2,000만 이상 3,000만 미만 · 채널 구성 6개
| 채널 | 구독자 | 최근작 조회 중앙 | 공개 업로드당 누적 조회 | 구독자당 최근작 중앙 조회 |
|---|---|---|---|---|
| Veritasium | 20,900,000명 | 3,812,863회 | 8,475,160회 | 18.24% |
| Marques Brownlee | 21,000,000명 | 3,242,937회 | 2,980,442회 | 15.44% |
| Vsauce | 24,900,000명 | 3,469,596회 | 10,511,341회 | 13.93% |
| Kurzgesagt – In a Nutshell | 25,300,000명 | 989,233회 | 10,087,568회 | 3.91% |
| National Geographic | 26,200,000명 | 118,125회 | 614,320회 | 0.45% |
| TED | 27,500,000명 | 28,068회 | 555,931회 | 0.10% |
3,000만 이상 · 채널 구성 2개
| 채널 | 구독자 | 최근작 조회 중앙 | 공개 업로드당 누적 조회 | 구독자당 최근작 중앙 조회 |
|---|---|---|---|---|
| Mark Rober | 78,800,000명 | 15,172,091회 | 67,634,837회 | 19.25% |
| MrBeast | 504,000,000명 | 128,770,843회 | 132,743,404회 | 25.55% |
소표본 억제. 구간 안 채널이 3개보다 적으면 채널 수만 남기고 중앙값류는 표시하지 않습니다.
pathology notes
판독 소견
소견 01
먼저 재료의 정밀도부터 적어둡니다. 공개 API가 주는 subscriberCount는 공식 문서 기준으로 유효숫자 세 자리로 내림 처리된 값입니다. 구독자 수백만 규모라면 뒷자리 수만 명이 통째로 잘려 나간 숫자라는 뜻입니다. 이 페이지가 구독자를 십만 단위가 아니라 굵은 구간으로만 나누는 이유가 여기 있습니다. 재료가 근사치인데 칼질만 정밀하게 하는 것은 분석이 아니라 장식입니다.
소견 02
같은 구간 안 채널들의 최근작 조회 중앙값을 나란히 놓으면, 구간이 같다고 성적이 비슷하지 않다는 것이 바로 보입니다. 이번 표본에서 폭이 가장 컸던 1,000만 미만 구간에서는 채널 사이 중앙값이 753배까지 벌어졌습니다. 구독자 수는 과거 누적의 기록이고 최근작 조회수는 지금 알고리즘과 시청자가 내리는 평가라서, 두 숫자는 시제가 다릅니다.
소견 03
구독자 1명당 최근작 조회로 환산하면 그 시제 차이가 더 또렷해집니다. 다만 구독자가 많은 구간일수록 이 비율이 높다거나 낮다는 단정은 이 표본 크기로는 하지 않겠습니다. 채널 19개로 회귀선을 긋는 것은 진단이 아니라 점술에 가깝습니다. 여기서 확인되는 것은 구독자 수가 같아도 구독자를 조회수로 바꾸는 힘은 채널마다 크게 다르다는 분포 사실까지입니다.
소견 04
이 분포를 구독자를 늘리면 조회수가 따라온다는 사다리로 읽는 것만은 피해야 합니다. 표본 전원이 이미 살아남은 대형 채널이고, 이 표본의 가장 작은 구간조차 보통의 채널에게는 남의 나라 이야기입니다. 가져갈 것은 벤치마크 숫자가 아니라 읽는 순서입니다. 채널의 현재를 물을 때는 구독자 총수보다 최근작 조회 중앙값과 그 추세를 먼저 보는 것, 그것이 이 표가 권하는 전부입니다.
measurement ledger
무엇을 어떻게 쟀나
| 지표 | 원본 파일 | JSON 위치 | API 필드 유래 | 계산 | 검증 범위 |
|---|---|---|---|---|---|
| 채널별 구독자 수(구간 분류 기준) | corpus-raw.json | channels[].subscriberCount | channels.list statistics.subscriberCount (유효숫자 세 자리 내림) | 저장된 발행 값 그대로 사용 | 빌드 시 원자료 파생 |
| 채널별 최근작 조회 중앙값 | corpus-raw.json | channels[].videos[].viewCount | videos.list statistics.viewCount | 채널별로 최근 업로드(최대 25편) viewCount의 중앙값 | 빌드 시 원자료 파생 |
| 채널별 공개 업로드당 누적 조회 | corpus-raw.json | channels[].viewCount ÷ channels[].videoCount | channels.list statistics.viewCount(누적)·statistics.videoCount(공개 영상만) | 채널 누적 조회수를 공개 영상 수로 나눈 값 | 빌드 시 원자료 파생 |
| 구독자 1명당 최근작 중앙 조회 | corpus-raw.json | 파생: recentMedianViews ÷ subscriberCount | 위 두 지표의 비율 | 채널별 최근작 조회 중앙값을 구독자 수로 나눈 값 | 빌드 시 원자료 파생 |
- hiddenSubscriberCount === true인 채널을 제외한다(이 스냅샷에서는 0개).
- 채널별 recentMedianViews = videos[].viewCount의 중앙값(compute-corpus.mjs와 같은 선형보간 분위수, 소수점은 Math.round).
- 채널별 lifetimeViewsPerVideo = viewCount ÷ videoCount (videoCount가 0이면 null).
- 채널별 viewsPerSubscriber = recentMedianViews ÷ subscriberCount.
- SUBSCRIBER_BANDS 정의대로 subscriberCount 기준 구간에 배정한다(하한 포함, 상한 미포함).
- 구간별로 채널 수, recentMedianViews의 중앙값, viewsPerSubscriber의 중앙값을 낸다.
- 구간 채널 수가 MIN_BAND_CHANNELS(3) 미만이면 중앙값류는 null로 두고 채널 수만 표시한다.
구조화 데이터 판정. 수치가 저장소에 커밋된 corpus-raw.json에서 결정적으로 재현되므로 Dataset 마크업 적합. 단, verify-corpus.mjs가 대조하지 않는 파생치이므로 빌드 검증 추가를 권한다. 정본 Dataset 노드를 isBasedOn으로 참조할 것.
owner-only confirmation
Studio에서 최종 확인할 자리
Studio › 분석 › 시청자층 탭
구독자 대 비구독자 시청 비중
내 최근작 조회에서 구독자가 차지하는 비중을 보면, 구독자 수와 조회수가 왜 따로 노는지(비구독 유입 의존도)를 공개 데이터 없이 직접 확인할 수 있다.
Studio › 콘텐츠 탭 + 대시보드
최근 영상별 조회수와 구독자 증감
최근 10편의 조회 중앙값 ÷ 구독자 수를 계산해 시점별로 기록해 두면, 총 구독자보다 민감한 채널 상태 지표가 된다. 이 페이지의 배수와 절대 비교하지 말고 내 추세만 본다.
specimen provenance
검체 출처와 표본 기록
운영자가 지명도·카테고리 다양성을 기준으로 손으로 고른 영어권 대형 채널 시드 목록에서 출발한 편의표본. 각 채널의 업로드 재생목록(UU…)에서 수집 시점 기준 최근 업로드 최대 25편을 담았다. 무작위 표본이 아니며 한국어 채널·소형 채널은 포함되지 않았다.
source
YouTube Data API v3수집 2026-06-26T13:07:47.870Z
사람 확인 2026-06-26
sampling frame
20개 시드해결 19개 · 미해결 1개 (TheGameTheorists)
제외 기준과 스냅샷에서의 실제 영향
| 제외·미공표 기준 | 강제 코드 | 스냅샷 영향 |
|---|---|---|
| 시드 핸들 중 channels.list?forHandle resolve에 실패한 채널은 코퍼스에서 제외 | scripts/build-corpus.mjs resolveChannels() — 실패 시 로그 후 스킵, 조작 금지 | 시드 20개 중 @TheGameTheorists 1개 제외, 19채널 확정 |
| contentDetails.duration이 없거나 0초(예: P0D)인 영상은 길이대 분석에서 제외 | scripts/compute-corpus.mjs bandOf() — unknown 밴드로 분류 후 미집계 | 475편 중 1편(P0D) 제외, 길이대 분석은 474편 기준 |
| viewCount가 0 이하이거나 likeCount·commentCount가 비공개(null)인 영상은 참여율 분석에서 제외 | scripts/compute-corpus.mjs — engagement를 null로 두고 미집계 | 이 스냅샷에서는 해당 영상 0편(475편 전부 참여율 계산 가능) |
| 표본이 MIN_CAT_VIDEOS(15편) 미만인 카테고리는 분위수를 발행하지 않고 skippedCategories에 기록 | scripts/compute-corpus.mjs + scripts/verify-corpus.mjs 전수 대조 | 음악(10) 카테고리 1편이 제외 기록됨 |
| 길이대 표본이 MIN_BAND_VIDEOS(3편) 미만이면 그 밴드의 중앙값·분위수를 null로 발행 | scripts/compute-corpus.mjs medOf()/bands | 채널별 밴드 중앙값 다수가 null(예: 쇼츠형 0편 채널의 배수 미산출) |
공개 API 엔드포인트와 사용 필드
| 엔드포인트 | 사용 목적 | 공식 문서 |
|---|---|---|
| channels.list | 채널 통계(subscriberCount·viewCount·videoCount·hiddenSubscriberCount)와 채널 개설일 | developers.google.com |
| playlistItems.list | 업로드 재생목록(UU…)에서 최근 업로드 영상 ID 수집 | developers.google.com |
| videos.list | 영상별 조회수·좋아요·댓글 수·길이(ISO 8601)·카테고리·게시 시각 | developers.google.com |
재현 절차와 공개 API가 주지 않는 값
reproduction
- node scripts/build-corpus.mjs — 공개 API로 원자료 수집(corpus-raw.json)
- node scripts/compute-corpus.mjs — 분포 산출(corpus-analysis.json)
- node scripts/verify-corpus.mjs — 발행 수치 전수를 원자료와 독립 구현으로 대조(불일치 시 비정상 종료)
studio-only excluded
- RPM
- 유효 시청시간·평균 시청 지속률
- 노출수·CTR
- 트래픽 소스
limitations register
이 자료가 말하지 못하는 것
모든 판독에 공통인 한계
- 이 코퍼스는 무작위 표본이 아니다. 운영자가 지명도를 기준으로 고른 시드 20개 중 resolve에 성공한 영어권 대형 채널 19개의 편의표본이며, 한국어 채널과 소형 채널은 아예 들어 있지 않다. 여기서 나온 분포를 YouTube 전체의 대표값으로 읽으면 안 된다.
- 표본 전원이 이미 살아남은 채널이다. 사라진 채널, 삭제되거나 비공개로 전환된 영상은 수집 자체가 불가능해 분포에 없다. 이 분포를 "노력하면 도달하는 범위"로 읽는 순간 생존편향을 그대로 삼키게 된다.
- 모든 수치는 2026-06-26(UTC) 수집 시점의 스냅샷이다. 조회수·좋아요·구독자는 계속 변하므로 지금 같은 API를 부르면 다른 숫자가 나온다. 이 페이지는 수집·확인 시점을 명시하는 방식으로만 그 한계를 관리한다.
- 이 자료는 분포와 상관의 기록이지 인과의 증명이 아니다. "길이를 바꾸면, 카테고리를 옮기면, 구독자를 모으면 조회수가 오른다" 같은 처방은 여기서 도출되지 않는다. 수익이나 성장을 보장하는 공식은 더더욱 아니다.
구독자 구간 판독의 고유 한계
- 이 코퍼스에는 소형 채널이 없다. 가장 작은 구간도 구독자 수백만 단위라, 구독 규모가 그 아래인 채널이 자기 위치를 이 표에서 찾는 것은 불가능하다. 이 페이지는 대형 채널 사이에서도 구독자 수의 설명력이 약하다는 관찰까지만 제공한다.
- subscriberCount는 유효숫자 세 자리로 내림된 근사치이고, 구간 경계 근처 채널은 실제 값 기준으로 옆 구간일 수 있다.
- 채널 누적 viewCount에는 2025-03-31 이후 재생 시작 기준으로 집계된 Shorts 조회가 섞여 있고, videoCount는 공개 영상만 센다. 업로드당 누적 조회는 두 근사가 겹친 값이다.
- 구독자 수를 숨긴 채널(hiddenSubscriberCount)은 구간 분석에서 제외하는 설계다. 이번 스냅샷에서는 해당 채널이 없었다.
cross-reference
다음 판독으로 이어 보기
record custody
기록·검수 책임
record & editorial
장민석
TubeAnatomy의 편집 필명으로, 공개 필드의 범위를 넘는 경력이나 성과를 주장하지 않습니다. 숫자는 저장소의 원자료와 계산 코드에 묶어 관리합니다.
correction channel
오류 제보
필드 정의, 계산, 표기에서 어긋난 부분을 발견하면 실제 수신 가능한 운영 메일로 알려주세요. 재현 가능한 오류는 원자료와 함께 바로잡습니다.