METHODOLOGY

Research Methodology
How Statistics Are Generated on This Site

Every statistic on MyAnagramSolver is computed programmatically from the live 74,872-word database. No estimates. No third-party data. Implementation fingerprint: 916f47949b41. All figures are reproducible.

74,872-Word Database Fingerprint: 916f47949b41 Generated 2026-07-27 Reproducible

Core Principle — Implementation-First Statistics

Every statistic published on this site is derived directly from the word database that powers the live tools. The same wordlist.js file loaded by the anagram solver is analysed by a Python script to produce all published figures. There is no separate "research database" and no editorial adjustment of computed results. If the database says 7,022 words end in -ED, the published figure is 7,022. If a recount produces a different number, the published figure is updated.

This approach has one significant advantage over manually-researched statistics: every figure is verifiable. A reader who downloads wordlist.js and runs a Python endsWith() count will arrive at the same number. The implementation fingerprint (916f47949b41) identifies the exact database version so that comparisons across different computation runs are meaningful.

It has one limitation: the statistics describe this database, not English language in general. A word that appears in TWL but not in everyday usage contributes equally to frequency counts as a common word. Word-list frequency and corpus frequency (weighted by actual text occurrence) differ substantially. Where this distinction matters for interpretation, it is documented in the limitations section of each research page.

Database Composition — Three Source Word Lists

TWL
Tournament Word List — North American Scrabble standard
The TWL (also called OSPD5 for home play) is the official word list for North American Scrabble tournaments. It contains words valid for competitive play in the US and Canada. TWL words tend to be well-established in American English and exclude many obscure or archaic forms accepted by international Scrabble lists.
Collins
Collins Scrabble Words — international standard
Collins Scrabble Words (CSW, formerly SOWPODS) is used in international Scrabble tournaments outside North America. It contains significantly more words than TWL — including British English vocabulary, archaic forms, and technical terms. The Collins inclusion accounts for much of the word count above what TWL alone would provide.
British
British English vocabulary supplement
Standard British English vocabulary is included to ensure British spellings (COLOUR, THEATRE, PROGRAMME) and British-only words are findable. This supplement ensures the tool is genuinely useful for UK players and word game enthusiasts rather than being restricted to American English forms.
74,872
Total words after deduplication
After merging the three sources and removing duplicates, the database contains 74,872 unique words. Where a word appears in multiple sources, it appears once. Where American and British spellings differ (COLOR vs COLOUR), both appear as separate entries if both spellings are valid in their respective lists.

Computation Methods — Algorithm by Statistic Type

Prefix counts: Python str.startswith(prefix) on every lowercase word. Minimum word length enforced at prefix_length + 2 to exclude the prefix itself and trivial extensions. Count = number of qualifying matches.

Suffix counts: Python str.endswith(suffix) on every lowercase word. Same minimum-length guard. Count = number of qualifying matches.

Letter frequency: Character-by-character iteration over every word. Each alphabetic character incremented in a counter. Total character count = 606,880. Percentage = (letter_count / 606,880) × 100. Rounded to 2 decimal places.

Anagram families: Each word's letters are sorted alphabetically to create a canonical key. Python Counter groups words by canonical key. Family size = number of words sharing the same key. The largest family is the mode of this distribution.

Scrabble scoring: Letter values from the standard North American Scrabble tile set (A=1, B=3, C=3, D=2, E=1, F=4, G=2, H=4, I=1, J=8, K=5, L=1, M=3, N=1, O=1, P=3, Q=10, R=1, S=1, T=1, U=1, V=4, W=4, X=8, Y=4, Z=10). Sum of all letter values = word's base score. No board multipliers applied.

Word length distribution: Python len() applied to every word. Results grouped by length. Count and percentage computed per length group.

Implementation Fingerprint — Version Identification

The implementation fingerprint is a short hexadecimal hash derived from the word database content. The current fingerprint is 916f47949b41. Every statistics page on this site displays this fingerprint and a generation date. If a statistic was published with fingerprint 916f47949b41 and you compute the same statistic from the same database version, the results will match.

When the database is updated (new words added, corrections made), the fingerprint changes. All statistics pages are regenerated from the new database, and the new fingerprint is published alongside updated generation dates. This ensures no stale statistics persist after a database update.

Known Limitations

Scrabble-weighted vocabulary: The database over-represents medium-to-long Scrabble-valid words compared to everyday English usage. Frequency statistics reflect which letters appear most in Scrabble vocabulary, which differs from which letters appear most in common spoken or written English.

Vocabulary frequency vs corpus frequency: Statistics count each word once regardless of how often it appears in actual text. In a corpus-frequency model, THE would dominate. In this vocabulary-frequency model, THE is one word among 74,872. This distinction matters for letter frequency interpretation: T, H, E frequencies here reflect their presence across diverse vocabulary, not their prevalence in running text.

