The change made by steam from a simple store front to a dynamic one based on who is logged in was a huge improvement. I was extremely pleased to see them do that. I find that for me, their algorithm actually works pretty well, and other stores are definitely not as good (yet). But lets stop congratulating things that already exist and remember three really important facts here.

Its 2018 and computers are fast as fuck

Most online web stores have a LOT of money

Most online web stores have a lot of clever coders working with them.

And now lets imagine all the factors we REALLY should be able to plug into some clever neural net that decides what games to show somebody. Starting with the trivially stupidly simple ones;

SIMPLE FACTORS

The genre of the game as defined by the developer vs the players preferred genre from playtime of other games or stated preferences

The weighted-values of all the tags associated with that game against the similar weighted values of tags that apply to the games the player has played (weighted by time and tag relevance).

The current price of the game compared to the usual purchasing p[rice at which the player either buys or wishlists / follows the game. (don’t show $59.99 games from a publisher who rarely discounts to someone who never buys a game over $5).

Really dumb stuff, like if the game is a sequel (determined by a scan of the name) to a game the player liked (or opposite if sequel to ignored), or made by the same developer.

Super-super-dumb stuff, like the platform must match the platform the player usually plays, and skew towards multiplayer if they only play multiplayer stuff, language option should include those the player usually has for the store interface.

NOW LETS GET CLEVER

We need to build up a major hidden customer profile that contains as much information about the player as possible. Stuff they enter into their profile page is a cute start, but its the absolute tip of the iceberg. Does the player have a lot of friends who are playing game X, and can we weight that by how *close* those friends are (by statistical analysis of the chart frequency and posting in similar discussions). Do those players have large average play times, or better still, have thy left multiple comments, or positive reviews. If so, factor that in when showing the game to them.

Is the player a bargain hunter? what percentage of their games were bought at each price point and each discount percentage. skew the game presented to them that match this purchasing pattern.

Do we know the players birthday? if so, send discount coupons to their close friends for games that are on their wishlist, to encourage them to buy those games for them in the week before their birthday. Skew those coupons to match the calculated likely purchase level that we can get from each friend.

NOW LETS GET EXPERIMENTAL

We only know about a game what the developer tells us, and use that as the final information on that game. Asking players to tag games is great, but surely we can go further. Internally we can know if a game is viral from the amount of instances where someone buys a game, and then a close friend of theirs buys that same game within a certain window. The virality of a game should act as a positive that results in us showing it to more people.

We can also re-evaluate all of the reviews left for a game to get a more accurate picture. If a player leaves 95% negative reviews, then they are basically just a bit grumpy, and we should skew the relevance of their reviews to the score. A player leaving overwhelmingly positive reviews, probably needs analysis to see what percentage of games they review, and if they were dissatisfied with other games but never leave negatives. If analysis of their playtime/refund rate, forum-participation and chat mentions suggests that this is not the case, and they are unusually positive, maybe skew down the relevance of their reviews too?

Reviews cores for a game being the same for everyone is a joke. Maybe everyone hated the game except for the 30 players who we estimate to be young Chinese players who tend to like funny games with certain tag combinations. If I match those reviews profiles really closely, I should see a review score FOR ME, showing how much people like ME, like the game.

Computers can analyse video pretty well now. Get an algorithm to watch 100 hours of youtube videos (or uploaded player videos) of every game, and try to draw some statistical analysis from it. Is the game clearly a fast moving, high contrast particle-fest bright explodey sort of game? Make a note. Is the game a slow paced, relaxing game with subtle color scheme? make a note. Is it clearly a brown man-shooter? etc…

Its 2018. I shouldn’t have to explain to people that production line has a similar aesthetic or feel to factorio and big pharma. an algorithm can do that for me.

Maybe some of this is impossible, or even undesirable. Its certainly a challenge. But the online store market wars are heating up. If you run a games store and do NOT have a bunch of coders attempting this sort of thing…well maybe you should look into that?

3 Responses to “The best ever recommendation system for online games stores”

  1. Mahdi Jeddi says:

    Showing people what they’re gonna like is good, but there is a danger in overly positive feedback loop that will re-enforce what people already like and prevent them from trying new things. Steam does a lot of things to prevent this; like showing you games that are popular and games that your friends are playing, or even showing you completely random games without any specific reason and even if you explicitly ignored the tag.

    • cliffski says:

      Yup true, although I think they still use a lot of intelligence in that. For example if I never buy driving games but 3 of my friends do, and they always like them and play them a lot, mention them in chat etc, then maybe show me the game they play now and then, rather than a random pick?

  2. Brett M says:

    I’ve found it poor for me. How can it know what I like, really? Sure, I’ve played 1500 hours of a certain multiplayer FPS, but I don’t play any other and if I did they might be on Origin. I’m still open to an interesting FPS, if I could find one, but I guess it wouldn’t get recommended to me at this point.

    I own some survival games, so it constantly recommends them, but I find most of them unfinished crap. I don’t see anywhere to tell them that. I also own Subnautica on Epic Games Store, so Steam won’t know that.

    I actually like stealth games too, but Hitman’s sales model is a joke, and the Dishonored 2 demo performed poorly on my system, so I guess Steam thinks I don’t like those.

    It’s funny that for all the talk about AI, nobody suggests to just ‘ask the player what they like’ as a starting point.

    At this point, I just immediately skip down to the top global sellers to see what people are actually playing.