Brytalearn.How things workFind something
Recommendation algorithms, social feeds, content-based filtering and feedback loops Feedback on this lesson
INTERACTIVE EXPLANATION

Why does an app keep showing me more of the same?

Open two pretend feeds. Watch a card, change a rule, and pull out the receipt for the next recommendation. Discover a feedback loop without handing over any real viewing history.

Enable JavaScript to change the conditions and run the interactive experiment.

Make a discovery

A recommendation changes what is available to choose. A choice creates a record that can change the next recommendations. That makes a feedback loop. But a recorded watch does not tell the system why someone watched, or prove that they liked or learned from it.

  • Trace an offered card through an explicit watch or skip to a new slate.
  • Distinguish a recorded action from its possible reasons.
  • Calculate a content-feature match score without calling it a probability.
  • Inspect an exact ordered selection receipt.
  • Compare ranking rules from the same supplied history.
  • Explain why an unoffered item is not a rejected item.
  • Separate a model outcome from real source-data counts.
  • Undo and reproduce a finite experiment, then explain what it leaves unknown.

Make a prediction

A card was never offered. Does its missing watch mean the fictional viewer rejected it?

  • Yes, unclicked always means disliked
  • No, it has no observed response here
Read the explanation

Exposure and response are separate. A choice cannot be inferred from an opportunity that was never presented.

Understand it

Start with a small, visible world

There are twelve fictional cards and three topic coordinates: Space, Making and Body. Each card has two topic tokens. Both phones begin with supplied points 4, 2 and 1. These numbers are an invented starting history, not your interests.

Calculate a match

Multiply each topic counter by the matching card feature, add the products, then divide by twice the largest counter. A card with features 1, 1, 0 starts with score (4 + 2)/8 = 0.75. This is a normalized match, not a 75% chance of liking it.

Make a shortlist

Watched or skipped cards leave this run’s candidate pool. Simply being displayed does not remove a card or add points. A narrower gate keeps only the six highest matches before reranking.

Build an ordered slate

The match-first rule orders by match. The second rule also penalizes tag overlap with cards it has already selected. Later slots depend on earlier selections. An exact tie is resolved alphabetically by card ID.

Record one action

Watch adds the selected card’s two topic tokens and removes that card from this run. Skip removes the selected card without changing topic points. These are our declared rules, not a claim about how all apps interpret your behavior.

Follow the loop

Choose the middle suggestion on both phones. The first watch is B on one phone and D on the other. The initial points become 6,2,1 and 4,4,1. That different record can change the next offer.

Keep the reason separate

A fictional viewer might watch for fun, homework, curiosity or confusion. Switching between two possible stories changes no watch record. Our scorer cannot recover the missing reason from that identical input.

Intervene without rewriting the past

Undo rebuilds the prior action history. Copy transfers the same fictional state and rule to the other phone. Changing a current weight reranks the next offer; earlier watches retain the rule that offered them and the points they added.

Look closer at the science

Content-based recommendation

Item features and history features are compared directly. Here the features are authored numeric tags, not extracted image content. Other systems can learn relationships across many users; this model does not perform collaborative filtering.

Normalization

All card vectors are nonnegative and sum to two. Counters stay positive, so dot(p,x)/(2 max(p)) lies between zero and one. The denominator is an authored scaling convention, not empirical probability calibration.

Candidate generation and ranking

These are separate steps. A dated 2016 YouTube engineering paper describes such a split, but it is not a complete specification of today’s system. Our finite shortlist illustrates the distinction with fully visible rules.

The MMR adaptation

Carbonell and Goldstein introduced Maximal Marginal Relevance in 1998 for retrieval/summarization. Our adaptation uses q = λ × match − (1 − λ) × maximum prior-selected tag overlap. The first penalty is zero. These teaching weights are not platform settings or universal recommendations.

Jaccard overlap

Count the shared nonzero topic coordinates and divide by the size of their union. A and B overlap by 1; A and C by 1/2; C and G by 1/3; A and D by 0. This is overlap in coarse authored tags, not a complete measure of semantic similarity.

