← All writing

A small note on recommendation systems

A sample article showing how technical ideas can be explained without losing the reader.

Sample article — replace this text with Pranav's final draft before publishing the portfolio.

Recommendation systems are often described as ranking machines. That description is useful, but incomplete. The system also decides what is eligible to be ranked, which signals deserve attention, and what kind of feedback becomes tomorrow's training data.

Start with the decision

Before choosing a model, write down the decision the product needs to make. A useful brief answers three questions:

  • What is being selected?
  • Who is the selection for?
  • What should improve when the selection is good?

The metric follows the decision. A system designed for discovery should not be judged exactly like one designed for replenishment.

Keep the first version legible

A baseline that everyone can understand is valuable. It creates a shared reference before complexity arrives.

type Candidate = {
  id: string
  relevance: number
  freshness: number
}

const score = (item: Candidate) =>
  item.relevance * 0.8 + item.freshness * 0.2

The formula is intentionally simple. The important work is defining relevance and testing whether the result helps the reader or customer make a better choice.

Read the misses

The most instructive recommendations are often the ones a person ignores. A miss can reveal weak context, a stale signal, an availability problem, or an objective that rewards the wrong behaviour.

  1. Inspect the candidate set.
  2. Compare the ranking with the intended decision.
  3. Look for systematic misses, not isolated surprises.
  4. Change one assumption and measure again.

For a deeper introduction, the Recommender Systems Handbook is a useful reference.


Good recommendation work makes the system easier to question, not only harder to beat.

Get in touch

Leave a note.

Share a little context and I will get back to you when I can.