A Simple Poker Ecosystem Model: A Look at PokerStars Rake Increases

From an economic perspective, a poker site is a complex beast, and a site the size of PokerStars particularly so. When a store raises the price of an item, you can expect a falloff in demand and vice versa; finding the sweet spot for maximum profit is then relatively simple, at least in principle. This is not the case for a poker site, because the users are not operating independently, but rather interacting with one another in complicated ways.

For that reason, it can be hard to understand moves such as PokerStars’ recent rake hikes on low-stakes turbos and hyper-turbos. The outcry from the grinders who’ve been playing those games profitably is predictable, as are their claims that the site will suffer if they can no longer turn a profit and therefore leave. To better understand the actual motivations for the move and its likely impact, I decided to build a simple computer model to take a look at the economic forces at work here.

In particular, there is one question I wanted to find an answer to: could a low-stakes rake hike actually be good for everyone?

The Model

Like most economic models, this one relies heavily on simplifications and assumptions. To begin with, I’ve assumed that there are only two tiers of play – high stakes and low stakes. The rake is set independently for the two tiers of play, and the high stakes games are played for 5x as much money as the low stakes ones. All games are assumed to be heads-up.

Likewise, in my model there are only two types of players: sharks and fish. Each is 50/50 to win against another player of the same type, and the sharks enjoy an adjustable advantage over the fish. At each cycle, each player plays a game with a random other player from within their stake level, which could be either a shark or a fish, with probability based on the population distribution.

Fish enter the game at a steady rate, always into the low-stakes games. From there, they may run hot and move up to high stakes (and back again if they run cold), or they may bust out. Fish who bust may or may not buy back in depending on how badly they’ve been trounced. There are a number of ways you could measure this, but for our model I opted to let fish rebuy if they were ever above a certain threshold bankroll, and quit if they busted without ever tasting success.

Sharks, on the other hand, follow the money. They demand a certain profit per 100 games and more sharks will enter each tier as long as that profit is achievable. If there are too many sharks or the rake is too high and that profit is no longer achievable, some sharks drop out until the remainder can get their required profit once more.

The Parameters

Aside from the rake for each tier, the model accepts a number of parameters. Since I don’t have access to detailed data on user behavior, I experimented until I found values that gave reasonable-enough results. The parameters are as follows:

Fish Influx: The number of new fish that enter the lower tier per cycle.
Fish Bankroll: The average bankroll of a fish at any given point in time, measured in low-stakes buy-ins.
Fish Inertia: A parameter to tune how mobile fish are between low and high stakes. Essentially, it’s the number of games a fish has to win/lose in a row to decide to move up/down.
Fish Aspirations: This tunes the fish rebuy rate. It is a multiplier on the basic fish bankroll – the threshold that needs to be achieved at some point before busting in order for the fish to be tempted to try again.
Shark Profit/100: How much profit the sharks demand per 100 games to continue playing.
Shark Winrate v. Fish: How often a shark beats a fish when they run into each other.
Base Dropout Rate: The percentage of fish who quit after each cycle, regardless of whether they’ve bust or not.

Having played with values for these parameters, and using rakes of 6% and 4% for low- and high-stakes games respectively, I ended up with a model “site” with 2240 users, turning a profit of 259 units per cycle. 1417 users were fish (63%) and of those, 1190 (84%) stayed in the low stakes games. The remaining 37% of users were sharks, and 81% of them played high, with only 153 sharks to 1190 fish in the lower games.

If you want to play with the model yourself, you can try it here.

The Results

Starting with the above values, I tried both raising and lowering the rake in the high and low stakes games by one point.

The most interesting thing I found is that although about 2/3 of my model site’s profits were coming from the high stakes games (under the initial rake values), those total profits were much more sensitive to adjustments in the low-stakes rake than to the high. Furthermore, the overall site population was severely impacted by high-stakes rake adjustments, but surprisingly remained quite constant in the face of adjustments to the low-stakes rake.

