Brief #21 · Machine Learning
Movie Recommendation System
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
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
- 1Use a public interaction dataset (MovieLens or similar), split by time, and build a 'most popular' baseline.
- 2Train a two-tower model that embeds users and items into the same space, and evaluate retrieval with Recall@100.
- 3Serve retrieval from an approximate nearest-neighbour index and measure latency and recall against exact search.
- 4Add a ranking model that re-orders the top candidates using richer features, evaluated with NDCG@10.
- 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.