case r20 / public corpusfetched 2026-06-26T13:07:47.870Z

channel laboratory / distribution report

게시 후 경과일별 조회 분포: 단면 사진이 말하는 것과 말하지 못하는 것

수집 시점 기준 게시 후 경과일 구간별 조회수 분포를 공개 코퍼스로 정리한 리서치. 성장 곡선이 아니라 단면 자료라는 정체와 표본 구성 편향을 함께 해석합니다.

research question

수집 시점 기준 게시 후 경과일 구간별로 조회수 분포는 어떻게 다른가. 이 단면 분포는 영상 조회수가 시간에 따라 쌓이는 모양을 어디까지 대신 보여줄 수 있는가?

distribution plate

분포 판독표

PLATE / 게시 후 경과일
p10~p90 범위중앙값 p50
게시 후 경과일 구간별 조회수 분위수
경과일 구간영상 수p10 조회중앙 조회p90 조회분포 절개도
게시 후 7일 이내75307회34,792회2,035,400회
8~30일11620,230회137,571회4,627,709회
31~90일11329,180회1,116,665회122,612,870회
91~365일13274,967회1,933,265회15,089,522회
1년 초과39821,526회3,176,498회14,572,019회
게시 후 7일 이내 · 채널 구성
게시 후 7일 이내 채널별 영상 구성
채널영상 수
Vox15
Linus Tech Tips14
TED13
MIT OpenCourseWare10
National Geographic5
BBC Earth4
CrashCourse3
Mark Rober2
Marques Brownlee2
Veritasium2
Computerphile1
Kurzgesagt – In a Nutshell1
MrBeast1
Numberphile1
colinfurze1
8~30일 · 채널 구성
8~30일 채널별 영상 구성
채널영상 수
National Geographic20
TED12
BBC Earth11
Linus Tech Tips11
Vox10
Veritasium8
MIT OpenCourseWare7
Marques Brownlee7
Kurzgesagt – In a Nutshell6
MrBeast6
Computerphile5
CrashCourse4
Mark Rober3
Numberphile3
Practical Engineering2
SmarterEveryDay1
31~90일 · 채널 구성
31~90일 채널별 영상 구성
채널영상 수
MrBeast18
Kurzgesagt – In a Nutshell14
Marques Brownlee14
Veritasium13
BBC Earth10
CrashCourse10
MIT OpenCourseWare8
Computerphile7
Mark Rober5
Numberphile5
Practical Engineering4
colinfurze3
SmarterEveryDay1
Vsauce1
91~365일 · 채널 구성
91~365일 채널별 영상 구성
채널영상 수
Vsauce24
Practical Engineering18
Numberphile16
Mark Rober15
colinfurze15
Computerphile12
NileRed11
CrashCourse8
SmarterEveryDay5
Kurzgesagt – In a Nutshell4
Marques Brownlee2
Veritasium2
1년 초과 · 채널 구성
1년 초과 채널별 영상 구성
채널영상 수
SmarterEveryDay18
NileRed14
colinfurze6
Practical Engineering1

집계 감사. 원자료 475편 가운데 475편을 경과일 구간에 배정했고, 게시 시각 누락·미래 시각으로 제외된 영상은 0편입니다. 어느 구간에도 배정되지 않은 영상은 0편이며, 구간 표본이 15편 미만이면 분위수는 숨깁니다.

pathology notes

판독 소견

TOKENS / BUILD-INJECTED

소견 01

먼저 이 자료의 정체를 분명히 해야 합니다. 이것은 한 영상을 오래 추적한 성장 곡선이 아니라 2026.06.26 (UTC) 하루에 찍은 단면 사진입니다. 7일 이내 구간과 1년 초과 구간에는 서로 다른 영상들이 들어 있습니다. 구간 사이 중앙값 차이를 한 영상이 시간이 지나며 이만큼 자란다로 읽으면 해석이 뒤집힙니다. 읽을 수 있는 것은 경과일이 다른 영상들이 지금 어디에 놓여 있는가까지입니다.

소견 02

구간 구성에는 편향이 하나 심겨 있습니다. 코퍼스가 채널마다 최근 업로드 25편을 담는 방식이라, 오래된 구간에 남은 영상은 업로드 주기가 긴 채널의 것뿐입니다. 매주 올리는 채널의 1년 전 영상은 이 표본에 아예 없습니다. 오래된 구간의 분포는 오래된 영상의 성질이라기보다 뜸하게 올리는 채널의 성질을 상당 부분 반영한다고 봐야 합니다. 구간별 채널 구성표를 함께 공개하는 이유입니다.