Dropping the high-stakes rake to 3% produced many more sharks in the upper tier and didn’t affect the fish at all. However, profits dropped slightly, as the increased shark population wasn’t enough to compensate for the reduced take from each. Conversely, raising it to 5% produced a similar drop in shark population but slightly higher profits.

Adjusting the low-stakes produced much more dramatic and interesting effects, due its second-order effects on the upper tier. Raising it to 7% had a huge impact on the low-stakes shark population, dropping it by 38% to 95. It had very little effect on the low-stakes fish population, but interestingly actually increased the overall fish population due to decreased predation in the low stakes. That increase was seen in the high stakes games, due to fish being given a better opportunity to survive long enough to move up.

This, in turn, allowed more sharks to thrive there – almost as many as had quit the low stakes. The overall population of the high stakes rose from 897 to 960 as a result of the rake hike in the low stakes, and the increased take from these games led to considerably higher profits for the site than the equivalent high-stakes rake hike. Cranking it up to 8% produced another jump, but beyond that the shark population in the low stakes dropped to 0 and no additional second-order gains could be made by increasing the rake further.

Decreasing the low-stakes rake produced a qualitatively similar effect – more sharks appeared in the low-stakes games, but the high-stakes games were negatively impacted due to the lack of upward mobility for the fish. Profits dropped, but only slightly. My takeaway from this is that there’s a threshold rake – the exact value of which depends on sharks’ profit aspirations and their relative edge over the fish – at which you drive most but not all the sharks out of the low-stakes games, and the high stakes games start to do a lot better. Rake adjustments further away from that balance point produce more minor effects.


This model has some fairly significant flaws. The most obvious is that the fish are assumed to be completely naive about the rake – it affects them only in terms of their likelihood to achieve their short-term ambitions for winning potential, and thus their rebuy rate… but they still enter the game at a fixed rate regardless of what you do to the rake. This means that you can set a ridiculous rake (20%, 50%, 100%) at either stake level and see profits go up. Sharks disappear entirely, but the fish keep showing up and giving you their money, even if they immediately quit after doing so. This is not realistic – a more robust model would have to take into account competition with other sites and other forms of gambling. Fish may not see much difference between 4% and 5%, but they certainly would between 4% and 20%, and the influx rate should reflect this.

So, one should take the figures for site profitability with a grain of salt, since some of the negative effects of a rake hike have been ignored. I don’t think that undermines the population dynamics aspects of the issue, however.

Another missing aspect is multi-tabling. We might see a different outcome if the sharks in our model were able to choose to play more than one game per cycle at the expense of reducing their edge. If anything, I suspect this would make the effects of low-stakes rake adjustment even more dramatic, as it’s at these stakes that we see grinders playing a huge number of tables at once, at a fairly small edge. This has a multiplicative impact of sharks in low-stakes games, and the edge reduction incurred by multi-tabling will also tend to make those sharks much more sensitive to small rake adjustments.

Finally, the model ignores the role of tilt in players’ bankroll decisions. It assumes that sharks behave rationally and that fish move up when they run hot and down when they run cold, whereas we all know that all types of players are prone to moving up when running particularly badly in an attempt to chase their losses. This would be tricky to model accurately and I don’t know what impact if any it would have on the overall results.


Based on the model as it stands, it can’t quite be said that a low-stakes rake hike could help everyone, but neither does it hurt anyone much. It definitely helps the site by pushing people into higher games, and it even helps the fish population slightly. The low-stakes shark population is heavily impacted, but that impact isn’t as bad as it seems, because most of those sharks simply find a home in the high stakes games where, you could argue, they belonged all along. Only a very few sharks have to leave the site entirely.

Would a more robust model, taking into account the factors mentioned above, produce different results? It’s hard to know without trying it, but I suspect that PokerStars’ decisions are based on just such a model – and one using real user data rather than arbitrary tweaking of parameters. Despite the outcry, I’m fairly certain that PokerStars knows exactly what it is doing, and the motivations are based on similar principles to what we’ve seen here.

Alex Weldon (@benefactumgames) is a freelance writer, game designer and semipro poker player from Montreal, Quebec, Canada.

Previous article Next article