Attainment Ratings for Graph-Query Recommendation

08/17/2018 ∙ by Hal Cooper, et al. ∙ Columbia University 0

The video game industry is larger than both the film and music industries combined. Recommender systems for video games have received relatively scant academic attention, despite the uniqueness of the medium and its data. In this paper, we introduce a graph-based recommender system that makes use of interactivity, arguably the most significant feature of video gaming. We show that the use of implicit data that tracks user-game interactions and levels of attainment (e.g. Sony Playstation Trophies, Microsoft Xbox Achievements) has high predictive value when making recommendations. Furthermore, we argue that the characteristics of the video gaming hobby (low cost, high duration, socially relevant) make clear the necessity of personalized, individual recommendations that can incorporate social networking information. We demonstrate the natural suitability of graph-query based recommendation for this purpose.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1. Introduction

Steam (Ste, 2003) is the largest digital distribution service for video games on the PC, Mac, and Linux platforms, with more than 18,000 available video game products. Products on Steam are actively marketed to (more than 100 million) users, with regular discounted sales events and pop-ups of recommended products.

Video distributions services such as Netflix (Gomez-Uribe and Hunt, 2015) and Amazon (Leino and Räihä, 2007) have long used recommender systems to help customers become aware of suggested products. Netflix is the runner of the well-known “Netflix Prize” (Netflix, 2009) for recommendation systems using user-movie rating triplets. These services primarily employ “explicit” ratings data, wherein a user directly and deliberately inputs some form of rating for a product. In this context, implicit data, i.e. data that may implicitly indicate user preferences, but that does not involve the user explicitly designating a score or writing a review, is often seen as less causally informative, more biased, and less precise. Unary ratings (where it is possible to “like” a product e.g. click on an ad, but not possible to register dislike), are common in implicit rating scenarios (Hu et al., 2008) and exemplify many of the aforementioned issues. Though Steam does allow users to post reviews of purchased products, the use of such data in making recommendations could be called into question due to review bombing (Kuchera, 2017). Fortunately, there exists a wealth of additional data less susceptible to manipulation.

Steam is also a software platform on which purchased products are managed, organized, and run. It is the interactive nature of video games that distinguishes games from other forms of media. Rather than a passive process of consumption, playing video games involves making conscious choices about how, when, and why to perform certain interactions. It is this interactive experience of the consumers with the product that they purchase (and other users who have made the same purchase) that differentiates digital distribution systems like Steam from retailers like Netflix and Amazon that sell physical and digital products through an online marketplace. Furthermore, in addition to being a marketplace, Steam is both an active online community with a well-defined social network. In this paper, we argue that the choices players’ make are indicative of their preference of titles, and can therefore be used for the purposes of product recommendation. Furthermore, we argue that presently recorded data directly reflects these actions.

The boom in multiplayer online video games occurred around the same time as the increase in the popularity of online social networks (Edosomwan et al., 2011). Perhaps in response, Microsoft introduced the Xbox Live system (Mic, 2002). In addition to centralizing and streamlining online play, Xbox Live was created as a social network. Users had avatars that represented their likenesses, and added other users, known in real-life, or encountered during online play, to their list of friends through the use of unique “GamerTags”. The concept of an “Xbox Live Achievement” (hereafter simply referred to as an “achievement”) was created, “gamifying” the play of video games (Jakobsson, 2011). Achievements are awarded when players completed certain (potentially difficult) tasks in a game, and these then contribute to a “GamerScore”. This GamerScore, as well as the achievements comprising it, would be publicly visible, giving users a form of bragging rights that demonstrated their skill. This “gamification” of playing video games (that is, giving the process of playing and completing video games the property of a game at a meta-level) served to entice players to become more competitive (thereby participating in more play and being more invested in the Xbox Live social network) and makeadditional purchases (with so called “play-to-win” models now being a common method for monetization of game products (McKinney, 2017)).

