Skip to content
AI.info

Recommender systems

Users, Items, Context, and Recommendation Units

Define stable users, items, sessions, contexts, and recommendation units before building interactions or features.

By the end you can

Comparison

Account, session, and household modeling answer different questions

The question is not which model is better but whose behavior the history belongs to. Each answer carries a price. Two of the three prices have been measured in public.

An account model bets that identity is durable, and durable identity is identifying. Netflix once released the anonymous ratings of 500,000 subscribers. In 2008 Narayanan and Shmatikov showed how little it takes to undo that. With 8 movie ratings, of which 2 may be completely wrong, and dates that may have a 14-day error, 99% of records can be uniquely identified in the dataset. For 68% of records, two ratings and dates with a 3-day error are sufficient. “We demonstrate that an adversary who knows only a little bit about an individual subscriber can easily identify this subscriber’s record in the dataset.” The file carried no names. It did not need to.

A session model bets that only the last few minutes can be trusted. For much of the web that is not a bet but the only option available. The 2016 paper that put recurrent networks on session data opens by saying why: “Many e-commerce recommender systems (particularly those of small retailers) and most of news and media sites do not typically track the user-id’s of the users that visit their sites over a long period of time.” Hidasi and his co-authors then give the session unit a contract as explicit as any account policy. Their training data is the RecSys Challenge 2015 click-stream: 7,966,257 sessions, 31,637,239 clicks, 37,483 items. Each whole session goes to either the training or the test set. The data is never split mid-session.

A household model admits from the start that several people share one record. Netflix has quantified that case in its own filings. The next section is that number.

FigureComparison · 3 columns

Account model

Uses durable identity and history across sessions.

  • Supports long-term personalization
  • May conflate several people
  • Raises retention and privacy concerns
  • Useful for stable individual accounts

Session model

Uses recent actions without requiring persistent identity.

  • Adapts quickly to temporary intent
  • Works for anonymous traffic
  • Forgets durable preferences
  • Useful for short shopping or media sessions

Household model

Represents shared consumption and collective constraints.

  • Can model co-viewing and shared budgets
  • Needs profile or context disambiguation
  • May expose one member’s interests to another
  • Useful for family devices and utilities

Example

One signed-in account, more than one household

Netflix has put a filed number on the distance between an account and a person. Its Q1 2022 shareholder letter, dated 19 April 2022, told investors: “Second, in addition to our 222m paying households, we estimate that Netflix is being shared with over 100m additional households, including over 30m in the UCAN region.” That is roughly one shared household for every two paying ones. Every one of them arrives in the logs as a single signed-in account.

On a shared television the consequence is concrete. Children, parents and guests act under one key. The embedding fitted to that key represents no actual viewer, and the slate lurches as the person in front of the screen changes. The account-equals-person assumption does not fail only in one unlucky living room. On the company's own estimate it fails at a scale of over 100m households.

  • Identity ambiguity: One account represented several people with different tastes and age constraints. On Netflix's own estimate, over 100m households were watching under an account somebody else paid for.
  • Session clues: Time, profile selection, and recent actions suggested temporary intent but were ignored.
  • Item ambiguity: Episodes, series, collections, and franchises were mixed as if they were the same recommendation unit.
  • Context loss: Device and co-viewing changed what “relevant” meant.
  • Measurement error: The system interpreted skipped children's content as negative feedback from an adult.

The interaction table inherits every entity decision

Every training example links a decision subject, candidate item, context, time, exposure, and outcome. If any one of those entities is unstable, the model can learn a coherent pattern about an incoherent unit. A user can mean an account, a person, a household, a device, an organization, or an anonymous session. An item can mean a SKU, an offer, a seller listing, an article version, an episode, a bundle, or a category.

Somebody picks one of each, usually early and usually without a meeting. That pick goes on to shape sparsity, privacy, cold start, and evaluation.

Whoever picks those units is deciding sparsity, privacy, cold start, and evaluation, whether or not anyone treats it as a decision.

Case

MovieLens 25M admits only users with twenty ratings

The MovieLens releases show how much an entity contract decides. The 25M release, generated on 21 November 2019, holds 25,000,095 ratings and 1,093,360 tag applications from 162,541 users across 62,423 movies. Every user in it has rated at least twenty films. That threshold is an entity rule. It quietly removes the sparse accounts a production system meets daily.

GroupLens has published these sets since 1998. The first release held 100,000 ratings from about a thousand users.

The rule is not a MovieLens quirk. Microsoft built its news dataset MIND on the same kind of membership condition in a different domain: “We randomly sampled 1 million users who had at least 5 news click records during 6 weeks from October 12 to November 22, 2019.” The 2020 paper reports 161,013 news articles, 15,777,377 impressions and 24,155,470 click behaviours from 1,000,000 users. Every one of them had already clicked five times before the sampler would look at them.

MIND differs from a ratings table in a second way worth copying. It stores exposure and outcome as separate units. Each impression log records the articles displayed to a user at a specific time, together with the click label: 1 for click, 0 for non-click. A rating tells you only what somebody chose to rate. An impression log tells you what was put in front of them and what they did about it. Those are different entities, and they mean different things.

Figure

Twenty-one years of collecting, and the entity rule that decided who is in the table: MovieLens 25M against the 100,000-rating release of 1998.

Visual

The unit-of-recommendation ledger

