C.W.K.
Stream
Lesson 04 of 06 · published

소셜 미디어 바이럴리티: *정규인 척하는 멱법칙*

~11 min · social-media, virality, power-law, preferential-attachment

Level 0통계 초심자
0 XP0/55 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
"소셜 미디어 도달이 *멱법칙-분포*. *평균 포스트가 무의미*; *상위 0.1% 포스트가 engagement 의 대부분*. *'평균 도달' 로 추론하는 시민은 *실제로 아무것도 묘사하지 않는 숫자에 대해 추론하는 것*."

메커니즘: 선호적 부착

*초기 engagement (좋아요, 공유, 댓글) 를 얻은 포스트가 *더 많은 알고리즘 증폭을 얻고, 그게 더 많은 engagement, 그게 더 많은 증폭*. *이 양의-피드백 루프가 *선호적 부착 (preferential attachment)*: *콘텐츠가 이미 가진 주목이 많을수록, *더 많은 주목을 끌어들이는 경향*. *수학적 결과가 *도달의 멱법칙 분포*: *몇 포스트가 거대한 증폭 얻음, *대부분 포스트가 거의 없음*.

*이게 자산 분포 (부자가 더 부자 됨) 와 도시 인구 (큰 게 더 커짐) 와 *구조적으로 동일*. *같은 동역학이 같은 모양 만듦*. *'바이럴 됐다' 라고 부르면 *무작위 사건처럼 들림*; *사실은 *선호적-부착 시스템의 예측 가능한 정상 상태*.

왜 '평균 도달' 이 호도하나

*100 포스트 가진 크리에이터에 대해, *중앙값 도달이 200 시청자일 수도*. *'바이럴 된' 한두 포스트에 의해 위로 끌려, *평균 도달이 *50,000 일 수도*. *평균을 '전형적 도달' 로 인용하는 게 *차수로 호도*. *기술은 *평균을 무시하고 중앙값과 상위-백분위 분포를 보는 것*. *상위 1% 포스트가 종종 *하위 99% 합쳐진 것보다 더 많은 총 도달 차지*.

시민 실수

*실수는 *자기 포스트의 샘플을 보고, 평균 도달 계산, 그리고 *다음 포스트에 대한 기대 설정에 사용*. *다음 포스트가 *거의 확실히 평균에 underperform* (*멱법칙 분포에서 *대부분 포스트가 평균 아래*; *몇 희귀 hit 만이 위*). *평균에 보정된 기대가 *그래서 *체계적으로 실망*, *그동안 *희귀 바이럴 hit 가 놀라움으로 다뤄짐* — *그게 사실은 *평균 자체의 구조적 원천일 때*.

시민의 프레임 시프트

*멱법칙 도메인에서, *평균이 *희귀한 상위의 가공물*, *전형적의 묘사가 아니야*. *평균에 의해 운영하는 게 *체계적 오보정으로 이어짐*: *대부분 포스트가 실망, *가끔이 놀라움, 그리고 *구조가 *그동안 내내 *오독되는 중**. *옳은 프레임은*: *'대부분 내 포스트가 중앙값 근처에 떨어질 것; *작은 비율이 그것들을 왜소하게 만들 것*. *전략은 *작은 비율이 hit 할 수 있도록 *많은 포스트 만드는 것*, *그리고 *hit, 평균이 아닌, 이 *시스템의 수학*임을 아는 것*'*. *이게 *스타트업, 책, 노래, 논문, 그리고 *대부분 주목-주도 도메인에 적용되는 같은 논리*.

Code

멱법칙 도달: 중앙값 vs 평균 vs 상위-백분위·python
import numpy as np
rng = np.random.default_rng(210)

# *멱법칙 도달 하 크리에이터의 1,000 포스트 시뮬*.
N_posts = 1_000
reach = (rng.pareto(a=1.4, size=N_posts) + 1) * 100   # 대략 멱법칙

print(f"모든 포스트의 총 도달: {reach.sum():>12,.0f}")
print(f"포스트당 평균 도달:     {reach.mean():>12,.0f}")
print(f"포스트당 중앙값 도달:   {np.median(reach):>12,.0f}")
print(f"상위 1% 도달 임계:      {np.quantile(reach, 0.99):>12,.0f}")
print(f"상위 0.1% 도달 임계:    {np.quantile(reach, 0.999):>12,.0f}")
print()
# *상위 X% 가 총 도달에 기여하는 누적*.
sorted_reach = np.sort(reach)[::-1]
for pct in (0.001, 0.01, 0.05, 0.1, 0.5):
    k = max(int(N_posts * pct), 1)
    share = sorted_reach[:k].sum() / reach.sum()
    print(f"상위 {pct*100:>5.1f}%  포스트가 총 도달의 {share*100:>5.1f}% 보유")

# *상위 1% 포스트가 *총 도달의 불비례적 몫 보유*.
# *중앙값이 평균 훨씬 아래*. *평균을 '전형적' 으로 인용하는 게 호도*.
# *평균에 기대 보정하는 크리에이터가 *영구적으로 실망*
# *예외는 *평균 *자체인* 희귀 hit*.

External links

Exercise

*쓴 *창의적이거나 콘텐츠 채널 하나 고르기* (Twitter/X, YouTube, 블로그, 뉴스레터, 팟캐스트). *마지막 50 포스트의 실제 도달 숫자 (조회, 좋아요, 공유) 보기*. *평균과 중앙값 계산*. *상위 5 포스트와 하위 25 식별*. *알아채기*: *상위 5 가 *총 도달의 대부분 차지할 가능성 높음*. *'평균' 이 그들에 의해 끌리고*; *'전형적' 포스트가 평균이 시사하는 것보다 *훨씬 작음*.
Hint
*자신의 데이터에서 *멱법칙 모양을 보면, *평균과 중앙값 사이 격차에 안 놀라기 시작*, *그리고 *평균 올리는 것 대신 hit 에 최적화 시작*.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.