<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/balancing-multiple-objectives-in-generative-recommendations-with-adaptive-decoding-1f0ectcl8" -->

---
title: Balancing Multiple Objectives in Generative...
description: Spotify Research introduces Stochastic Primal-Dual Decoding (SPDD), an inference-time method that adds multi-objective control to generative recommender...
canonical: https://daily.dev/posts/balancing-multiple-objectives-in-generative-recommendations-with-adaptive-decoding-1f0ectcl8
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Balancing Multiple Objectives in Generative Recommendations with Adaptive Decoding | daily.dev
og:description: Spotify Research introduces Stochastic Primal-Dual Decoding (SPDD), an inference-time method that adds multi-objective control to generative recommender...
og:url: https://daily.dev/posts/balancing-multiple-objectives-in-generative-recommendations-with-adaptive-decoding-1f0ectcl8
og:image: https://api.daily.dev/og/posts/1f0ectcl8.png
og:image:alt: Balancing Multiple Objectives in Generative Recommendations with Adaptive Decoding
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Balancing Multiple Objectives in Generative Recommendations with Adaptive Decoding

**[Spotify Research](https://daily.dev/sources/spotify_research)** · 7 min read · 0 upvotes · 0 comments

## Summary

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%).

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://research.atspotify.com/2026/8/balancing-multiple-objectives-in-generative-recommendations-with-adaptive-decoding>

## Questions this post answers

### What is Stochastic Primal-Dual Decoding (SPDD) for recommender systems?

SPDD is a lightweight inference-time decoding method that steers generative recommenders toward auxiliary objectives without retraining the underlying model. It frames next-item selection as an online constrained optimization problem, combining relevance scores with an auxiliary-objective score using a dynamic weight that increases when the list falls behind its target and decreases once the target is on track.

_daily.dev surfaces research like this for engineers designing multiobjective ranking systems without costly retraining._

### How much did SPDD improve auxiliary stream-share compared to fixed-weight generation in Spotify's A/B test?

SPDD increased the auxiliary stream-share metric by 5.44% relative to control, versus 3.60% for fixed-weight generation, an additional gain of about 1.8 percentage points. It achieved this without reducing user consumption and produced a smaller skip-rate increase (0.16% vs 0.42%) in an experiment covering roughly 1 million users across more than 150 countries and 600,000 personalized playlists.

_developers evaluating generation-time tuning strategies can track real-world A/B results like this on daily.dev._

### What generative recommender architectures and datasets were used to test SPDD?

SPDD was tested on three tasks with three different generative architectures: Spotify playlist ranking using a SASRec model over roughly 40 billion interactions from 62 million users across 42 million tracks, Home shelf ranking using a TransAct model over 5.3 billion shelf impressions from 500 million user requests, and e-commerce recommendation on the public Amazon Sports and Outdoors dataset using a LLaMA-based recommender.

_daily.dev helps ML practitioners compare architecture choices when building generative recommenders._

## Similar posts on daily.dev

- [Evolution of Multi-Objective Optimization at Pinterest Home feed](https://daily.dev/posts/evolution-of-multi-objective-optimization-at-pinterest-home-feed-fi18uo2di) · Pinterest Engineering · 0 upvotes · 0 comments
- [Hypothesis-Driven Shelf Generation for Personalised Recommendation](https://daily.dev/posts/hypothesis-driven-shelf-generation-for-personalised-recommendation-fxvfjt1er) · Spotify Research · 0 upvotes · 0 comments
- [DSpark: the DeepSeek inference upgrade that matters more than most model launches](https://daily.dev/posts/dspark-the-deepseek-inference-upgrade-that-matters-more-than-most-model-launches-teogimjdi) · Medium · 1 upvotes · 0 comments
- [The Machine Learning Practitioner’s Guide to Speculative Decoding](https://daily.dev/posts/the-machine-learning-practitioner-s-guide-to-speculative-decoding-3z4bou5te) · Machine Learning Mastery · 2 upvotes · 0 comments

---

Tags: [#machine-learning](https://daily.dev/tags/machine-learning), [#genai](https://daily.dev/tags/genai), [#spotify](https://daily.dev/tags/spotify)

[View this post on daily.dev](https://daily.dev/posts/balancing-multiple-objectives-in-generative-recommendations-with-adaptive-decoding-1f0ectcl8)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Balancing Multiple Objectives in Generative Recommendations with Adaptive Decoding","url":"https://daily.dev/posts/balancing-multiple-objectives-in-generative-recommendations-with-adaptive-decoding-1f0ectcl8","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/balancing-multiple-objectives-in-generative-recommendations-with-adaptive-decoding-1f0ectcl8"},"datePublished":"2026-08-07T15:42:27.287Z","dateModified":"2026-09-14T07:29:22.107Z","description":"Spotify Research introduces Stochastic Primal-Dual Decoding (SPDD), an inference-time method that adds multi-objective control to generative recommender...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/00e26674005cca1b43d90c00896e50e4?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/00e26674005cca1b43d90c00896e50e4?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Spotify Research","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Spotify Research","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a020ee10033c40eaa05cc420c7fb45af","url":"https://daily.dev/sources/spotify_research"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/balancing-multiple-objectives-in-generative-recommendations-with-adaptive-decoding-1f0ectcl8","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"machine-learning,genai,spotify","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Spotify Research","item":"https://daily.dev/sources/spotify_research"},{"@type":"ListItem","position":3,"name":"Balancing Multiple Objectives in Generative Recommendations with Adaptive Decoding"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/balancing-multiple-objectives-in-generative-recommendations-with-adaptive-decoding-1f0ectcl8#faq","mainEntity":[{"@type":"Question","name":"What is Stochastic Primal-Dual Decoding (SPDD) for recommender systems?","acceptedAnswer":{"@type":"Answer","text":"SPDD is a lightweight inference-time decoding method that steers generative recommenders toward auxiliary objectives without retraining the underlying model. It frames next-item selection as an online constrained optimization problem, combining relevance scores with an auxiliary-objective score using a dynamic weight that increases when the list falls behind its target and decreases once the target is on track. daily.dev surfaces research like this for engineers designing multiobjective ranking systems without costly retraining."}},{"@type":"Question","name":"How much did SPDD improve auxiliary stream-share compared to fixed-weight generation in Spotify's A/B test?","acceptedAnswer":{"@type":"Answer","text":"SPDD increased the auxiliary stream-share metric by 5.44% relative to control, versus 3.60% for fixed-weight generation, an additional gain of about 1.8 percentage points. It achieved this without reducing user consumption and produced a smaller skip-rate increase (0.16% vs 0.42%) in an experiment covering roughly 1 million users across more than 150 countries and 600,000 personalized playlists. developers evaluating generation-time tuning strategies can track real-world A/B results like this on daily.dev."}},{"@type":"Question","name":"What generative recommender architectures and datasets were used to test SPDD?","acceptedAnswer":{"@type":"Answer","text":"SPDD was tested on three tasks with three different generative architectures: Spotify playlist ranking using a SASRec model over roughly 40 billion interactions from 62 million users across 42 million tracks, Home shelf ranking using a TransAct model over 5.3 billion shelf impressions from 500 million user requests, and e-commerce recommendation on the public Amazon Sports and Outdoors dataset using a LLaMA-based recommender. daily.dev helps ML practitioners compare architecture choices when building generative recommenders."}}]}
```

