AnyLearn
All lessons
AIintermediate

What the algorithm optimizes, and why it drifts

A feed does exactly what it was told to maximize, which is rarely what anyone wanted. Learn which signals rankers actually weight and why implicit ones beat likes, how proxy objectives produce clickbait and rage-bait as correct answers to badly posed questions, and the mechanisms platforms use to pull an optimizer back toward what people value.

Updated · AI-authored, review-gated · how lessons are made

Not signed in: your progress and quiz score won't be saved.
Progress1 / 8

The algorithm has no opinion

It is tempting to talk about a feed as if it wants things. It does not. A ranker is a function that predicts a number, and the feed is sorted by that number. Every complaint about "the algorithm" is really a complaint about which number it was asked to predict.

That is the whole subject. A recommender is an optimizer pointed at a target, and it will find the shortest path to that target whether or not the path is one you would have chosen. It has no notion of quality, truth, or your wellbeing unless someone encoded a proxy for those and put it in the objective.

So the useful question is never "is the algorithm biased toward X". It is: what exactly is being maximized, and what behavior maximizes it? Answer that and the feed's character stops being mysterious. It becomes a predictable consequence of an equation.

Full lesson text

All 8 steps on one page, for reading, reference, and search.

Show

1. The algorithm has no opinion

It is tempting to talk about a feed as if it wants things. It does not. A ranker is a function that predicts a number, and the feed is sorted by that number. Every complaint about "the algorithm" is really a complaint about which number it was asked to predict.

That is the whole subject. A recommender is an optimizer pointed at a target, and it will find the shortest path to that target whether or not the path is one you would have chosen. It has no notion of quality, truth, or your wellbeing unless someone encoded a proxy for those and put it in the objective.

So the useful question is never "is the algorithm biased toward X". It is: what exactly is being maximized, and what behavior maximizes it? Answer that and the feed's character stops being mysterious. It becomes a predictable consequence of an equation.

2. Explicit and implicit signals

Signals split into two families, and the split matters more than any individual signal.

Explicit signals are deliberate acts: a like, a follow, a share, a comment, a "not interested". They are honest about intent but rare and biased. Most people scroll past almost everything without touching anything, and the minority who do react are not representative.

Implicit signals are what you did without deciding to: did the video finish, how long did you dwell, did you scroll back, did you turn the sound on, did you rewatch. They are noisy per event, but they exist for every impression rather than a small fraction.

That abundance is decisive. A system learning from likes has a thin, skewed dataset. A system learning from watch time and completion has one signal per item shown, which is orders of magnitude more data. This is why completion rate and dwell time carry more weight than likes on the major video platforms: not ideology, just sample size.

3. Proxies, and Goodhart's law

Nobody can measure the thing they actually care about. "Was this worth the viewer's time" is not a column in a database. So teams pick a proxy: something measurable that correlates with the goal.

Clicks proxy for interest. Watch time proxies for value. Engagement proxies for satisfaction. Each is a reasonable correlation, right up until you optimize against it.

This is Goodhart's law: when a measure becomes a target, it stops being a good measure. The correlation held while nobody was pushing on it. Optimization pushes on it, hard, and finds the region where the proxy and the goal come apart.

goal:     show people things worth their time   (unmeasurable)
proxy:    maximise P(click)                     (measurable)
found:    misleading thumbnails maximise P(click)

Nothing malfunctioned. Clickbait is the correct answer to "maximise clicks". The system solved the problem it was given, and the problem was a bad translation of the goal.

4. Every proxy breaks in its own way

Switching proxies does not escape the trap. It relocates it. Each measurable target has a distinct failure mode that an optimizer will find.

ProxyCorrect-but-unwanted answer
click probabilitymisleading thumbnails and headlines
watch timeslow, padded, drawn-out content
session lengthautoplay chains that are hard to leave
commentsprovocation, because arguments generate comments
sharesoutrage and misinformation, which are highly shareable
completion rateshorter and shorter items
followsfollow-baiting and cliffhangers

Read that table as engineering, not accusation. Rage-bait is not evidence that a platform wants anger. It is the predictable output of rewarding comments, because nothing generates replies like something wrong on the internet.

This is why real systems never optimize one number. They combine several with weights, so that each proxy's pathological region is penalised by another term. Balancing that mixture is most of the actual work.

5. The multi-objective score

A production ranker predicts several things at once and blends them. Conceptually the final score looks like a weighted sum of predicted outcomes.

