Mike Musty - Optimizing sales representative assignments using integer programming | PyData Vermont

Learn how integer programming and Python's ORtools can optimize sales team efficiency by mathematically solving the complex problem of matching reps to leads.

Key takeaways
  • Integer linear programming can efficiently solve sales rep assignment problems by maximizing expected profits while respecting assignment constraints

  • The problem involves assigning binary values (0 or 1) to represent whether a rep is assigned to a lead, with constraints ensuring each lead gets exactly one rep

  • Google’s ORtools library provides an accessible Python interface for solving these optimization problems through constraint programming

  • While brute force approaches become intractable with large numbers of leads/reps, specialized solvers can find optimal solutions efficiently

  • Two key constraints govern the problem:

    • Each lead must be assigned exactly one sales rep
    • Each rep can be assigned to at most one lead
  • The solver can handle thousands of leads/reps while finding globally optimal assignments that maximize total expected profit

  • Recent advances in constraint programming focus on manipulating feasible solutions rather than just optimizing objective functions

  • The approach helps prevent local optimization (like sending the “best” rep to each lead) in favor of better global outcomes

  • Integer constraints are essential since fractional assignments (splitting reps between leads) wouldn’t make practical sense

  • The framework can be adapted for similar assignment optimization problems beyond just sales rep scheduling