The ledger runs from decision subject to outcome unit. Each layer between them fixes one entity. A model can be no more coherent than the five rows it inherits.

The last two rows are the ones most often collapsed into each other. MIND keeps them apart by construction. The impression log holds the articles displayed at a specific time; the click label holds what followed. A non-click is a 0 fastened to a particular display, not an absence in the table.

FigureLayers · 5 layers
  1. 01

    Decision subject

    Who or what receives the slate: person, account, session, household, or organization?

  2. 02

    Candidate identity

    What is ranked: item, offer, seller listing, bundle, row, or action?

  3. 03

    Context

    Which device, query, location, time, surface, and prior actions matter?

  4. 04

    Exposure event

    What exactly was visible, where, for how long, and under which policy?

  5. 05

    Outcome unit

    Which event, duration, completion, return, or satisfaction measure belongs to the exposure?

Analogy

A library card is not a reader

One library card, shared by a family, is a real record of what left the building and a poor record of who wanted it. The checkout history combines several people and several purposes. Account-level recommendation inherits that problem, and inherits it silently, because nothing in the interaction table marks where one reader stops and the next begins.

What the silence costs has been measured. In 2015 Verstrepen and Goethals tested an item-based top-N baseline on shared accounts. They report that “Up to 19% of the users get no relevant recommendation when they share their account with another user.” The sharing they model is entirely ordinary. In the CAMRa 2011 data, 272 of 290 households are two users, 14 are three and 4 are four.

The repair belongs at the entity level, not in the ranker's loss. Take one setting: two users per account, individual top-5 with k=200. Under the baseline, 12% of users were left with nothing. Under their DAMIB-COVER algorithm that fell by a factor of four. The algorithm's whole move is to stop treating the account as one taste.

Before learning preferences, decide whose preferences the history can represent: up to 19% of users get nothing relevant once one other person shares the account.

Example

Entity mistakes that models cannot repair

Identity merge happens at the top of the pipeline and outcome misattachment at the bottom. Neither can be fixed by a better model downstream. Check them separately, because a clean merge policy tells you nothing about whether a purchase was credited to the right exposure.

And the credit rule is something a person chooses, not something the log reports. “The industry standard for conversion attribution is to credit the advertizing platform which owns the last click in a 30 days window before the conversion,” says a 2017 paper from Criteo on attribution modeling in display advertising. Its authors released the log behind it: 30 days of Criteo production traffic, 16.5M impressions, 45K conversions, 700 campaigns. Each line is an ad impression carrying timestamp, uid, click, click position, conversion, conversion timestamp and an attribution flag. Click position is in there precisely so that a different attribution scheme can be applied to the same events. The fields are the evidence. Last-click is a choice the entity contract has to record, not a fact the data contains.

  • Identity merge: Different people or items are collapsed under one key.
  • Identity split: The same entity appears under several keys, weakening history and counts.
  • Unit drift: A SKU changes package, seller, or availability while retaining an old identifier.
  • Context omission: A temporary task is interpreted as a durable preference.
  • Outcome misattachment: A purchase or completion is linked to the wrong exposure or session — under the industry default, to whichever platform owned the last click in the 30 days before the conversion.

Steps

Create an entity and time contract

Who or what is being recommended to? The contract opens on that question and closes on attribution, because an entity nobody can trace is one the model will happily learn about anyway.

Each step has a documented price for getting it wrong. 222m paying households and over 100m shared ones are what make naming the subject unavoidable. Defining identifiers is where the Netflix Prize result lands: 8 ratings and dates with a 14-day error were enough to pick out 99% of records. Binding context and time is where the session contract lives — whole sessions to training or test, never split mid-session. Testing attribution is where the last-click default has to be written down as a rule somebody picked, with a 30-day window somebody chose.

FigureProcess · 5 steps
  1. 1. Name the subject

    State the real-world unit whose experience the policy should improve.

  2. 2. Define identifiers

    Document merge, split, deletion, guest, and profile-switch behavior.

  3. 3. Choose item granularity

    Separate product, offer, content version, and bundle when decisions differ.

  4. 4. Bind context and time

    Record which context fields were knowable at ranking time.

  5. 5. Test attribution

    Verify that outcomes can be linked to the correct exposure without hindsight.

Key idea

The modeling gate

Approve the interaction schema only after entity owners can explain merges, splits, retention, deletion, and outcome attribution.

A regulator has already imposed that gate on a real recommender programme. Netflix was preparing a second public release, “Netflix Prize 2”. The FTC's Division of Privacy and Identity Protection contacted the company on 13 October 2009 and wrote on 3 November 2009 about the risk of re-identification in that release. The risk had already been demonstrated on the Prize 1 data set, which held the movies rated by over 480,000 Netflix customers and the date each rating was given, with customers' names replaced by unique numbers. Netflix then told staff it intended to suspend Prize 2. Any future data set, it said, would go not to the public but only to researchers who contractually agree to specific limitations on its use. The investigation was closed on 12 March 2010.

The closing letter, signed by Maneesha Mithal, does not let the matter drop: “Due to advances in technology that allow for vast amounts of data to be collected, stored, accessed, and combined, staff encourages companies to be cautious when releasing data presumed to be "anonymous" or "not personally identifiable," especially when those representations are made to consumers.” The programme was suspended rather than defended. That is what it costs to answer these questions after the data has been cut.

A schema approved without those answers freezes guesses about identity into every training example that follows.

Key takeaways