Taste Science

The Match Score, Explained

Intertitle's match score is 1 minus the cosine distance between a film and your taste vector. Here's what that means, why it isn't popularity, and where it breaks.

The match score starts with a single question: how close is this film to what you already love?

"Close" has a precise definition here. Every film in Intertitle has an embedding — a 1,024-dimensional vector that encodes what the film is: its tone, texture, genre furniture, directorial register, narrative tempo. You have a vector too, derived from your Letterboxd ratings. The match score is 1 − cosine distance between those two vectors. That's the formula — no black box, no engagement prediction, no what-other-people-watched signal layered in.

If a film scores 92%, the cosine distance is 0.08: it sits geometrically very close to your taste. If it scores 54%, the distance is 0.46 — more gap, more uncertainty about whether it will land. The score is always between 0 and 1 (displayed as a percentage), and it belongs entirely to the relationship between that specific film and your specific history.

The Geometry

Cosine distance measures the angle between two vectors. Parallel vectors — angle zero, distance zero — point in the same direction and share a strong resemblance in taste-space. Perpendicular vectors — angle ninety degrees, distance one — share nothing. Most real films land somewhere in between.

Cosine distance is used instead of something simpler (Euclidean distance, say) because taste is about direction, not magnitude. Two films can differ in how intensely they express a quality — one more measured, one more emphatic — while still pointing the same way. Cosine distance captures that.

If you want to go deeper on how the embeddings themselves are built — what information goes into them, why they capture texture better than genre tags, and why two films from different decades can end up neighbors in embedding space — How Embedding-Based Recommendations Read Your Film Taste covers that in full. This piece is specifically about what happens after those embeddings exist: the scoring step.

Your Taste Vector and the kNN Anchor

The score isn't computed against some abstract film-space centroid. It's anchored to your loved films — specifically, your films rated four stars or higher.

When Intertitle computes a match score for a film, it finds the three nearest films in your loved set in embedding space and takes the mean cosine distance across those three. The match score is 1 − that mean distance.

The three-nearest-neighbor approach matters. An alternative — averaging all your loved films into a single centroid vector — sounds cleaner but collapses discrimination. With enough films averaged together, nearly every candidate ends up at roughly the same distance from the centroid, and scores cluster in a narrow band where film-to-film differences disappear. Using kNN keeps the geometry local and sharp: a film scores high when it's close to some of your most-loved films, not when it's moderately close to all of them.

This is also why the match score you see while browsing your library and the one attached to Tonight's recommendations agree: they're computed from the same signal. The number on a film in your watchlist is the same taste-affinity figure that informed how the system ranked it.

What the Score Is Not

Not popularity. A 1997 slow-burn Albanian film and this year's most-streamed thriller can both score above 90% for the same user, and a revered classic can score 40% for someone whose taste simply runs in a different direction. There's no term in the formula for how many people watched something or what its aggregate rating is.

Not genre matching. Genre tags are labels applied from the outside — someone had to pick "Drama" or "Thriller" from a list. The embedding encodes what the film actually feels like to watch: its pacing, emotional register, formal approach, the kind of attention it rewards. Two films can share no genre label and sit very close in embedding space because they share the qualities that actually determine whether you'll love them.

Not collaborative filtering. The "people who watched X also watched Y" logic that underlies most streaming recommendation isn't present here. If you've compared Intertitle to Letterboxd's own recommendation features, the Letterboxd recommendation engine comparison goes into where the approaches diverge and what that means for taste-specific discovery.

How Tonight Uses the Score

The Tonight programme isn't a ranked list sorted by match score from highest to lowest. Scoring is one input into a broader selection: candidates are scored, then put through a multi-signal step that can factor in a mood filter if you've set one, then sampled via a softmax-temperature process that introduces controlled variation. The result is a programme that reflects your taste without surfacing the same films on every press.

This means Tonight varies on reroll. The match score for any given film is stable — it reflects a real geometric relationship — but which films surface on a given press involves probabilistic sampling. Think of the score as setting a film's odds of appearing, not as placing it at a fixed rank. You can explore the broader shape of your taste — which clusters of films your history draws you toward — on your Taste Map.

Honest Limits

Cold start. If you have no films rated four stars or higher, there are no loved films to anchor the kNN computation. The score is zero — not a low score, but literally no signal. You'll still get a Tonight programme, drawn from other signals, but the match score won't be meaningful until you build a rating history. The more ≥4★ ratings you have, the sharper the geometry becomes.

Thin-data films. Embeddings are only as good as the information that went into them. Films with sparse critical coverage — some world cinema, very recent releases, older films whose reception history has faded from the record — can have noisier embeddings. A 90% match on a film like this is a weaker claim than a 90% match on a film with a dense, well-documented critical history. The number is real; the confidence behind it varies.

Similarity isn't enjoyment. A very high match score means this film is geometrically close to films you've loved. It doesn't guarantee you'll love this one too. A close film might be doing the same thing you've seen done better elsewhere. It might hit differently on a given night. The score is an efficient prior, not a prediction. Treat it as a strong hint — and update your ratings when it's wrong.

Intertitle

Intertitle reads your taste
and tells you what to watch tonight.

Import your Letterboxd export. One recommendation, matched to your actual watching history — not the algorithm's guess.

↓ Download on iOS

Free · no credit card