Analyzing the most strategic words to guess on Wordle, based on letter frequency distributions

Overview

wordle-analysis

Evaluating different heuristics to determine the most effective solving strategy and building an AI-powered assistant tool to help you win.

Read the article >>>
Play with the AI-based strategic helper tool >>>

The Data

12972 guessable words
2315 mystery words*

* = These words comprise a word bank that is hard-coded into the
Wordle source code and used to randomly pick the daily puzzle each day

Exploratory Analysis

Most common letters

In the words of Pat Sajak, "R, S, T, L, N, E". These are the most frequently appearing letters in the English language and are, as such, used in the Bonus Round of the game Wheel of Fortune. But I wanted to start this project by verifying if they are, in fact, the most frequent letters when we limit our scope to only 5-letter English words.

As it turns out, E, A, R, O, T, L, I, S are the most frequent letters that appear in 5-letter words. Now, quick, think of a 5-letter word using these letters!

Heatmap to analyze letter frequency by positions

Simple Scoring Heuristics

Suppose today's Wordle solution is CRIMP. Let's walk through some example guesses and unpack how to make sense of the resulting colored tiles.

Guess 1: RAISE => ๐ŸŸจ โฌ› ๐ŸŸฉ โฌ› โฌ› => R is present in the word, but not in the right place
Guess 2: MOUNT => ๐ŸŸจ โฌ› โฌ› โฌ› โฌ› => M is present in the word, but not in the right place
Guess 3: GRIME => โฌ› ๐ŸŸฉ ๐ŸŸฉ ๐ŸŸฉ โฌ› => R, I, and M are all correct and locked in
Guess 4: CRIMP => ๐ŸŸฉ ๐ŸŸฉ ๐ŸŸฉ ๐ŸŸฉ ๐ŸŸฉ => ๐ŸŽ‰ yay, you solved the Wordle! ๐ŸŽ‰

If you take each guessable word and use it to try to guess each of the 2,315 mystery words, we can get a sense of how much valuable information we obtain using the scoring system above. For each guess, let's count up the number of greens we get, the number of yellows, blacks. Then, using a weighted average to maximize greens and yellows, we can sort our list of guessable words to find the words that yield us, on average, the highest heuristic score. A list of the 5 top words using this approach is provided below! Try starting your Wordle with any one of these words next time and see how you do!

Guess Average Correct ๐ŸŸฉ Average Present ๐ŸŸจ Average Absent โฌ› Weighted Average Tile Score ๐ŸŸฉ ๐ŸŸจ
SOARE 0.660043 1.107991 3.231965 2.428078
STARE 0.572786 1.192657 3.234557 2.338229
ROATE 0.541685 1.247516 3.210799 2.330886
RAILE 0.544708 1.225054 3.230238 2.314471
AROSE 0.538661 1.229374 3.231965 2.306695

Simulation Results

Approach Best Initial Guess
Max-size Prioritization RAISE
Max-entropy Prioritization SOARE
Max-splits Prioritization TRACE
Owner
Sejal Dua
Data Scientist & Software Engineer
Sejal Dua
A simple command line chat app to communicate via the terminal.

A simple command line chat app to communicate via the terminal. I'm new to networking so sorry if some of my terminology or code is messed up.

PotNoodle 1 Oct 26, 2021
dotfilery, configuration, environment settings, automation, etc.

โ”Œโ”ฌโ”โ”Œโ”€โ”โ”Œโ”€โ”โ”Œโ”€โ”โ”ฌ โ”ฌโ”Œโ”ฌโ”โ”ฌ โ”ฌโ”ฌโ”Œโ”€โ” โ”‚โ”‚โ”‚โ”œโ”ค โ”‚ โ”ฌโ”œโ”€โ”คโ”‚ โ”‚ โ”‚ โ”œโ”€โ”คโ”‚โ”‚ :: bits & bobs, dots & things. โ”ด โ”ดโ””โ”€โ”˜โ””โ”€โ”˜โ”ด โ”ดโ”ดโ”€โ”˜โ”ด โ”ด โ”ด โ”ดโ”ดโ””โ”€โ”˜ @megalithic ๐Ÿš€ Instal

Seth Messer 89 Dec 25, 2022
Hurry is a CLI tool to speed setting up MoniGoMani HyperStrategy & co. #freqtrade #hyperopting #trading #strategy

