Brief #21 · Machine Learning

Movie Recommendation System

Hard⏱ 24-32 hSoon

A two-stage recommender like the big platforms use: retrieve a few hundred candidates from millions with embeddings, rank them with a second model, and measure it properly offline.

Outlines are free · building with tracking needs Pro

MThe briefFrom the team

Our video app shows everyone the same 'trending' list, and people leave after one video. Build personalised recommendations that can pick from a catalogue of a million videos in under 100 ms, handle brand-new users and videos, and prove offline that they beat 'trending' before we run a real experiment.

What you'll build

  1. 1Use a public interaction dataset (MovieLens or similar), split by time, and build a 'most popular' baseline.
  2. 2Train a two-tower model that embeds users and items into the same space, and evaluate retrieval with Recall@100.
  3. 3Serve retrieval from an approximate nearest-neighbour index and measure latency and recall against exact search.
  4. 4Add a ranking model that re-orders the top candidates using richer features, evaluated with NDCG@10.
  5. 5Handle cold start: new users get popular-in-their-region items, new videos get content-based embeddings.

Step-by-step walkthrough

Walkthrough coming soon

This project's step-by-step walkthrough, with real outputs at every step, is still being written. You can read the brief and try it on your own meanwhile; tracking opens when the walkthrough is ready.

Done when

  • A metrics table: popularity baseline, retrieval only, retrieval plus ranking, on the same time-based test set.
  • End-to-end recommendations in under 100 ms at p95 for a million-item catalogue.
  • The approximate index keeps at least 95% of exact search's recall.
  • Cold-start users get sensible results, shown with examples.

Stretch goals

  • Add a diversity step so the top 10 isn't ten episodes of the same show.
  • Design the online A/B test: metric, sample size and how long to run it.

Show it off