How many kinds of poker player are there? We asked 44,713 players' own decisions, across four rooms. There are no natural kinds — but there are useful lines, and the line that sorts the regs is not the line that sorts the fish.
Pokalab ResearchAugust 2026~11 min read44,713 players · ≥2,000 hands · 4 rooms · No-Ante NLHE cash · August 2026
The bestiary
Eight measured types, and the animal each one behaves like
REGVPIP−PFR gap < 10 — takes the initiative14,322 players · −4.9 bb/100
Reg · AggroGreat white
WWSF ≥ 46 · −3.2 bb/100
Hunts, closes, finishes. Wins the flops he chose to see — the closest thing the pool has to a winner.
Reg · PassiveHammerhead
WWSF < 46 · −8.5 bb/100
Cruises wide, scans forever, commits rarely. Solid before the flop and gone after it.
Reg · NitNurse shark
VPIP < 22 · −3.8 bb/100
Lies on the bottom and lets food come to it. Cheap, patient, and easy to fold to.
FISHVPIP−PFR gap ≥ 10 — plays along20,797 players · −30.7 bb/100
Fish · NitClownfish
VPIP < 24 · PFR < 14 · −14.1 bb/100
Small, timid, never leaves the anemone. The cheapest way to be a losing player.
Fish · AggroPiranha
VPIP < 50 · gap < 20 · −23.6 bb/100
Plays wide but takes the initiative with it. Bites first — which, among fish, is the least bad plan.
Fish · PassiveCarp
VPIP < 50 · gap ≥ 20 · −33.2 bb/100
Placid, enormous mouth, hoovers everything and fights for none of it. The classic station.
Fish · WhaleWhale
VPIP ≥ 50 · −62.9 bb/100
Plays every hand there is. The single biggest source of money in any pool.
Reg-fishRemora
PFR < 15 · limp < 5 · gap 10–13 · −12.1 bb/100
The sucker-fish that swims with the sharks and never hunts. Learned where to be; never learned to attack.
Every animal here is defined by a threshold, not by a vibe, and every threshold is in the tables further down. The species are also the app’s icon vocabulary, for the reason they exist at all: a name in a dropdown is a string you have to read, a shape is something you recognise. This exact plate is what the dropdowns draw, at 24 pixels — which is why every animal faces you. Drawn side-on, a fish is flat, and at chip size three grey species collapsed into the same sliver; a face survives the shrink because the thing you recognise is the face.
In one minute
There are no natural player types. One mountain and a floodplain: regs are a tight cluster, fish are everything that isn’t. Every boundary here is a line we drew, so we only kept lines that separate behaviour and money.
The families split on the VPIP−PFR gap, not on VPIP. Gap 10 divides the pool into a half that limps 0.7% and loses −5.3, and a half that limps 10.7% and loses −29.4.
Regs are sorted by whether they win the pots. WWSF separates them by 9.4 bb/100 — more than any other stat we tried, VPIP included.
Fish are sorted by how much they play. VPIP separates them by 52 bb/100 — nothing else is close, and the VPIP−PFR gap is second at 44. There is also a second break, at VPIP 50, and it reappears independently in all four rooms.
Aggression sorts neither, and hurts fish. Measured properly — bets and raises over postflop opportunities — Global AGG% is the weakest axis in both families, and among fish its top decile loses 6 bb/100 MORE than its bottom decile.
A tenth of the pool has no name yet: the reg-fish. Reg-grade discipline, fish-grade passivity, −12.1 bb/100 — and instantly recognisable to anyone who has played online in the last decade.
What we asked the data
Everyone knows the words: TAG, LAG, nit, station, whale. Nobody ever checked them. So we took every player with at least 2,000 hands — 44,713 of them across GG, PokerStars, iPoker and 888 — and measured everything they do: how often they play, raise, 3-bet, limp, bet each street, fold to pressure, reach showdown, win pots. Winrate never builds the map. It is only the exam the map has to pass.
There are no player types — there is one mountain
If you plotted every player, you would not see islands. You would see one peak and a very large, very flat plain.
You have to plot the right thing to see it. A map coloured by winrate shows the terrain’s relief — where money is made and lost. It cannot show islands, because an island is a crowd, not an altitude. So: the same space, coloured by how many players stand there.
Exactly one peak, and it is the regs: 2,007 players in the single cell at VPIP 22–24 / PFR 18–20. No second peak — and not because fish are rare. Fish outnumber regs, 20,797 to 14,322. They have no peak because they are scattered over fifteen times more ground: the reg family occupies 22 cells at 651 players each, the fish family 336 cells at 62. There is one way to play well and a thousand ways to play badly, and this picture is that sentence.
The line between the families is the gap, not VPIP
How much of what you play, you play without raising. That one number does more work than any other in this study.
The reg box already uses it — its own ceiling is a VPIP−PFR gap of 10 — and running that same threshold over the whole pool splits it cleanly in two. The gap sweep below has no elbow (nothing here does), but 10 is where the taxonomy and the data agree, and the limp column is why:
Where to cut the families
Splitting the whole pool at each VPIP−PFR gap · 36,529 players with ≥200 postflop spots · same rooms and filter
Gap cut
Disciplined · n
bb/100
Limp %
Passive · n
bb/100
Limp %
Separation
8
14,782
-4.3
0.6
21,747
-26.5
7.5
22.2
9
16,259
-4.9
0.7
20,270
-28.2
9.0
23.3
10 ←
17,661
-5.3
0.7
18,868
-29.4
10.7
24.1
11
19,020
-5.9
0.8
17,509
-31.0
12.1
25.1
12
20,390
-6.5
0.8
16,139
-32.6
14.1
26.1
13
21,654
-7.0
0.9
14,875
-33.2
16.4
26.2
14
22,881
-7.6
0.9
13,648
-34.4
18.4
26.8
15
23,963
-8.3
1.0
12,566
-35.7
20.8
27.4
16
24,886
-8.6
1.0
11,643
-36.6
22.7
28.0
At the 10 line the disciplined half limps 0.7% of hands and the passive half 10.7% — fifteen times more, on the one gesture that is passivity. Cutting higher buys a little more winrate separation and buys it by moving genuinely passive players into the disciplined half; the limp column shows the price. 10 is also the reg box’s own ceiling, so the family line and the type lines stop contradicting each other.
Notice what the gap line is not: a valley in the density map. The gap histogram is one smooth hump peaking at 4 — no dip at 10, no dip anywhere. The line is real in behaviour and real in money, and invisible in population. That is the whole lesson of this article in one stat.
Part one — how we sort the regs
Inside the disciplined family, the question is no longer how much you play. It is what happens after the flop.
We put five candidate axes into the same contest: take the bottom and top tenth of each stat, and see how far apart their winrates land. One axis wins clearly, and it is not the one you would guess from the vocabulary:
Which stat sorts the regs
Winrate gap between the bottom and top decile of each stat, inside the reg box · 36,529 players with ≥200 postflop spots · same rooms and filter
Candidate axis
Bottom 10%
Top 10%
bb/100 · low
bb/100 · high
Separation
VPIP-PFR gap
3.6
8.2
-3.4
-14.0
10.6
WWSF
42
50.8
-10.3
-0.9
9.4
WWVP
56.1
63.5
-10.3
-1.5
8.8
VPIP
21
27.7
-3.5
-8.6
5.1
Global AGG%
31.4
45
-8.5
-4.0
4.5
“Won when saw flop” wins, and the runner-up is its cousin “Won when VPIP”. The VPIP−PFR gap keeps working even inside a family already bounded by it. And Global AGG% — bets and raises over postflop opportunities, the literal definition of aggressive — comes last, at half the power of WWSF.
Three ways to be a good reg, measured
Median bb/100 against each stat, inside the reg box · 36,529 players with ≥200 postflop spots · same rooms and filter
WWSF — win the flops you seeWWVP — win the pots you enterGlobal AGG% — bet and raise
WWSF and WWVP climb without stopping. Global AGG% climbs to about 40% and then goes flat — past that point, more betting buys a reg nothing at all. Aggression is a means; winning pots is the end, and only the end shows up in the money.
So the reg family splits on WWSF 46, and on nothing else. One line, one stat, three types — with the nit corner carved out by VPIP first, because a player who never enters a pot cannot be judged on what he does in one.
The three regs
Styles partition the reg family · 44,713 players · ≥2,000 hands · 4 rooms · No-Ante NLHE cash · August 2026
REG · split on WWSF alone · shipped
In plain words
Definition
Share of family
bb/100
Aggro
wins the flops he sees
WWSF ≥ 46
45.9%
−3.23
Nit
waits for the goods
VPIP < 22
24.9%
−3.84
Passive
solid preflop, gives up too many pots
WWSF < 46
29.2%
−8.45
REGVPIP−PFR gap < 10 — takes the initiative14,322 players · −4.9 bb/100
Reg · AggroGreat white
WWSF ≥ 46 · −3.2 bb/100
Hunts, closes, finishes. Wins the flops he chose to see — the closest thing the pool has to a winner.
Reg · PassiveHammerhead
WWSF < 46 · −8.5 bb/100
Cruises wide, scans forever, commits rarely. Solid before the flop and gone after it.
Reg · NitNurse shark
VPIP < 22 · −3.8 bb/100
Lies on the bottom and lets food come to it. Cheap, patient, and easy to fold to.
This used to be a conjunction — “VPIP ≥ 24 and WWSF ≥ 46” — which dumped 30% of genuinely combative regs into “passive” for the crime of being slightly tight. Dropping the VPIP half widened the Aggro/Passive separation to 5.2 bb/100 and made both names true.
Part two — how we sort the fish
The same contest, run inside the other family, returns a completely different winner. This is the finding that broke our own taxonomy.
Which stat sorts the fish
Winrate gap between the bottom and top decile of each stat, inside the fish box · 36,529 players with ≥200 postflop spots · same rooms and filter
Candidate axis
Bottom 10%
Top 10%
bb/100 · low
bb/100 · high
Separation
VPIP
29.8
53.4
-19.0
-71.2
52.2
VPIP-PFR gap
11.9
39.3
-18.4
-62.4
44.0
WWVP
43.1
58.6
-42.9
-25.9
17.0
WWSF
38.4
49.6
-39.4
-31.1
8.3
Global AGG%
26.4
46.5
-33.8
-39.9
6.1
VPIP separates fish by 52 bb/100 — five times what WWSF managed on regs, and nothing else in this study comes close. WWSF, the stat that wins the reg contest, lands second to last here. And Global AGG% is negative: the most aggressive tenth of fish loses 6 bb/100 more than the least aggressive tenth. Among fish, fighting is not a virtue — it is an accelerant.
Among fish, WWVP beats WWSF — and both are second-tier
Median bb/100 against each outcome stat, inside the fish box · 36,529 players with ≥200 postflop spots · same rooms and filter
WWVP — win the pots you enterWWSF — win the flops you see
WWVP climbs 17 bb/100 across its deciles, WWSF only 8.3 — and WWSF flattens completely past 44. That is the difference between a stat that counts every pot you entered and one that only counts the ones that reached a flop: fish give away most of their money before the flop, so a postflop-only stat cannot see it. Even so, both are dwarfed by VPIP.
VPIP is king, and the cliff it draws is the only natural boundary in the entire population.
One cliff, then a straight line
Median bb/100 by VPIP · whole population · 44,713 players · ≥2,000 hands · 4 rooms · No-Ante NLHE cash · August 2026
Flat from 18 to 24, then the floor gives way at 26 and the descent settles into a straight line: −2.5 bb/100 per VPIP point, bin after bin, from 36 to 50. And then it breaks a second time. Between 50 and 52 the step is −7.0 against the −2.5 that preceded it, and the fitted slope goes from −1.76 below 50 to −2.25 above it.
A second break is exactly the kind of thing an eye finds and a slope confirms — or refutes. This one survives the only test that matters: it reappears, independently, in all four rooms.
The second break replicates in every room
Median bb/100 either side of VPIP 50, per room · 44,713 players · ≥2,000 hands · 4 rooms · No-Ante NLHE cash · August 2026
Room
VPIP 44–50 · n
bb/100
VPIP 50–56 · n
bb/100
Drop
888poker
139
-45.5
107
-54.7
-9.2
GGPoker
1,871
-41.0
974
-55.2
-14.2
PokerStars
509
-47.6
309
-59.8
-12.2
iPoker.com
96
-44.4
59
-53.2
-8.8
Four rooms, four independent pools, four drops in the same direction and the same order of magnitude. A one-room artefact would show up as one large number and three flat ones; this shows up as −8.8 to −14.2 everywhere. So unlike the whale lines below it, 50 is a boundary the data drew rather than one we chose — the population really does contain a group that plays half its hands and pays for it at a different rate.
Every whale threshold, and what it buys
Splitting the fish family at each VPIP cut · 44,713 players · ≥2,000 hands · 4 rooms · No-Ante NLHE cash · August 2026
VPIP cut
Whale · players
Whale · bb/100
Rest of family · players
Rest of family · bb/100
Separation
36
11,653
-41.9
9,144
-22.1
19.8
38
9,827
-44.1
10,970
-23.3
20.8
40
8,129
-46.8
12,668
-24.3
22.5
42
6,720
-49.9
14,077
-25.3
24.6
44
5,439
-53.7
15,358
-26.1
27.6
46
4,369
-57.2
16,428
-26.9
30.3
48
3,508
-61.4
17,289
-27.5
33.9
50 ←
2,824
-65.3
17,973
-27.7
37.6
52
2,254
-68.7
18,543
-29.0
39.7
54
1,769
-74.4
19,028
-29.6
44.8
Separation rises with the cut and never plateaus, so on this table alone every line is defensible. The break above breaks the tie: 50 is where the slope actually changes, in all four rooms, and it buys 37.6 bb/100 of separation against 27.6 at 44. The price is a smaller tier — 2,824 players against 5,439, 16% of the fish family instead of 31%. We now propose 50: a tier standing on a measured feature is worth more than a bigger tier standing on nothing.
Below the whale line, what remains is the gap again — the same axis that separated the families, still working inside one of them.
The gap bites harder the wider you play
Median bb/100 by VPIP−PFR gap, within three VPIP bands · 44,713 players · ≥2,000 hands · 4 rooms · No-Ante NLHE cash · August 2026
VPIP 25–34VPIP 34–42VPIP 42+
Three widths, same slope, different steepness — worth about 5 bb/100 among the tightest fish and 18 among the widest. That is the difference between a whale who raises and a whale who calls, and it is why the fish family splits on the gap once VPIP has done its work.
Where to draw the tight-fish line
We drew it at VPIP 24. The habit in the poker world is 30. Here the data does take a side.
Extend the box from 24 to 30 and it grows by 2,366 players — who lose −20.0 bb/100 against the −10.2 of the ones already inside. You would be merging a group that loses twice as much into a type whose entire point is that it is the cheapest way to be bad. Two animals, not one animal at two intensities. And 1,424 of those 2,366 already qualify as ordinary fish through their limping, so moving the line mostly re-labels players who are already covered.
The median winrate of the whole box degrades steadily as it widens. That degradation is the cost of the folk 30.
The four fish
Styles partition the fish family · 44,713 players · ≥2,000 hands · 4 rooms · No-Ante NLHE cash · August 2026 · proposed
FISH · split on VPIP then gap · proposed
In plain words
Definition
Share of family
bb/100
Nit
tight but timid — the cheapest mistakes
VPIP < 24 · PFR < 14
5.8%
−14.1
Aggro
plays wide but raises
VPIP < 50 · gap < 20
49.4%
−23.6
Passive
plays wide and calls
VPIP < 50 · gap ≥ 20
31.2%
−33.2
Whale
plays everything
VPIP ≥ 50
13.6%
−62.9
FISHVPIP−PFR gap ≥ 10 — plays along20,797 players · −30.7 bb/100
Fish · NitClownfish
VPIP < 24 · PFR < 14 · −14.1 bb/100
Small, timid, never leaves the anemone. The cheapest way to be a losing player.
Fish · AggroPiranha
VPIP < 50 · gap < 20 · −23.6 bb/100
Plays wide but takes the initiative with it. Bites first — which, among fish, is the least bad plan.
Fish · PassiveCarp
VPIP < 50 · gap ≥ 20 · −33.2 bb/100
Placid, enormous mouth, hoovers everything and fights for none of it. The classic station.
Fish · WhaleWhale
VPIP ≥ 50 · −62.9 bb/100
Plays every hand there is. The single biggest source of money in any pool.
VPIP first, then the gap. The whale line sits on the measured break at 50, which makes it the one fish threshold the data chose rather than we did; the gap line at 20 is still ours. Whether four fish types is one too many is a product decision, not a statistical one — but the whale tier is 14% of the family losing −63 bb/100, which is a lot of money to leave inside a bucket named after something else.
Bonus — the tenth of the pool with no name
A map is also defined by what falls off it. What fell off ours is the most recognisable player in modern online poker.
Run every box over the cohort and 4,552 players — 10.2% — match nothing. They are not noise and they are not exotic:
The reg-fish, measured
Median profile of each group · 44,713 players · ≥2,000 hands · 4 rooms · No-Ante NLHE cash · August 2026 · bb/100 also shown centred on each player's own room
Group
Players
VPIP
PFR
Gap
Limp %
WWSF
AF
bb/100
vs room
REG
14,322
24.4
18.8
5.2
0.6
46.5
2.24
-4.9
+10.3
Reg-fish
4,552
25.8
14.8
10.4
1.1
42.7
1.95
-12.1
+3.4
Tight fish
5,042
19.3
11.7
7.9
0.9
40.9
2.01
-10.2
+5.5
FISH
20,797
37.4
16.7
20.1
11.1
43.2
1.83
-30.7
-15.2
Reg-fishRemora
PFR < 15 · limp < 5 · gap 10–13 · −12.1 bb/100
The sucker-fish that swims with the sharks and never hunts. Learned where to be; never learned to attack.
Read the limp column first: 1.1%, essentially a reg’s 0.6% and nothing like a fish’s 11.1%. They have learned the first lesson — don’t limp — and stopped there. Everything else says passive: PFR 14.8 against a reg’s 18.8, aggression factor 1.95 against 2.24, WWSF 42.7 against 46.5. They are not fish who play too many hands; they are disciplined players who never take the initiative. The money agrees: −12.1, squarely between the reg’s −4.9 and the fish’s −30.7.
They fall off the map for two arithmetic reasons and no conceptual one: their PFR sits just under the reg floor of 15, and their gap just over the reg ceiling of 10. Their densest cells cluster along PFR 14–16 — pressed against the reg boundary from underneath. A family this size, this coherent and this recognisable belongs as a type.
Aggression is a multiplier, not a virtue
Now that we have measured aggression properly, the old slogan turns out to be exactly right — and much sharper than we could say before.
Global AGG% is bets and raises divided by postflop opportunities, summed from raw counters across all three streets. Plotted inside each family, it does two opposite things:
The same aggression, two opposite verdicts
Median bb/100 by Global AGG% · 36,529 players with ≥200 postflop spots · same rooms and filter
RegsFish
For regs, betting more helps — steeply at first, then not at all past about 40%. For fish it helps marginally to 35% and then collapses: from −29 at 34% to −48 at 56%. Aggression multiplies whatever edge you have. Positive times aggressive is very positive; negative times aggressive is a catastrophe.
Rake makes rooms incomparable — types are not
Every winrate here is post-rake, and rake is a property of the room, not of the player.
The median player loses −9.5 bb/100 on 888, −13.2 on iPoker, −15.2 on PokerStars and −16.0 on GG — and GG is 71% of the cohort, so it drags every pooled median toward its own. The type ORDER is unaffected: it reproduces in each room separately, which is why the ladder is safe to read and the absolute values are not. The last column of the reg-fish table is the fix where it matters — each player’s winrate minus his own room’s median, so the number describes the type and not the casino.
One number to remember
Of every 100 pots a player chooses to enter, how many does he end up winning? The pool answers 56. That number, Won-When-VPIP, is the runner-up in the reg contest above and the best of the outcome stats among fish — and what it reveals deserved its own article.
Different games draw different lines
All of this is the classic No-Ante 3–6max pool. Ante games play by other rules — literally: with antes in the pot, over-limping is correct, so the limp line dies and 3-bet% takes over. A type system that copies one format’s thresholds into another is measuring the rules, not the players — every threshold above is per-format and per-family, never shared.