A flip is a decision plus a dice roll
Half the moves in a banqi game turn over a face-down tile. One move, two parts: choosing which tile to turn, and finding out what it is. Jieqi’s reveals and flip jungle’s flips are the same problem wearing different pieces; banqi is the worked example throughout because its bag is the purest.
A chess-style review grades the swing of the whole move. Flip the corner tile, find the enemy general, and the review calls it a blunder. It was a bad tile, not a bad decision.
This is why banqi reviews on Mistboard show no centipawn loss: it cannot be separated from the tiles, so next to numbers that can be, it reads as noise.
Backgammon solved this decades ago
Backgammon software prices every roll against the average roll and reports a luck-adjusted result, so a match report can tell you that you played better and lost. GnuBG and eXtreme Gammon both do it. Poker has the same idea in all-in EV.
Chess never built any of this because chess has no dice. Banqi is a chess-family game with dice in it, and it inherited chess’s tools, which have no luck column.
The average tile in the bag
Banqi’s chance is countable. Both players can see which tiles are still face down, and the full set of pieces is known, so at any flip you can list every tile that square could be. That makes the honest baseline computable:
for each tile the square could be:
put that tile under the square
play the flip
evaluate the position
average the results, weighted by countThat average is what your decision was worth before the dice. Three numbers per flip:
| per flip | meaning |
|---|---|
| played | the average value of the flip you chose |
| best | the same average for the best move available |
| realized | what your actual tile produced |
decision loss = best - played (skill, always >= 0)
luck = realized - played (the dice, signed)Zero luck is exactly the average tile in the bag, by construction, not by an engine’s opinion.
The flip from the intro, enumerated
Ply 6 of the game this article opens with: I turn the tile on g3. Twenty-seven tiles are still face down, twelve kinds, and each one leads to a different game.
| what the g3 tile could be | count | win% for Black |
|---|---|---|
| black soldier | ×5 | 82% |
| red soldier | ×4 | 46% |
| red chariot | ×2 | 45% |
| red elephant | ×2 | 44% |
| red advisor | ×2 | 43% |
| red cannon | ×2 | 41% |
| black horse | ×2 | 34% |
| black chariot | ×2 | 31% |
| black elephant | ×1 | 29% |
| black advisor | ×2 | 25% |
| black cannon | ×2 | 23% |
| black general | ×1 | 13% |
The same flip is worth anywhere from 13% (my own general, deep in contested ground) to 82% (my own soldier, safe and useful there). The weighted average is 45%. That number is the decision, and it is what accuracy grades.
The highlighted row is what the bag actually handed me. Realized 82, played 45, luck plus 37, and none of it to my credit.
Engines are biased about their own dice
The obvious shortcut is to ask the engine what a flip move is worth and call the difference luck. Our jieqi engine showed why not: it over-values its reveals and plays greedy, gambling lines. Averaging fixed positions, each with the tile already decided, keeps the chance node out of the search entirely, so the bias has nowhere to live.
The flip that deals you your color
The first flip of the game decides which color you play: whatever ink comes up, that side is yours. The counterfactuals for that flip vary your own army, so the decomposition prices "which side did I get" as luck. That sounds wrong for about ten seconds, and then it sounds exactly right.
What the review draws
The advantage graph gets a second line. Solid is the game as it happened. Dashed is the same game with every flip scored at its average tile. Between flips the two lines move together, because ordinary moves affect both versions equally. At each flip the gap changes by exactly that flip’s luck, so by the end the gap is the whole game’s luck added up.
That is why the dashed line here runs one way while the solid line swings. My luck kept landing in the same direction, flip after flip, so the gap only grew. Scored on decisions alone the bot was winning nearly throughout, and once the dashed line says the game should be completely won it pins at the top.
The move list carries the split per move. Every flip gets a dice badge with its luck, next to the eval, and decisions are graded separately: move 3 below is the +37% flip, marked dubious as a choice even though it won me the game.

And accuracy is graded on the decision numbers only, so a lucky flip does not improve it and an unlucky one does not hurt it. The summary for this game reads exactly the way the story went: the bot played clean, I did not, and the result said otherwise.

The receipts
The win I opened with: 156 plies against the bot, and the graph tells on me. At ply 6 the 45% flip came up worth 82%. No decision in the game moved the needle that far.
In total: my flips plus 76, the bot’s minus 12, and my flip decisions gave away 74 points against the bot’s zero. The dashed line has me losing most of the game. The solid line has me winning. The bag overruled the play. The whole game is open on Mistboard, replay below.
It cuts the other way too. In another game I lost, one flip at ply 19 cost 34 points of win chance on its own. My decisions that game were ordinary. The old review would have marked that flip as the losing blunder. The new one marks it as the moment the game was decided by something that was not a choice.
Fifty-two games of evidence
We ran the decomposition over 52 recent human-versus-Misty banqi games from the site.
| across 52 human vs Misty games | value |
|---|---|
| human record | 14 wins, 33 losses, 5 draws |
| net luck toward the human, in the wins | +28 points on average |
| net luck toward the human, in the losses | −9 points on average |
The bot is stronger, and beating it has usually taken help from the bag. If you have beaten it, the review will now tell you how much help you got.
Jieqi rolls different dice
Jieqi gets the same treatment with a different pool. A jieqi reveal draws from your own remaining dark pieces, so you know the color and not the piece. A banqi tile is dark to both players, color included. Different bags, same arithmetic, and jungle’s flip variant makes a third. Every one of them gets the dashed line.
For the builders
Three choices keep the numbers honest. First, a counterfactual must not change what is in the bag. Relabel the flipped square from a soldier to a cannon and you have quietly added a cannon to the game and removed a soldier, which rebalances the position by two pieces and inflates the average. So the implementation swaps: the counterfactual tile trades places with a face-down square that really holds one, and the hidden set stays exactly the game’s.
Second, one bounded scale. Everything is win chance from the flipping player’s side: it adds up across a game, a flip that ends the game scores exactly 100, 50, or 0, and a flip that walks into mate has no centipawn value anyway. Search budgets are node counts rather than time, so the same game grades identically on any machine.
Third, under-count on purpose. The decision ceiling considers only the engine’s top move, so a better move the engine ranked second is missed and decision loss is only ever understated. The review can fail to flag a mistake. It cannot invent one.
Where the numbers stop
The win percentages come from our banqi engine at a fixed search budget, and that engine is also the opponent in these games, so its own flips grade as near-perfect partly because it agrees with itself. Read "the bot lost zero points" with that in mind. The human numbers have no such problem.
One more honest limit: subtracting luck point-by-point treats win chance as linear, which it is not. The directions are trustworthy. The second decimal is not.
Try it on your own games
Open any finished banqi, jieqi, or jungle flip game on Mistboard, yours or anyone’s from the watch page, and request computer analysis. The luck numbers appear per flip in the move list, and the dashed line shows the game the bag would have given you.
Sometimes it agrees you were robbed. Sometimes it takes your win away. It did both to me in a single pass over my old games.