moheetsubudhi-isb/recommender-toolkit
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.
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.
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.