Probabilistic Programming for Recommender Systems
Saturday, April 18, 2026 · 1:30 PM – 3:00 PM · Classroom 205
Tutorial Repository: https://github.com/anushanata/recommender-systems
In today’s digital platforms, recommender systems determine what users read, watch, and purchase. From streaming services and e-commerce to education and news, recommender systems power modern digital platforms across a wide variety of industries. Traditional recommender system models have historically relied on user item past interactions and outputs. However, this approach can raise problems should a user’s opinion change or new users and items entering the system. In sparse environments, this can lead to issues of overfitting of the model. These problems can lead to producing inaccurate recommendations and reducing model accuracy and reliability.
The incorporation of probabilistic models addresses the challenges that traditional recommender systems models face. By introducing hierarchical structure and partial pooling, probabilistic modeling stabilizes predictions in sparse settings and adapts more effectively to new and unseen data. Additionally, probabilistic programming contributes to quantifying uncertainty, allowing to better understand the confidence behind model outputs.
In this hands-on tutorial, participants will learn how recommender systems are constructed and apply probabilistic modeling with PyMC to model uncertainty and improve robustness. We will first start off with understanding the foundations of recommender systems by constructing a simple baseline model. Then, participants will use PyMC to implement a hierarchical Bayesian recommender that incorporates user and item effects with partial pooling. During the session, we will also cover the foundations of probabilistic programming, specifically how posterior uncertainty can inform better decision-making.
The session will consist of a live coding, step-by-step guidance, and interactive exercises using a real-world dataset. The goals of the session include being able to implement a recommender system baseline in Python, build and fit a hierarchical Bayesian model using PyMC, generate and interpret posterior predictive distributions, evaluate model performance, and understand when uncertainty-aware modeling is valuable in applied ML systems.
All code and datasets will be provided in a ready-to-run notebook so participants can continue experimenting after the session.
This tutorial is designed for practitioners and students with basic familiarity in Python and machine learning who want practical experience applying probabilistic programming to real-world recommendation problems.
About the Speaker
Anusha Natarajan
Data Analyst
Anusha Natarajan completed her M.A. in Quantitative Methods in the Social Sciences with a concentration in Data Science from Columbia University, where her graduate research focused on Bayesian modeling and natural language processing. Her career spans roles across research, public policy, and technology sectors. Currently a Data Analyst at Elsevier, Anusha leads data-driven analyses of emerging technology policy landscapes, builds dashboards to track engagement with AI-enabled research tools, and supports strategic planning and global research partnerships. Previously, she supported analytics and cloud infrastructure initiatives at Amazon Web Services as an intern, leading user testing for infrastructure-as-code tools. Earlier, at the Pew Research Center, she contributed to nationally published research on global migration and U.S. electoral demographics through statistical analysis, data validation, visualization, and qualitative coding. Anusha’s expertise includes machine learning, Bayesian statistics, Python-based analytics, and data visualization, with a focus on translating complex data into actionable insights for policy, research, and institutional decision-making.