소견 03

그 한계를 얹은 채로도 읽을 만한 소견은 있습니다. 이른 구간의 중앙값 (34,792회)과 오래된 구간의 중앙값(3,176,498회)을 견주면, 이 표본의 영상들이 조회수를 초기에 몰아 받는지 긴 꼬리에서 계속 쌓는지에 대한 대략의 인상은 잡힙니다. 다만 이 인상은 채널 구성이 뒤섞인 평균적 그림일 뿐, 어떤 영상이 롱테일을 타는지는 이 자료가 답하지 못합니다.

소견 04

시각의 정의도 한 줄 적어둡니다. publishedAt은 영상이 게시된 시각이고, 공식 문서는 이것이 업로드 시각과 다를 수 있다고 명시합니다. 예약 공개나 비공개에서 전환된 영상이라면 경과일이 체감과 어긋날 수 있습니다. 수집 시각과의 차이로 계산한 경과일은 그 오차를 포함한 값입니다.

measurement ledger

무엇을 어떻게 쟀나

SOURCE / DERIVATION / GATE
게시 후 경과일별 조회 분포: 단면 사진이 말하는 것과 말하지 못하는 것 지표 명세
지표원본 파일JSON 위치API 필드 유래계산검증 범위
게시 후 경과일(구간 분류 기준)corpus-raw.jsonfetchedAt과 channels[].videos[].publishedAt의 차videos.list snippet.publishedAt (게시 시각, 업로드 시각과 다를 수 있음)ageDays = floor((Date(fetchedAt) − Date(publishedAt)) ÷ 86,400,000ms)빌드 시 원자료 파생
경과일 구간별 조회수 중앙값·p10·p90corpus-raw.jsonchannels[].videos[].viewCount를 AGE_BUCKETS로 그룹videos.list statistics.viewCount구간별 viewCount의 p10·p50·p90(선형보간 분위수, Math.round)빌드 시 원자료 파생
경과일 구간별 영상 수corpus-raw.jsonAGE_BUCKETS 그룹별 개수표본 구성 공개용구간별 영상 수 집계빌드 시 원자료 파생
빌드 계산 절차
  1. 전 영상에 대해 ageDays = floor((Date(raw.fetchedAt) − Date(video.publishedAt)) ÷ 86,400,000)을 계산한다.
  2. publishedAt이 없거나 미래(음수 경과일)인 영상은 제외하고 제외 건수를 기록한다(이 스냅샷에서는 0편 예상).
  3. AGE_BUCKETS 정의대로 구간에 배정한다(minDays 이상, maxDays 이하; maxDays null은 무제한).
  4. 구간별 영상 수와 viewCount의 p10·p50·p90을 낸다(compute-corpus.mjs와 같은 선형보간, Math.round).
  5. 구간 영상 수가 MIN_AGE_BUCKET_VIDEOS(15) 미만이면 분위수를 null로 두고 편수만 표시한다.
  6. 구간별로 어떤 채널의 영상이 몇 편인지 구성표도 함께 산출한다(구성 편향 공개용).
소표본 규칙: 영상 15편 미만 구간은 분위수 미표시(편수는 표시, 사유 문구 병기)
산출물 형태: { bucketId, label, videoCount, p10Views: number | null, medianViews: number | null, p90Views: number | null, channelMix: { title, count }[] }[]
검증 메모: 이 파생치는 verify-corpus.mjs의 대조 범위 밖이다. 산출 함수에 대응하는 검증을 추가하거나 verify-corpus.mjs를 확장하는 것을 권한다.

구조화 데이터 판정. 수치가 커밋된 corpus-raw.json의 publishedAt·viewCount·fetchedAt에서 결정적으로 재현되므로 Dataset 마크업 적합. verify-corpus.mjs 미대조 파생치이므로 빌드 검증 추가를 권한다. 정본 Dataset 노드를 isBasedOn으로 참조할 것.

owner-only confirmation

Studio에서 최종 확인할 자리

PUBLIC DATA STOPS HERE

Studio › 콘텐츠 › 영상 선택 › 도달범위/개요

시간 경과에 따른 조회수 그래프(영상별)

