Methodology
RAN fixes a single rule for turning a raw count into a digit, but not which source you draw the count from. This site keeps scores comparable by using one consistent set of sources across every language and stating, on each page, exactly where its numbers came from.
The rule
Each digit is ⌊log₁₀(count)⌋: the floor of the base-10 logarithm of a raw count. No weighting, no lookup table.
The sources used here
One set of sources, applied to every language. Sensible defaults, not a mandate — use your own, as long as you say which.
| Component | Source | What is counted |
|---|---|---|
| S (speakers) | Ethnologue | Number of fluent (L1) speakers |
| M (monolingual) | OSCAR 23.01 | Sentences in the largest monolingual corpus |
| Li-Bi (bilingual) | OPUS | Sentences in the largest parallel corpus with partner Li |
Corpora grow, so a score is implicitly as of its sources (here, OSCAR 23.01 and OPUS as queried). Refresh the sources, recompute by the same rule.
Pipeline
Scores come from a reproducible pipeline (in the RAN repo, not this vault):
- Gather — speaker counts, monolingual sizes, and per-partner parallel sizes, from the sources above.
- Score — take ⌊log₁₀⌋ of each count, order the bilingual pairs by descending Bi, assemble the
S/M/…string. - Verify — MT scores against published NLLB-200 metrics; bilingual sizes against the live OPUS API.
Every language page shows the raw counts behind its digits, so you can audit a score, not just trust it.
Scope and caveats
- Macrolanguages. Some entries (e.g. Chinese) are macrolanguages; the page notes which sub-tags are in scope.
- Sparse data. For tiny languages a count may be 0 — that's information, not an error.
See Notation for what the components mean and the RAN Paper for how they relate to measured performance.