The claim that started it
Three definitions of income, and $30k is the top 1% under none of them
"Earning $30,000 a year puts you in the top 1% of earners worldwide." Sometimes the number is $60,000. The gap between the two versions is the definition of income, so the site keeps each definition as its own measure and never averages them.
| Definition | Source | Median | Top 10% | Top 1% | Where $30k lands |
|---|---|---|---|---|---|
| Pre-tax national income per adult, PPP | WID.world, 2023 | $11,000 | $64,000 | $220,000 | 75th percentile |
| Post-tax disposable income per adult, PPP | WID.world, 2023 | $12,000 | $66,000 | $200,000 | 72nd |
| Household consumption or income per person, PPP | World Bank PIP, 2022 | $3,200 | $19,000 | $57,000 | 94th |
The "$60k" version is roughly right for the World Bank's per-person measure, which counts children, comes from household surveys and is net of tax. The "$30k" version fails under all three. Try your own number:
Where an income lands
Each line is a published grid of percentile points joined on a log scale, the way the site places "Where do I land" values. Purchasing-power dollars per year.
History
The top-1% line moved too, and the median moved faster
Under WID's pre-tax definition the world top 1% started at $131,000 in 1980 and $223,000 in 2023, in constant purchasing-power dollars: a real rise of 70%. Over the same years the median adult went from $5,200 to $11,100. Where a source has history, the site draws a second chart like this one under the curve. Open the income fact to see it there.
Since 1980 the median has more than doubled; the top-1% threshold rose 70%
World pre-tax national income per adult, WID.world, 1980 to 2023, from the fact's own history.
Two more
Age and the marathon
One in a hundred people alive is at least 84.6 years old; the median person is 31.9. To be in the fastest 1% of the 778,747 people who finished a timed marathon in the 2013 research sample, you needed to run under 2:50. The median finisher took 4:19.
The screen
A sentence, the curve it came from, and the evidence beside it
Five modes sit in the left rail. Explore picks a measure and narrows the group, showing each narrowing step so any of them can be undone. Ask takes the question in words. Where do I land puts your own number on the curve, as the chart above does, and keeps it in a profile in your browser only. Compare draws a second group on the same curve, dashed. Surprise me picks a graded fact you didn't ask for.
The center holds the sentence and the whole distribution under it, with money on a log scale. The right column is the evidence: the grade and its reason, the range across sources, the group size and where it came from, the definition, the caveat, and each source with the value it gives at this percentile.
How the numbers are made
One fetcher per source, one row shape, fixed grading rules
Each fact is one distribution: a measure, a group, a reference year, a grid of percentile points, and its sources. One fetcher per source reads it into the same row shape for every year it publishes. A build step makes the latest year the fact and earlier years its history, from the same sources only. A verify step computes the spread across sources at each shown percentile, assigns the grade by fixed rules, and refuses to build a fact with no source.
The UN pyramid gives ages directly. WID publishes income and wealth thresholds from 1980. The World Bank API answers "what welfare level is the 99th percentile" per country. NHANES gives measured US body data, weighted to the population. NCD-RisC gives height means by birth cohort (so those percentiles are derived) and BMI in bands (so those are interpolated). Marathon times are plain quantiles of the 778,747 finishers in the 2013 sample published with Allen, Dechow, Pope and Wu's Management Science paper, compiled from races' own results.
Grades
- A
- Two or more independent sources, at least one official, within 10% at every shown percentile.
- B
- One official source, or a derived percentile.
- C
- Sources disagree by more than 10%, or a known definitional mismatch.
- D
- From the research loop, not yet checked by a person.
A reviewer can lower a grade with a reason and never raise one. The way up is another source.
Questions outside the catalog
A research loop that ships its answers stamped "unreviewed"
A question the catalog can't answer goes to a research loop: a fixed prompt, a JSON schema, and a model with web search that must name its sources, define the measure, and say where the sources disagree. The result ships as a grade D fact with an "unreviewed" stamp on the page and on its share image, and a person reviews it later.
Sixty popular questions (chess ratings, IQ, push-ups, typing speed, Instagram followers, VO2 max, savings by age, test scores) have been through it. 42 produced a fact; 41 ship, and the bench press is held because its grid ran backwards. 18 found nothing the model would stand behind. The first result is why the stamp exists: for "what chess rating is the top 1%" the model found four sources and wrote a careful caveat about FIDE's rating floor, then averaged FIDE, US Chess and Lichess values into one grid. Review is where one definition gets chosen.
Live research at the moment of asking is written and waits for a server. Until then a missing fact offers "Request this fact", which files a GitHub issue the loop picks up.
The parser
90.5% on a frozen set of 200 questions, and an honest asterisk
Two parsers return the same shape. A rules parser runs in your browser: regexes for percentiles, sex, age and values, a country alias table, and a phrasing match that accepts inflections, with a fuzzy fallback for typos. An LLM parser, once deployed, runs in a Cloudflare Worker against the same catalog, and the browser falls back to the rules parser after 2.5 seconds or on any error.
| Question type | Rules parser |
|---|---|
| Plain | 95% |
| Paraphrased | 92% |
| Includes the asker's own number | 60% |
| Ambiguous | 95% |
| Out of scope (3 invented ids) | 92% |
The parser was adjusted twice after seeing failures, so its score is optimistic by an unknown amount. Details in eval/results.md.
Limits
What it cannot show
- Almost everything is B. An A needs independent producers measuring the same definition, and for income, wealth, height and age there is usually one.
- Height outside the US is derived from cohort means under a normal assumption. Measured height tails are slightly heavier than normal, so the Dutch 202 cm is probably a centimeter or two high.
- BMI percentiles are linear interpolations inside published bands.
- Marathon facts describe the 2013 research sample (61% US); the "world" running group means finishers in that sample.
- Researched facts are only as good as what the web says. They are graded D and stamped, can mix definitions until reviewed, and have no group size.
- History charts follow one definition, so a change of method inside the source shows up as an unexplained kink in the line.
- Group counts for age bands and categories are survey shares applied to UN totals.
- The LLM parser, live research and the request queue need a Cloudflare account and a Groq key before they run.
Sources
Where the facts come from
UN DESA, World Population Prospects 2024. WHO Global Health Observatory, life expectancy at birth. World Inequality Database, bulk download September 2026. World Bank Poverty and Inequality Platform, release 20260922, 2021 PPP. CDC NHANES August 2021 to August 2023. NCD Risk Factor Collaboration, height (Lancet 2020) and adult BMI (Nature 2026). Allen, Dechow, Pope and Wu (2017), marathon finisher records. Researched facts cite their own sources on each fact page. Licenses and access dates are on the sources page.