Exact decisions, rounded labels

The implementation compares rational score numerators by cross multiplication. Rounded displayed values never decide ties. Negative selection scores remain valid; they do not mean dislike or harm. At λ = 0, first-slot scores all tie and the declared ID rule chooses the first card.

A visible tradeoff

Initially, slate A/B/C has mean match 11/12 and mean pairwise tag overlap 2/3. A/D/E has mean match 7/12 and overlap zero. Lower redundancy is not automatically higher satisfaction, fairness or truth. The intended task matters.

Implicit feedback has limits

A watch is a behavioral record. No watch may mean no exposure, no opportunity, a different task or an actual rejection. The source research on satisfaction and response bias illustrates why an engagement measure cannot simply be renamed satisfaction.

Feedback can influence later data

Chaney and colleagues’ 2018 simulations studied learning from behavior already influenced by recommendations. Their modeled homogeneity and utility results are bounded by their simulation. Our four-round example is separate and does not prove universal effects on real people.

Multiple objectives and history

Historical engineering papers describe multiple ranking objectives, not only one engagement counter. Content-based matching, collaborative approaches, learned ranking and reranking coexist; a timeline should not pretend each new method replaced everything before it.

A real log answers a particular question

The pinned Open Bandit small release contains 10,000 displayed-fashion-item records and 38 clicks. The click fraction is 0.38%. The records date from November 24–30, 2019. They are neither unique-person counts nor learning outcomes, and are not used to fit this lesson’s scorer.

Two different probabilities

The source file logs item-selection propensity_score = 0.0125 for these rows. That logging-policy probability is different from the observed click fraction 0.0038. A policy probability, a measured outcome fraction and our authored match score must retain their different meanings.

Where this is used

Understand a familiar feed

Ask what was recorded, which items could be offered and what the system optimized. Do not assume a visible score measures someone’s mind.

Think about a shared playlist

A song played for a birthday party’s guests may be an imperfect clue about the account owner’s usual taste. An action and its context can differ.

Read product metrics carefully

Keep impressions, clicks, people, completion and satisfaction distinct. A missing denominator can turn a correct count into a misleading story.

Try it yourself: Run a feed with twelve paper cards

Supplies

  • Twelve precut index cards or folded paper rectangles
  • Pencil
  • Scrap paper with Space, Making and Body columns
  • Optional counters or calculator
  1. Copy the fixed deck

    Write the twelve IDs, titles and three feature numbers from the deck table. Every card has two topic tokens. Partners operate fictional feeds, not each other’s interests.

  2. Use the same starting points

    Write 4,2,1 for both feeds. Multiply a card’s features by these points, add, then divide by two for raw match. Raw and normalized match have the same order within this starting state.

  3. Build the match-first slate

    Sort by match, using alphabetical ID for ties. The top three are A,B,C. Leave the rest available; being unseen does not mean rejected.

  4. Build the mixed slate

    Use the default λ = 0.4 receipts. Choose one slot at a time and recalculate overlap with earlier choices. The result is A,D,E. Younger learners can check D and E’s zero overlaps.

  5. Choose the middle suggestion

    Move B to history for feed A and D to history for feed B. Add their feature numbers: points become 6,2,1 and 4,4,1. Unchosen displayed cards stay eligible.

  6. Predict, then undo

    Predict the next three cards. Check the replay table: A gets A,C,J; B gets A,H,C. Undo one watch by restoring its earlier points and returning the chosen card.

  7. Hide two reason slips

    Write “for fun” and “for an assignment” on paper. Hide those invented stories from the scorer. The exact same watch must produce the same update.

  8. Finish the explanation

    Complete: “This feed changed because ___; that does not prove ___.” A focused homework search and a broad discovery playlist can need different objectives.

Can you follow the rulebook without a phone—and explain what it cannot know?

Operate fictional viewers. No accounts, real watch histories, interviews, purchases or personal-interest rankings are needed. Use the supplied receipts for younger learners instead of requiring every fraction.

