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
xonsh is a Python-powered, cross-platform, Unix-gazing shell

xonsh is a Python-powered, cross-platform, Unix-gazing shell language and command prompt.

xonsh 6.7k Dec 31, 2022
A CLI tool for searching and watching videos on youtube with no spyware and MPV and yt-dlp

A CLI tool for searching and watching videos on youtube with no spyware and MPV and yt-dlp

TruncatedDinosour 3 Feb 22, 2022
A python Ethereum utilities command-line tool.

peth-cli A python Ethereum utilities command-line tool. After wasting the all day trying to install seth and failed, I took another day to write this.

Moon 55 Nov 15, 2022
A Bot Which Send Automatically Commands To Karuta Hub to Gain it's Currency

A Bot Which Send Automatically Commands To Karuta Hub to Gain it's Currency

HarshalWaykole 1 Feb 09, 2022
Yet another bash/zsh prompt script

Here we have yet another script for Git-aware customization of the command prompt in Bash and zsh. Unlike all the other scripts, I wrote this one, so

John T. Wodder II 5 Oct 13, 2021
A Julia library for solving Wordle puzzles.

Wordle.jl A Julia library for solving Wordle puzzles. Usage julia import Wordle: play julia play("panic") 4 julia play("panic", verbose = true) I

John Myles White 3 Jan 23, 2022
This tool is a free and unlimited python CLI for google translate. based on google_trans_new.

GoTransPy A free and unlimited python CLI for google translate based on google_trans_new. It's very easy to use and solve the problem that the old api

Youssef Mohamed 2 Jan 10, 2022
triggercmd is a CLI client for the TRIGGERcmd cloud service.

TriggerCMD CLI client triggercmd is a CLI client for the TRIGGERcmd cloud service. installation the triggercmd package is available in PyPI. to instal

Gustavo Soares 7 Oct 18, 2022
Convert shellcode generated using pe_2_shellcode to cdb format.

pe2shc-to-cdb This tool will convert shellcode generated using pe_to_shellcode to cdb format. Cdb.exe is a LOLBIN which can help evade detection & app

mrd0x 75 Jan 05, 2023
A communist shell written in Python

kash A communist shell written in Python It doesn't support escapes, quotes, comment lines, |, &&, , or similar yet. If you need help, get it from

Γ‡Δ±nar YΔ±lmaz 1 Dec 10, 2021
Universal Command Line Interface for Amazon Web Services

This package provides a unified command line interface to Amazon Web Services.

Amazon Web Services 13.3k Jan 07, 2023
A web shell client written in python.

Webshell client A webshell client written in python. Only works well for linux for the time being. Why? Because there are too many heavy webshells. So

tchar 1 Dec 07, 2021
Play videos in the terminal.

Termvideo Play videos in the terminal (stdout). python main.py /path/to/video.mp4 Terminal size: -x output_width, -y output_height. Default autodetect

Patrick 11 Jun 13, 2022
instant coding answers via the command line

howdoi instant coding answers via the command line Sherlock, your neighborhood command-line sloth sleuth. Are you a hack programmer? Do you find yours

Benjamin Gleitzman 9.8k Jan 08, 2023
Python codecs extension featuring CLI tools for encoding/decoding anything

CodExt Encode/decode anything. This library extends the native codecs library (namely for adding new custom encodings and character mappings) and prov

Alex 210 Dec 30, 2022
Convert markdown to HTML using the GitHub API and some additional tweaks with Python.

Convert markdown to HTML using the GitHub API and some additional tweaks with Python. Comes with full formula support and image compression.

phseiff 70 Dec 23, 2022
A Reverse Shell Python Packages

A Reverse Shell Python Packages

1 Nov 03, 2021
A library for creating text-based graphs in the terminal

tplot is a Python package for creating text-based graphs. Useful for visualizing data to the terminal or log files.

Jeroen Delcour 164 Dec 14, 2022
A python package to display progress of loops to the user

ProgressBars A python package to display progress of loops to the user. Installation This package can be installed using pip. pip install progressbars

Matthias 3 Jan 16, 2022
googler is a power tool to Google (web, news, videos and site search) from the command-line.

googler is a power tool to Google (web, news, videos and site search) from the command-line.

Terminator X 5.9k Jan 04, 2023