E-Commerce Intelligence
Amazon product recommendations: which method wins when
Four recommender methods compared on 65,290 Amazon ratings - rank-based, user/item collaborative filtering and SVD. No single model wins everything: tuned SVD for users with history (RMSE 0.8822), rank-based for the cold start. An MIT coursework project, honestly measured, with a reproducible companion repository.
Every shop faces the same question: which product do I show this user next? Recommender systems answer it in ranges from "everyone is buying this" to "this fits your history". This project builds four of those methods on the same dataset and measures them with the same metrics - and lands on an uncomfortable insight: there is no single best model, only the one that fits each scenario.
The dataset
The basis is a public dataset of Amazon product ratings. After preprocessing to active users, 65,290 ratings from 1,540 users across 5,689 products remain. The user-item matrix is 99.26% empty - the core difficulty of any recommender. And the ratings are heavily optimistic: mean 4.29, median 5. You have to know this skew before interpreting a single metric.
Four methods, one fair measurement
Four approaches were compared, all tuned with GridSearchCV and judged on the same metrics - RMSE (how accurate the predicted rating is) plus Precision@10 and Recall@10 (relevance threshold 3.5):
- Rank-based (popularity) - recommends the highest-rated products above a minimum interaction count. It does not know the individual user, which is exactly why it is the right choice for the cold start (new users with no history).
- User-user collaborative filtering - "users like you also liked …".
- Item-item collaborative filtering - "people who liked this also like …"; usually more stable, because item characteristics change less often than user taste.
- SVD (matrix factorization) - decomposes the matrix into latent factors and copes best with the sparsity.
Results
| Method | RMSE | Precision@10 | Recall@10 | F1 |
|---|---|---|---|---|
| User-user CF (baseline) | 1.0012 | 0.855 | 0.858 | 0.856 |
| User-user CF (tuned) | 0.9527 | 0.847 | 0.894 | 0.870 |
| Item-item CF (baseline) | 0.9950 | 0.838 | 0.845 | 0.841 |
| Item-item CF (tuned) | 0.9567 | 0.838 | 0.889 | 0.863 |
| SVD (baseline) | 0.8882 | 0.853 | 0.880 | 0.866 |
| SVD (tuned) | 0.8822 | 0.854 | 0.884 | 0.869 |
On raw prediction accuracy, tuned SVD (RMSE 0.8822) wins, closely followed by the SVD baseline and the tuned CF models. On F1, tuned user-user (0.870) edges ahead by a hair - the difference is marginal.
What the analysis actually shows
- The positivity bias colours the metrics. With a median of 5, precision values around 0.85 are easier to reach than they sound; the harder metric is RMSE.
- The differences are moderate. From 1.00 to 0.88 RMSE - real, but not a leap that crowns one method universally.
- The scenario decides, not the leaderboard. For new users with no history there is no way around rank-based; for users with history, tuned SVD or item-item deliver the more personal hits. In practice you combine both and retrain regularly.
Reproducibility & verification
The full, executed code (EDA, all four methods, hyperparameter tuning) is in the companion repository: github.com/myBytesResearch/amazon-product-recommendation-system. The project was completed as coursework in the MIT Professional Education Applied AI and Data Science Program (verifiable certificate).