Designing a fair poker league formula (and why it's harder than it looks)
When we set up a season ranking for our club, I assumed the points formula would be the easy part. Pick how many points a win is worth, drop it in a spreadsheet, done. It took me a surprisingly long time to accept that there's no obvious right answer — and that most of the "obvious" choices quietly make the league less fair.
Here's what I ran into, what the established formulas actually do, and how I ended up thinking about it. If you're trying to write a league formula of your own, this is the stuff I wish someone had laid out for me first.
What a points formula is really trying to do
A league table has one job: reward the players who play well over a season more than the players who simply play often, or big. The moment you write that sentence down, three forces appear, and they pull against each other.
It can't just reward turning up. The easiest thing to build is a season total — add up everyone's points across every night. The problem is obvious the first time you see the standings: the person at the top is often just the person who came the most. A regular who plays every Tuesday will out‑score a sharper player who made half the events, no matter who actually played better. A league that mostly measures attendance isn't measuring much.
It can't reward sitting on a lead either. The instinct is to fix that by scoring on average instead of total — points per event, not points summed. But that creates the opposite problem. Once a strong player builds a good average early, their smartest move is to stop playing, because every further event only risks dragging the average down. You've now built a league that punishes people for showing up. That's worse.
It has to value a result by how hard it was. Finishing third of eighty is not the same achievement as finishing third of eight, and a deep run in a room full of regulars isn't the same as one in a soft field. If the formula treats all third places equally, it isn't rewarding skill — it's rewarding showing up to small events and grinding the maths.
The formula most clubs land on
There's a reason so many leagues, ours included, end up at roughly the same place. The de‑facto standard looks like this:
points = 10 × √(field size ÷ your finishing position) × (a factor based on the buy‑in or prize pool)
It's the formula Svenska Spel uses for its rankings, and a close cousin of what we run at our club. The two design choices inside it are the whole point.
The √(field size ÷ finishing position) part answers "how hard was this result." Dividing the field by your finish means beating more players, and finishing higher, both push your score up. Wrapping it in a square root compresses that: winning an eighty‑runner is worth clearly more than winning an eight‑runner, but not ten times more. That compression is deliberate — it stops big fields from completely drowning out good play in small ones.
The buy‑in factor does the same job for stakes, and it's almost always wrapped in a logarithm for the same reason. A bigger buy‑in counts for more — there's usually a tougher field behind it — but the log means a €300 event isn't worth ten times a €30 one. Without that dampening, your league quietly turns into "whoever plays the highest stakes wins," which is just the volume problem wearing a different coat.
So the field‑size and buy‑in factors aren't arbitrary. They're the two knobs that decide how much your league rewards difficulty versus everything else, and the √ and the log are what keep either one from taking over.
The bit that actually solves volume‑versus‑sitting: best N of M
The single change that did the most for our standings wasn't in the per‑event formula at all. It was deciding how many events count.
Instead of a season total, or a season average, count each player's best N results out of however many they played — their best ten nights, say. It threads the needle that total and average can't:
- You can't win on volume, because only your best results count. Playing a twelfth or twentieth night doesn't pad your score; it just gives you another shot at improving the ten that do.
- You can't sit on a lead, because the people behind you keep playing and improving their best ten. Stand still and you get caught. You have to keep showing up to defend a position — but you're never punished for the odd bad night, because it simply drops out.
It also fixes something human: people can miss a few weeks for ordinary life reasons without falling out of contention. "Best N of M" is the closest thing I've found to a formula that rewards good poker played consistently, rather than poker played constantly.
What about rebuys?
This is the question I went back and forth on the longest, and I've made my peace with the fact that it doesn't have one correct answer.
You can treat a finish as a finish and ignore how many bullets someone fired to get there. Clean and simple, but it arguably flatters the player who rebought three times over the one who got there on a single buy‑in. Or you can count re‑entries toward the field size, so a 40‑entry event with rebuys is scored as a bigger field than its 30 unique players — which is defensible, because that's the field they actually beat. Or you can weight by what a player put in, so points reflect net investment.
Each is reasonable. Each suits a different kind of club. A friendly monthly league and a serious points race that feeds a season final will genuinely want different answers — which is exactly why I stopped trying to find the formula.
Why this is miserable to run by hand
All of this lives or dies on a spreadsheet, and that's the other half of the problem. Every week is the same ritual: enter the night's finishes, recompute everyone's points, re‑sort the table, and republish it so players can see where they stand. Change one rule mid‑season and you're rebuilding formulas across a dozen tabs. And the night everyone actually cares about — the final, when people want to know exactly what they need to place to win the season — is the one where the manual maths is hardest and a mistake is most visible.
The formula is a design problem. Keeping it accurate every week is just admin, and it's the admin that wears organisers down.
How pkrclub handles it
I didn't want every club to have to go through what I went through. So pkrclub ships with a few sensible predefined formulas — pick one, set how many events count toward the season, and your standings keep themselves up to date after every event, with no spreadsheet at all. For clubs that, like me, care about the details, you can write a custom formula instead and tune the field, finish, buy‑in and rebuy handling to exactly how your league should feel.
There's one ranking you can't tune, on purpose. Alongside whatever league formula a club chooses, every player carries a cross‑club ELO rating in their Poker Passport, and that one is fixed and universal. A club's own points are the club's business; the cross‑club rating only means something if it works the same everywhere, so it isn't a setting. Your league is yours to shape. The shared rating is the same for everyone.
The takeaway
If you're writing a league formula and it feels harder than it should, that's because it is — you're balancing fairness, attendance and difficulty against each other, and every choice gives something up. The honest answer is that there's no perfect formula, only the one that fits your club. Worth getting right, because over a season the table is the thing your regulars actually play for. Just not worth rebuilding in Excel every Tuesday.
pkrclub is poker tournament software for clubs — a live clock, seating, payouts and accounting in one place, with league standings that keep themselves up to date. It's in active development, with early access opening to clubs and players soon.
pkrclub is poker tournament software for clubs, in active development. Join the early-access list to be among the first clubs and players invited.