Introducing the Interactive Recommender
One of Steam’s strengths is its massive catalog of great games from developers large and small, spanning almost every genre. With so much stuff to choose from, we’ve heard from users that you’d like better tools to help you find games you’ll enjoy. While existing store features like tag-based searching can work well, we think we can do better by bringing to bear the power of machine learning to give players personalized recommendations based on their own individual play patterns. Combine that with real-time controls to adjust your results, and the recommender becomes a fun and powerful tool for exploring Steam and connecting you with games you’ll love.
Underlying this new recommender is a neural-network model that is trained to recommend games based on a user’s playtime history, along with other salient data. We train the model based on data from many millions of Steam users and many billions of play sessions, giving us robust results that capture the nuances of different play patterns and covers our catalog. The model is parameterized so that we can restrict output to games released within a specified time-window, and can be adjusted to prefer games a higher or lower underlying popularity. These parameters are exposed to the user, allowing you to select whether to see only recent releases in the results, or go all the way back to include games released a decade ago. Similarly, you can choose whether to see mainstream hits, or deep cuts from the catalog. Regardless of the settings of the sliders, the results will always be personalized and relevant to the individual user.
Unlike more traditional approaches, we don’t explicitly feed our model information about the games. Instead, the model learns about the games for itself during the training process. In fact, the only information about a game that gets explicitly fed into the process is the release date, enabling us to do time-windowing for the release-date slider. It turns out that using release date as part of the model training process yields better quality results than simply applying it as filter on the output.
Notably, we do not use information about tags or review scores when creating the model. This means reviews or tags alone simply cannot affect results. The model infers properties of games by learning what users do, not by looking at other extrinsic data.
We do allow users to filter the final results by tag, so they can narrow down to the kind of game they’re in the mood for at that time, but this isn’t part of underlying model.
One direction is to gather every single piece of information about a game, and then make guesses about what games are similar, and then recommend those “similar” games. But that allows for all sorts of weird distortions— just because you play a lot of Beat Saber, doesn’t mean we should only ever recommend you VR rhythm games. This model takes a different approach. It disregards most of the usual data about a game, like genre or price point. Instead, it looks at what games you play and what games other people play, then makes informed suggestions based on the decisions of other people playing games on Steam. The idea is that if players with broadly similar play habits to you also tend to play another game you haven’t tried yet, then that game is likely to be a good recommendation for you.
We chose “popularity” just because there might not be a more accurate term, but you could also think of it as “mainstream-ness”. Just like books or music or movies, there’s a huge range of what people are looking for. One person wants to know the newest and most popular games around, and the next person wants the opposite: games that are interesting and relevant but not necessarily well-known. We think this tool will be helpful to those on both ends of that spectrum. We’ve found that, especially for people who play a lot of games, digging into the “niche” end of the range can be a very effective way to find hidden gems.
Rather than introducing a big change to the way customized recommendations are determined on Steam, we’re introducing this new recommender as an experiment customers can seek out and try. This will help us get better usage data while avoiding any sudden shifts that we know can be frustrating for customers and developers who are accustomed to Steam. Should the interactive recommender or related experiments prove useful, we’ll share an update before rolling out any big changes to the way Steam recommends titles to people. The data driving Popular, New, and Trending is different from that of the Discovery Queue, this new recommender, and so on. We view this new interactive recommender as one discovery element among many, and look forward to introducing more ways to connect customers with interesting content and developers.
New games in a system such as this one have a chicken-and-egg effect known as the “cold start” problem. The model can’t recommend games that don’t have players yet, because it has no data about them. It can react quite quickly, and when re-trained it picks up on new releases with just a few days of data. That said, it can’t fill the role played by the Discovery Queue in surfacing brand new content, and so we view this tool to be additive to existing mechanisms rather than a replacement for them.
Sometimes, computer-driven discovery makes creators focus on optimizing for “The Algorithm” rather than customers. You might ask, how is this any different? We designed the recommender to be driven by what players do, not by extrinsic elements like tags or reviews. The best way for a developer to optimize for this model is to make a game that people enjoy playing. While it’s important to supply users with useful information about your game on its store page, you shouldn’t agonize about whether tags or other metadata will affect how a recommendations model sees your game.
We want to hear feedback from both customers and developers, so, check out the The Interactive Recommender and join the discussions to let us know what you think. As we gather data about the recommender’s usefulness, we’ll share how things are going.
We designed the new recommender as a tool for customers to use, and ideally it will also help developers. Developers can see how many page visits the recommender is generating directly in the existing “Traffic Breakdown” page for each game, though note that this experiment might not generate much traffic relative to the rest of Steam. If developers have questions or feedback, you may use the “Support” button at the top of any Steamworks web page to quickly get a hold of us.
-The Steam Team