Why Netflix turned away from hand-crafted features

For most of its history, Netflix’s recommendation pipeline relied on thousands of manually defined attributes—numeric vectors that describe users, titles, and every interaction between them. Engineers spent weeks translating a new content type—live sports, podcasts, or games—into a fresh set of features before the system could start recommending it. The process was costly, brittle and hard to keep in sync with the catalog’s rapid expansion.

Off-the-shelf large language models (LLMs) didn’t work out of the box. They gravitated toward the most popular titles, occasionally hallucinated items that don’t exist, and struggled to enforce the business rules that keep recommendations safe and relevant. Netflix therefore built a bespoke LLM-based pipeline that preserves the strengths of a language model while respecting production constraints.

Inside GenRec: a two-stage training pipeline

GenRec consists of two distinct phases:

  1. Base model fine-tuning – Netflix starts from an open-weight language model and fine-tunes it on internal viewing data. This teaches the model the catalog’s vocabulary and user-behavior patterns without changing its core architecture.
  2. Recommendation ranking – A second round of training turns the fine-tuned model into a ranker that scores candidate titles for a given user. Netflix refreshes this stage frequently so the model stays current with new releases and shifting trends.

The key departure from the legacy system is how user history is fed to the model. Instead of compressing watch sessions into dense vectors, GenRec translates each interaction—play duration, thumbs-up or thumbs-down, early drop-off—into plain English sentences. The model then reads the entire session as a short dialogue, picking up subtle shifts in genre preference or mood without any explicit feature engineering.

Performance and efficiency gains

In a four-week experiment that exposed 10 % of Netflix traffic to GenRec, the new system produced statistically significant lifts across two metric families:

  • Short-term engagement – a 0.115 % rise in the primary click-through and watch-time signals that drive daily recommendations.
  • Long-term core metrics – a 0.006 % increase in subscriber-retention and overall satisfaction scores that matter most to the business.

Offline, the ranking quality on a held-out dataset improved by 1.6 % compared with the production baseline. More striking is data efficiency: the second training stage required roughly 1/40 of the labeled examples the traditional pipeline needs to reach the same performance level.

To keep the compute bill in check, Netflix runs the model with vLLM, a serving stack that scores every candidate in a single forward pass rather than generating text. The system also applies aggressive filtering so that only high-signal events occupy the model’s context window, trimming unnecessary tokens and reducing latency.

What the shift from “features” to “context” means

GenRec is part of a broader movement where “context engineering” replaces hand-crafted features. Instead of designing a bespoke architecture for each recommendation task, engineers decide which signals to insert into a text prompt and let the language model reason over them. The approach speeds onboarding of new content types: a podcast episode or a live-streamed game can be described in a sentence and immediately join the recommendation pool, skipping a months-long feature-definition sprint.

The remaining hurdles

LLM-based recommenders are not a silver bullet. Their tendency to over-emphasize popular items still biases the catalog, and the need for powerful GPUs raises operational costs. Even with vLLM and aggressive filtering, serving a large language model at Netflix’s scale demands careful engineering to meet latency targets.