Role: Product Management / Product Discovery
Type: Hypothetical case study
Focus: Product strategy · User segmentation · Problem framing · Prioritisation · Solution design · Experimentation · Metrics
On the numbers in this case. Company figures in Section 01 are real and sourced (Spotify Q1/Q2 2026 earnings). Everything from Section 04 onward — research findings, prioritisation scores and experiment results — is illustrative, constructed to demonstrate the decision-making process. Each illustrative table is labelled as such.
01 — Describing the Product
Spotify is the largest audio streaming platform in the world. As of Q2 2026 it reported 777 million monthly active users, of whom 300 million are paying Premium subscribers, on quarterly revenue of €4.78 billion — of which €4.33 billion (roughly 90%) came from subscriptions rather than advertising. (Spotify Q2 2026 earnings.)
The catalogue is the number that matters for this case: approximately 250 million tracks, growing by around 60,000 new uploads per day, alongside about 7 million podcast titles and 700,000+ audiobooks across 184 markets. (Spotify Q1 2026 earnings and shareholder commentary.)
No amount of browsing scales to that. Discovery on Spotify is not a search problem the user solves — it is a recommendation problem the platform solves on the user's behalf. That makes personalisation the core of the product rather than a feature of it.
It also makes discovery quality a direct input to the business. With ~90% of revenue coming from subscriptions, Spotify's economics are a retention business, not an engagement-monetisation business. Whether a user keeps paying next month is the metric that matters, and the strongest lever on that is whether the platform keeps earning its place as the thing that finds them music.
02 — The Challenge
How might Spotify help users discover content they genuinely enjoy, without repeatedly showing them what they already know?
Business objective
Improve user retention through better content discovery.
Product objective
Help users discover relevant but genuinely new content, rather than repeatedly consuming familiar content.
The hypothesis underneath
Users who consistently discover content they enjoy are more likely to remain active — and, given the subscription model, more likely to keep paying.
This is the assumption the whole case rests on. I'd want to validate the strength of the discovery → retention relationship before committing significant investment, and I've built a test of it into the metrics in Section 16.
03 — Clarifying Questions
Before framing the problem, five things I'd want settled. Where I couldn't get an answer, I've stated the assumption I proceeded on.
1. Scope — free tier, Premium, or both?
Assumption: both, focusing on Premium. Free-tier discovery is constrained by shuffle and skip limits, which makes it a meaningfully different problem.
2. Content type — music, podcasts, or audiobooks?
Assumption: music. Podcast discovery has far longer session commitments and a much higher switching cost per attempt, so the novelty/relevance trade-off behaves differently.
3. Which metric are we accountable for — retention, listening time, or subscriber growth?
Assumption: retention. Listening time is a proxy, and I don't want to optimise it directly — see Section 19 for why that distinction ends up deciding the case.
4. Which users — new accounts or established ones?
Assumption: established users with enough listening history for a taste model to exist. Cold-start discovery is a genuinely separate problem with different mechanics.
5. Constraints — do licensing terms or catalogue economics limit what we can promote?
Assumption: there are commercial arrangements affecting what gets surfaced, but I'm treating editorial and label-driven promotion as out of scope and reasoning only about algorithmic surfacing. If that assumption is wrong, it changes the solution space considerably.
04 — Understanding the Users
I segmented users by discovery behaviour rather than demographics, because the problem is defined by how someone listens, not by who they are. Two 24-year-olds in the same market can sit in different segments; the same person can move between them depending on context.
01 — Intent-driven listeners
Open Spotify with a specific piece of content in mind.
Session shape: Open → Search → Play → Leave or continue
Discovery need: Low. They came for something specific and got it.
02 — Passive listeners
Rely primarily on playlists, autoplay and algorithmically generated mixes.
Session shape: Open → Select playlist or mix → Consume passively
Discovery need: High but unexpressed. They depend on Spotify to introduce new content without being asked.
03 — Active explorers
Deliberately seek out new content and experiment with recommendations.
Session shape: Open → Browse or search → Explore recommendations → Try something unfamiliar
Discovery need: High and explicit. They want novelty, but still expect recommendations to be relevant.
05 — Choosing the Target Segment
Before defining the problem, I wanted to know which segment represented the strongest opportunity. I evaluated segment size, problem prevalence, frequency, severity, and relationship to churn.
Illustrative findings
Figures below are illustrative. Base: heavy users (defined here as 15+ listening hours per week).
| Intent-driven | Passive | Active explorers | |
|---|---|---|---|
| Share of heavy users | 35% | 45% | 20% |
| % of segment experiencing the discovery problem | 10% | 30% | 60% |
| Affected population (% of all heavy users) | 3.5% | 13.5% | 12.0% |
| Problem frequency | Low | Medium | High |
| Problem severity | Low | Medium | High |
| Churn association | Low | Medium | High |
Decision
I prioritised active explorers.
On raw reach this is not the obvious choice. Passive listeners are the larger affected population — 13.5% of heavy users against 12.0% for active explorers. I chose the smaller segment for three reasons:
- Severity and frequency are both high, where passive listeners score medium on each. The same headline reach represents substantially more pain per user.
- The churn association is strongest here. A passive listener receiving familiar content is, by definition, getting roughly what they came for. An active explorer receiving familiar content has had an explicit intent denied — which is a far sharper reason to look elsewhere.
- Signal quality. Active explorers generate deliberate exploration behaviour, which makes the problem observable and any intervention testable. Passive listeners give us much weaker signal on whether discovery actually succeeded, because they never declared they were trying.
What this choice costs me. I'm optimising for 20% of heavy users. If adjacent discovery works here, the open question is whether it generalises to passive listeners — who are the larger prize and the harder measurement problem. I'd treat that as the second experiment, not as an assumption baked into the first.
06 — The User, and One Discovery Session
Profile: the active explorer
| Profile | Active explorer, Premium, 3+ years on the platform |
| Listening | 2–3 hrs/day, ~40 distinct artists per month |
| Discovery behaviour | Checks Release Radar and Discover Weekly deliberately; follows new artists; builds their own playlists |
| What they want | Something they haven't heard, that they'll actually like |
| Current workarounds | Friends' recommendations, Reddit and music forums, YouTube, other platforms, artist radio |
| Stated frustration | "Discover Weekly gave me three artists I already follow." |
The workaround row is the important one. When an active explorer goes to Reddit to find music, Spotify has lost the discovery job while keeping the playback job. That is a weaker position than it looks, and it is where the retention risk actually sits.
One discovery session
| Stage | What happens | Friction | Consequence |
|---|---|---|---|
| Intent | Opens Spotify specifically to find something new | — | — |
| Entry | Goes to Discover Weekly / Release Radar | — | — |
| Scan | Recognises several artists already in their library | Novelty is low | Confidence in the surface drops |
| Try | Plays two or three tracks | Familiar-adjacent, not new | Mild satisfaction; no discovery |
| Exit | Falls back to an existing playlist | Effort produced nothing | Reverts to known content |
| Next session | Less likely to open the discovery surface at all | — | The surface stops doing its job |
The last row is the retention link made visible. The failure isn't a bad session — it's a surface that gradually stops being opened.
07 — Product Discovery
I then explored why active explorers were struggling to find new content.
Rather than asking users what feature they wanted, I asked about actual behaviour:
"Tell me about the last time you opened Spotify specifically because you wanted to discover something new. What did you do?"
Five candidate problems emerged.
01 — Relevance
"Most recommendations aren't really my taste."
Recommendations may not match preferences well enough to be worth trying.
02 — Decision friction
"There are so many recommendations that I don't know which one to try."
Choice volume may make exploration harder rather than easier.
03 — Lack of novelty
"I keep seeing things similar to what I already listen to."
Recommendations may be concentrated too tightly around existing preferences.
04 — Trust
"I don't know why Spotify thinks I'll like it."
Users may lack confidence in unfamiliar recommendations.
05 — Time and effort
"I only have 5–10 minutes. I don't want to spend that time scrolling."
Discovery may cost more effort than the available session allows.
08 — Root Cause Exploration
The question I most wanted to answer:
Why does Spotify keep recommending familiar content to users who are actively trying to explore?
Leading hypothesis: a self-reinforcing loop
The recommendation system may be weighted heavily toward historical listening behaviour, producing a loop that tightens over time:
Past listening behaviour
↓
High model confidence in familiar content
↓
More similar recommendations surfaced
↓
Less exposure to novel content
↓
Less novel content consumed → back to the top
This is a hypothesis, not a confirmed technical root cause. Confirming it would require access to how exploration is weighted in the ranking model — which is the first thing I'd ask engineering for.
Alternative explanations I'd want ruled out
- Optimising for predicted engagement structurally favours familiar content, because familiar content is easier to predict.
- Users skip unfamiliar content more often, and those skips feed back as negative signal — meaning exploration is self-punishing within the model.
- The system may simply not allocate enough recommendation slots to exploratory content, independent of how it ranks them.
- Users may prefer familiar content in practice despite saying they want discovery. Stated and revealed preference may genuinely diverge here, and if so the whole problem framing is weaker than it appears.
That last one is the hypothesis that would most damage this case if true, so it is the one I'd test first.
09 — Problem Prioritisation
Illustrative research data. Base: active explorers surveyed.
| Problem | % of active explorers affected | Business signal |
|---|---|---|
| Recommendation relevance | 25% | 30% of affected users skip recommendations immediately |
| Choice overload | 35% | Only 10% of affected users report it changing platform usage |
| Lack of novelty | 55% | Affected users show 2× the likelihood of reduced usage vs unaffected active explorers |
| Trust | 15% | Low self-reported impact on behaviour |
| Time and effort | 20% | Moderate impact |
(Percentages sum above 100% because users report multiple problems.)
Chosen problem
Active explorers are repeatedly shown content that is familiar or near-familiar, which limits their ability to discover anything genuinely new.
Prioritised on the combination of reach (largest affected share within the segment), severity, and the strongest observed relationship to reduced usage — which is the closest available proxy for the retention objective.
Choice overload has comparable reach at 35%, but the weakest business signal of the five: it annoys people without changing what they do. Reach alone doesn't earn the work.
10 — Defining the Desired Experience
Before considering features, the outcome:
Help active explorers find content that is genuinely new, while keeping enough relevance that they're willing to try it.
This creates the central tension of the case.
Novelty ↔ Relevance
Too little novelty: users stay trapped in familiar content. The current state.
Too much novelty: recommendations feel random, users stop trusting the surface, and they open it less — which is the same failure mode by a different route.
The goal is not maximum novelty. It is valuable novelty — and the design question is where between those two failure modes the optimum sits. I don't think that can be reasoned to. It has to be measured, which is why novelty level becomes the primary experimental variable in Section 15.
11 — Solution Exploration
Direction 1 — Adjacent discovery
Surface content that is new but connected to existing interests.
A user who listens heavily to indie rock is introduced to adjacent artists and subgenres with overlapping characteristics — rather than more of the artists they already follow.
Core benefit: directly targets the novelty/relevance balance.
Direction 2 — Recommendation explanations
Tell the user why something is being recommended: "Because you liked…"
Core benefit: increases transparency and trust when content is unfamiliar.
Direction 3 — User-controlled feedback
Let users give more precise feedback than a binary dislike. Distinguish:
"I don't like this song" from "I don't want more content like this."
Core benefit: gives users direct control over the model's future behaviour.
12 — Prioritising the Solutions
Illustrative RICE scoring. Reach = % of active explorers reached per quarter. Impact scored 0.25 (minimal) to 3 (massive). Effort in person-months.
| Direction | Reach | Impact | Confidence | Effort | RICE | Rank |
|---|---|---|---|---|---|---|
| Adjacent discovery | 100 | 3.0 | 0.8 | 5 | 48.0 | 1 |
| Recommendation explanations | 100 | 1.0 | 0.9 | 3 | 30.0 | 2 |
| User-controlled feedback | 40 | 2.0 | 0.6 | 4 | 12.0 | 3 |
Adjacent discovery: (100 × 3.0 × 0.8) ÷ 5 = 48.0
Why not the other two
Explanations address trust, which my prioritisation ranked fifth at 15% of active explorers. It's cheap and likely positive, but it improves how a recommendation is received rather than changing what gets recommended — so it cannot fix the loop identified in Section 08.
Granular feedback is a control mechanism, not a discovery mechanism. It improves the model over weeks or months but changes nothing about what a user sees this week. Its reach is also lower, since only a minority of users engage with feedback controls at all.
Both are plausible follow-ons to adjacent discovery. Neither is the first move.
13 — Selected Solution: Adjacent Discovery
The hypothesis
If Spotify surfaces content that is meaningfully different but still connected to a user's existing interests, active explorers will discover more genuinely new content — without a disproportionate decline in engagement.
How it works
Adjacency definition. Score candidate content by its distance from the user's taste representation: near enough to be plausible, far enough to be new. The central design decision is where that band sits — and I'd treat the band as the primary experimental variable rather than fixing it up front.
Slot allocation. Reserve a fixed share of recommendation slots for adjacent content instead of re-ranking the whole surface. This bounds the downside if the band is set wrong, and makes the intervention cleanly measurable against a control.
Signal separation. A skip on an adjacent recommendation must be distinguishable from a skip on a familiar one. This is not a detail. If the two signals are pooled, exploration failures feed straight back into the model as generic negative signal — and the intervention ends up training the very loop it was built to break.
14 — MVP
The first version stays deliberately narrow.
Existing listening preferences
↓
Identify adjacent content
↓
Surface a small number of novel recommendations
↓
User tries content
↓
User saves / skips / gives feedback (captured as a separate signal)
Explicitly out of scope for v1:
- Generated explanations for recommendations
- Context-specific automated playlists
- Granular recommendation controls
- Extensive personalisation settings
What v1 exists to answer:
Can we increase valuable discovery without damaging engagement?
Everything cut above is a way of improving the experience of adjacent discovery. None of it tells us whether adjacent discovery works.
15 — Experiment Design
Control
Current recommendation experience.
Treatment
Current experience plus an increased share of adjacent content.
The variable being tested
Rather than assuming one level of novelty is right, I'd test a range:
Low novelty → Medium novelty → High novelty
This locates the point where additional novelty stops adding value and starts costing trust — which is the actual open question from Section 10, and something no amount of upfront design reasoning can settle.
16 — Metrics
Three levels, plus a guardrail.
01 — Discovery: are users finding new content?
- % of users trying previously unconsumed content
- Number of new artists or shows explored
- Saves and likes on new content
02 — Quality: is what they found actually valuable?
- Save/like rate on novel content
- Completion rate and listening time
- Repeat consumption of newly discovered artists
03 — Business outcome: does discovery move retention?
- 30-day retention (primary)
- 90-day retention (durability check — see Section 18)
Guardrail — skip rate
Skip rate is the metric that tells us the novelty band has gone too wide. It is explicitly not a metric to optimise; it exists to catch the failure mode where novelty becomes randomness. I'd set a stop threshold before launch rather than after seeing results.
North star: retention. Not listening time. Section 19 explains why that choice decides the case.
17 — Experiment Results
Illustrative data. Skip rate = skips within the first 30 seconds, as a share of recommended tracks played.
| Metric | Control | Treatment | Change (abs.) | Change (rel.) |
|---|---|---|---|---|
| Skip rate | 20% | 24% | +4pp | +20% |
| New content tried | 15% | 28% | +13pp | +86.7% |
| New content saved / liked | 8% | 14% | +6pp | +75% |
| 30-day retention | 70% | 74% | +4pp | +5.7% |
| 90-day retention | — | pending | — | — |
Interpretation
Skip rate moved in the wrong direction: 20% → 24%, a 4-point absolute increase. Against that:
- New content tried rose 13 points, from 15% to 28%
- New content saved or liked rose 6 points, from 8% to 14%
- 30-day retention rose 4 points, from 70% to 74%
Decision: continue with the approach.
The saved/liked movement is what makes the skip increase acceptable. Users are not just being exposed to more unfamiliar content and rejecting it — they are keeping substantially more of it. The additional skips look like the cost of a wider search, not evidence that the recommendations became worse.
What would change this decision: 90-day retention failing to hold the 30-day gain. A novelty effect that decays is a different result from a durable improvement, and I would not scale on 30-day data alone.
18 — Pitfalls and Mitigations
| Risk | Impact | Mitigation |
|---|---|---|
| Novelty band set too wide | Recommendations feel random; trust in the surface collapses | Test three novelty levels rather than assuming one; skip rate as a pre-committed guardrail |
| Skip rate continues climbing past the tested +4pp | Engagement decline outweighs retention gain | Stop threshold set before launch, not negotiated after results arrive |
| Adjacency skews toward long-tail catalogue | Perceived as promoting cheap content over quality | Keep catalogue economics out of the ranking; audit the output mix independently |
| Works for explorers, fails for passive listeners | 12% of heavy users served; the larger 45% segment untouched | Treat generalisation as experiment two, with its own measurement design |
| Retention gain is a novelty effect, not durable | Result reverses by 90 days | Report 90-day alongside 30-day before any scaling decision |
| Exploration skips pollute the model | Intervention trains the loop it was meant to break | Separate adjacent-content signals from baseline feedback (Section 13) |
19 — The Key Product Trade-off
The case turned on one decision made before any data arrived: retention, not listening time, as the north star.
Had the success criterion been engagement, or had skip rate been treated as something to minimise, the read on Section 17 flips:
❌ "Skips rose 20%. The experiment failed."
The actual chain being tested was:
More discovery → content users value → stronger retention
Skip rate is a proxy, and this experiment is a clean example of a proxy moving against the outcome it supposedly stands for. The general principle:
Don't optimise a proxy metric at the expense of the business outcome it was supposed to represent.
The harder version of the lesson is that you have to decide which metric is the outcome and which is the proxy before you see the numbers. Otherwise the choice gets made retroactively, in favour of whichever result you liked.
20 — What I'd Do Next
The next iteration would investigate which kinds of novelty work:
What makes a recommendation feel "new but relevant" rather than just "random"?
Variables I'd examine:
- Degree of novelty (the band width from Section 13)
- Genre adjacency vs artist adjacency — are these different mechanisms?
- Listening context: time of day, session length, active vs background listening
- Depth of listening history required before adjacency works at all
I'd also run a focused study on users who skip novel recommendations repeatedly. If a subgroup is skipping consistently, the answer for them may be better relevance rather than more exploration — and treating them as the same problem would be a mistake.
Finally, the deferred question from Section 05: does this generalise to passive listeners? They're the larger affected population. If adjacent discovery works without an explicit exploration signal to build on, the addressable opportunity roughly doubles.
21 — Key Learnings
01 — Start with the outcome, not the feature. "Improve discovery" was not a workable brief. It became one only after defining what successful discovery meant and why it mattered commercially — which, given Spotify's ~90% subscription revenue, meant retention rather than engagement.
02 — Segment by behaviour when behaviour defines the problem. Demographics would have told me nothing here. How someone listens — with intent, passively, or exploratively — determined whether they had the problem at all.
03 — A symptom is not a root cause. "Users aren't discovering new content" is an observation. The feedback loop in Section 08 is a candidate explanation, and I held it as a hypothesis rather than a finding, because I never got to verify how exploration is weighted in the model.
04 — Reach alone doesn't decide priority. The clearest instance was choosing active explorers over passive listeners in Section 05, despite passive listeners being the larger affected group. Severity, frequency, churn association and measurability outweighed a 1.5-point reach gap — but that only became a defensible call once I'd worked out the absolute numbers rather than reading the percentages column-wise.
05 — Decide what the outcome metric is before the data arrives. Section 17 produced a result where the most visible metric moved the wrong way. The only reason that read as an acceptable trade-off rather than a failure is that retention had been named the outcome, and skip rate a guardrail, in advance.