Skip to main content Accessibility help
  • Print publication year: 2016
  • Online publication date: February 2016

11 - Multiobjective Optimization



The approaches that we discussed in previous chapters typically recommend items to optimize for a single objective, usually clicks on recommended items. However, a click is only the starting point of a user's journey, and subsequent downstream utilities, such as time spent on the website after the click and revenue generated through displaying advertisements on web pages, are also important. Here clicks, time spent, and revenue are three different objectives for which a website may want to optimize. When different objectives have strong positive correlation, maximizing one would automatically maximize others. In reality, this is not a typical scenario. For example, the advertisements on real estate articles tend to generate higher revenue than those on entertainment articles, but users usually click more and spend more time on entertainment articles. In situations like this, it is not feasible to reach optimality for all objectives. The goal, instead, is to find a good trade-off among competing objectives. For example, we maximize revenue such that clicks and time spent are still within 95 percent of the achievable number of clicks and 90 percent of the achievable time spent relative to some normative serving scheme (e.g., CTR maximization). How to set the constraints (the 95 percent and 90 percent thresholds) depends on the business goals and strategies of the website and is application specific. This chapter provides a methodology based on multiobjective programming to optimize a recommender system for a given set of predetermined constraints. Such a formulation can easily incorporate various application-driven requirements.

We present two approaches to multiobjective optimization. Section 11.2 describes a segmented approach (originally published in Agarwal et al., 2011a), where users are classified into user segments in a way similar to segmented postpopular recommendation (discussed in Sections 3.3.2 and 6.5.3) and the optimization is at the segment level. Although useful, this segmented approach assumes that users are partitioned into a few coarse, nonoverlapping segments. In many applications, a user is characterized by a high-dimensional feature vector (thousands of dimensions with large number of all possible combinations) – the segmented approach fails to provide recommendations at such granular resolutions because decisions are made at coarse user-segment resolutions. Section 11.3 describes a personalized approach (originally published in Agarwal et al., 2012) that improves the segmented approach by optimizing the objectives at the individual-user level.