I Played 300,000 Games of Yahtzee With Three Bots. Here Is What Actually Scores.

Three Yahtzee bots, 100,000 games each, run on my own dice engine: rerolling is worth ~48 points, chasing straights ~58 more. Full numbers inside.

By Pious Angel · Published 2026-10-09 · 6 min read

Why I did this

Most Yahtzee advice is either folklore ("always go for the upper bonus") or the output of a mathematically optimal solver that no human can follow at the table. I wanted something in between: simple, explainable strategies a person could actually use, measured on the exact rules my Yahtzee game uses.

So I took the scoring engine that runs my Yahtzee page, wrote three small bots on top of it, and let each one play 100,000 complete games. Every dice roll came from the same seeded random number generator the game itself uses, driven by my internal simulation script with fixed seeds, so the numbers are stable from run to run.

The rules these numbers apply to

The Yahtzee game here follows the standard 13-box scorecard: six upper boxes (ones through sixes), a +35 bonus once the upper boxes add up to 63, and seven lower boxes. Three of a Kind, Four of a Kind and Chance score the sum of all dice; Full House is 25, Small Straight 30, Large Straight 40, and Yahtzee 50. A second Yahtzee scored while the Yahtzee box already holds 50 earns a +100 bonus.

Two details matter for comparing with other sites. First, my engine does not count five of a kind as a Full House. Second, there is no "joker" rule that lets an extra Yahtzee be used as a straight. Both make Yahtzees slightly less flexible than in some house rules, so scores elsewhere may differ a little.

The three bots

Each bot is deliberately short: the whole experiment, including all three strategies and the statistics, is under 200 lines of code. None of them looks ahead more than one turn.

  • One roll, best box: rolls once per turn, never rerolls, and writes the result into whichever open box scores the most right now. This is the "no strategy at all" baseline.
  • Chase of-a-kind: uses all three rolls, always keeping every die that shows the most common face (ties go to the higher face), then takes whichever open box scores the most.
  • Situational heuristic: stops early when it already has a Yahtzee, Large Straight or (once Yahtzee is filled) a Full House; holds a run of three or more consecutive faces when a straight box is still open and it has no pair worth keeping; otherwise chases the most common face. When choosing a box, it compares each score against a rough "par" for that box, and adds 35 points of value if a box would push the upper section over 63.

Headline result: two cheap habits are worth over 100 points

Across 100,000 games each, the one-roll bot averaged 111.3 points, the of-a-kind chaser averaged 158.8, and the situational bot averaged 216.7. The gap between the baseline and the best bot is 105.4 points per game, and it comes from two habits that need no arithmetic: use your rerolls, and know when to chase a straight instead of a set.

Rerolling alone, with the crudest possible rule, added 47.5 points to the average. Adding a straight-aware hold rule and a slightly smarter box choice added another 57.9. In other words, the second habit was worth more than the first.

The best bot is also the most consistent at the bottom end. Its worst game in 100,000 was 69 and its 10th percentile was 155, while the chaser had a 10th percentile of just 99. It reached 200 points in 55.2% of games, against 16.2% for the chaser and 0.1% for the one-roll bot.

Where the points come from

The box-by-box averages tell the real story. The of-a-kind chaser is very good at the boxes it is built for: it filled the Yahtzee box with 50 in 45.6% of games and averaged 22.8 points there, the highest of the three bots. But it almost never makes a Large Straight (0.2% of games, an average of 0.1 points) and its Small Straight average is only 7.4. Between the two straight boxes it averages 7.5 points against the situational bot's 63.1, giving up about 55 points of straights in exchange for a few extra Yahtzees.

The situational bot gives a little of that Yahtzee rate back (39.8% of games) but scores the Large Straight in 83.7% of games and averages 29.6 in Small Straight. Straights are fixed-value boxes worth 30 and 40 points, and with three rolls they are much easier to complete than most players assume, as long as you are willing to break up a pair to go for them.

Full House improves steadily with skill: 34.4% of games for the one-roll bot, 65.6% for the chaser, 70.4% for the situational bot. Zeroed-out boxes fall in the same order, from an average of 4.12 per game to 3.66 and then 2.37.

The upper bonus is harder than it looks

The most surprising number in the whole run is how rarely any bot earned the +35 upper bonus. The one-roll bot never did in 100,000 games. The chaser got it in 2.6% of games and the situational bot in 6.7%. Average upper-section totals were 31.7, 42.0 and 42.7, well short of the 63 needed.

Reaching 63 essentially requires three of each face, and none of these bots is willing to spend a turn hunting for, say, three fours when something else scores more right now. That is exactly the trade-off the upper bonus is designed to test. My takeaway is not that the bonus is unreachable — none of these bots chooses which dice to hold with the bonus in mind — but that you will not get it by accident. If you want it, you have to plan for it from the first few turns, and treat a pair of low numbers in the upper section as a real cost, not a free dump.

What this means when you play

If you only remember three things from 300,000 simulated games, make them these:

  • Always use your rerolls unless you have already made a fixed-value box you still need. The crudest reroll rule beat no rerolling by 47.5 points.
  • When a straight box is open and your roll shows three or four consecutive faces with no strong pair, hold the run. The bot that did this scored the Large Straight in 83.7% of games; the bot that never did scored it in 0.2%.
  • Do not dump bad rolls into the upper section without thinking. Every few points below three-of-a-face makes the 63 threshold harder, and in my runs the bonus was rare even for the best bot.

Limitations

These bots are simple on purpose, and they are not optimal. They never plan more than one turn ahead, they do not weigh the probability of finishing a combination before choosing which dice to hold, and the "par" values used by the situational bot were set by hand rather than fitted. A full dynamic-programming solver would score noticeably higher than any of them; the point here was to measure strategies a person can actually follow.

Results describe this site’s engine and rules (no joker rule, five of a kind is not a Full House). Every game used a fixed seed, so each bot faced the same 100,000 seeds, but because the bots hold different dice they consume random numbers differently and do not see identical rolls after the first one. With 100,000 games per bot and standard deviations of 28.6 to 62.2 points, the differences between averages are far larger than sampling noise.

BotMeanStd. dev.10th pctMedian90th pctBest gameScore ≥ 200Score ≥ 300
One roll, best box111.328.6761091502480.1%0.0%
Chase of-a-kind158.862.29914525364616.2%3.6%
Situational heuristic216.761.015520528572255.2%9.2%
Final scores, 100,000 games per bot on my Yahtzee engine
BotUpper bonusYahtzee (50)Large StraightFull HouseZero boxes per game
One roll, best box0.0%1.0%31.3%34.4%4.12
Chase of-a-kind2.6%45.6%0.2%65.6%3.66
Situational heuristic6.7%39.8%83.7%70.4%2.37
How often each bot filled key boxes (share of 100,000 games)
BoxOne rollChase of-a-kindSituational
Ones1.11.21.5
Twos2.93.53.7
Threes4.75.76.0
Fours6.48.08.2
Fives7.710.410.7
Sixes8.913.212.6
Three of a Kind15.018.921.6
Four of a Kind1.817.218.2
Full House8.616.417.6
Small Straight23.77.429.6
Large Straight12.50.133.5
Yahtzee0.522.819.9
Chance17.518.921.3
Average points per box (100,000 games per bot)

Every number on this page comes from the game's own code or from simulations run against it. Spotted something that doesn't match how the game plays? Let me know.