Common on the Board, Rare in English
Published November 26, 2016 · Revised July 24, 2026
A board simulator can measure how often a word is available and how many solo points it offers. It cannot measure whether a player knows the word, notices it under time pressure, or loses it to an opponent’s duplicate. Those quantities should not be collapsed into one TF-IDF-like score.
Toea looks like a good Boggle word. It uses four common letters, appears in the selected dictionary, and is uncommon in general English. But those facts do not yet tell us whether memorizing it earns points. The board has to contain it, the player has to notice it under time pressure, and no opponent can write it down.
That gives four separate measurements:
- Board probability: , the probability that at least one valid path spells .
- Solo opportunity: official points times board probability.
- Findability: the probability that a particular player notices , conditional on its presence.
- Uncancelled score: findability after accounting for every opponent who may find the same word.
The first two can be simulated. The last two need people.
# What counts as a Boggle word
Classic Boggle has 16 cubes in a 4-by-4 grid. Consecutive letters must be horizontally, vertically, or diagonally adjacent, and a cube may appear only once in a path. A word must contain at least three letters. The Qu face contributes both letters while occupying one cube.1
The official score is:
| Letters | Points |
|---|---|
| 3–4 | 1 |
| 5 | 2 |
| 6 | 3 |
| 7 | 5 |
| 8 or more | 11 |
In multiplayer play, a word found by two or more players is crossed off every list. Finding the same word along two paths does not score twice. These rules matter: raw board frequency is neither expected score nor competitive value.
The analysis uses the 16 cube faces and the ENABLE word list in games/boggle.2 ENABLE is a permissive general word-game lexicon, not an official Hasbro tournament dictionary. Any real game still needs an agreed dictionary.
# A tile is not always a character
A direct board representation stores the special face as one tile:
('h', 'i', 'm', 'n', 'qu', 'u')
The original notebook then built a character-keyed trie, but looked up the whole tile as one key:
letter = board[i][j]
if letter in node:
node = node[letter]
A character-keyed trie contains a q edge followed by a u edge; it contains no qu edge. Looking up the whole tile as one key silently rejects every Q-word. Storing the face as plain q makes the opposite mistake by allowing Q without its mandatory U.
The corrected solver consumes every character printed on a tile before moving to a neighboring cube:
def advance(node, tile):
for character in tile:
node = node.get(character)
if node is None:
return None
return node
The path still marks only one cube as visited, while its spelling grows by two letters. That also makes the official length score come out correctly.
# Sampling boards
If the cubes are treated as labeled, there are
position-and-face outcomes. Duplicate faces and symmetries mean fewer distinct visible grids, but exact enumeration is impractical for estimating common-word probabilities.
For a fixed word , let when board contains at least one valid path spelling , and otherwise. Across independently generated boards,
estimates the board probability . Hoeffding’s inequality gives5
This is a concentration bound: averages of independent yes-or-no trials stay close to their true probability. Here each is one such trial, so the bound turns a desired error margin and failure probability into a board count:
To make the right side at most , it is enough to choose
Setting and gives . That is a 90% guarantee for one fixed word chosen before the boards are inspected. For fixed words, a simultaneous union-bound guarantee replaces by . A list selected after inspecting thousands of words instead needs simultaneous control or an independent holdout sample.
The first table below includes ordinary 95% Wilson intervals for the displayed word probabilities. Those are marginal binomial intervals. They do not adjust for selecting the displayed words from the same simulation, and neither the intervals nor Hoeffding’s bound claim that a near-tied top-20 list is exactly ordered.
The generator runs 15,000 boards with seed 20161126. It verifies the SHA-256 digest of the dictionary file, so a changed word list cannot silently change the result:
Reproduce the Boggle tables and figure
generator lockfile figure checks uv run --locked gen_boggle_opportunity.py
# What appears
With the official three-letter minimum, short words dominate:
| Word | Boards | Estimated probability | 95% Wilson interval |
|---|---|---|---|
| toe | 2,866 | 19.1067% | 18.4855%–19.7437% |
| tee | 2,721 | 18.1400% | 17.5315%–18.7648% |
| tea | 2,691 | 17.9400% | 17.3342%–18.5622% |
| net | 2,682 | 17.8800% | 17.2750%–18.5014% |
| ten | 2,682 | 17.8800% | 17.2750%–18.5014% |
Filtering to words of at least four letters produces a different but still tightly clustered list:
| Word | Estimated board probability |
|---|---|
| teen | 6.1467% |
| tent | 6.1133% |
| tees | 6.0733% |
| note | 5.7867% |
| teat | 5.7800% |
| toea | 5.6733% |
The reproducible result is the estimated probability and its sampling uncertainty, not which near-tied word happens to finish first.
# Opportunity is not value
For solo play, a measurable first approximation is
where is the official point value. This is the expected number of points made available by the word per random board, assuming a perfect solver. It says nothing about whether a human finds the word.
TF-IDF is not the right name for a board-frequency ranking: there are no documents and no document frequencies. Multiplying board appearance by a decreasing function of corpus token count is a custom heuristic. Assigning a missing corpus entry the smallest observed count would also make “absent from this corpus” numerically identical to “maximally obscure,” even though absence can mean a spelling, tokenization, coverage, or stemming mismatch.
The figure keeps the axes separate. The horizontal axis is measured solo opportunity. The vertical axis is wordfreq’s English Zipf frequency, a multi-corpus usage estimate whose data cover language through roughly 2021.3 Points must appear on at least 15 simulated boards. The solid rust frontier further requires positive wordfreq frequency and at least 0.003 expected solo points per board. Open rust circles are words unlisted by wordfreq; they sit on an artificial baseline at 0.65 so absence from the package is not presented as zero English usage.
Reproduce this figure
Eight illustrative, hand-selected low-corpus-frequency four-letter words occupy an interesting part of that space. This is not a top-eight ranking:
| Word | Board probability | Solo opportunity | English Zipf frequency |
|---|---|---|---|
| toea | 5.6733% | 0.0567 | unlisted |
| teat | 5.7800% | 0.0578 | 2.50 |
| stet | 5.2933% | 0.0529 | 1.83 |
| nett | 5.2333% | 0.0523 | 2.41 |
| seta | 5.1000% | 0.0510 | 2.28 |
| rete | 4.8933% | 0.0489 | 2.04 |
| tret | 4.8067% | 0.0481 | 1.63 |
| sett | 4.6733% | 0.0467 | 2.27 |
Corpus frequency is not familiarity, and familiarity is not timed discovery. Word-prevalence norms ask people whether they know a word and cover 61,858 English lemmas from more than 220,000 participants; they predict recognition beyond corpus frequency.4 Even those norms would measure knowledge, not whether a winding Boggle path is noticed within the round’s time limit.
# The multiplayer quantity
Let be the focal player’s probability of finding when it is present, and let be the same probability for opponent . Under an independence approximation, the expected uncancelled contribution is
For one opponent, the conditional scoring event is “the focal player finds the word and the opponent does not,” with probability . Multiplying the not-found factors gives the displayed formula for opponents.
The independence assumption will be imperfect: players share vocabulary, visual biases, and training histories. Once player observations exist, a hierarchical model could represent those dependencies.
# Vowel count is a confounded summary
A claim such as “six vowels is optimal” needs a conditional comparison: among boards with vowels, what is the mean outcome? Summing outcomes within each vowel bin and dividing every bin by the total number of boards mixes two effects: how often the bin occurs and how productive its boards are.
A vowel experiment should report the number of boards per bin, the conditional mean score or word count, and uncertainty within each bin. It should also choose the target in advance: dictionary paths, solo Boggle points, and human points are different outcomes.
# The experiment still needed
A useful memorization study would randomize players to a taught list and a matched control list. The lists should be matched on length, board probability, path geometry, and baseline word prevalence. On unseen boards, record:
- whether each present target word was found;
- time to first find;
- its path shape and number of alternate paths;
- whether an opponent also found it;
- retention after a delayed session.
The treatment effect estimates how much teaching changes . Multiplayer rounds estimate cancellation. Until those measurements exist, the current evidence supports a map of promising words to test, not a declaration that toea is worth memorizing.
# References
[1] Hasbro, Boggle Instructions, classic 4-by-4 rules: adjacency, no cube reuse, duplicate cancellation, Qu counting as two letters, and the 1/2/3/5/11 scoring schedule. ↩
[2] Wallace, H. (2016). Common Words in Boggle notebook, first committed November 26, 2016. The analysis pins enable1.txt from commit 8407a721b8b904b861b1dc71233cc8370dbe6673, SHA-256 a392640f14602fcbb36779eb6671d170260c06d43f41c16383e7f0e35b221b4a. ↩
[3] Speer, R. (2022). wordfreq v3.0.2, Zenodo. The generator pins package version 3.1.1 and treats its zero value as “not in the word list.” ↩
[4] Brysbaert, M., Mandera, P., McCormick, S. F. & Keuleers, E. (2019). “Word prevalence norms for 62,000 English lemmas.” Behavior Research Methods 51(2), 467–479. ↩
[5] Hoeffding, W. (1963). “Probability Inequalities for Sums of Bounded Random Variables.” Journal of the American Statistical Association 58(301), 13–30. ↩