Articles · 17 September 2026

Towards a Meaningful Ordering of Hands, Revisited

In 2006 players had no solvers. CFR, the algorithm behind modern solvers, was published a year later. So the author of ProPokerTools (PPT), the maker of Odds Oracle, built an evolution program to rank starting hands. In fact it is an attempt to solve a push-or-fold game with very short stacks. Twenty years later we can solve that game directly. This article shows how we did it for every game Omni supports, and how close our rankings are to the PPT ones.

Why rank starting hands

Hold'em has 169 different starting hands. A player can write the top 15% down by hand. In Omaha this stops working. PLO (Pot Limit Omaha) has 16,432 different starting hands, PLO5 (5 Card Omaha) has 134,459 and PLO6 (6 Card Omaha) has 962,988. Here "different" ignores which suit is which: AK and AK are the same hand.

So Omaha players type ranges as percentages. 15% is the best 15% of all hands, 5%-10% is the hands between the top 5% and the top 10%. The syntax comes from PPT, and MonkerSolver uses it too, percentages included. A percentage only means something if there is a ranking behind it: a list of every hand from best to worst.

The PPT author explained how the rankings were built in two posts: Towards a Meaningful Ordering of Hands (2006) and 6-Handed Hand Orderings (2012). The PPT files cover Hold'em, PLO, PLO8 (Omaha Hi-Lo), PLO5 and Big O (5 Card Omaha Hi-Lo). When we added percent ranges to Omni, we needed rankings for every game we support. That includes Short Deck, PLO6 and 6 Card Omaha Hi-Lo, where no ranking existed.

How PPT did it

The PPT author looked at three ways to rank hands.

The PPT author called the result "a rough guide". Hands move a little from one run to the next, so the exact place of one hand should not be taken too seriously.

Our idea: solve the small game

Look at the evolution program again. Every player either puts in a chip or folds, and there is no more betting after that. That is a push-or-fold game where the whole stack is one chip. In each round every hand decides to play or fold based on what the other hands do. That is a search for an equilibrium. It is a good search, but nothing guarantees that it finds one.

We have a solver, so we solve a game like that directly.

In short, it is a game close to the PPT one, solved to an equilibrium.

What we tried first

Nobody plays with 3.5 big blind stacks. So we started with deeper games. Both attempts failed.

So we went back to short stacks. There the ranking follows hand strength, and the game stays small enough to solve every hand in every game. PPT noted the same limit in 2006: the model does not play after the flop. We accept it for the same reason.

How close we are to PPT

Each ranking puts every hand at a place from 0% to 100%. If a hand is at 20% in our ranking and at 23% in the PPT file, the two rankings are 3 points apart for that hand. Distance is this gap averaged over all hands. Moved more than 5 is the share of hands where the gap is bigger than 5 points. PPT compared its own files the same way in 2012.

Heads-up

Our heads-up solve arrived at the PPT "equity against a random hand" ranking on its own. The distance is 0.18 points in PLO, 0.28 in PLO8 and 0.60 in Hold'em, and no hand moved more than 5 points. The reason is simple. With 3 big blinds heads-up, about nine PLO hands in ten go all-in, so every hand meets an almost random opponent. In the comments to the 2012 post, a reader asked PPT if there were heads-up rankings. Now there are.

Omni against every PPT file

PPT fileOmni rankingDistanceMoved > 5
Hold'em, equity vs a random handHeads-up (2h)0.600%
Hold'em, 6-max6-max (6h)2.4210%
Hold'em, full ringFull ring (10h)2.7615%
PLO, equity vs a random handHeads-up (2h)0.180%
PLO, 6-max6-max (6h)1.090.4%
PLO, full ringFull ring (10h)2.5016%
PLO8, equity vs a random handHeads-up (2h)0.280%
PLO8, 6-max6-max (6h)1.938%
PLO8, full ringNone
PLO5, 6-max6-max (6h)1.482%
PLO5, 9-handedNone
Big O, 6-max6-max (6h)1.796%
Big O, 9-handedNone

For scale, here is how far the PPT 6-max files are from the PPT full ring files of the same game (9-handed for PLO5 and Big O). Most of our distances are smaller than this.

GamePPT 6-max vs PPT full ringMoved > 5
Hold'em2.509%
PLO3.3623%
PLO82.8619%
PLO52.3112%
Big O2.2212%

PLO starting hand rankings: the top ten

In the tables below, cards in parentheses share a suit, the PPT way. (AK)(AK) is AAKK double-suited. AAA5 without parentheses has four different suits. In PLO 6-max both rankings have the same ten hands on top, in a slightly different order.

#Omni, PLO 6-maxPPT, PLO 6-max
1(AT)(AT)(AT)(AT)
2(AJ)(AJ)(AJ)(AJ)
3(AQ)(AQ)(AQ)(AQ)
4(AK)(AK)(A5)(A5)
5(AJ)(AT)(AK)(AK)
6(A5)(A5)(AJ)(AT)
7(A9)(A9)(A9)(A9)
8(A8)(A8)(AT)(A9)
9(A4)(A4)(A4)(A4)
10(AT)(A9)(A8)(A8)

