Detecting Poker Bots: Our Approach and Insights

Who we are

At partypoker, we love poker! Our Game Integrity team is no different and consists of poker loving data scientists, coders and ex professionals. During our pro days, two of our team were part of a small group of bot investigators who spent their free time highlighting and reporting suspicious groups of players in the games across all the major networks, successfully too! Our work resulted in accounts being closed across all the networks we sent reports to. We were the people behind the investigations being done back in 2014, that some members of the poker community are currently doing.

Having been on the other side of the fence, we strongly believe that it should not be the players’ job to identify cheaters or police the games. This is why we have used our 10 years of experience in this area to build effective tools and systems to catch players attempting to cheat in our games.

Community investigations

During the last year there have been multiple instances of “bot rings” being found to be operating on several other poker sites by the poker community, having been missed or ignored by the sites themselves. Estimates for the last couple of years have these groups of players fraudulently profiting in excess of $10 million, money that will have been lost by legitimate players. At partypoker, every month we post on our safer poker page ( https://www.partypoker.com/en/p/safer-poker#monthly-reports ) how much we have redistributed to our players. As you can see, this amount is trending down year on year and we’re very happy to be able to say that as a group, “bot” accounts have lost money.

In this article we’re going to detail some of the processes we have in place that identify any “bot rings” attempting to operate on partypoker and also provide a basic framework that can be used to highlight “bot rings” via player pool analysis.

What we do

At partypoker we’re proud of the systems and tools we’ve built over the years with the aim of keeping our games free of bad actors and here we’re going to outline two that are most pertinent to the topic of “bot rings”.

Player pool analysis of gameplay statistics. The stats of every player are compared to every other player, with a score being calculated for every player pair combination. This score quantifies how close players are playing to each other and identifies players to be investigated. These reports are automatically created at regular intervals, with the ability to run custom ad hoc reports.

Alerts based on known bot profiles. Once we have a bot stats profile, we can create a fingerprint based on those stats. These fingerprints will then generate alerts in real-time anytime the stats of a player match the fingerprint, at which point the player will be investigated by one of our agents.

Players are limited in their investigations to data that they directly observe at the table. For us, this isn’t the case. We have access to a huge amount of data that we utilise in our investigations. We have personal data about the account holder, data generated while playing, data from outside of gaming sessions and more. All these data points are incorporated into our investigations and help us to combat attempts at cheating.

What you can do

Before building our automated system, we used to do the player pool analysis process manually. Here, we’ll run through the basics.

Select which gameplay statistics to use

It’s important to choose stats that will have a sample size large enough where the values won’t be largely impacted by variance

Using only stats such as vpip, pfr and 3bet will not be enough to produce usable results when investigating a skilled player pool

Select the players to analyse

Only use players with a hand count sufficient for the sample size of stats to be used

Depending on the stats being used and the gametype, 3-5k is a reasonable starting point

Calculate the absolute difference between each statistic for a player pair in the data set

Sum these values

This value will then be your score for that player pair. The lower the score is, the closer the pair are playing to each other

Do the same for every player pair combo in the data set

This is just the most basic way of performing this. Different stats can have different weightings, other statistical analysis can be incorporated, but this method will be effective enough to catch most of the players who the community have been reporting recently.

This being said, the most important thing you can do as a player is to support regulated sites that have proven themselves to have competent Game Integrity teams.

Parting thoughts

We understand that players playing on partypoker are unable to do the type of player pool analysis described earlier themselves due to our anonymous hand histories, but as we have said before, we do not believe it is the players’ job to do so. With our experience, the systems and tools that we’ve built, we’re confident in our ability to catch “bot rings”. Our team works under a simple motto: “Make Party the safest place to play”. This is why we’re transparent and release the number of accounts and total of funds seized every month on our safer poker page https://www.partypoker.com/en/p/safer-poker .

It’s our belief that all sites should be co-operating with each other on this, to eliminate or reduce as far as possible the amount of potential profit these groups can make and therefore the overall impact they have on legitimate players.

Wayne Grimwood
Game Integrity Bots & RTA Manager

Want to know more? Our Head of Integrity Juha Pasanen sat down with poker pro Jaime Staples to answer our community’s questions around Game Integrity – catch the full podcast here