Diversity has to be designed, not hoped for
Aliases: intentional serendipity · diversity constraint · quota slots
What it is
A ranker will not spread the list because “users ought to see more widely.” Diversity is a property the product decides to protect. It has to be written into the objective, a constraint, or the layout, or the next click-training pass will flatten it. Designed diversity means the dimension, the share of slots, and the fallback on failure are specified in advance, not left as a side effect of training.
Hoping users will tap the obscure item is not design. Putting the obscure item in a slot whose cost you have already accepted is.
Why it happens
Relevance and diversity crowd the same list. The relevance gradient is present at every step; the diversity gradient is present only when it is in the loss or when the layout has reserved seats. Without that term, the local optimum is “more like last week’s clicks.” An editor who “occasionally slips one in” without counting it in the objective will watch retraining push it out.
Layout is the second design: a separate Discover rail, quota slots, a cross-cutting row. They lift diversity out of the main sort so it does not have to fight the click champion for the same cell. Leave it in the main sort and diverse rows sink to a depth that needs a scroll — which is no design.
Studying it
Compare three product states: no diversity constraint, a diversity regulariser in the loss only, a dedicated diversity rail in the UI. Measure intra-list similarity, coverage, and whether users read items in diversity slots as system error. Independent variables: diversity dimension (genre / author / stance), quota share, visible labelling. Dependent variables: within-list diversity, concurrent movement in the click objective, rate of misreading a diversity slot as a fault.
Random shuffle is not a diversity condition. Shuffle raises noise and will pin “diversity hurts” on diversity. Structured quotas are what the test should examine.
Where it stops holding
While the user is finishing a closed task (continue this season, buy the accessory already in the cart), injecting diversity is interference; wait until the task ends. Exclusions on a safety list are not diversity failures. When the catalogue is smaller than the quota, the design cannot land. This entry argues that diversity does not appear by itself and must be specified. It does not choose random injection versus a determinantal process, and it does not treat the user’s inability to see what is missing.
Applying it
- Write the dimension and the quota first: e.g. at least two different top-level classes in the first ten home slots, no more than two from one author. “Keep it diverse” with no number is not a design.
- Give the quota a seat the main sort cannot swallow: its own rail, or a locked slot. Do not put diversity in the loss and then paginate by clicks.
- Check: turn the constraint off and rerun a week of shadow traffic. If the quota slots fill from the main sort, diversity was never in the structure — you were lucky that week.
Related
- Same group: L6.02.1 Optimizing for clicks steadily narrows what is shown · L6.02.3 Users cannot notice what they never see
- Nearby: L6.08 Filter Bubbles and Diversity · L3.01 Generating Multiple Options · L6.04 Feedback Loops
- Search terms:
designed diversity·diversity constraint·intentional serendipity