Your result
Type a value to see where you stand.
Top —
Average
—
Median
—
Top 1%
—
Top 0.1%
—
Average income across selected countries
Click any card to re-run your number against that country.
Income and wealth distribution by country
Detailed pages for 40 major economies. Click any country to open its dedicated page.
Explore the full free tool library
Nine free calculators plus the stock research workflow, connected as one practical finance library.
Where do you rank for income and wealth in your country?
Compare your number against country-level income and wealth distributions.
Income & wealth percentile by country 02How much reachable money do you really have?
Compare cash and near-cash savings against country benchmarks.
Compare your liquid money by country 03Are you ahead or behind for your age?
Benchmark wealth by age group instead of comparing yourself to everyone.
Net worth by age and country 04What did your money used to buy?
See how inflation changed the real value of money across time.
Purchasing power by decade 05Did your raise actually beat inflation?
Turn a nominal salary increase into the real raise you kept.
Pay raise after inflation 06Is rent eating too much of your income?
Check rent pressure against income and practical affordability limits.
Rent affordability calculator 07How long can your savings carry you?
Estimate how many months your cash lasts at your current burn rate.
Savings runway calculator 08What counts as middle class where you live?
Compare household income with local middle-class ranges.
Middle class income calculator 09Which asset actually grew your money?
Compare alternative assets in real terms instead of headline returns.
Alternative assets return comparison 10Want a structured way to research stocks?
Move from calculators to a full AI stock-research workflow.
Tesseract Stock AgentHow the numbers are calculated.
Behind every percentile on this page is a per-country statistical model fitted to published distribution thresholds, then adjusted for informal economic activity, sanctioned currency systems, and missing source coverage. This page documents the model, the corrections, and what they cannot capture. Treat the figures as directional, not surgical.
Where the data comes from.
Four upstream sources, each contributing one piece of the picture. Coverage is uniform across all 217 economies on the page.
World Inequality Database
Per-country thresholds for pretax national income per adult (tptincj992) and net household wealth per adult (thwealj992). Equal-split adults: resources divided equally within couples. Reference year 2024 for almost every country.
World Bank GDP & FX
GDP per capita (NY.GDP.PCAP.CD) and the implied USD-per-local rate derived from PCAP.CD ÷ PCAP.CN. The implied rate is more reliable than consumer feeds for sanctioned and parallel-market currencies.
WB Informal Economy DB
Informal output as a share of GDP (Elgin / Kose / Ohnsorge / Yu, 2021). DGE and MIMIC measures averaged. Used as the input that scales the informal-economy correction, not as an output.
open.er-api.com & ECB
Daily FX rates as fallback for currencies the World Bank does not cover. ECB rates from frankfurter.dev as a second fallback. Single snapshot, refreshed annually.
The statistical model.
A log-normal body for the bulk of the distribution, patched onto a Pareto tail above the 95th percentile. Same structure for income and wealth. All parameters stored in local currency.
Log-normal, anchored at the median.
The median is matched by construction: μ = ln(p50). Spread is the median of per-percentile σ estimates implied by p25, p75, p90, p95, anchored at μ. This is robust to outliers in any single anchor.
F(x) = LogNormal(μ, σ).cdf(x) if x < x_min F(x) = 1 − 0.05 · (x_min / x)^α if x ≥ x_min
Pareto patch above p95.
The Pareto exponent α is calibrated so the survival function above x_min = source p95 matches the published p99 and p99.9. Median of multiple anchor-implied alphas. The 0.05 in the patched CDF is the survival probability at x_min, anchoring the join.
Wealth distributions have substantial near-zero or negative mass at the bottom. The fitter excludes non-positive thresholds from the body fit. Validator emits warnings (not failures) when wealth p90 fit drifts from source.
Tier 1 — Informal-economy correction.
Pretax-individual income from WID under-reports in countries with large informal sectors. Tax records miss cash and self-employment; surveys under-cover the bottom and the very top. Tier 1 shifts the curve upward, calibrated by published informal share. The correction is one-sided: never downward.
- Trusted ratio. Compute
ratio = median(WID_median_USD ÷ GDP_per_capita_USD)across the subset of countries with informal share ≤ 12% AND GDP per capita ≥ $15k. These are the well-measured peers. - GDP-implied median. For each country:
implied_USD = ratio × GDP_per_capita_USD. - Gap.
gap = implied_USD ÷ measured_USD. Ifgap ≤ 1.05, no correction. - Blend weight.
α = clip((informal_share − 5) ÷ 55, 0, 1). Switzerland (8%) ≈ 0.05; Bolivia (60%) = 1.0. - Capped factor.
factor = 1 + α · (min(gap, 2.0) − 1.0). Never more than 2×. - Apply.
μshifts bylog(factor).x_minand every threshold scale byfactor.σandαare unchanged. Shape preserved, level shifted.
Per-dimension trusted ratios: wealth median is a stock (3–5× of GDP per capita on average) while income median is a flow (roughly 0.85×). Every corrected country carries an informal_correction block in its JSON exposing all inputs (informal share, gap, α, factor, original WID median, GDP-implied median).
Tier 2 corrections, and imputation for thin data.
Tier 1 is gentle. Some countries need stronger intervention because their primary measurement is fundamentally broken, or because no usable thresholds exist at all.
For sanctioned states & conflict zones.
After Tier 1, if the post-correction median is still off GDP-implied by more than 3× in either direction, the median is forced to GDP-implied using the same shift-everything mechanism.
- Trigger:
measured / implied > 3or< 1/3 - Recorded as:
gdp_sanity_correctionblock - Tier 1 block kept, marked
superseded_by - Affects: AS, MP, XK, CU, IR, SY, plus a few small territories with WID extrapolation artifacts
For countries WID does not cover.
A small set of micro-states have no usable WID thresholds. The shape is borrowed from regional peers; the level is GDP-anchored.
- Peers: same WB income group, prefer same WB region if 3+ peers exist
- Shape:
σ,α= median of peer fitted shapes - Level:
μ = log(target_GDP × peer_median_ratio) - Flagged
imputed: trueper dimension, with confidence label (high/medium/low based on peer count)
What we check before publishing.
Per-country sanity checks plus cross-country audits. The audit's job is to surface things a careful reviewer would want to look at. It does not gate the build — final judgment is human.
13 ✓/✗ checks.
μ,σreal,σ > 0,α > 1- Fitted median within 5% of source p50
- Fitted p90 within 8% of source p90 (warning)
- Patched p99 within 5% of source p99 (warning)
- Percentile table strictly monotonic
- Sources list non-empty
7 plausibility tests.
- USD-converted income median rank vs GDP-per-capita rank
σin plausible range per dimensionαin plausible range per dimension- Wealth-to-income median ratio in [0.3, 8.0]
- Imputation peer count
σvs Gini coefficient (when Gini available)- Last-updated freshness
What this model cannot do.
Honest limits matter more than confident-sounding numbers. The figures are directional comparisons, not personal financial guidance.
- Pretax national income includes pensions, capital income, and undistributed corporate profits. It is not the same as net-of-tax salary.
- Wealth bottom is heavy with debt; the fit between p10 and p25 is approximate.
- The informal-economy correction is a level shift, not a shape change. Distributional effects of informality are not modelled.
- Sanctioned and conflict-zone country data has irreducible quality issues. Tier 2 anchors them to GDP-implied; treat as directional only.
- Currency conversion uses a single FX snapshot. Annual refresh is recommended; cross-currency comparisons can drift between snapshots.
- Cohort dimensions (age, sector, region) are out of scope. So is PPP-USD as a third stored representation. Both are deferred.
Last reviewed 2026. The full per-country JSON, including raw thresholds and every correction block, is published alongside the page. The model is open: the math here is everything.