Digital marketplaces for other consoles (Niizumi and Thorsen, 2006) and computers (e.g. Steam) soon followed suit. Through the use of the Steam launcher or website, Steam members can view the products owned by other members, as well as their Steam Achievements. Users can also view the global stats of achievements, such as the percentage of owners of a game who have gained a particular achievement, as well as the requirements for gaining it (though some particularly difficult achievements, or achievements that spoil the game, may have their details hidden). This data is also available through the Steam WebAPI (Valve, 2016). Prior to April 10, 2018, the vast majority of this data was publicly accessible. After this date, most of the data was made private (Bratt, 2018) through the retroactive replacement of a user opt-out procedure with an opt-in procedure.

2. Attainment Ratings

In this paper we argue that achievements are highly informative implicit data that can be used to determine a score representing how much a particular user likes a particular game. The rationale is quite simple; the more a user enjoys a game, the more they will attempt to complete everything it has to offer. We compute an overall achievement score for a particular user by combining each individual achievement weighted by difficulty level computed using global achievement rates.

Hours played has been proposed in the literature (Hamari, 2011) as a metric to approximate user preferences. However, there are significant issues with the use of simple play times. For instance, the length of games is not uniform. Certain genres (e.g. Role-Playing games) are typically significantly longer in length than other genres (such as Action games), and many highly acclaimed games are extremely short (such as the Playstation title, Journey).

We propose to eliminate these shortcomings by using achievement data to define what we call an attainment rating. The attainment rating is computed by combining each individual achievement weighted by a difficulty level computed using global achievement rates. For a game we denote its set of achievements as , where is the total number of achievements of game . Each

is a binary vector of length

, where is the set of players who own game , such that indicates whether or not player has achieved achievement number in game . Clearly, the proportion of players who have achieved can be calculated as follows:


We define the attainment score of player for game as follows:


The attainment score has a number of desirable properties. From (2) it follows that that aggregates a global understanding of achievement difficulty – a rare achievement, i.e. one with , makes a large contribution to . Similarly, extremely common achievements, i.e. those with , contribute very little to the attainment rating. From (2) we have:


The attainment rating if the user has no achievements for game , or in the very unlikely event that everyone else has all the achievements for it. The maximum value is achieved in the unlikely event that user has all achievements for game , and is the only user to have all the achievements. In a traditional rating system, different users may have entirely different standards for what constitutes a given score (e.g. giving out full marks for “I liked this” vs full marks for “this is literally my favorite game of all time”). In contrast, the attainment ratings in (2) are precise, and measure the same degree of attainment for every user. The use of achievements can give scores across the full range for all users; we observe this in Figure 1, with truly high attainment ratings possible, but increasingly rare.

Figure 1. Distribution of attainment ratings across all users and games in crawled Steam dataset.

3. Graph Dataset

The Steam WebAPI gives access to a wide range of data, including data relating to games, game ownership, friendships, group (e.g. gaming “clans” or social groups representing real-world groups) membership and achievements. Although not explicitly stated, it is reasonable to expect that the data is stored server-side in relational tables rather than in a graph database due to telling limitations in the design of the API. In our work, we propose that using a graph database and querying methods to store and explore the Steam data is appropriate given the contained friendship and group social networks, ownership and achievement data, and size of the overall network. This paper does not detail computational performance or explicit systems implementation of our graph-based recommendation system, with these factors and their deployment in a graph computing system being a current focus of our ongoing research.

The Steam dataset has been analyzed previously, but (to the best of the authors’ knowledge) ours is the first work to use achievement data for recommendations and focus on graph structure beyond basic social networks. Some existing papers (Becker et al., 2012; Blackburn et al., 2011) analyze Steam from a network perspective, but focus on the growth of the friend network, or the propagation of cheaters through interaction. These papers predate the widespread use of achievements data in Steam, and even recent work (O’Neill et al., 2016) that provides the crawled dataset online does not include achievement data.

Our crawled dataset is outlined in Table 1. We note that this is merely a subset of the available data that we have chosen to use (and that we were able to crawl before the privacy change of April 10, 2018) for recommendation in this preliminary work.

Name Type Description Count
Vertex Players found in BFS of friend network of originating user 4159
Vertex Games. Contains content tags and structured summary data 4487
Vertex Game developers (many “indie” developers making 1 game) 1904
Vertex Game genres 30
Edge Friendships between players 272888
Edge Ownership by players in of games in 613769
Edge Multiple developers in developed games in 4589
Edge Games in may belong to multiple genres 11229
Table 1. Vertex and edge types in dataset.

