콘텐츠로 이동
Data Prep
상세

미디어/엔터테인먼트 산업 분석

산업 개요

미디어/엔터테인먼트 산업은 콘텐츠 소비 패턴의 디지털 전환으로 데이터 기반 의사결정이 필수가 되었다. 추천 알고리즘, 콘텐츠 최적화, 구독자 유지가 핵심 분석 영역이다.

핵심 지표 (KPI)

플랫폼/스트리밍

지표 설명 벤치마크
MAU/DAU 월간/일간 활성 사용자 DAU/MAU > 25% (건강)
Stickiness DAU/MAU 비율 20-25% (양호)
Watch Time 평균 시청 시간 플랫폼별 상이
Completion Rate 콘텐츠 완료율 영화 >80%, 드라마 >60%
Churn Rate 이탈률 월 3-5% (목표)
ARPU 사용자당 수익 $10-15/월 (OTT)

콘텐츠

지표 설명 활용
First 24h Views 24시간 내 조회수 초기 성과 예측
Viral Coefficient 바이럴 계수 공유/입소문 효과
Engagement Rate 좋아요+댓글+공유/조회 3-6% (YouTube 양호)
Skip Rate 스킵 비율 콘텐츠 품질 지표
Re-watch Rate 재시청률 콘텐츠 가치

광고 (Ad-supported)

지표 설명
CPM 1000회 노출당 비용
Fill Rate 광고 슬롯 채움률
View-through Rate 광고 완시청률
Ad Load 콘텐츠 대비 광고 비율

분석 유형

1. 콘텐츠 성과 분석

목표: 어떤 콘텐츠가 성공하는가?

# 콘텐츠 성과 예측 피처
content_features = {
    'meta': ['genre', 'duration', 'language', 'rating', 'release_day'],
    'cast': ['lead_actor_popularity', 'director_track_record'],
    'marketing': ['trailer_views', 'social_buzz', 'pre_release_search'],
    'historical': ['similar_content_performance', 'franchise_history']
}

# 성과 예측 모델
from sklearn.ensemble import GradientBoostingRegressor

model = GradientBoostingRegressor()
model.fit(X_train, y_views)

# 피처 중요도 분석
importance = pd.DataFrame({
    'feature': feature_names,
    'importance': model.feature_importances_
}).sort_values('importance', ascending=False)

인사이트 예시: - 금요일 저녁 출시 콘텐츠가 주말 시청으로 연결 - 시리즈물은 이전 시즌 성과의 80% 예측력 - 15-25분 콘텐츠의 완료율이 가장 높음

2. 추천 시스템 분석

Collaborative Filtering 기반:

# 사용자-아이템 행렬
from scipy.sparse import csr_matrix
from implicit.als import AlternatingLeastSquares

# 시청 기록 → 희소 행렬
user_item = csr_matrix((
    df['watch_time'],
    (df['user_id'], df['content_id'])
))

# ALS 모델
model = AlternatingLeastSquares(factors=64, iterations=15)
model.fit(user_item)

# 추천
recommendations = model.recommend(user_id, user_item[user_id], N=10)

Content-based 보강:

# 콘텐츠 임베딩
from sentence_transformers import SentenceTransformer

encoder = SentenceTransformer('all-MiniLM-L6-v2')

# 장르, 설명, 태그 결합
content_text = df['genre'] + ' ' + df['description'] + ' ' + df['tags']
content_embeddings = encoder.encode(content_text.tolist())

# 유사 콘텐츠 검색
from sklearn.metrics.pairwise import cosine_similarity
similarities = cosine_similarity(content_embeddings)

하이브리드 추천:

def hybrid_recommend(user_id, alpha=0.7):
    # Collaborative 점수
    cf_scores = collaborative_model.recommend(user_id)

    # Content-based 점수 (사용자 선호 기반)
    user_history = get_user_history(user_id)
    cb_scores = content_similarity(user_history)

    # 가중 결합
    final_scores = alpha * cf_scores + (1 - alpha) * cb_scores
    return final_scores.argsort()[::-1][:10]

3. 구독자 Churn 분석

이탈 예측 피처:

churn_features = {
    'engagement': [
        'days_since_last_watch',
        'watch_time_trend',  # 최근 4주 트렌드
        'content_diversity',  # 장르 다양성
        'binge_behavior'     # 몰아보기 패턴
    ],
    'account': [
        'account_age',
        'payment_method',
        'plan_type',
        'price_change_exposure'
    ],
    'platform': [
        'device_count',
        'download_usage',
        'search_frequency'
    ]
}

예측 모델:

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score, precision_recall_curve

# 모델 학습
model = RandomForestClassifier(n_estimators=100, class_weight='balanced')
model.fit(X_train, y_churn)

