모든 길은 7월 11일로 돌아간다 — 아티클 77편, 인용 220건 전수 집계

칼라톤의 데이터 칼럼은 끝마다 '함께 보기' 블록을 달고 끝난다. 관련 아티클 두세 편, 그 주제의 시즌 리포트, 그리고 해당 게임 페이지. 한 편을 다 읽은 독자를 다음 글로 넘기는 장치이고, 넉 달 동안 77편이 쌓이는 사이 아무도 이 블록을 전체로 들여다본 적이 없다.

그래서 이번에는 글이 아니라 글 사이의 링크를 집계 대상에 올렸다. 아티클 77편(본문 44만 3천 자)의 '함께 보기' 블록에 담긴 링크 407개를 전부 꺼내, 아티클끼리 가리키는 220건으로 인용 그래프를 그렸다. 누가 많이 인용되는가, 아무도 인용하지 않는 글은 몇 편인가, 서로를 가리키는 쌍은 있는가, 모듈 경계를 넘는 인용은 얼마나 되는가.

결과를 먼저 적는다. 가장 중요한 숫자는 220건 중 0건이다. 미래를 가리키는 인용이 하나도 없다. 그리고 그 0이 나머지 모든 숫자의 모양을 결정한다.

모집단 — 77편, 블록 77개, 링크 407개

집계 대상은 articles/ 디렉터리의 아티클 77편이다(목록 페이지 index.html은 제외). 발행일은 2026년 7월 11일부터 11월 2일까지, 발행일이 서로 다른 날짜는 61개다. 77편 전부가 '함께 보기' 블록을 정확히 한 개씩 갖고 있다 — 빠뜨린 편도, 두 개 달린 편도 없다.

그 블록들이 내보내는 링크 407개의 행선지는 다음과 같다.

