Show Me The Money: Dynamic Recommendations for Revenue Maximization

41st International Conference on Very Large Data Bases (VLDB 2015), Kohala Coast, Hawaii


Recommender Systems (RS) play a vital role in applications such as e-commerce and on-demand content streaming. Research on RS has mainly focused on the customer perspective, i.e., accurate prediction of user preferences and maximization of user utilities. As a result, most existing techniques are not explicitly built for revenue maximization, the primary business goal of enterprises. In this work, we explore and exploit a novel connection between RS and the profitability of a business. As recommendations can be seen as an information channel between a business and its customers, it is interesting and important to investigate how to make strategic dynamic recommendations leading to maximum possible revenue. To this end, we propose a novel revenue model that takes into account a variety of factors including prices, valuations, saturation effects, and competition amongst products. Under this model, we study the problem of finding revenue-maximizing recommendation strategies over a finite time horizon. We show that this problem is NP-hard, but approximation guarantees can be obtained for a slightly relaxed version, by establishing an elegant connection to matroid theory. Given the prohibitively high complexity of the approximation algorithm, we also design intelligent heuristics for the original problem. Finally, we conduct extensive experiments on two real and synthetic datasets and demonstrate the efficiency, scalability, and effectiveness our algorithms, and that they significantly outperform several intuitive baselines.

Dynamic Recommendations for Revenue Maximization



[ Paper in PDF ] [ Presentation in PDF ]


  author = {Wei Lu and Shanshan Chen and Keqian Li and Laks V. S. Lakshmanan},
  title = {Show Me the Money: Dynamic Recommendations for Revenue Maximization},
  journal   = {{PVLDB}},
  volume    = {7},
  number    = {14},
  pages     = {1785--1796},
  year      = {2014},
  url       = {},