Machine learning & data science

Build a recommendation or ranking model

Collaborative filtering, embeddings-based retrieval, offline ranking metrics.

~15 focused hours·intermediate

Tools: scikit-learn, implicit/Surprise, TensorFlow Recommenders, FAISS

Market relevance — share of job ads asking for this
Prerequisite capability — not asked for directly, but needed for others.
What employers mean

You should be able to…

  1. Build a collaborative filtering model (user-item matrix factorization) from interaction data
  2. Build a content-based / embeddings-based retrieval component for cold-start items
  3. Combine retrieval (candidate generation) with ranking, not just one flat model
  4. Evaluate with offline ranking metrics (precision@k, recall@k, NDCG, MAP) not just RMSE
  5. Handle the cold-start problem for new users or new items
  6. Explain the exploration/exploitation and popularity-bias tradeoffs in a recommender
  7. Design an offline evaluation that reasonably approximates online (A/B) performance

Needs first: Train and evaluate classical ML models

Learn — free, link-checked

The few resources that matter

Practice

Regional OTT / e-commerce style recommender

Using a public interactions dataset (e.g. MovieLens, or a retail transactions dataset as a proxy for an Indian e-commerce/OTT catalog), build a candidate-generation model with collaborative filtering and a simple content-based fallback for cold-start items. Rank candidates and evaluate offline with precision@k and NDCG@k, comparing against a popularity-baseline.

Done when
  • Collaborative filtering model trained on user-item interactions with a documented train/test time split (not random split, to avoid leakage)
  • Cold-start fallback implemented for items with no interaction history
  • Precision@k and NDCG@k reported and compared against a most-popular baseline
  • README explains why the chosen offline metrics were used and what an online A/B test would additionally need to check
Prove it

Evidence a recruiter can check

  • Public GitHub repo with data split methodology and evaluation code
  • Offline metrics table (precision@k, NDCG@k) comparing your model vs a popularity baseline
  • A few example 'user -> top-5 recommendations' outputs shown in the README with commentary
  • Can explain live the retrieval vs ranking split and why a time-based split was used
Interview

Questions you'll get asked

  1. Walk me through how you'd design a 'customers who bought this also bought' feature end to end
  2. How is a two-tower retrieval model different from a simple matrix factorization model?
  3. How do you handle the cold-start problem for a brand-new user with no history?
  4. Why is RMSE often a poor metric for evaluating a recommender, and what would you use instead?
  5. What's the difference between candidate generation and ranking in a recommendation pipeline?
  6. How would you measure and reduce popularity bias in your recommendations?
  7. How do you evaluate a recsys model offline before an A/B test, and what are the risks of trusting offline metrics alone?