Check your understanding

Two fictional viewers watched the same rocket card for different reasons. What does the record show?

  • The same action, with the reason unknown
  • Both love every space topic
  • The score reveals their motives
Answer and explanation

The same action, with the reason unknown Identical recorded inputs give the same model update.

At points (4,2,1), what is card C’s normalized match?

  • 3
  • 3/4
  • A 75% chance that you will like it
Answer and explanation

3/4 The dot product is 6 and the denominator is 8.

Card E was never offered. Does no watch mean it was rejected?

  • Yes, unclicked means disliked
  • Yes, another card was watched
  • No, there is no observed response to E
Answer and explanation

No, there is no observed response to E An unoffered item has no observed response in this example.

Why does default feed B select D after A?

  • Zero overlap offsets D’s lower match under this rule
  • The learner secretly disliked B
  • D has proven better scientific content
Answer and explanation

Zero overlap offsets D’s lower match under this rule D’s selection score is 0.2, while B’s is −0.2 after A.

Can reranking select D from candidate set A,B,C,J,G,L?

  • Yes, with enough diversity weight
  • No, D must first enter the candidate set
  • Only if D has a negative score
Answer and explanation

No, D must first enter the candidate set Reranking cannot add an absent candidate.

What does skipping A do in this lesson?

  • Subtracts space points
  • Proves all space content is bad
  • Removes A this run; topic points stay fixed
Answer and explanation

Removes A this run; topic points stay fixed This is the explicit simplified skip rule.

The two middle-card replays produce different histories. What does this establish?

  • Different offered slates create different inputs in this example
  • Every real person becomes trapped
  • The diverse feed makes people happier
Answer and explanation

Different offered slates create different inputs in this example This result follows under the fixed starting state and authored position-choice rule.

What is supported by 38 clicks among 10,000 displayed-item records?

  • 38 of 10,000 people liked the recommendations
  • This file has a 0.38% click fraction
  • Our toy feed will get the same click rate
Answer and explanation

This file has a 0.38% click fraction The outcome and denominator are defined for a dated source sample.

Sources and model limits

  • This is a finite authored content-based scorer and MMR/Jaccard adaptation, not a reconstruction of a named social platform.
  • No real account, personal viewing history, inferred interests, or user satisfaction model is used.
  • Watch is an explicit experiment action; no real video is played or completion measured.
  • The replay always chooses the middle suggestion by an authored rule, not a simulated human preference.
  • Tag diversity is not a measure of fairness, happiness, scientific quality or safety.
  • The separate source aggregate cannot evaluate our invented recommendation policy.
  • The phone teardown shows conceptual software stages, not physical device internals.
  • Changing a uniform starting-history preset resets its run; ordinary rule changes preserve past action records.

An engineering example separating candidate generation and ranking

Historical 2016 YouTube recommendation architecture; not a current proprietary specification.

Covington, Adams & Sargin · 2016

Original MMR method

1998 retrieval/summarization paper. Our topic Jaccard scorer is an explicit educational adaptation.

Carbonell & Goldstein · 1998

Multiple ranking objectives in a historical production system

Dated 2019 engineering example, not a universal current rule.

Zhao et al. · 2019

Algorithmically influenced observations in a simulation

Original 2018 simulation study. Its utility/homogeneity findings are not universal claims about viewers.

Chaney, Stewart & Engelhardt · 2018

Engagement and satisfaction need distinct interpretation

Primary work on satisfaction estimation and response-rate bias; a click is not a complete preference report.

Christakopoulou et al. · 2020

Real recommendation records and data license

Open Bandit Dataset paper, §3 and footnote 5: CC BY 4.0 for data. The software license is separate.

Saito et al. · NeurIPS 2021

Exact small release and sample denominator

Pinned random/all CSV at commit 8cbd5fa4558b7ad2ba4781546d6604e4cc3e07c4. Original bytes independently checked; only aggregates redistributed.

ZOZO / Open Bandit · Pinned source

Independent subject review is pending.

Read the sources and model assumptions