Accented characters: The database contains a small number of words with accented characters (é, ü, ñ, and others). These represent under 200 occurrences across 606,880 total character positions — under 0.03%. They are excluded from the standard 26-letter frequency tables to avoid confusion, but are present in the raw database.

Proper nouns and abbreviations: Some proper nouns (place names, personal names) and abbreviations (BBQ, IQ, FAQ) appear in the database because they are valid in one or more of the source word lists. They contribute to statistics like Q-without-U word counts and letter frequency. This is documented where relevant.

Quality Control — Preventing Errors

Statistics pages are validated against two checks before publication. First, all counts are cross-checked by running alternative Python implementations of the same computation — for example, suffix counts are verified by both a str.endswith() loop and a regex-based count, and both must produce identical results. Second, a sample of results is manually verified: for the prefix count of RE-, a random sample of 50 words from the 2,486 results is checked to confirm that each actually starts with RE- and has the required minimum length. Discrepancies between methods or failed manual checks cause the full computation to be repeated before publication.

The computation script itself is version-controlled alongside the word database. Any change to the computation methodology (new algorithm, changed threshold, different normalisation) is documented by a change in the script version. Published statistics always reference both the implementation fingerprint (identifying the database version) and the script used for computation, so that future readers can understand exactly what was computed and how.

Frequently Asked Questions

How are statistics on MyAnagramSolver computed?
All statistics published on this site are computed programmatically from the WORD_DB — the same 74,872-word database used by the live anagram solver. A Python analysis script reads the wordlist.js file, runs character-frequency analysis, suffix/prefix matching, anagram family grouping, and scoring computations, then outputs the results. No statistics are estimated, interpolated, or sourced from third-party databases. Every figure is directly verifiable by running the same algorithm against the same input.
What is the implementation fingerprint and why does it matter?
The implementation fingerprint (currently 916f47949b41) is a short hash derived from the word database content. It serves as a version identifier: if the word list changes, the fingerprint changes. Any statistic published with fingerprint 916f47949b41 was computed from the same database state and will produce the same result if recomputed. This allows readers and researchers to verify that a published statistic matches a specific database version.
What sources does the word database combine?
The database combines three sources: the TWL (Tournament Word List, used in North American Scrabble tournaments), Collins Scrabble Words (used internationally, including the UK, Australia, and South Africa), and standard British English vocabulary. Where the sources overlap, words appear once. Where they differ, both variants are included — this is why both American and British spellings appear in the database.
How are individual prefix word counts computed?
Prefix counts use Python's str.startswith() method applied to every lowercase word in WORD_DB. A word qualifies as a prefix match only if its length exceeds the prefix length by at least 2 characters — this excludes the prefix itself if it appears as a standalone word. Example: searching RE- excludes the word RE and requires words of at least 4 characters (RE + at least 2 more letters).
How are suffix counts computed?
Suffix counts use Python's str.endswith() method applied to every lowercase word. The same minimum-length guard applies: a word qualifies as a suffix match only if it is longer than the suffix by at least 2 characters. This prevents the suffix string itself from appearing in its own count.
How are letter frequency percentages computed?
Letter frequency is computed by iterating over every character in every word in WORD_DB and counting occurrences of each letter. The total letter count across all words is 606,880. Each letter's percentage is its count divided by 606,880 multiplied by 100. Only the 26 standard ASCII letters are included in frequency tables; the small number of accented characters in the database are counted separately and noted in the limitations section.
How are anagram families identified?
Anagram families are identified by sorting the letters of each word alphabetically to create a canonical key. All words sharing the same canonical key belong to the same family. A Python Counter tracks family sizes. The family with the most members is the largest anagram family — currently 9 words sharing the letter set A,E,L,S,T: LEAST, SLATE, STAEL, STALE, STEAL, TAELS, TALES, TEALS, TESLA.
What are the known limitations of the methodology?
Four primary limitations apply: (1) The database is Scrabble-weighted, so word length distribution skews longer than everyday English usage; (2) A small number of accented characters (é, ü, ñ) appear in the database but are excluded from the 26-letter frequency tables — they represent under 0.02% of all characters; (3) Frequency statistics represent vocabulary frequency (each word counted once) not text-frequency (weighted by how often words appear in actual writing); (4) Proper nouns, abbreviations, and compound forms may be partially included or excluded depending on the source word list definition.
How often are statistics updated?
Statistics are regenerated whenever the word database is updated. The implementation fingerprint changes with every database update, and all published statistics are regenerated from the new database. The generation date and fingerprint appear on every statistics page, allowing readers to determine whether a figure reflects the current database state.
Can I reproduce these statistics independently?
Yes. Load the wordlist.js file from this site, extract the space-separated word list, and run the same analysis. The computation for any statistic described on this site is documented on the research methodology page and reproducible. Contact us through the contact page if you identify a discrepancy between a published statistic and a fresh computation.