이 페이지가 못 보여주는 진짜 성장 곡선이 여기에 있다. 내 영상 몇 편의 곡선 모양(초기 집중형 대 롱테일형)을 직접 확인하는 것이 단면 자료보다 정확하다.

Studio › 분석 › 개요 › 기간 비교

첫 24~48시간 조회수와 이후 누적

최근 영상 여러 편의 첫 48시간 조회 비중을 기록해 두면, 내 채널이 초기 몰림형인지 꼬리 축적형인지 내 데이터로 판정할 수 있다.

specimen provenance

검체 출처와 표본 기록

FETCHED / 2026-06-26T13:07:47.870Z

운영자가 지명도·카테고리 다양성을 기준으로 손으로 고른 영어권 대형 채널 시드 목록에서 출발한 편의표본. 각 채널의 업로드 재생목록(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 엔드포인트와 사용 필드
YouTube Data 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

  1. node scripts/build-corpus.mjs — 공개 API로 원자료 수집(corpus-raw.json)
  2. node scripts/compute-corpus.mjs — 분포 산출(corpus-analysis.json)
  3. node scripts/verify-corpus.mjs — 발행 수치 전수를 원자료와 독립 구현으로 대조(불일치 시 비정상 종료)

studio-only excluded

  • RPM
  • 유효 시청시간·평균 시청 지속률
  • 노출수·CTR
  • 트래픽 소스

limitations register

이 자료가 말하지 못하는 것

DO NOT GENERALIZE

모든 판독에 공통인 한계

  1. 이 코퍼스는 무작위 표본이 아니다. 운영자가 지명도를 기준으로 고른 시드 20개 중 resolve에 성공한 영어권 대형 채널 19개의 편의표본이며, 한국어 채널과 소형 채널은 아예 들어 있지 않다. 여기서 나온 분포를 YouTube 전체의 대표값으로 읽으면 안 된다.
  2. 표본 전원이 이미 살아남은 채널이다. 사라진 채널, 삭제되거나 비공개로 전환된 영상은 수집 자체가 불가능해 분포에 없다. 이 분포를 "노력하면 도달하는 범위"로 읽는 순간 생존편향을 그대로 삼키게 된다.
  3. 모든 수치는 2026-06-26(UTC) 수집 시점의 스냅샷이다. 조회수·좋아요·구독자는 계속 변하므로 지금 같은 API를 부르면 다른 숫자가 나온다. 이 페이지는 수집·확인 시점을 명시하는 방식으로만 그 한계를 관리한다.
  4. 이 자료는 분포와 상관의 기록이지 인과의 증명이 아니다. "길이를 바꾸면, 카테고리를 옮기면, 구독자를 모으면 조회수가 오른다" 같은 처방은 여기서 도출되지 않는다. 수익이나 성장을 보장하는 공식은 더더욱 아니다.

게시 후 경과일 판독의 고유 한계

  1. 단일 시점 스냅샷이라 조회 속도(velocity)나 감쇠 곡선은 계산할 수 없다. 같은 영상을 두 시점 이상 관측해야 가능한 분석이며, 이 페이지는 그것을 흉내 내지 않는다.
  2. 업로드 재생목록에서 수집하므로 삭제·비공개 전환된 영상은 표본에 없다. 오래된 구간일수록 살아남은 영상만 남는 영상 단위 생존편향이 겹친다.
  3. 구간별 채널 구성이 균질하지 않다. 오래된 구간은 업로드 주기가 긴 채널에 치우쳐, 경과일 효과와 채널 효과가 분리되지 않는다.
  4. 표본 15편 미만 구간은 분위수를 표시하지 않는다. 재수집 시 구간별 편수가 달라질 수 있다.

cross-reference

다음 판독으로 이어 보기

BENCHMARK / DIAGNOSIS / FIELD NOTES

record custody

기록·검수 책임

TUBEANATOMY / CORRECTIONS OPEN

record & editorial

장민석

TubeAnatomy의 편집 필명으로, 공개 필드의 범위를 넘는 경력이나 성과를 주장하지 않습니다. 숫자는 저장소의 원자료와 계산 코드에 묶어 관리합니다.

correction channel

오류 제보

필드 정의, 계산, 표기에서 어긋난 부분을 발견하면 실제 수신 가능한 운영 메일로 알려주세요. 재현 가능한 오류는 원자료와 함께 바로잡습니다.