score = (w1 * p_watch_time
       + w2 * p_share
       + w3 * p_like
       - w4 * p_hide            # negative signals subtract
       - w5 * p_report
       - w6 * creator_repetition # diversity penalty
       + w7 * freshness)

Two things deserve attention.

Negative signals carry disproportionate weight. A hide or a report is rare, deliberate, and strongly informative, so it is weighted far above a like. This is the honest lever available to a viewer: telling a system what you do not want moves it more than passively watching what you do.

The weights are policy, not science. No experiment tells you the correct exchange rate between a share and a report. Somebody chooses, ships it, measures, and adjusts. Those choices, not the model architecture, decide what the feed feels like.

6. Feedback loops close the circle

A recommender differs from an ordinary classifier in one dangerous way: it creates its own training data.

A spam classifier does not change what email gets sent. A feed absolutely changes what you watch, and then learns from what you watched. Today's predictions become tomorrow's labels.

That loop amplifies. Show an item slightly more, it gets more engagement, the model concludes it is good, it shows it more still. Popularity becomes self-fulfilling, and the model cannot easily tell this is genuinely better from this got shown more.

It also creates a hard blind spot. You only observe engagement for items the system chose to show. Something the model wrongly scored low is never displayed, never engaged with, and so never generates evidence that the model was wrong. The error is invisible and self-sealing.

The standard mitigations are deliberate exploration, showing some uncertain items on purpose to buy information, and correcting for the fact that the training data was collected by a previous version of the model.

7. Pulling the optimizer back

Teams know the proxies drift, so real systems bolt on correctives that are not part of the learned objective.

  • Diversity and de-duplication. Pure relevance converges on showing you the same creator and topic forever, since that is locally optimal. An explicit penalty forces variety the objective would never choose.
  • Exploration. Reserve a slice of the feed for uncertain items, accepting a small immediate loss to avoid the self-sealing blind spot.
  • Survey data. Ask people whether something was worth their time, then train a model to predict that answer and add it as a term. It is an attempt to measure the unmeasurable goal directly, and it is expensive because surveys are sparse.
  • Hard rules. Some things are not left to the optimizer at all: eligibility filters and demotions applied after scoring.

Notice the shape. Each corrective exists because an optimizer left alone reliably produces something nobody wanted. The feed you see is the model's objective plus a stack of patches restraining it.

8. The loop that trains itself

The ranker decides what is shown, what is shown decides what is engaged with, and engagement becomes the training data for the next ranker. Exploration and correctives exist to stop that circle from sealing.

flowchart TD
  A["ranker predicts a proxy score"] --> B["feed shows the top items"]
  B --> C["user engages, or does not"]
  C --> D["engagement logged as training labels"]
  D --> E["next model trains on those labels"]
  E --> A
  B --> F["items never shown produce no data"]
  F --> G["model errors on them stay invisible"]
  G --> H["exploration: show uncertain items on purpose"]
  H --> B

Check your understanding

The lesson ends with a 5-question quiz. Take it in the player above to see your score.

  1. Why do implicit signals like completion rate typically outweigh explicit ones like likes?
    • Likes are easy to fake, whereas completion cannot be gamed
    • Implicit signals exist for every impression, giving orders of magnitude more data than the rare, skewed minority who react
    • Explicit signals are not stored for privacy reasons
    • Implicit signals are more accurate on any individual impression
  2. A feed optimized for click probability fills with misleading thumbnails. What best describes what happened?
    • The model failed to converge during training
    • The ranking stage was skipped for those items
    • The platform deliberately promoted clickbait for revenue
    • The optimizer correctly maximized its proxy; the proxy diverged from the goal
  3. According to the failure-mode table, optimizing for **comments** tends to produce what?
    • Provocation, because disagreement reliably generates replies
    • Very short content
    • Slow, padded content
    • Autoplay chains
  4. Why is a 'hide' or 'report' weighted far more heavily than a like?
    • They are cheaper to store
    • They are rare, deliberate, and strongly informative about what a user does not want
    • They are the only signal available on mobile
    • They are explicit, and explicit always outweighs implicit
  5. What makes a recommender's feedback loop uniquely self-sealing?
    • Training data expires after 24 hours
    • The ANN index drifts out of date
    • You only see engagement for items the system chose to show, so wrongly-demoted items never generate evidence of the error
    • Models cannot be retrained once deployed

Related lessons