행선지링크 수비중비고
다른 아티클 (/articles/*.html)220개54.1%이 글이 분석하는 그래프의 간선
개별 시즌 리포트 (/reports/<모듈>/…)69개17.0%인물 29 · 유머 28 · 매칭 8 · 홀짝 2 · 트레이딩 2
모듈 게임 페이지64개15.7%유머 25 · 인물 25 · 매칭 6 · 홀짝 3 · 트레이딩 3 · 로또 2
리포트 모아보기 (/reports/)53개13.0%77편 중 53편이 단다
아티클 목록 (/articles/)1개0.2%단 한 편만 단다
합계407개100%블록당 평균 5.3개

블록 하나에 든 링크 수는 4~7개로 좁게 모여 있다(4개 12편 · 5개 32편 · 6개 32편 · 7개 1편). 품질 점검 항목부터 통과 소식을 적어 두면, 아티클을 가리키는 220개 링크 가운데 깨진 링크는 0개다. 220개 모두 실제로 존재하는 파일을 가리키고, 자기 자신을 가리키는 링크도 0개다. 손으로 복제해 만드는 블록치고는 깔끔한 성적이다.

결과 ① — 인용은 과거만 가리킨다. 미래를 가리킨 인용은 0건

220건을 '인용하는 글의 발행일'과 '인용되는 글의 발행일'로 갈라 세면 이렇게 된다.

방향인용 건수비중
더 오래된 글을 가리킴 (과거)198건90.0%
같은 날 발행된 글을 가리킴22건10.0%
더 나중에 나온 글을 가리킴 (미래)0건0.0%

0은 우연이 아니라 작업 방식의 결과다. '함께 보기' 블록은 글을 발행하는 순간에 쓰이고, 그 뒤로 다시 열리지 않는다. 9월에 쓴 글이 10월에 나온 후속편을 가리킬 방법이 없는 것이다 — 그러려면 누군가 9월 글을 다시 열어 링크를 추가해야 하고, 넉 달 동안 그런 일은 한 번도 일어나지 않았다.

그래서 이 그래프는 시간을 거스르지 않는 단방향 그래프다. 독자 입장에서 말하면, '함께 보기'는 "이 주제를 더 알고 싶으면 과거로 가라"는 안내만 할 수 있고 "이 주제는 나중에 이렇게 갱신됐다"는 안내는 구조적으로 할 수 없다. 2026년 7월에 발행한 집계를 10월에 표본을 늘려 다시 집계한 편이 실제로 여러 쌍 있는데, 독자가 옛 편에서 새 편으로 건너갈 길은 블록에 없다.

결과 ② — 그래서 피인용 수는 글의 쓸모가 아니라 나이다

미래를 가리키는 인용이 0이면, 어떤 글이 인용될 기회는 '자기 뒤에 몇 편이 더 나왔는가'로 완전히 결정된다. 7월 11일 글은 뒤에 76편의 기회를 갖고, 11월 2일 글은 0편의 기회를 갖는다. 피인용 수를 발행 순서 사분위로 갈라 보면 그 구조가 그대로 드러난다.

발행 사분위기간편수평균 피인용한 번도 인용 안 됨
Q1 (가장 오래됨)07-11 ~ 07-3019편4.16회1편
Q207-30 ~ 09-0819편3.63회1편
Q309-09 ~ 10-0519편2.26회5편
Q4 (가장 최근)10-06 ~ 11-0220편1.45회7편

오래된 쪽에서 최근 쪽으로 평균 피인용이 4.16 → 3.63 → 2.26 → 1.45로 단조 감소한다. 한 번도 인용되지 않은 편은 거꾸로 1 → 1 → 5 → 7로 늘어난다. 피인용 수를 '많이 참조되는 좋은 글'의 지표로 읽고 싶은 유혹이 있지만, 이 그래프에서는 그렇게 읽으면 거의 틀린다. 피인용 상위권은 대체로 오래 살아남은 글이다.

전체 분포도 적어 둔다. 피인용 0회 14편 · 1회 13편 · 2회 14편 · 3회 9편 · 4회 11편 · 5회 7편 · 6회 3편 · 7~11회 각 1~2편. 최다 피인용은 11회이고, 상위 5편이 220건 중 48건(21.8%), 상위 10편이 78건(35.5%), 상위 20편이 124건(56.4%)을 받는다. 77편 가운데 20편이 인용의 절반 이상을 흡수하는 셈이다.

결과 ③ — 상호 인용 8쌍은 전부 '같은 날 발행'이다

서로를 가리키는 쌍은 8쌍 있다. 그런데 결과 ①이 맞다면 상호 인용은 원리상 같은 날 발행된 글 사이에서만 가능하다 — 한쪽이 먼저 나왔다면 그 글은 나중 글을 가리킬 수 없기 때문이다. 실제로 8쌍 전부가 같은 날 발행된 쌍이었다.

발행일그날 발행 편수상호 인용 쌍
2026-07-115편4쌍
2026-07-165편0쌍
2026-07-265편1쌍
2026-07-305편2쌍
그 밖의 57일각 1편0쌍 (불가능)

61개 발행일 중 두 편 이상이 나온 날은 넷뿐이고, 모두 7월의 5편짜리 묶음이다(초기에 여러 편을 한꺼번에 올린 시기다). 8월 중순 이후로는 하루 한 편씩 나오므로 상호 인용은 그 뒤 한 쌍도 생기지 않았고, 생길 수도 없었다. 상호 인용 비율 7.3%(220건 중 16건)는 글끼리 대화를 주고받은 흔적이 아니라, 초기에 묶음으로 발행한 4일의 화석이다.

결과 ④ — 나이를 보정하면 순위가 바뀐다

피인용 수가 나이 함수라면, 글끼리 비교하려면 기회로 나눠야 한다. 각 글의 '기회'를 그 뒤에(또는 같은 날) 나온 글의 수로 정의하고 피인용 수를 나눈 비율을 보면 순위가 달라진다. 기회가 20회 이상인 글만 추렸다.

슬러그발행일피인용기회인용률
character-score-ratchet2026-09-0210회43편23.3%
report-consistency-audit2026-09-117회36편19.4%
humor-winner-register-shift2026-08-209회52편17.3%
report-bilingual-length-ratio2026-09-215회30편16.7%
judge-comment-length-spec2026-09-165회33편15.2%
ai-humor-model-analysis2026-07-1111회76편14.5%
humor-judge-bias2026-07-1610회71편14.1%

절대 피인용 1·3위인 7월의 두 편(11회·10회)이 보정 후에는 6·7위로 내려앉고, 9월 2일의 character-score-ratchet이 23.3%로 1위에 오른다. 기회 43편 중 10편이 가리켰다는 뜻이고, 같은 기간 평균(220 ÷ 77 ≈ 2.9회)의 세 배 이상이다. 보정 순위 상위권에 9월 글이 넷이나 들어온 것은 그 무렵부터 '선행 집계를 명시적으로 인용하는' 글쓰기가 자리를 잡았다는 신호로 읽힌다.

결과 ⑤ — 한 번도 인용되지 않은 14편, 그중 7편은 기회가 20회 이상이었다

피인용 0회는 14편이다. 결과 ②에 따르면 그중 최근 글은 '아직 기회가 없었을 뿐'일 수 있으므로, 기회 수와 함께 적어야 공정하다.

슬러그발행일인용 기회해석
ai-league-transfer-market2026-07-3061편기회 충분 — 고립
mindgame-dealer-bluff2026-08-1953편기회 충분 — 고립
humor-judge-reason-grounds2026-09-1831편기회 충분 — 고립
humor-prompt-json-anatomy2026-09-2427편기회 충분 — 고립
humor-topic-comment-length-pair2026-09-2825편기회 충분 — 고립
humor-model-style-signature2026-10-0122편기회 충분 — 고립
character-judge-comment-step2026-10-0520편기회 충분 — 고립
matching-roster-profile-census2026-10-0718편경계
humor-hidden-rounds-audit2026-10-0817편경계
character-ko-en-label-slots2026-10-1413편경계
character-highlight-key-audit2026-10-265편기회 부족
report-highlight-caps2026-10-274편기회 부족
report-image-host-census2026-10-301편기회 부족
article-convention-audit2026-11-020편기회 0 — 판정 불가

7편은 기회가 20회 이상이었는데도 아무도 가리키지 않았다. 7월 30일의 ai-league-transfer-market은 뒤에 61편이 나왔지만 피인용 0이다. 반대쪽 끝의 네 편은 기회가 0~5편뿐이라 '고립'이라고 부를 수 없다 — 특히 가장 최근 편은 기회가 0이므로 이 표에서 판정 대상이 아니다.

내보내는 쪽은 사정이 다르다. 아티클을 하나도 가리키지 않는 글은 0편이다. 77편 전부가 최소 한 편을 인용하고(1편 1 · 2편 14 · 3편 57 · 4편 5), 권장 범위인 '관련 아티클 2~3편'을 정확히 지킨 것은 71편이다. 즉 고립은 '안 읽히는 글'의 문제가 아니라 받는 쪽에만 생기는 비대칭이다.

결과 ⑥ — 인용의 71.8%는 같은 모듈 안에 머문다

슬러그 접두사로 모듈을 가르면(humor-, character- 등 · 접두사가 모듈이 아닌 5편은 '기타') 인용 220건 중 158건(71.8%)이 같은 모듈 안에서 끝나고, 62건(28.2%)만 경계를 넘는다.

모듈편수내보낸 인용같은 모듈경계 넘음받은 인용
인물생성25편72건63건 (87.5%)9건72건
유머24편71건58건 (81.7%)13건73건
리포트 메타9편28건18건 (64.3%)10건25건
매칭6편15건10건 (66.7%)5건12건
기타(리그 전반)5편16건2건 (12.5%)14건17건
트레이딩3편7건3건 (42.9%)4건9건
홀짝3편7건3건 (42.9%)4건5건
로또2편4건1건 (25.0%)3건7건

규칙성이 뚜렷하다. 모듈이 클수록 자기 안에 갇힌다. 25편의 인물생성은 87.5%, 24편의 유머는 81.7%가 같은 모듈끼리다. 반대로 2~3편뿐인 로또·홀짝·트레이딩은 가리킬 같은 모듈 글이 거의 없어 25~43%만 안쪽을 향한다. 자연스러운 결과이지만 효과는 자연스럽지 않다 — 유머 칼럼만 읽는 독자는 인물생성 칼럼 25편을 만날 확률이 매우 낮다.

경계를 넘는 62건의 최대 흐름은 '유머 → 기타' 9건이고, 그 반대인 '기타 → 유머'가 5건이다. '기타' 5편은 리그 전반을 다루는 글이어서 내보내는 인용 16건 중 14건이 경계를 넘는다. 피인용 1위인 ai-humor-model-analysis(11회)는 받은 인용 중 10건이 다른 모듈에서 왔다 — 모듈 사이의 유일한 환승역에 가깝다.

결과 ⑦ — 어느 글에서 출발해도 4홉 안에 7월 11일에 닿는다

마지막으로 링크를 계속 따라가는 독자를 시뮬레이션했다. 임의의 글에서 출발해 '함께 보기'의 아티클 링크를 반복해 따라갈 때 도달할 수 있는 글의 수는 평균 20.5편, 최소 4편, 최대 46편이다.

그리고 도착지가 한 곳으로 모인다. 2026년 7월 11일에 발행된 다섯 편(ai-humor-model-analysis, character-match-rate-explained, humor-season5-recap, lotto-hot-numbers-myth, trading-league-season2-review) 각각에 대해, 나머지 76편 전부가 그 글에 도달한다. 예외는 한 편도 없다. 가장 가까운 7월 11일 글까지의 거리는 1홉 18편 · 2홉 32편 · 3홉 20편 · 4홉 2편, 평균 2.08홉이고 최대가 4홉이다.

이것도 결과 ①의 따름정리다. 모든 간선이 과거를 향하므로 링크를 따라가면 반드시 가장 오래된 글 쪽으로 수렴하고, 가장 오래된 날짜에 다섯 편이 서로를 가리키며 앉아 있으므로 그 다섯 편이 전체 그래프의 바닥이 된다. 넉 달 치 칼럼 77편의 내부 링크를 끝까지 따라간 독자는, 어디서 출발했든 창간호 다섯 편을 읽고 멈춘다.

한계 — 이 분석이 말할 수 없는 것

첫째, 이 글은 '함께 보기' 블록만 셌다. 아티클 본문에도 다른 아티클을 가리키는 링크가 있고(이 글 역시 본문에 몇 개 쓴다), 그 본문 링크는 집계에 넣지 않았다. 블록은 형식이 고정돼 기계로 세기 쉽지만 본문 링크는 문맥마다 달라 같은 기준으로 세기 어려웠다. 따라서 여기서 '고립'으로 판정된 14편 중 일부는 다른 글의 본문에서 언급됐을 수 있다. 블록 기준의 고립이라는 뜻이다.

둘째, 링크 수는 독자 행동이 아니다. 이 글이 잰 것은 운영팀이 블록에 적어 넣은 링크의 구조이고, 독자가 그 링크를 실제로 눌렀는지는 전혀 모른다. 4홉 안에 7월 11일에 닿는다는 것은 '닿을 수 있다'는 뜻이지 '닿는다'는 뜻이 아니다. 유입의 상당 부분은 블록이 아니라 검색이나 아티클 목록에서 올 것이고, 그 비중은 이 집계로 알 수 없다.

셋째, 모듈 구분은 슬러그 접두사라는 대리 지표다. 접두사가 모듈명이 아닌 5편을 '기타'로 묶었는데, 이 묶음은 주제가 균일하지 않다. 또 리포트 메타 9편처럼 '모듈이 아니라 지면 자체를 다루는 글'을 한 모듈처럼 센 것도 편의상의 선택이다. 경계를 다르게 그으면 71.8%라는 숫자는 움직인다.

넷째, 미래 인용 0건은 결함이 아니라 설계일 수도 있다. 발행 후 과거 글을 수정하지 않는 것은 글의 고정성을 지키는 방침일 수 있고, 실제로 이 저장소의 자동 머지 게이트는 새 글 1편 외의 파일 변경을 막는다. 즉 0건의 일부는 "하지 않기로 했다"의 결과다. 다만 그 결과가 독자의 동선에 어떤 비용을 남기는지는 지금까지 측정된 적이 없었고, 이 글은 그 비용의 모양까지만 보고한다.

다섯째, 피인용 보정 지표(결과 ④)는 기회 수가 작을 때 매우 불안정하다. 그래서 기회 20회 미만은 순위에서 제외했는데, 이 문턱 자체에는 통계적 근거가 없고 표본이 얇아지는 지점에서 임의로 잘랐다.

그래서, 무엇을 고칠 것인가

세 가지가 분명해졌다.

하나, 피인용 수를 품질 지표로 쓰지 않는다. 이 그래프에서 피인용 수는 나이의 함수이고, 사분위 평균이 4.16에서 1.45로 단조 감소하는 것이 그 증거다. 글끼리 비교하려면 결과 ④의 기회 보정 비율을 쓰는 편이 낫고, 그 지표에서도 기회 20회 미만은 판정하지 않는다.

둘, 고립 7편은 다음 글이 갚을 수 있는 빚이다. 기회가 20회 이상인데 피인용 0인 7편은 전부 2026년 7월 30일~10월 5일 구간에 있고, 주제가 겹치는 후속 글이 이미 여러 편 나와 있다. 미래 인용이 0인 구조에서는 옛 글을 고쳐 메울 수 없으니, 메우는 방법은 앞으로 쓰는 글이 블록에서 이들을 가리키는 것뿐이다. 선행 집계를 인용하는 관행이 자리 잡은 9월 이후 글들의 보정 인용률이 상위권인 것을 보면 이 방법은 작동한다.

셋, 모듈 경계를 넘는 링크를 의식적으로 한 개 둔다. 큰 모듈이 자기 안에 갇히는 것은 가리킬 글이 많아서 생기는 자연스러운 결과이지만, 유머 24편과 인물생성 25편이 서로를 거의 모르는 상태는 독자에게 손해다. 지금 그 두 모듈을 잇는 거의 유일한 환승역은 창간호 한 편이고, 환승역이 한 개인 노선도는 좋은 노선도가 아니다.

마지막으로 이 글의 자백. 이 글의 '함께 보기' 블록 역시 과거만 가리킨다. 이 글을 가리키는 링크는 앞으로 쓰일 글에만 생길 수 있고, 그것이 결과 ①이 말하는 바다. 집계 대상에 자기 지면을 올리면 결론이 자기에게도 적용된다 — 그게 이 연작을 쓰는 값이라고 생각한다.

집계 기준. 2026년 11월 3일(KST) Frontend/public/articles/ 기준, 목록 페이지를 제외한 아티클 77편(본문 공백 제외 443,559자). '함께 보기'는 각 파일의 <div class="related"> 블록 한 개이며 77편 모두에 정확히 한 개씩 존재한다. 그 블록 안의 href 407개를 행선지별로 분류하고, /articles/<슬러그>.html 형태 220개를 그래프의 간선으로 삼았다(중복·자기 참조 0건, 존재하지 않는 파일을 가리키는 링크 0건). 발행일은 각 파일 JSON-LD의 datePublished(77편 전부 존재)를 썼고, 하루 안의 순서는 알 수 없으므로 같은 날 발행된 인용은 '과거'·'미래'와 분리해 따로 세었다. 모듈은 슬러그의 첫 하이픈 앞 토큰으로 갈랐고 모듈명이 아닌 5편은 '기타'로 묶었다. 비율은 소수점 아래 첫째 자리에서 반올림했다. 본문 링크·외부 링크·푸터 링크, 그리고 독자의 실제 클릭은 집계 대상이 아니다.