Where we disagree

The biggest differences in PLO are in a few clear groups of hands. The numbers show the place of the hand.

HandWhat it isTableOmniPPT
AAA5three aces, rainbow6-max17.3%10.2%
AAA2three aces, rainbow6-max24.1%14.6%
AKKKthree kings, rainbow6-max28.6%21.2%
KK82kings with low cards, rainbow6-max32.2%25.2%
AAA2three aces, rainbowFull ring28.5%8.7%
AAAAfour acesFull ring72.3%30.5%
(K8)(Q2)KQ82 double-suitedFull ring32.3%46.6%

Hands with three or four cards of one rank are much lower in our ranking. In Omaha you must use exactly two hole cards. With three aces, one ace is a dead card and only one ace is left in the deck to make a set. Most Omaha players see AAAx as a weak hand, and our ranking agrees with them. Weak pairs without suits are lower too. At a full table, double-suited hands with high cards are higher. We think this is closer to how these hands play, but a model this small cannot prove it.

In Hold'em the picture is similar. Small pairs and small suited connectors are a little higher in our ranking, weak offsuit kings and queens are a little lower.

New rankings

Omni has a ranking for every game it supports. The table size is written as 2h, 6h or 10h.

GameHandsTable sizes
Hold'em1692h, 6h, 10h
Short Deck812h, 6h, 10h
PLO16,4322h, 6h, 10h
PLO816,4322h, 6h
PLO5, Big O134,4592h, 6h
PLO6, PLO6 Hi-Lo962,9882h, 6h

PLO5, Big O and both PLO6 games have no full ring ranking. PLO6 cannot seat ten players at all, because the deck runs out of cards. Online, these games are played heads-up and 6-max.

PLO6 (6 Card Omaha) starting hand rankings

As far as we know, this is the first published ranking for PLO6. All top ten hands in 6-max are aces with two more pairs or broadway cards, and all of them are triple-suited. AAKJT9 appears three times. How the suits pair up matters.

#HandCards
1(AJ)(AT)(JT)AAJJTT
2(AQ)(AJ)(QJ)AAQQJJ
3(AK)(AQ)(KQ)AAKKQQ
4(AK)(AJ)(KJ)AAKKJJ
5(AQ)(AT)(QT)AAQQTT
6(AK)(AT)(KT)AAKKTT
7(AJ)(A9)(KT)AAKJT9
8(AQ)(AJ)(KT)AAKQJT
9(AJ)(AT)(K9)AAKJT9
10(AT)(A9)(KJ)AAKJT9

6 Card Omaha Hi-Lo starting hand rankings

Here the top of the 6-max ranking is aces with A2 or A3 for the low, a king for the high, and three suits.

#HandCards
1(A4)(A2)(K3)AAK432
2(AK)(A2)(K3)AAKK32
3(A4)(A3)(K2)AAK432
4(A3)(A2)(K4)AAK432
5(AK)(A3)(K2)AAKK32

Table size matters

Heads-up and 6-max rankings are far apart. In PLO6 the distance between them is 5.1 points, and 41% of hands moved more than 5 points. In PLO it is 6.8 points and 49%. Pick the table size that matches your game.

How precise it is

A solver gets closer to the answer the longer it runs. Every 10 minutes we saved the ranking and compared it with the ranking from half the run time earlier. We stopped when the average move was 0.4 points or less and no hand moved more than 5 points. The last move is also a fair estimate of the error that remains.

Game2h6h10h
Hold'em0.040.160.24
Short Deck0.030.100.19
PLO0.240.280.37
PLO80.380.40
PLO50.290.32
Big O0.390.40
PLO60.400.60
PLO6 Hi-Lo0.400.56

Halving the error takes four times as long. The two PLO6 6-max rankings took about 100 hours each on a 48-thread processor, and we stopped them at 0.6 points. All rankings together took about 400 hours and 10 trillion iterations.

What this means in practice: a hand at 20% may really belong at 19.6% or 20.4%. The edge of your range moves by less than half a point. PPT called its ranking a rough guide, and the same is true here. Nobody chooses between 20% and 20.4% by feel.

Using it in Omni

Percent ranges work wherever Omni asks for a range after the flop. The 6-max ranking is the default. Your core downloads the ranking the first time you use a percent in a game.

You typeYou get
15%The best 15% of all hands, 6-max ranking.
5-10%Hands between the top 5% and the top 10%. 5%-10% means the same.
15%2hThe top 15% by the heads-up ranking.
15%10hThe top 15% by the full ring ranking. Hold'em, Short Deck and PLO only.
0.05-0.1%Decimals work, up to four digits.
20%$dsThe top 20% that are double-suited.
(30%-80%)!AAThe band from 30% to 80% without aces.
15%@100, 16%-50%@50Weights, written the same way as in PPT.

Thanks to the PPT author for the original idea. If you want to try percent ranges on your own spots, they work in every game on the free Omni plan. The Getting started guide shows how to install the engine and run your first solve.