Hurry is a CLI tool to speed setting up MoniGoMani HyperStrategy & co. #freqtrade #hyperopting #trading #strategy

10 Dec 29, 2022
A very simple python script to encode and decode PowerShell one-liners.

PowerShell Encoder A very simple python script to encode and decode PowerShell one-liners. I used Raikia's PowerShell encoder ALOT, but one day it wen

John Tear 5 Jul 29, 2022
Bonjour Software pypahe is a Python Package Helper command-line tool.

pypahe Bonjour Software pypahe is a Python Package Helper command-line tool. Requirements Docker runtime Usage print the latest available version of a

Bonjour Software 0 Aug 10, 2021
Python and data science snippets on the command line

Python Snippet Tool A tool to get Python and data science snippets at Data Science Simplified on the command line. You can read my article to learn ho

Khuyen Tran 19 Dec 21, 2022
๐ŸŽˆ `st` is a CLI to quickly kick-off your new Streamlit project

๐ŸŽˆ st - a friendly Streamlit CLI st is a CLI that helps you kick-off a new Streamlit project so you can start crafting the app as soon as possible! Ho

Arnaud 18 Dec 19, 2022
A command line application, written in Python, for interacting with Spotify.

spotify-py-cli A command line application, written in Python, for interacting with Spotify. The primary purpose behind developing this app was to gain

Drew Loukusa 0 Oct 07, 2021
jenkins-tui is a terminal based user interface for Jenkins.

jenkins-tui ๐Ÿ“ฆ jenkins-tui is a terminal based user interface for Jenkins. ๐Ÿšง โš ๏ธ This app is a prototype and in very early stages of development. Ther

Craig Gumbley 22 Oct 24, 2022
A minimal and ridiculously good looking command-line-interface toolkit.

Pyceo Pyceo is a Python package for creating beautiful, composable, and ridiculously good looking command-line-user-interfaces without having to write

Juan-Pablo Scaletti 21 Mar 25, 2022
Salesforce object access auditor

Salesforce object access auditor Released as open source by NCC Group Plc - https://www.nccgroup.com/ Developed by Jerome Smith @exploresecurity (with

NCC Group Plc 90 Sep 19, 2022
Zero-config CLI for TypeScript package development

Despite all the recent hype, setting up a new TypeScript (x React) library can be tough. Between Rollup, Jest, tsconfig, Yarn resolutions, ESLint, and

Jared Palmer 10.5k Jan 08, 2023
Wordle for CLUE - WORDLE clone for Adafruit Clue

Wordle_for_CLUE This project is a clone of the very popular word solving puzzle

Michael Lacock 4 Feb 15, 2022
Pequeno joguinho pra vocรช rodar no seu terminal

JokenPython Pequeno joguinho pra vocรช rodar no seu terminal Olรก! Joguinho legal pra vc rodar no seu terminal!! (rode no terminal, pra melhor experienc

Scott 4 Nov 25, 2021
Create argparse subcommands with decorators.

python-argparse-subdec This is a very simple Python package that allows one to create argparse's subcommands via function decorators. Usage Create a S

Gustavo Josรฉ de Sousa 7 Oct 21, 2022
Command-line tool for downloading and extending the RedCaps dataset.

Command-line tool for downloading and extending the RedCaps dataset.

RedCaps dataset 33 Dec 14, 2022
๐Ÿ Python CLI tool to get public information from a GitHub account

๐Ÿ Gitter ๐Ÿ Python CLI tool to get public information from a GitHub account ๐Ÿค” What's this? Gitter is a open-source project created to easily uses th

opp? 3 Oct 14, 2022
Key-control - A tool for add keys to your Termux app

Key-Control Is a tool for add keys to your Termux app. Cara Penginstalan $ pkg u

Beereva.id 1 Feb 14, 2022
vimBrain is a brainfuck-based vim-inspired esoteric programming language.

vimBrain vimBrain is a brainfuck-based vim-inspired esoteric programming language. vimBrainPy Currently, the only interpreter available is written in

SalahDin Ahmed 3 May 08, 2022
๐Ÿ–ฅ๏ธ A cross-platform modern shell.

Ergonomica WARNING: master on this repository is not the same as a stable release! Currently, this software is purely experimental, as I am cleaning i

813 Dec 27, 2022