Netflix TechBlog | Medium
Follow
Thinking Fast & Slow for a Personalized Notification System
Daniel Kahneman's dual-process theory describes two cognitive systems: System 1 for automatic, quick thinking and System 2 for deliberate, focused effort. This concept applies to designing intelligent systems that balance immediate responsiveness with foresight. Netflix's personalized notification platform faces a similar challenge, optimizing hundreds of millions of daily messages. A core tension exists between maximizing short-term engagement and ensuring a positive long-term member experience. Over-messaging can lead to fatigue and opt-outs, while under-messaging risks missing valuable content discoveries.To address this, Netflix implemented a hierarchical framework with a "slow" policy for strategic, weekly messaging plans and a "fast" policy for tactical, real-time message selection. Previously, single-message outcome models optimized for short-term gains but overlooked cumulative effects and coupled ranking with pacing decisions. The new "slow" policy defines a personalized message pacing over a defined horizon, considering long-term engagement. This is achieved by maximizing a utility function that balances positive engagement signals against the long-term cost of messaging.A universal message cost term is introduced to prevent models from always opting for maximum frequency. The "slow" policy's decisions are stored in a feature store, enabling asynchronous communication with the "fast" policy. The "fast" policy then executes tactical send decisions within the strategic guardrails set by the "slow" policy. This decoupling allows for independent evolution of both strategies and ensures a consistent member experience. The hierarchical architecture led to significant metric lifts, particularly benefiting casual viewers by improving content awareness. Ultimately, separating frequency planning from message selection proved transformative, allowing for independent iteration on both aspects.