Feedback Loops

A recommender feedback loop occurs when the system’s exposures shape the interactions used to train the next system. If popular items get more exposure, they get more clicks, which can make them appear even better. This is a central risk for implicit feedback.

The exposure update

A minimal exposure update is

where is exposure share and is click probability. Even when a niche item has higher quality, it cannot gather clicks without exposure. Exploration interrupts this dynamic.

The danger is that the model trains on data its own past recommendations produced, so popular items keep getting shown and clicked, reinforcing the cycle:

flowchart LR
  Model[Recommender model] --> Rec[Recommendations shown]
  Rec --> Clicks[User clicks and skips]
  Clicks --> Logs[Logged interaction data]
  Logs --> Model

Worked example

Start with item A receiving 90% exposure and item B receiving 10%. A has click probability ; B is actually better with click probability .

StepA exposureB exposureA expected clicksB expected clicks
Before update90.010.05.41.2
After one click-based update81.818.24.92.2
After three updates52.947.13.25.7

The better item gains share only after repeated updates. With harsher exploitation, weaker initial exposure, or noisy short windows, it might never surface. This is why offline evaluation needs exposure-aware logs.

Caveats

Feedback loops are not always harmful; personalization necessarily changes future data. The problem is unmeasured reinforcement. Track exposure, not just clicks, and audit diversity and coverage so the system does not silently narrow the catalog.

References