Spotify Research introduces Stochastic Primal-Dual Decoding (SPDD), an inference-time method that adds multi-objective control to generative recommender systems without retraining the underlying model. SPDD frames list generation as an online constrained optimization problem, dynamically adjusting a dual variable to balance relevance against auxiliary objectives at each decoding step. In offline evaluations across playlist ranking, home shelf ranking, and e-commerce recommendation (using SASRec, TransAct, and LLaMA-based models), SPDD achieved Pareto improvements over post-generation re-ranking and fixed-weight generation baselines. A live A/B test on ~1 million Spotify users showed SPDD increased an auxiliary stream-share metric by +5.44% vs. control, compared to +3.60% for fixed-weight generation, with no loss in user consumption and a lower skip-rate increase (+0.16% vs. +0.42%).

7m read timeFrom research.atspotify.com
Post cover image
Table of contents
ContextWhy multiobjective generation is differentA decoder that adapts as it goesTheoretical guarantees for practical controlResultsValidating SPDD in a live systemLooking ahead

Questions this post answers

How did Spotify's SPDD method perform compared to fixed-weight generation in an A/B test for playlist ranking?

SPDD increased the auxiliary stream-share metric by +5.44% relative to a relevance-only control, versus +3.60% for fixed-weight generation — an additional gain of roughly +1.8 percentage points. It achieved this without decreasing user consumption and produced a smaller skip-rate increase (+0.16% vs. +0.42%). The test ran across approximately 1 million users in more than 150 countries and 600,000 personalized playlists. Teams shipping generative ranking systems track production trade-offs like these on daily.dev.

What is Stochastic Primal-Dual Decoding (SPDD) and how does it handle multiple objectives in generative recommendation?

SPDD is a lightweight inference-time layer placed on top of a pre-trained autoregressive recommender. At each decoding step it combines the model's relevance scores with auxiliary-objective scores using a dynamic dual variable that reflects how far the list is from its auxiliary target. When the list falls behind, the weight increases to prioritize auxiliary-objective items; once on track, it decreases to let relevance dominate. No model retraining is required. Researchers choosing between retraining and inference-time control for multi-objective ranking follow developments like this on daily.dev.

192 Impressions