넷플릭스, 개인화 알림 시스템에 '느린-빠른' 계층 구조 도입
넷플릭스는 수억 건의 개인화된 알림 발송 시 단기 참여 최적화와 장기적인 회원 경험 간의 상충 관계 해결 필요성 대두
'느린' 정책(Slow Policy)은 주간 메시지 빈도 등 전략적 의사결정을, '빠른' 정책(Fast Policy)은 실시간 메시지 선택 등 전술적 결정을 담당하는 계층적 시스템 도입
단기 보상 모델의 한계와 빈도 및 메시지 선택의 결합 문제를 해결하여 회원 피로도 관리 및 개인화된 빈도 설정 가능성 확보
계층적 아키텍처 전환 후 캐주얼 시청자(Casual Viewer) 참여 증대 및 독립적인 모델 개선 유연성 확보라는 주요 성과 달성
계층적 아키텍처를 통한 '느린'과 '빠른' 정책 분리
본 시스템은 다니엘 카너먼(Daniel Kahneman)의 '빠르게 생각하기, 느리게 생각하기(Thinking, Fast and Slow)' 이론을 차용하여, 장기적인 회원 경험(Long-term Member Experience)을 위한 '느린(Slow)' 계획 정책과 실시간 참여 최적화(Real-time Engagement Optimization)를 위한 '빠른(Fast)' 실행 정책으로 분리함.
느린 정책(Slow Policy): 주간 메시지 빈도, 채널별 발송 계획 등 전략적 의사결정(Strategic Decision-making)을 담당하며, 약 O(100)개의 개인화된 주간 메시징 계획(Weekly Messaging Plan)을 생성함.
빠른 정책(Fast Policy): '느린' 정책이 수립한 계획을 기반으로, 알림 발송 기회가 발생했을 때 가장 관련성 높은 메시지(Most Relevant Message)를 실시간으로 선택하고 발송함.
이러한 분리는 독립적인 모델 개선(Independent Evolution)을 가능하게 하여, 각 정책의 최적화 과정에서 다른 정책에 미치는 영향을 최소화함.
개인화된 유틸리티 함수를 통한 장기적 가치 극대화
넷플릭스는 '느린' 정책에서 개인화된 유틸리티 함수(Utility Function)를 사용하여 장기적인 회원 만족도(Long-term Member Satisfaction)를 극대화함.
`U(member, action) = Σ wₖ·Reward_k(member,action) — Cost(action)`
긍정적 신호(Positive Signals): 회원이 플랫폼에서 가치를 발견하고 참여할 가능성을 예측함.
부정적 신호(Negative Signals): 회원 피로도 증가 또는 메시지 채널 옵트아웃(Opt-out) 가능성을 예측함.
특히, 명시적인 부정 피드백이 부족한 현실을 고려하여, 모든 메시지 발송에 보편적인 메시지 비용(Universal Message Cost) 항을 추가함으로써 과도한 메시지 발송을 방지하고 보상 함수(Reward Function)의 안정성을 확보함. 이 비용 파라미터는 온라인 실험(Online Experiments) 및 오프라인 평가(Offline Evaluation)를 통해 경험적으로 튜닝됨.
단기 보상 모델의 한계와 빈도-메시지 선택 결합 문제
기존 시스템은 단일 메시지가 단기적인 사용자 행동에 미치는 인과적 효과(Causal Effect)를 예측하여 발송 결정을 내렸으나, 이는 두 가지 근본적인 한계를 가짐.
단기 보상 지평(Short-Term Reward Horizons): 즉각적인 상호작용을 유도하는 데는 효과적이나, 메시지 피로도 증가 등 장기적인 누적 효과(Cumulative Long-term Effects)를 간과함.
결합된 순위 결정 및 빈도 조절(Coupled Ranking and Pacing Decisions): 일일 증분(Daily Incrementality)을 기반으로 발송 여부와 메시지를 동시에 결정하여, 개별 회원의 주간 메시지 빈도(Individual Member's Weekly Message Frequency)를 명시적인 제어 변수로 관리하기 어려웠음.
이러한 문제 해결을 위해, 메시지 빈도 계획(Frequency Planning)과 메시지 선택(Message Selection)을 분리하는 계층적 접근 방식을 채택함.
데이터 격리 아키텍처를 통한 정책 간 비동기 통신
두 정책 간의 비동기 통신은 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 관리되며, 저지연 피처 스토어(Low-latency Feature Store)를 활용함.
계획자(Planner - Slow Policy): 회원의 이상적인 메시징 계획을 계산하여 전략적 의도(Strategic Intent)를 피처 스토어에 기록함.
실행자(Executor - Fast Policy): 알림 발송 기회가 발생하면, 피처 스토어에서 저장된 '계획'을 기능(Feature)으로 가져와 해당 전략적 가드레일(Strategic Guardrails) 내에서 전술적 발송 결정을 실행함.
이 구조는 '고착성(Stickiness)'을 보장하여 회원에게 일관된 경험을 제공하고, '독립적인 진화(Independent Evolution)'를 가능하게 하여 실시간 순위 결정 로직을 건드리지 않고도 주간 페이싱 전략을 개선할 수 있는 유연성을 제공함.
계층적 아키텍처 도입 후 주요 성과 및 시사점
계층적 아키텍처로의 전환은 역대 최대 규모의 프로덕션 지표 향상(Production Metric Lifts) 중 하나를 가져왔으며, 특히 캐주얼 시청자(Casual Viewer) 그룹에서 가장 큰 이득을 관찰함.
분리의 힘(The Power of Decoupling): 빈도 계획과 메시지 선택을 분리하는 것이 모델링 자체만큼 혁신적이었으며, 콘텐츠 순위 모델(Content Ranking Models)과 페이싱 전략(Pacing Strategies)을 두 개의 독립적이고 명확한 변수로 반복 개선할 수 있는 유연성을 확보함.
수평선 존중(Respecting the Horizon): 메시징의 영향은 고립된 사건이 아니라 회원과의 지속적인 상호작용을 통해 누적되므로, 페이싱을 전담 전략 계층(Strategic Layer)으로 분리함으로써 장기적인 피로도 및 옵트아웃 위험을 명시적으로 관리할 메커니즘을 갖추게 됨.
이는 회원 경험(Member Experience)과 콘텐츠 발견(Content Discovery) 사이의 균형을 맞추는 데 중요한 기여를 함.