Skip to content
PythonNumPySciPyscikit-learn

Product Recommendation Engine

An e-commerce recommendation engine combining a from-scratch ALS implementation (NumPy/SciPy) with content-based scikit-learn filtering.

Illustration for the product recommendation engine project, combining collaborative filtering and content-based filtering

Problem

Generic "best-sellers" recommendations don't reflect what an individual shopper actually wants, which hurts conversion.

Solution

A from-scratch ALS collaborative-filtering implementation (NumPy/SciPy) combined with content-based scikit-learn filtering, personalizing recommendations to each shopper.

Overview

“Best sellers” is not a recommendation — it’s the same list for every visitor. Real personalization requires understanding what this shopper specifically tends to want.

How it works

Two approaches are combined: a collaborative-filtering engine built from scratch with NumPy/SciPy (implementing Alternating Least Squares rather than importing a black-box library, to genuinely understand the mechanics), and a content-based scikit-learn filter that uses product attributes to recommend similar items even for shoppers with little purchase history.

Result

Recommendations that adapt to individual behavior instead of showing every visitor the same generic list.

Further reading

See Why Most Data Portfolios Get Rejected for more on why hand-built algorithms matter for a portfolio.

More projects