Recommendation Impact Measurement
추천은 수요를 겨냥해 배치된다 — 그래서 “추천된 것의 시청률”은 인과적 질문에 답하지 못한다
핵심 개념
추천 시스템의 가치를 재는 자연스러운 첫 시도는 “전체 소비 중 추천된 아이템의 비중은 얼마인가”다. 직관적이지만 인과적 질문에 답하지 못한다.
문제는 추천이 랜덤 배정이 아니라는 것이다. 타이틀이 홈페이지에 뜨는 이유는 정확히 추천 시스템이 그 사용자가 볼 것 같다고 예측했기 때문이다. 사용자가 봤다면 — 추천이 원인인가, 원래 그런 취향이라 어차피 봤을 것인가?
추천은 수요를 타겟하도록 설계되었으므로, 추천된 아이템의 소비는 개인화의 효과와 사용자의 잠재 선호가 뒤섞여 있다.
왜 그냥 실험하면 안 되는가
깨끗한 변이를 얻는 방법은 개인화 경험을 비개인화로 대체하는 대규모 실험이다. 하지만 회원 경험이 나빠진다. 개인화는 큰 카탈로그에서 가치 있는 아이템을 찾는 핵심 수단이므로, 넓게 끄는 것은 수용 가능한 측정 전략이 아니다.
하이브리드 접근 — 모델 + 소규모 실험
- 행동 모델로 잠재 선호와 추천의 증분 효과를 분리한다. 알고리즘 exploration 같은 추천 시스템의 자연 변이를 활용
- 소규모 A/B로 소수 타이틀의 salience를 외생적으로 nudge해 ground-truth 대체 패턴을 만든다
- 모델이 그 실험적 패턴을 재현하는지 확인
모델링의 규모·풍부함과 실험적 증거의 신뢰성을 결합하는 구조다.
Low-rank 선택 모델
일별 선택 과정으로 모델링한다. 매일 사용자는 카탈로그의 아이템 중 하나를 고르거나 아무것도 안 고른다. 추정 대상은 주어진 날 각 아이템을 볼 확률이며, 선호·시청 이력·본 추천의 함수다.
왜 low-rank인가
단순 모델은 “아이템 하나를 카탈로그에서 빼면 다른 모든 아이템으로 대략 비례해서 옮겨간다”고 가정하지만, 실제 선택은 그렇지 않다. 로맨틱 코미디를 고려 중인 사람에게 최근접 대체재는 모든 타이틀이 아니라 다른 로맨틱 코미디다.
각 아이템의 표현과 각 사용자의 현재 선호 표현을 학습하되, 장르·출연·언어 같은 수동 지정 피처에 갇히지 않고 시청 행동 자체에서 학습한다. 거친 피처로는 기술하기 어려운 미묘한 유사성을 포착할 수 있다.
선호는 동적이다
오늘 보고 싶은 것은 최근에 무엇을 봤느냐에 달려 있다. 방금 범죄 스릴러를 끝낸 사람은 스탠드업이나 아동 영화를 본 뒤의 같은 사람과 다른 선호 상태에 있다.
사용자마다 고정 선호 벡터를 추정하는 대신 과거 시청 이력을 현재 선호 상태로 요약한다. 이질적이고 시변하는 취향을 담으면서 수백만 사용자로 확장할 수 있다.
추천 효과의 명시적 파라미터화
추천되면 선택 확률을 높이는 추가 “보너스”를 준다. 이는 두 메커니즘의 축약형(reduced-form)이다.
- awareness — 몰랐을 아이템을 발견하게 함
- information — 잘 맞을 것이라는 신호를 줌
일단 추정되면 모델은 counterfactual 예측 엔진이 된다.
검증 — diversion ratio
모델은 중요한 가정에 의존한다. 사용자·아이템·상태 정보를 조건부로 통제하고 나면, 추천 여부의 잔여 변이를 랜덤 배정처럼 취급한다는 것. 추천 시스템이 볼 수 있는 정보를 전부 관측하므로 합리적이지만 여전히 가정이다.
좋은 모델은 과거 소비 패턴에 fit하는 데 그치지 않고 외부 이유로 추천이 바뀔 때 무슨 일이 일어날지 예측해야 한다.
그래서 아이템 가시성을 외생적으로 흔드는 랜덤 실험을 돌린다. 이는 추천 알고리즘이 업데이트될 때 일상적으로 일어나는 변이를 흉내내되 사전 명시(prespecify)한 것이다. 측정 대상은 diversion ratio — 어떤 아이템 집합이 덜 보이게 되면 소비가 어디로 옮겨가고, 얼마나 서비스 밖으로 아예 빠지는가.
Netflix 결과: 모델 예측 diversion ratio와 실험 추정치의 상관 0.86, R² 0.73 (out-of-sample).
Counterfactual 비교
검증된 모델로 대안 추천 시스템을 시뮬레이션한다. 카탈로그·사용자·선택 모델은 고정하고 추천만 바꾼다.
| 정책 | engagement (현행 대비) | 다양성 |
|---|---|---|
| 랜덤 추천 | -16% | 약간 증가 (engagement 대가가 큼) |
| 인기 기반 (비개인화 벤치마크) | -12% | 집중도 크게 증가 |
| Matrix factorization (구세대 개인화) | -4% | 집중도 크게 증가 |
| 현행 시스템 | — | 넓은 분포 유지 |
engagement만 보면 부족하다. 추천 시스템은 이미 인기 있는 좁은 아이템 집합에 관심을 몰면서 소비를 늘릴 수도 있다. 그건 취향이 그 아이템들로 대표되지 않는 사용자에게 더 나쁜 경험이고, 넓은 카탈로그를 낭비하는 것이다. 따라서 consumption diversity를 함께 봐야 한다.
3채널 분해 — exposure / selection / targeting
“왜 추천된 아이템이 소비되는가”를 개념적으로 구분되는 세 채널로 나눈다.
- exposure — 단순히 보여주는 것만으로 확률이 오른다. 찾기 어려웠을 아이템을 표면화하는 기본 가치
- selection — 추천된 아이템은 애초에 볼 확률이 높은 사용자에게 보여진다. 증분 engagement를 만들지 않지만 발견 경험을 매끄럽게 하고 “시스템이 내 취향을 안다”는 느낌을 준다
- targeting — 추천 자체가 특히 효과적인 사용자를 식별. 추천이 결정을 바꾸는 자리에 아이템을 놓는가
구분이 중요한 이유:
- exposure만으로 작동한다면 → 어느 정도 눈에 띄는 표면이면 같은 가치의 상당 부분을 낼 수 있다
- selection이 대부분이라면 → 이미 볼 사람을 찾아낸 것뿐이다
- targeting이 크다면 → 시스템이 실제로 결정을 바꾸고 있다
Netflix 측정 결과
- exposure는 유의미하다 — 평균 사용자에게 아이템을 보여주면 소비 확률이 약 3배
- 그러나 현행 시스템에서 소비 격차의 약 7%만 설명한다. selection과 targeting이 대부분
- targeting 효과가 exposure의 거의 7배
- 시스템별 구성 변화가 특히 시사적이다: 랜덤 추천은 exposure가 지배(개인화하지 않으므로 소비 차이가 대부분 무엇을 보여줬느냐를 반영), matrix factorization은 셋이 거의 균등, 현행 시스템은 exposure 비중이 줄고 targeting이 커짐
Targeting은 카탈로그 전체에 균일하지 않다
mid-popularity 아이템에서 가장 강하다. 넓게 관련될 만큼의 잠재 관객은 있지만 이미 모두가 알 정도의 대중성은 없는 구간이다.
- 초인기 아이템 — targeting의 도움이 덜 필요
- 초니치 아이템 — 효과적으로 타겟할 관객이 너무 적음
- 카탈로그의 중간이 개인화가 특정 아이템과 특정 취향을 연결해주는 곳
실무 함의
- “추천 경유 소비 비율”을 KPI로 쓰지 마라. selection이 섞여 있어 시스템이 나아지면 자동으로 올라가는 지표다
- engagement와 diversity를 함께 봐야 개인화가 카탈로그를 좁히고 있지 않은지 알 수 있다
- 대규모 off-switch 실험이 불가능한 곳에서는 소규모 salience nudge + 모델 검증이 현실적 대안이다 → Causal Inference
- 랭킹 개선의 가치를 논할 때 어느 채널이 커지는지 보면 다음에 투자할 곳이 보인다. exposure를 늘리는 UI 변경과 targeting을 개선하는 모델 변경은 다른 일이다
연관 개념
- Causal Inference
- A-B Testing and Experimentation
- ML Ranking Systems
- Generative Recommender Systems
- Semantic IDs
- Data Scientist Role in AI Era
Source: Measuring the Impact of Personalized Recommendations