# 이탈 확률 예측
churn_proba = model.predict_proba(X_test)[:, 1]

# 고위험 사용자 세그먼트
high_risk = users[churn_proba > 0.7]

개입 전략:

이탈 확률 액션
0.7+ 할인 쿠폰, 개인화 추천
0.5-0.7 이메일 캠페인, 새 콘텐츠 알림
0.3-0.5 앱 푸시, 추천 품질 개선
<0.3 정기 관리

4. A/B 테스트 (UI/추천)

일반적인 테스트 영역:

ab_tests = {
    'recommendation': {
        'A': '협업 필터링 기반',
        'B': '하이브리드 추천',
        'metric': 'CTR, watch_time, retention'
    },
    'thumbnail': {
        'A': '원본 썸네일',
        'B': '개인화 썸네일',
        'metric': 'CTR'
    },
    'autoplay': {
        'A': '5초 후 자동 재생',
        'B': '10초 후 자동 재생',
        'metric': 'session_length, opt_out_rate'
    }
}

분석 코드:

from scipy import stats

def ab_test_analysis(control, treatment, metric='ctr'):
    # t-검정
    t_stat, p_value = stats.ttest_ind(
        treatment[metric], 
        control[metric]
    )

    # 효과 크기
    lift = (treatment[metric].mean() - control[metric].mean()) / \
           control[metric].mean() * 100

    # 신뢰구간
    ci = stats.sem(treatment[metric] - control[metric]) * 1.96

    return {
        'p_value': p_value,
        'lift_pct': lift,
        'ci_95': ci,
        'significant': p_value < 0.05
    }

고급 분석

시청 패턴 클러스터링

from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler

# 시청 행동 피처
behavior_features = [
    'avg_watch_time_per_session',
    'sessions_per_week',
    'genre_diversity_index',
    'peak_hour_preference',
    'binge_sessions_ratio',
    'mobile_vs_tv_ratio'
]

# 클러스터링
scaler = StandardScaler()
X_scaled = scaler.fit_transform(users[behavior_features])

kmeans = KMeans(n_clusters=5, random_state=42)
users['segment'] = kmeans.fit_predict(X_scaled)

# 세그먼트 프로파일링
segment_profiles = users.groupby('segment')[behavior_features].mean()

세그먼트 예시:

세그먼트 특징 전략
Binge Watcher 주말 몰아보기, 시리즈 선호 시리즈 출시 알림
Casual Viewer 짧은 세션, 다양한 장르 짧은 콘텐츠 추천
Premium User 높은 engagement, 다기기 사용 4K/독점 콘텐츠
At-Risk 감소 추세, 낮은 활동 리텐션 캠페인
New User 탐색 중, 불확실한 선호 온보딩 최적화

콘텐츠 가치 분석 (LTV 기여)

# 콘텐츠별 구독 유지 기여도
def content_ltv_contribution(content_id):
    # 해당 콘텐츠 시청자
    viewers = get_content_viewers(content_id)

    # 시청 후 retention 비교
    watched_retention = calculate_retention(viewers, post_watch=True)
    baseline_retention = calculate_retention(non_viewers)

    # 기여도
    contribution = (watched_retention - baseline_retention) * avg_ltv
    return contribution

# 콘텐츠 ROI
content_roi = content_ltv_contribution / content_production_cost

시간대별 소비 패턴

import pandas as pd

# 시간대-요일 히트맵
watch_heatmap = df.groupby(['day_of_week', 'hour'])['watch_count'].sum()
watch_heatmap = watch_heatmap.unstack()

# 피크 시간 식별
peak_hours = watch_heatmap.idxmax()

# 콘텐츠 스케줄링 최적화
def optimal_release_time(content_type):
    target_audience = get_target_audience(content_type)
    audience_peak = analyze_peak_hours(target_audience)
    return audience_peak

데이터 소스

데이터 활용
시청 로그 행동 분석, 추천
검색 로그 수요 파악, 콘텐츠 기획
소셜 데이터 감성 분석, 바이럴 예측
결제 데이터 매출 분석, LTV
디바이스 데이터 UX 최적화
광고 데이터 수익화 분석

도구 및 플랫폼

용도 도구
데이터 파이프라인 Spark, Kafka, Airflow
분석 BigQuery, Snowflake, Databricks
추천 시스템 Recbole, Surprise, TensorFlow Recommenders
A/B 테스트 Optimizely, LaunchDarkly, Statsig
시각화 Looker, Tableau, Amplitude

참고 자료

  • "Deep Learning for Recommender Systems" (Zhang et al.)
  • Netflix Tech Blog
  • Spotify Research Papers
  • "Trustworthy Online Controlled Experiments" (Kohavi)

최종 업데이트: 2026-02-18