Music streaming services like Spotify periodically provide their millions of users with curated music recommendations to keep them wanting to come back for more. It is important that these recommendations truly resonate with their users, while also introducing them to novelty that keeps their curiosity alive.

In this notebook, we will create a music recommendation system using a mixture of predictive and prescriptive analytics. The predictive component foresees what users might be into based on their past music preferences, while the prescriptive component uses these predictions to create an optimally diverse recommendation list.

This modeling tutorial is at the introductory level, where we assume that you know Python and that you have a background on a discipline that uses quantitative methods.

You may find it helpful to refer to the documentation of the Gurobi Python API. This notebook is explained in detail in our webinar on data science and mathematical optimization. You can watch these videos by clicking here.


Access the Jupyter Notebook Modeling Example

Click on the button below to access the example in Google Colab, which is a free, online Jupyter Notebook environment that allows you to write and execute Python code through your browser. 

How to Run the Jupyter Notebook Modeling Example

  • To run the example the first time, choose “Runtime” and then click “Run all”.
  • All the cells in the Jupyter Notebook will be executed.
  • The example will install the gurobipy package, which includes a limited Gurobi license that allows you to solve small models.
  • You can also modify and re-run individual cells.
  • For subsequent runs, choose “Runtime” and click “on “Restart and run all”.
  • The Gurobi Optimizer will find the optimal solution of the modeling example.

Check out the Colab Getting Started Guide for full details on how to use Colab Notebooks as well as create your own.

Gurobi Newsletter