4. Graph-Focused Recommendation

The use of graph-structured data in recommendation is a well developed field (Gori and Pucci, 2007; Agichtein et al., 2008; Zhang et al., 2007; Jamali and Ester, 2009), with numerous techniques designed to incorporate network structural information into recommendation systems. Such work has typically focused on key domain areas such as web search (Rogers, 2005; Fujiwara et al., 2012; Haveliwala, 2002) and friend recommendation in social networks (Al Hasan and Zaki, 2011; Liben-Nowell and Kleinberg, 2007). Network models (when used for recommendation) are often fairly basic, with relatively few node and edge types (e.g. only having “users” and “products” as vertex types). The reasoning behind this approach is quite simple; the presence of many different types of nodes and edges can mean that the overabundance of a particular node or edge type can dominate when applying traditional ranking methodologies (Aggarwal, 2016).

In this work, we demonstrate a basic graph query approach for obtaining flexible personalized recommendations using attainment ratings. Instead of focusing on overall rankings, we demonstrate how the richness of the graph structure can be used to obtain recommendations for top quality products that match the users’ specific requirements. We do not cast this as a complete solution to the problem of video game recommendation as such, but rather use it as a proof of concept to demonstrate the value of attainment ratings and querying diverse graph-based datasets.

The social aspect of using (attainment) rating data from actual friends (as opposed to other users designated as “similar” via some clustering or similarity measure) makes particular sense in the context of video games, where online multiplayer is often a big part of a product’s appeal. This suggests the value of the graph-based recommendation in this setting, where users can easily specify queries that account for desired properties and social networks.

We express example product search queries with SQL inspired psuedo-code. For example, Listing 1 is a graph query that says “for a certain user, find the names and purchase costs of five games that are owned by friends, that are developed by companies who have developed games already owned by the user, and order responses according to how the friends ‘rated’ them with respect to attainment”. In this psuedo-code, graph objects are as defined in Table 1. We search in the graph for specific paths of nodes and edges 111adding and etc. to the patterns identifies that these are the same “objects” in each pattern that must be satisfiedthat can succinctly and interpretably describe “complex” queries that actually represent intuitive ideas. Though video games are not in themselves a huge expense in comparison to purchases such as houses, cars etc., we argue that their time investment is large, and that users are thereby willing to spend effort to be precise about their requirements.

SELECT .name, .cost
WHERE .steamid=76561197960653976
Listing 1: Sample graph query pseudo-code

5. Experimental Results

Here we demonstrate our preliminary experimental results. In this section, we cover two main areas. The first is to summarize the crawl data as it pertains to our derivation of attainment ratings (including the use of attainment ratings in traditional collaborative filtering models). The second is to demonstrate real-world applications of highly customizable graph query recommendations.

5.1. The Value of Attainment Ratings

The plots in Figure 1 show that the distribution of all crawled attainments is very regular, exhibiting similar properties to a Lomax distribution (that is, a Pareto distribution shifted to begin at zero) truncated at the maximum value (see (3)). Indeed,a Kolmogorov-Smirnov test gives a very small KS statistic () when the ECDF is compared with a distribution. The heavy tail of the empirical distribution can be explained by the existence of “achievement hunters”, those who play in order to attain achievements, rather than the act of playing being an end in and of itself.

Of course, these results relate to the distribution of attainment ratings across all combinations of users and their games. The distribution of attainment ratings varies across developer, genre (see Figure 2) etc. The differences in distribution across these factors provide evidence of commonly held notions within the video game community. For instance, we note that the tails of the Strategy genre are far lighter than the Role-Playing genre, an observation consistent with the idea that excelling in Strategy games requires “talent”, whereas excelling in Role-Playing games is often a simple matter of time investment. We also note that Action games have less mass closer to zero, demonstrating their popularity and tendency for quick satisfaction due to their dense but short nature.

Figure 2. Density normalized histograms of attainment data grouped by example game genres.

