Recommender systems
User Modeling: Long-Term Taste and Short-Term Intent
Design user representations that separate durable preference, lifecycle, session intent, negative boundaries, uncertainty, and user correction.
By the end you can
- Distinguish stable constraints, durable taste, lifecycle, and session intent
- Compare single, multi-interest, and memory-gated user representations
- Identify fossilization, sensitive inference, household, and contestability risks
- Design adaptation, reset, and user-control evaluation
Comparison
Persistent vectors and event memories have different strengths
The choice is about how many things one user is allowed to be at once. A single profile embedding is cheap to serve and hard to edit. The middle column is not a hypothetical.
Tmall built a recommender on exactly the complaint that column names. MIND — Multi-Interest Network with Dynamic Routing — makes it the opening premise: “Most of the existing deep learning-based models represent one user as a single vector which is insufficient to capture the varying nature of user's interests.” Chao Li and colleagues published it in 2019. Their answer is to give one user several vectors, produced by a capsule-routing multi-interest extractor and combined by label-aware attention. That is the price of “needs routing among interests”: a routing mechanism and an attention layer, not a footnote.
The method was deployed to serve major online traffic on the Mobile Tmall App homepage. The trade-off has been paid at production scale, not argued about.
An event memory plus gate takes the other route. It keeps recent events separate from durable ones and chooses between them. It can also overreact to noise.
Single profile embedding
Compact durable representation.
- Fast and easy to serve
- Can entrench stale history
- Hard to inspect and edit
- Useful for broad long-term taste
Multi-interest representation
Maintains several preference vectors or clusters.
- Captures diverse tastes
- Needs routing among interests
- Can fragment sparse users
- Useful for broad catalogs
Event memory plus gate
Retains recent events and chooses among durable and local signals.
- Adapts to changing intent
- Needs state and privacy management
- Can overreact to noise
- Useful for session-aware ranking
Example
The profile remembered the user’s old career longer than the user did
A professional-learning platform kept recommending accounting courses after the user moved into software engineering. Historical completions were abundant. The new goal appeared in only a few recent searches. Nothing in the system was broken. The side with more evidence simply won, which is what a single undifferentiated taste signal is built to let happen.
- Durable history: Years of interactions created a stable but outdated profile.
- Recent intent: Search and saves indicated a new direction with limited evidence.
- Negative boundary: The user hid beginner courses but the signal was underweighted.
- Lifecycle change: A role transition changed which outcomes counted as useful.
- User correction: The product offered no way to reset or edit the profile.
A user model should represent several horizons and uncertainty
Long-term taste, current session intent, lifecycle stage, explicit preferences, constraints, and negative feedback should not be collapsed into one permanent vector. Keep them in separate representations, or gate between them. That is what lets the policy adapt while the stable needs stay where they are.
Modeling a user also puts the team under obligations it has to be able to name. Several of them are written law rather than good practice. The General Data Protection Regulation gives the person whose data it is three rights over a profile. Article 15: access to what is held about them. Article 16: rectification without undue delay. Article 17: erasure, including where the data are no longer necessary for the purposes for which they were collected.
Article 16 is the one a personalization team meets first. It turns “let the user fix their profile” into a duty with a clock on it: “The data subject shall have the right to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement.” Article 17's erasure ground is a retention question. Data no longer necessary for the purposes they were collected for — that is aimed straight at a stale taste vector.
On top of the article numbers sit the questions no statute answers for you. How long the profile is retained. Whether a household is kept separate. What stops the system inferring sensitive traits beyond the intended purpose.
A user profile is a modelling choice and a standing obligation: access under Article 15, rectification without undue delay under Article 16, erasure under Article 17, plus the retention and household questions the team has to answer for itself.
Visual
A layered user state
The layers differ in how fast they are allowed to move. A stated dietary or accessibility need is a stable constraint and should survive any session. A session intent should not harden into durable taste. The bottom layer is where conflicts between them are recorded instead of being resolved in silence.
A shipped system shows what enforcing that separation actually looks like. YouTube's candidate-generation model does not receive an unbounded history. It is fed a maximum bag size of 50 recent watches and 50 recent searches, over a 1M-video and 1M-search-token vocabulary. On top of that sits an explicit “example age” feature, so the model can tell how old an example is instead of treating all history as equally present. Google published the design in 2016, and named the failure the layers exist to prevent: “Machine learning systems often exhibit an implicit bias towards the past because they are trained to predict future behavior from historical examples.”
The team also changed what the model is asked to predict. Not a randomly held-out watch but the user's next watch, because the held-out design “leaks future information and ignores any asymmetric consumption patterns.”
Bounded history, an age feature and a next-item target. Three separate mechanisms, doing what the diagram draws as three separate layers.
- 01
Stable constraints
Language, accessibility, dietary, safety, or format needs explicitly provided.
- 02
Durable preference
Patterns that persist across many contexts and sessions.
- 03
Lifecycle state
New, active, returning, expert, changing role, or lapsing.
- 04
Session intent
The immediate task inferred from recent context and actions.
- 05
Uncertainty and correction
Confidence, conflicts, resets, edits, and user-supplied feedback.
Example
User-model failures
Preference fossilization is what the system does; no contestability is what it prevents the user from doing about it. Old behavior keeps dominating after a life or task change, and no control exists to inspect, reset or correct the state that holds it. The two risks in the middle are the ones teams most often treat as speculative. Both have published measurements attached.
- Preference fossilization: Old behavior continues to dominate after a life or task change.
- Sensitive inference: The profile encodes traits not needed for the product decision. It takes very little. Facebook Likes from 58,466 US volunteers were enough for a model to recover attributes nobody had disclosed — “The model correctly discriminates between homosexual and heterosexual men in 88% of cases, African Americans and Caucasian Americans in 95% of cases, and between Democrat and Republican in 85% of cases.” That was published in PNAS in 2013.
- Household leakage: One person’s behavior alters another’s recommendations — and it has a named public benchmark. HVIDEO was released in 2019 alongside π-Net, a model for shared-account cross-domain recommendation: “HVIDEO is a smart TV dataset that contains 260k users watching logs from October 1st 2016 to June 30th 2017.” The logs span a family-video V-domain and an educational E-domain. π-Net is built around a shared-account filter unit, because one account carries several people's behaviour.
- Negative-signal erasure: Hides and boundaries decay faster than positive engagement.
- No contestability: The user cannot inspect, reset, or correct the personalization state.
Evaluate adaptation and recovery
Measure how quickly the system responds to a real change without discarding stable preferences. Synthetic change-point tests, user studies, and profile-reset experiments can reveal inertia and overreaction. Monitor whether user controls have the intended effect. That measurement has already been made in public, at scale.
Mozilla audited YouTube's feedback buttons in September 2022, in a report by Becca Ricks and Jesse McCrosky. The evidence was 567,880,195 video recommendations, donated by 22,722 RegretsReporter participants between December 2021 and June 2022, plus a survey of 2,757 people. “Don't recommend channel” prevented about 43% of unwanted recommendations. “Remove from watch history” about 29%, “Dislike” about 12%, “Not interested” about 11%. Of the surveyed users who used the controls, 39.3% did not feel it had changed their recommendations at all.
The report's own summary is flat: “We determined that YouTube's user controls influence what is recommended, but this effect is negligible and most unwanted videos still slip through.” A peer-reviewed version appeared at the ACM Web Conference in 2026.
Those percentages are what a negative signal actually bought. They are also why the general rule holds: a “show less” action that barely changes exposure undermines both trust and the quality of future feedback.
Two results frame how adaptation itself is measured. GRU4Rec came first, at ICLR 2016 — Hidasi and colleagues modelled a whole session with a recurrent network. Ludewig and Jannach then set that family against nearest-neighbour schemes, in User Modeling and User-Adapted Interaction in 2018. The simpler methods, they found, often performed equally well or significantly better. Short-term intent is easy to model badly, and easy to overmodel.
Credit a session model with adaptation only after it beats the simple baseline — and credit a user control only after you have measured what it prevents, the way Mozilla measured about 11% for "Not interested".
Steps
Govern a user representation
Four horizons are modeled apart or they are modeled by accident. Session, recent, durable, and lifecycle. Each step below has a counterpart in a system somebody shipped or a rule somebody wrote. Bounded recent history and an example-age feature for the first, Article 16 rectification for the fourth, a shared-account dataset for the fifth. The sequence ends on the change events that break a profile: moving home, changing role, sharing a device, returning after months away.
1. Separate horizons
Model session, recent, durable, and lifecycle signals explicitly.
2. Preserve constraints
Treat explicit user boundaries differently from inferred taste.
3. Represent uncertainty
Track support, conflict, staleness, and sparse-state fallback.
4. Provide controls
Offer explanation, edit, reset, hide, and temporary-mode options.
5. Test change events
Evaluate moving home, changing role, shared device, and returning after absence.
Key idea
The profile gate
Maintain user state only when its horizons, purposes, retention, correction, and reset behavior can be explained and tested. This is not an internal standard a team can quietly lower. A preference profile is a re-identifiable record, and a regulator has acted on that.
Public IMDb reviews were enough to re-identify subscribers in the Netflix Prize ratings data. Narayanan and Shmatikov showed it. The FTC first contacted Netflix on 13 October 2009. It closed the investigation on 12 March 2010, once the company had agreed to three things: to suspend Netflix Prize 2, to release any future data set only to researchers under contractual use limits, and to add operational safeguards against re-identification. The closing letter describes what had been released in plain terms: “The Prize 1 data set represented the movies rated by over 480,000 Netflix customers and the date each rating was given.”
Ratings and dates. A taste profile, and enough to find the person behind it.
A stored signal earns its place only when someone can name the horizon it serves and show the user how to clear it — the FTC extracted use limits, safeguards and a cancelled sequel over a data set of movies rated and dates given.
Key takeaways
- A useful user model remembers enough to help and forgets enough to let the user change. Google's YouTube paper names the danger: machine learning systems “often exhibit an implicit bias towards the past because they are trained to predict future behavior from historical examples”. The same paper bounds candidate-generation history to 50 recent watches and 50 recent searches.
- Long-term taste, current session intent, lifecycle stage, explicit preferences, constraints, and negative feedback should not be collapsed into one permanent vector. That is the premise MIND starts from: a single vector “is insufficient to capture the varying nature of user's interests”.
- A profile is a prediction state maintained by the product, not the person’s identity or a complete account of their preferences. It also carries more than it was asked to. From Facebook Likes alone, a 2013 PNAS study separated homosexual from heterosexual men in 88% of cases and Democrat from Republican in 85% of cases.
- Stable constraints matter because language, accessibility, dietary, safety, or format needs are explicitly provided by the user. Article 16 of the General Data Protection Regulation then gives that user a right to obtain rectification of inaccurate personal data without undue delay.
- Preference fossilization remains a practical risk: old behavior continues to dominate after a life or task change, and the controls meant to break it can be nearly inert. In Mozilla's September 2022 audit, “Not interested” prevented about 11% of unwanted recommendations and “Dislike” about 12%.
- Moving home, changing role, sharing a device, or returning after a long absence are the cases that reveal whether a profile can update or has fossilized around old behavior. The shared device already has a benchmark: HVIDEO, 260k smart-TV users logged from October 1st 2016 to June 30th 2017.