Skip to content

moheetsubudhi-isb/recommender-toolkit

v1.0.0MIT

Recommender-system skills for choosing and building association rules, collaborative filtering, matrix factorisation or graph ranking, and for evaluating recommenders offline and online with the right splits and ranking metrics.

recommender-build

Build product, content or next-item recommendations, and choose the method that fits the data: association rules and market basket analysis, item-based or user-based collaborative filtering, content-based similarity, matrix factorisation with ALS, or graph ranking such as PageRank. Use whenever someone wants to recommend products, songs, articles, courses or offers to users; build "customers also bought", "you may also like", "buy again" or "did you forget" features; mine frequent itemsets with support, confidence and lift; turn clicks, views or purchases into implicit ratings; correct for users who rate harshly or generously; handle cold start for new users or new items; or scale item-item similarity for real-time serving. Not for measuring how good an existing recommender is, and not for segmenting customers into groups.

recommender-evaluation

Measure whether a recommender or ranking system is any good, offline and online. Use whenever someone asks how to evaluate or compare recommendation models; how to split interaction data (random, temporal, leave-one-out) without leaking the future; whether to use RMSE or ranking metrics; how to compute precision@k, recall@k, hit rate, MAP, MRR or NDCG; how to check catalogue coverage, diversity, novelty, popularity bias or long-tail exposure; whether a new recommender beats the current one or a best-seller baseline; how to run a shadow deployment or A/B test for recommendations; or how many users that experiment needs to detect a lift. Also use for judging search-result ranking quality. Not for building the recommender, and not for setting a classifier's probability threshold.