Next, we demonstrate the use of attainment ratings in a collaborative filtering (specifically, SVD++ (Kumar et al., 2014) due to the implicit nature of the attainment ranking data) based recommendation system. Using the default parameters of the Surprise (Hug, 2017) implementation (e.g. 20 factors, 20 iterations of SGD with a learning rate of 0.007) of SVD++, we obtained the results shown in Table 2 and Figure 3. It is clear from these results that the attainment ratings well predict other attainment ratings (as shown by Table 2). We also observe from Figure 3 that recommendations made using attainment ratings result in highly relevant recommendations. We argue that the somewhat lower recall values are to be expected from the data; buying many games to be placed into a “backlog” before playing is a common practice.

Fold 1 2 3 4 5
RMSE 0.157 0.156 0.157 0.156 0.159
MAE 0.116 0.116 0.117 0.115 0.116
Table 2. RMSE and MAE using SVD++ with 5-fold cross-validation
Figure 3. and for the range of attainment ratings.

5.2. The Flexibility of Graph Query Recommendation

The average playtime of a video game is considerably longer than many other forms of entertainment, with games in the Action genre having playtimes typically in the 10-20 hour range, and Role-Playing games often extending into hundreds of hours.

Given the comparatively long length of video games and the large number of products in the dataset, the ability to recall even a small fraction of highly relevant products using attainment ratings suggests an ability to generate a sufficiently large number of recommendations for users for the duration of their use of the platform. This encourages the repeated use of more personalized queries, where a user can narrow these general recommendations to match their specific desires of the moment.

We demonstrate this by means of running Listing 1 for a randomly chosen example user, along with some simple but useful modifications. For instance, we can add the clause “ANTIPATTERNS ” to encode that we do not want to match graph patterns that represent games that the user already owns. These are represented as “Sample Query” and “New Game Query” respectively in Table 3. Note that the attainment ratings as listed are calculated with respect to the immediate neighborhood of the user in the friend network, and not the entire user base. Not only are we explicitly indicating a preference to play games that friends like (and thereby play online with them), trust-based work (Golbeck, 2005)

has shown that recommendations from more distant hops of the social network are less reliable. We observe that four of the five games in Sample Query (all but “Frozen Synapse”) are Action games, with a single Strategy recommendation. When we perform New Game Query, this mix is also noted, with recommendations for both prominent Strategy games (“Magic: The Gathering 2013” and “Total War: Warhammer”) and Action games (“Call of Duty: Black Ops” and “Hitman: Absolution”).

This taste for Strategy games might be noted by the user, and it is a simple matter to restrict results to the Strategy genre (represented by “Strategy Genre Query” in Table 3) by adding the pattern and the WHERE clause condition .

Sample Query New Game Query Strategy Genre Query
Rank Name Attainment Name Attainment Name Attainment
1 APB Reloaded 0.646 Magic: The Gathering 2013 0.233 Magic: The Gathering 2013 0.233
2 Warframe 0.516 Total War: Warhammer 0.198 Total War: Warhammer 0.198
3 Left 4 Dead 0.407 Call of Duty: Black Ops 0.161 Warhammer 40,000: Dawn of War III 0.076
4 Team Fortress 2 0.347 Hitman: Absolution 0.159 Age of Empires II HD 0.018
5 Frozen Synapse 0.292 Super Star 0.109 Fray: Reloaded Edition 0.013
Table 3. Example graph query recommendations

6. Future Work

With Steam data now effectively private, we are crawling Xbox Live to serve as a more complete dataset than is possible with our Steam data, allowing us to make increasingly general claims, and improve our measures of performance.

Furthermore, we are developing a graph querying methodology that allows for the efficient specification and implementation of customizable graph queries, such as those that were outlined in Section 5.2. This graph querying methodology, based on probabilistic traversals of the graph, is intended to facilitate a customizable video game recommendation solution that is capable of scaling to the enormous sizes of the social, purchase, and attainment graphs associated with online videogame marketplaces like Steam and Xbox Live.

This paper has been a practical demonstration of the wealth of marketable information contained within achievement data. We also seek to gain a more theoretical understanding of how to best employ this data for the purpose of recommendation.