{"id":201171,"date":"2024-10-16T09:45:17","date_gmt":"2024-10-16T09:45:17","guid":{"rendered":"https:\/\/www.partypoker.com\/blog?p=201171"},"modified":"2024-10-16T10:09:51","modified_gmt":"2024-10-16T10:09:51","slug":"detecting-poker-bots-our-approach-and-insights","status":"publish","type":"post","link":"https:\/\/www.partypoker.com\/blog\/en\/detecting-poker-bots-our-approach-and-insights.html","title":{"rendered":"Detecting Poker Bots: Our Approach and Insights"},"content":{"rendered":"<h3 class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Who we are<\/span><\/h3>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">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.<\/span><\/p>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Having been on the other side of the fence, we strongly believe that it should not be the players\u2019 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.<\/span><\/p>\n<h3 class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Community investigations<\/span><\/h3>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">During the last year there have been multiple instances of \u201cbot rings\u201d 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 (<\/span><a class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-underline text-strikethrough-none\" draggable=\"false\" href=\"https:\/\/www.partypoker.com\/en\/p\/safer-poker#monthly-reports\" target=\"_blank\" rel=\"noopener\">https:\/\/www.partypoker.com\/en\/p\/safer-poker#monthly-reports<\/a><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">) how much we have redistributed to our players. As you can see, this amount is trending down year on year and we\u2019re very happy to be able to say that as a group, \u201cbot\u201d accounts have lost money.<\/span><\/p>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">In this article we\u2019re going to detail some of the processes we have in place that identify any \u201cbot rings\u201d attempting to operate on partypoker and also provide a basic framework that can be used to highlight \u201cbot rings\u201d via player pool analysis.<\/span><\/p>\n<h3 class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">What we do<\/span><\/h3>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">At partypoker we\u2019re proud of the systems and tools we\u2019ve built over the years with the aim of keeping our games free of bad actors and here we\u2019re going to outline two that are most pertinent to the topic of \u201cbot rings\u201d.<\/span><\/p>\n<ul>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">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.<\/span><\/li>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">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.<\/span><\/li>\n<\/ul>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Players are limited in their investigations to data that they directly observe at the table. For us, this isn\u2019t 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.<\/span><\/p>\n<h3 class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">What you can do<\/span><\/h3>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Before building our automated system, we used to do the player pool analysis process manually. Here, we\u2019ll run through the basics.<\/span><\/p>\n<ul>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Select which gameplay statistics to use<\/span>\n<ul>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">It\u2019s important to choose stats that will have a sample size large enough where the values won\u2019t be largely impacted by variance<\/span><\/li>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Using only stats such as vpip, pfr and 3bet will not be enough to produce usable results when investigating a skilled player pool<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Select the players to analyse<\/span>\n<ul>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Only use players with a hand count sufficient for the sample size of stats to be used<\/span><\/li>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Depending on the stats being used and the gametype, 3-5k is a reasonable starting point<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Calculate the absolute difference between each statistic for a player pair in the data set<\/span><\/li>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Sum these values<\/span><\/li>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">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<\/span><\/li>\n<li><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Do the same for every player pair combo in the data set<\/span><\/li>\n<\/ul>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">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.<\/span><\/p>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">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.<\/span><\/p>\n<h3 class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Parting thoughts<\/span><\/h3>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">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\u2019 job to do so. With our experience, the systems and tools that we\u2019ve built, we\u2019re confident in our ability to catch \u201cbot rings\u201d. Our team works under a simple motto: \u201cMake Party the safest place to play\u201d. This is why we\u2019re transparent and release the number of accounts and total of funds seized every month on our safer poker page <\/span><a class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-underline text-strikethrough-none\" draggable=\"false\" href=\"https:\/\/www.partypoker.com\/en\/p\/safer-poker\" target=\"_blank\" rel=\"noopener\">https:\/\/www.partypoker.com\/en\/p\/safer-poker<\/a><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">.<\/span><\/p>\n<p class=\"cvGsUA direction-ltr align-justify para-style-body\"><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">It&#8217;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.<\/span><\/p>\n<h5 class=\"cvGsUA direction-ltr align-justify para-style-body\"><strong><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Wayne Grimwood<br \/>\n<\/span><\/strong><span class=\"OYPEnA font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none\">Game Integrity Bots &amp; RTA Manager<\/span><\/h5>\n<p>&nbsp;<\/p>\n<p>Want to know more? Our Head of Integrity Juha Pasanen sat down with poker pro Jaime Staples to answer our community\u2019s questions around Game Integrity \u2013 catch the full podcast\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=_0uJ6MkuITE\">here<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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<\/p>\n<div class=\"read-more\"><a href=\"https:\/\/www.partypoker.com\/blog\/en\/detecting-poker-bots-our-approach-and-insights.html\" title=\"Read More\">Read More<\/a><\/div>\n","protected":false},"author":279,"featured_media":201423,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[300],"tags":[],"yst_prominent_words":[],"_links":{"self":[{"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/posts\/201171"}],"collection":[{"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/users\/279"}],"replies":[{"embeddable":true,"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/comments?post=201171"}],"version-history":[{"count":4,"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/posts\/201171\/revisions"}],"predecessor-version":[{"id":201450,"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/posts\/201171\/revisions\/201450"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/media\/201423"}],"wp:attachment":[{"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/media?parent=201171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/categories?post=201171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/tags?post=201171"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/www.partypoker.com\/blog\/en\/wp-json\/wp\/v2\/yst_prominent_words?post=201171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}