Wordle Opening Moves
Like a lot of people, I’m a Wordle fan. In fact, I like the concept so much that I also regularly pay Octordle (guess 8 words in 13 tries or less) and Duotrigordle (32 words in 37 tries).
At first I picked opening words more or less randomly, but I quickly realized that the first words picks are critical if you want to win consistently. This is even truer for the Octordle/Duotrigordle versions, since you’re guessing multiple words in parallel—which means you have to be more comprehensive in the letters you test.
So after a quick search of letter frequencies and some trial and error, I settled on TRAIN and LOUSE as my first opening words; this allows me to cover the 10 most frequent letters in the English language.
Although this word choice works well (for me at least), it has a few flaws:
- I’d like the most common letters (E, A, R, O) to be used in the first word; here they’re pretty evenly distributed between the two words
- I’d like to maximize the number of greens (i.e. correctly placed letters) in the first two words
- I don’t have a great third guess if the first two words don’t yield a lot of hits. I will often try CHIMP or CHOMP but this means I reuse a vowel.
Let’s bring maths into the picture
I got tired of wondering whether there was a better opening combination, so I finally decided to scratch this itch.
There are a lot of analyses of Wordle opening moves, most of them backed up by some sort of maths. Funnily, they all give different answers… So I don’t feel too bad about adding yet another one to the list.
Before jumping in, let’s define our evaluation criteria:
- I want to use the 10 most common letters in the first 2 words
- I want to maximize the number of greens and yellows
- I want a good third word that doesn’t reuse a letter
A first try
There are two sets of words in Wordle: the list of possible answers, which I will call the core set; and the set of all accepted words, which I will call the extended set.
Let’s look at the letter frequencies of the core Wordle word set:
The 10 most frequent letters in the core set are, in this order: E, A, R, O, T, L, I, S, N, C. Right off the bat we can see that my previous opening moves get one letter wrong (U instead of C).
Now, let’s generate all possible word pairs using these 10 letters, and rank them. To do so, I score each word against the entire core set: each green letter is worth 2 points, each yellow 1 point.
There are 718 word pairs in the extended set that match our rules. The 10 best word combinations are (drumroll)…
First word | Second word | Total score |
---|---|---|
SOARE | CLINT | 4.182 |
SLICE | ORANT | 4.109 |
CRINE | LOAST | 4.098 |
TRAIL | SONCE | 4.082 |
ROAST | CLINE | 4.077 |
STAIR | CLONE | 4.070 |
SAINT | CEORL | 4.067 |
TRICE | SLOAN | 4.067 |
SONCE | LIART | 4.067 |
TRIAL | SONCE | 4.067 |
Best word pairs from the extended set (words in blod are also part of the core set)
What? What’s a soare? (“a young hawk”) And a clint? (“a hard or flinty rock”). Orant? Crine? Loast? WTF? This list of obscure words is disappointing; I can honestly say this is not what I was expecting when I set out.
So let’s add another criterion: we’ll only pick words from the core set. There are only 25 solutions this time, so I’ll list all of them.1
First word | Second word | Total score | Awesomeness |
---|---|---|---|
STAIR | CLONE | 4.070 | Awesome |
STOLE | CAIRN | 4.050 | Awesome |
TRICE | SALON | 4.041 | Awesome |
SCONE | TRAIL | 4.037 | Awesome |
TRIAL | SCONE | 4.022 | Awesome |
CLOSE | TRAIN | 4.018 | Awesome |
LINER | COAST | 3.983 | Awesome |
LATER | SONIC | 3.913 | Awesome |
LATER | SCION | 3.896 | Awesome |
ALTER | SONIC | 3.892 | Awesome |
ALTER | SCION | 3.875 | Awesome |
SONIC | ALERT | 3.866 | Awesome |
CORAL | STEIN | 3.853 | Awesome |
CAROL | STEIN | 3.851 | Awesome |
SCION | ALERT | 3.849 | Awesome |
LEARN | STOIC | 3.822 | Awesome |
SCALE | INTRO | 3.799 | Awesome |
OCTAL | SIREN | 3.777 | Awesome |
RENAL | STOIC | 3.773 | Awesome |
LINER | ASCOT | 3.719 | Awesome |
OCTAL | RINSE | 3.717 | Awesome |
LOSER | ANTIC | 3.697 | Awesome |
ISLET | ACORN | 3.669 | Awesome |
RISEN | OCTAL | 3.628 | Awesome |
RESIN | OCTAL | 3.576 | Awesome |
Winning combinations from the core set. Awesomeness level? Pretty high, dude.
Honestly? I LOVE all of these. They all sound like metal rock bands! Scale Intro, Alter Scion, Octal Siren, Renal Stoic, Risen Octal, Trice Salon, Sonic Alert… I can hear the screams of electric guitars! I want the t-shirt with the tour dates! I’m ready to overpay for lukewarm beer and get pummeled in the mosh pit2! I’d buy the home-burned CD with the ugly injket-printed leaflet! (A CD is… you know what, nevermind, if you don’t know what a CD is the rest of this paragraph doesn’t make any sense to you either).
Also, the first result, STAIR CLONE, has a pretty high score and actually appears in the top 10 from the extended set. Let’s keep it!
Finding a third word
We can now look at the leftover letters and search for a third word. It turns out there aren’t that many, even if we include all the remaining letters in our choices. Here they are (as previously, words in bold are in the core set):
Word | Score |
---|---|
PUDGY | 1.181 |
DUMPY | 1.149 |
HUMPY | 1.135 |
BUMPY | 1.131 |
FUDGY | 1.118 |
DUMKY | 1.089 |
VUGHY | 1.032 |
BUMPH | 1.018 |
JUDGY | 0.990 |
JUMPY | 0.962 |
WHUMP | 0.946 |
JUMBY | 0.916 |
So, here’s our answer : STAIR CLONE PUDGY, for a total score of 5.251. (Or, if you can stomach obscure words, SOARE CLINT PUGDY nets you 5.362 points)
A quick aside on word scores
Using the scoring function described above, the best word in the extended set is SOARE with a score of 2.428, and the worst is IMMIX with 0.57. In the core set, these are STARE (2.338) and VIVID (0.762) respectively. Note that SOARE and STARE are often given as best opening words in other strategies, so there is some coherence at least.
The mean score is 1.545, and the median is 1.5483. This means that any two words have, on average, 1.5 yellow letters (or 0.75 green letters) in common. More specifically, there’s a 35% chance of a green and an 84% chance of a yellow.
The score distribution is a nice bell curve:
And now, back to our analysis.
Can we do even better?
Let’s revisit our initial criteria and relax them a little bit: let’s remove the requirement to use the 10 most common letters. What’s the best opening pair now?
Our algorithm becomes a bit trickier because we need to take into account common letters between our two guesses. For instance, although SOARE and STARE are both very stong first guesses, playing SOARE then STARE is a bad strategy: the only extra information STARE brings is whether T is in the target word.
Once we account for this, well… the algorithm becomes much slower (how much? this may be the topic of another post). But, we also get some new contenders!
First word | Second word | Total score |
---|---|---|
CRATE | SOILY | 4.187 |
SOARE | CLINT | 4.182 |
TRACE | SOILY | 4.171 |
CRANE | SOILY | 4.155 |
CARET | SOILY | 4.144 |
CARTE | SOILY | 4.140 |
TOILE | SNARY | 4.137 |
ROULE | SAINT | 4.133 |
PROLE | SAINT | 4.130 |
TOILE | SAURY | 4.130 |
Results from the extended set. Words in bold are in the core set. Previous best guess in italic.
In the extended set, SOILY (“having spots or stains; dirty”) makes a dramatic entrance, appearing in 5 of the top 6 pairs. Our previous best guess, SOARE CLINT, is now in second place. As previously, most of the words are fairly obscure, although PROLE SAINT has a certain poetic ring to it.
First word | Second word | Total score |
---|---|---|
SLATE | IRONY | 4.125 |
STOLE | RAINY | 4.111 |
SLATE | CRONY | 4.110 |
STALE | IRONY | 4.082 |
SLATE | CORNY | 4.080 |
CRONE | SALTY | 4.070 |
STAIR | CLONE | 4.070 |
STALE | CRONY | 4.067 |
TRAIL | SHONE | 4.052 |
STOLE | CAIRN | 4.050 |
Results from the core set.
In the core set, there’s a lot of interesting new pairs. SLATE IRONY, in addition to being a decent name for an indie band, largely outperforms our previous best pair which is now in 7th position. And we get the cool-sounding SALTY CRONE, which unfortunately is not a sailor song but rather a weird craft shop .
Why all the Ys?
What jumps out with this new approach is that Y appears in almost all our new pairs, always in the last spot. This is fairly easy to explain: although Y is only the 12th most frequent letter overall (and thus not part of our initial guesses), it is extremely common as a final letter, occuring more than 15% of the time:
Therefore, any word ending in Y will get a significant score boost.
On to third words (again)
When we extend the algorithm to search for triplets instead of pairs, a few interesting things happen.
The first discovery is that the best pairs don’t necessarily make for the best triplets! For instance, the best triplet using our top pair, CRATE SOILY BUNDH, appears in 17th position.
Here’s the top 10 triplets for the extended set, along with the ranking of the first two words in the previous pair search.
First word | Second word | Third word | Total score | Lead pair ranking |
---|---|---|---|---|
SLATE | BRINY | POUCH | 5.393 | 234 |
BRINE | SLATY | POUCH | 5.393 | 236 |
CRINE | SAULT | PODGY | 5.385 | 64 |
PRATE | SOILY | DUNCH | 5.384 | 17 |
CRINE | SLATY | DOUGH | 5.382 | 25 |
SAINT | CHORE | BLUDY | 5.377 | 213 |
CRONE | SAITH | BLUDY | 5.375 | 216 |
SAINT | CHORE | DUPLY | 5.372 | 213 |
TRADE | SOILY | PUNCH | 5.371 | 29 |
CRONE | SAITH | DUPLY | 5.370 | 216 |
Best triplets from the extended set.
As you can notice, the lead pairs have fairly low rankings. This makes sense: if the first two words are too good, there simply aren’t many good choices left for the third word!
Another interesting result: the best triplet is composed entirely of core words, which was a pretty big surprise given the previous results.
Finally, I noticed quite a few triplets with identical scores. For instance, BRINY COUGH SLATE, BRINE COUGH SLATY, BOUGH CRINE SLATY and CRONE PLUMY SAITH have the same score. Although the first three triplets are basically the same words with some switched letters, the last triplet is distinctly different. Amazingly, I found a set of 254 triplets that share the same score!
Conclusion
I consider my Wordle opening move itch thoroughly scratched. I’ve spent quite a bit more time on the topic than I thought, but I made some interesting discoveries, finally learned (a bit of) Pandas and a plotting lib, and even got mixed in some algorithm optimization.
As for the initial goal, I now use SLATE IRONY as my starting pair and CHUMP if I need a third word (this doesn’t happen often enough to justify using the winning triplet which, as we’ve seen, has a pretty meh starting pair). Compared to my previous choice of TRAIN LOUSE, this gets me an extra 0.3 points on the first word, and an extra 0.15 points after two words. This may not sound like much, but on a Duotrigordle grid this amounts to roughly 5.4 more green letters, at the cost of 5.9 yellow letters. I’ll take it! Happily, this pair also meets my initial criteria: a lot of good letters in the first word, a marked improvement in the numer of greens, and a good third word (ironically, very close to what I started out with). As to whether this justifies the time spent on this little affair… 🤷♂️
-
I took the liberty of reordering some pairs to make them sound awesomer. ↩︎
-
I bet the lead singer for Renal Stoic does really weird shit on stage. ↩︎
-
Do you want to know the median words? Of course you do, otherwise you wouldn’t be reading this footnote. They are DUROS, EMERY, FICHE, MELIK, MOVES, NABIS, NAVEW, VEGAS, and WARDS. ↩︎