PyData Eindhoven 2025

Optimizing fantasy basketball decisions with Python: linear & integer programming for roster management
2025-12-09 , Ernst-Curie

Fantasy basketball involves daily decisions: which players to start, who to pick up from free agency, and how to balance competing objectives across multiple statistical categories. This talk demonstrates how linear programming and integer programming can help solving those problems.

Using Python library PuLP we'll explore when to use linear programming versus integer programming, how to formulate constraints for roster decisions, and how to handle different league formats. Through practical examples, we'll build optimizers for start/sit decisions and free agency streaming.


Core Content:
This talk teaches Linear and Integer Programming fundamentals through fantasy basketball examples, demonstrating when to use each approach for optimization problems.

Session Structure:

-Linear programming fundamentals
- Integer programming fundamentals
- Demo: start/sit optimization
- Demo: free agency optimization
- Real life applications

I will also explain rules of different fantasy basketball formats.
Prior Knowledge Expected:
Python (no basketball knowledge needed but not hating on sports will help)


Prior Knowledge Expected: Beginner - No prior knowledge needed

Sports nerd with over 30 years of experience as a fan, 10 years of experience working in data, and 5 years combining both to support professional teams (across football, baseball and ice hockey) in better understanding their sports.