# Net Worth Percentile — Data Sources

Each country file in this directory follows the schema validated by
`frontend/src/components/net-worth-percentile/types.ts`. The
`countryData.test.ts` meta-test (Task 3) loads every file listed in
`index.json` and asserts schema + invariants.

---

## us.json — United States

- **Source**: Federal Reserve Survey of Consumer Finances 2022
- **Bulletin**: "Changes in U.S. Family Finances from 2019 to 2022", Federal Reserve Bulletin (October 2023)
- **Bulletin URL**: https://www.federalreserve.gov/publications/files/scf23.pdf
- **Bulletin HTML**: https://www.federalreserve.gov/publications/october-2023-changes-in-us-family-finances-from-2019-to-2022.htm
- **SCF homepage**: https://www.federalreserve.gov/econres/scfindex.htm
- **Retrieved**: 2026-05-20
- **License**: Public domain
- **Next update expected**: 2026 (SCF 2025 wave, typically released ~6 months after fieldwork closes).

### Medians and Means

All six age-bracket medians and means come **directly from Bulletin Table 2** ("Changes in U.S. Family Finances from 2019 to 2022", Federal Reserve Bulletin, October 2023, HTML version). The Bulletin reports values in thousands of 2022 dollars; these were multiplied by 1000 to produce whole-dollar amounts stored in `us.json`.

| Age bracket | Median (Bulletin Table 2) | Mean (Bulletin Table 2) |
|-------------|--------------------------|------------------------|
| Under 35    | $39,000                  | $183,500               |
| 35–44       | $135,600                 | $549,600               |
| 45–54       | $247,200                 | $975,800               |
| 55–64       | $364,500                 | $1,566,900             |
| 65–74       | $409,900                 | $1,794,600             |
| 75+         | $335,600                 | $1,624,100             |

### Percentile Breakpoints (p25, p50, p75, p90, p99)

The SCF Bulletin Table 2 does not publish per-age-bracket percentile breakpoints beyond the median. The source for p25/p50/p75/p90/p99 is **DQYDJ's computed SCF 2022 microdata tables** at https://dqydj.com/net-worth-by-age-calculator-united-states/ (retrieved 2026-05-20). DQYDJ uses the SCF 2022 public-use microdata file (PUF) released in October 2023. They report these percentiles in 5-year age bands (18–24, 25–29, 30–34, 35–39, 40–44, 45–49, 50–54, 55–59, 60–64, 65–69, 70–74, 75–79, 80+).

To align with the required 10-year brackets, each pair of adjacent 5-year bands was averaged:
- Under 35: simple average of 18–24, 25–29, 30–34
- 35–44: average of 35–39, 40–44
- 45–54: average of 45–49, 50–54
- 55–64: average of 55–59, 60–64
- 65–74: average of 65–69, 70–74
- 75+: average of 75–79, 80+

After aggregation, all percentile values (p25, p75, p90, p99) were scaled by the ratio `official_median / dqydj_p50` to ensure that p50 matches exactly the official SCF Bulletin median. Scale factors ranged from 0.90 (under-35 bracket) to 1.03 (45–54 bracket), reflecting close agreement between DQYDJ's computed medians and the official Bulletin values.

**p50 is set to the official Bulletin median exactly** (median = p50 in all brackets).

### p10 Derivation

The p10 (10th percentile) breakpoint is **not published** in the SCF Bulletin, the DQYDJ tables, or any other public SCF summary table found during research. It was derived using **log-linear extrapolation** from p25 and p50:

```
p10 = p25 * (p25 / p50)^(15/25)
```

This formula assumes a log-linear wealth distribution between the 10th and 50th percentile, consistent with the `"interpolation": "log-linear"` field in the file. For all brackets, p10 > 0, reflecting that more than 10% of families in every age group hold positive net worth.

### Exclusions and Caveats

- **Defined-benefit pension wealth and Social Security wealth are excluded** from the SCF net worth definition (as published).
- The under-35 median ($39,000) is notably low due to student debt and early career wealth accumulation dynamics. The p10 for this bracket ($1,212) reflects the substantial share of young families with near-zero wealth.
- The p99 values for older brackets ($16–20M range) reflect the fat upper tail of the U.S. wealth distribution captured in the SCF. These are plausible given the SCF oversamples high-wealth households.
- DQYDJ does not publish standard errors or confidence intervals; the SCF PUF values have implicit sampling error, particularly in extreme quantiles.

### Verification

The user should verify these values against the official SCF 2022 data before relying on them in production. Primary verification paths:
1. Check medians and means against Bulletin Table 2 (HTML version linked above).
2. For percentile breakpoints, run quantile regression directly on the SCF PUF files available at https://www.federalreserve.gov/econres/scfindex.htm (SAS/Stata/CSV formats).

---

## gb.json — United Kingdom

- **Source**: ONS Wealth and Assets Survey, April 2018 – March 2020
- **Bulletin URL**: https://www.ons.gov.uk/peoplepopulationandcommunity/personalandhouseholdfinances/incomeandwealth/bulletins/totalwealthingreatbritain/april2018tomarch2020
- **Primary data file**: ONS User Requested Data release 14240, "Mean and median wealth by component and age of household reference person (HRP): Great Britain, April 2018 to March 2020" (corrected 16 May 2025). URL: https://www.ons.gov.uk/peoplepopulationandcommunity/personalandhouseholdfinances/incomeandwealth/adhocs/14240meanandmedianwealthbycomponentandageofhouseholdreferencepersonhrpgreatbritainapril2018tomarch2020
- **Overall percentile source**: Table 2.4 of ONS dataset "Total Wealth: Wealth in Great Britain, July 2006 to June 2016 and April 2014 to March 2020". URL: https://www.ons.gov.uk/peoplepopulationandcommunity/personalandhouseholdfinances/incomeandwealth/datasets/totalwealthwealthingreatbritain
- **Retrieved**: 2026-05-20
- **License**: Open Government Licence v3.0
- **Next update expected**: 2027 (WAS Round 9, expected to cover approximately April 2022 – March 2024; ONS typically publishes approximately 18–24 months after fieldwork closes)

### Medians and Means

All six age-bracket medians and means were taken **directly** from ONS User Requested Data release 14240 (xlsx file `meanandmedianwealthbycomponentandageofhouseholdreferencepersonhrpcorrection.xlsx`, Table 1). Values are published in whole pounds (not thousands). The age brackets in this release are: 16–24, 25–34, 35–44, 45–54, 55–64, 65+. The 65+ bracket is open-ended.

| Age bracket | Median (GBP) | Mean (GBP) |
|-------------|-------------|-----------|
| 16–24       | £22,300     | £58,600   |
| 25–34       | £76,800     | £151,500  |
| 35–44       | £198,100    | £349,900  |
| 45–54       | £366,600    | £582,000  |
| 55–64       | £556,100    | £872,200  |
| 65+         | £467,700    | £730,900  |

**Important household-level caveat**: These figures measure **household** total wealth, assigned to the age of the Household Reference Person (HRP — the person responsible for household affairs). They are not per-adult or per-capita figures. The data cannot be directly compared with per-adult datasets (such as the U.S. SCF) without adjusting for household size.

**Wealth definition (broader than SCF)**: Total wealth includes net property wealth, net financial wealth, physical wealth, and **private pension wealth** (both defined-contribution and defined-benefit pensions at actuarial present value). The inclusion of DB pension wealth — which is excluded from the SCF net worth definition — means the UK figures are systematically higher relative to comparable household age bands in the US data.

### Overall Population Percentiles (p25, p75)

The overall population p25 (£71,000) and p75 (£733,800) were taken **directly** from Table 2.4 of the ONS Total Wealth dataset (April 2018 to March 2020 wave, "Total Wealth including Private Pension Wealth" row). The overall median (£302,500) was also taken from Table 2.4 and matches the bulletin headline figure.

### Age-Bracket Percentile Breakpoints (Derived)

ONS does not publish per-age-bracket percentile breakpoints (p10, p25, p75, p90, p99) for this wave. They were derived using the **ratio-shape method**:

```
p_x_bracket = bracket_median × (overall_p_x / overall_median)
```

This preserves the shape of the overall wealth distribution scaled to each bracket's median. The ratios used are:

- p25 ratio = £71,000 / £302,500 = 0.2347
- p75 ratio = £733,800 / £302,500 = 2.4258
- p90 ratio = 5.617 (derived from overall banded distribution in Table 2.5 of the dataset, scaled by the p75 scale factor of 0.899)

The p10 for each bracket was derived via log-linear extrapolation:
```
p10 = p25 × (p25 / p50)^(15/25)
```

The p99 for each bracket was derived from a log-normal model fitted to each bracket's published mean and median:
```
sigma = sqrt(2 × ln(mean / median))
p99 = exp(ln(median) + 2.326 × sigma)
```

All derived percentile values were rounded to the nearest £100.

**Note on Table 2.11 incompatibility**: The ONS dataset also includes Table 2.11 ("Individuals by age, by household total wealth"), which gives banded wealth distributions (seven bands from <£20k to £1m+) by individual age. This table was examined but not used for percentile derivation because it classifies individuals by their own age regardless of HRP status — a 20-year-old child living in a wealthy household would be counted in the high-wealth band. This individual-level table is systematically inconsistent with the HRP-based median/mean figures in the adhoc release 14240.

### Verification

To verify the medians and means: download the correction xlsx from ONS adhoc release 14240 and inspect Table 1, rows 5–20 (columns K and L for total wealth mean and median respectively). To verify p25/p75 overall: download the total wealth dataset xlsx and inspect Table 2.4 row for "April 2018 to March 2020".

---

## ca.json — Canada

- **Source**: Statistics Canada Survey of Financial Security 2023
- **Release URL**: https://www150.statcan.gc.ca/n1/daily-quotidien/241029/dq241029a-eng.htm
- **Table 1 (Daily release)**: "Total and median net worth by age of main income earner and family type" — https://www150.statcan.gc.ca/n1/daily-quotidien/241029/t001a-eng.htm
- **Table 11-10-0049-01**: Assets and debts by net worth quintile, Canada, provinces and selected census metropolitan areas — https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1110004901
- **Retrieved**: 2026-05-21
- **License**: Statistics Canada Open Licence
- **Notes**: The SFS uses the "economic family and persons not in economic family" unit, assigned by age of the major income recipient. Net worth includes the principal residence and the actuarial present value of defined-benefit employer pension entitlements — making the SFS definition broader than the U.S. SCF (which excludes DB pension entitlements and Social Security wealth). The five age brackets (under 35, 35–44, 45–54, 55–64, 65+) follow the SFS publication exactly; 65+ is a single open-ended bracket with no separate 65–74 / 75+ split published. **Medians** (under 35: $159,100; 35–44: $409,300; 45–54: $675,800; 55–64: $873,400; 65+: $738,900) come **directly** from Statistics Canada Table 1 of the SFS 2023 Daily release (October 29, 2024), constant 2023 CAD. **Mean values and p10/p25/p75/p90** were sourced from WealthNorth.ca (https://wealthnorth.ca/personal-finance/net-worth-by-age/), which cites SFS 2023 and whose medians match the official Statistics Canada Table 1 values exactly — confirming it references the same survey and vintage. WealthNorth.ca does not publish its full methodology for deriving percentile breakpoints; these values are rounded estimates (to the nearest $5,000 or $25,000), not percentile breakpoints directly published by Statistics Canada in the standard release. Statistics Canada does not publish per-age-bracket percentile breakpoints (other than the median) in the SFS Daily release or the standard CANSIM tables. **p99** for each bracket was derived using a log-normal model fitted to each bracket's published mean and median: `sigma = sqrt(2 × ln(mean/median))`, `p99 = exp(ln(median) + 2.326 × sigma)`, rounded to the nearest $1,000. The under-35 p10 is negative (-$15,000), reflecting the substantial share of young families carrying net negative wealth (student debt exceeding assets).
- **Next update expected**: 2027 (SFS runs every ~3 years).

---

## cz.json — Czechia

- **Source**: ECB Household Finance and Consumption Survey (HFCS), Wave 4, fieldwork 2021 — Statistical Tables (July 2023), CZ country column
- **ECB URL**: https://www.ecb.europa.eu/stats/ecb_surveys/hfcs/html/index.en.html
- **Statistical Tables PDF**: https://www.ecb.europa.eu/home/pdf/research/hfcn/HFCS_Statistical_Tables_Wave_2021_July2023.pdf
- **Results Paper (SPS46)**: https://www.ecb.europa.eu/pub/pdf/scpsps/ecb.sps46~3563bc9f03.en.pdf
- **ČNB URL**: https://www.cnb.cz/en/financial-stability/topics-financial-stability/hfcs/
- **Czech Statistical Office HFCS landing**: https://csu.gov.cz/csu/vykazy/the-sample-survey-household-finance-and-consumption-survey-hfcs
- **Retrieved**: 2026-05-21
- **License**: ECB public statistical data — reproduction for educational and non-commercial purposes is permitted provided that the source is acknowledged.
- **Notes**: All age-bracket medians come **directly** from HFCS Statistical Tables Wave 2021 (July 2023), **Table A3** (net wealth medians by age of reference person), CZ column, EUR thousands. All age-bracket means come **directly** from **Table A4** (net wealth means by age), CZ column, EUR thousands. The overall net wealth decile distribution (p10 through p90) used to derive bracket percentiles comes **directly** from **Table J3** (net wealth per household — distribution), CZ column. All source values were published in EUR and converted to CZK using the **ECB annual average reference exchange rate for 2021 of 25.64 CZK/EUR** (ECB SDW series EXR.A.CZK.EUR.SP00.A; explicitly cited in HFCS Wave 4 results paper footnote 7: "For the Czech Republic, average over 2021"). This rate is consistent with the Czech fieldwork period (February 2020 – February 2022), centred on 2021. **HFCS net wealth EXCLUDES public and occupational defined-benefit pension entitlements** — unlike the UK ONS WAS and Statistics Canada SFS which include DB pension wealth at actuarial present value. This means Czech figures are not directly comparable with the GB and CA datasets in this directory. Per-age-bracket percentile breakpoints p25 and p75 are not published by HFCS; they were linearly interpolated between the adjacent published deciles (p25 from p20/p30; p75 from p70/p80). All per-age-bracket percentile breakpoints other than the median and mean were derived using the ratio-shape method: bracket_pX = bracket_median × (overall_pX / overall_p50). p99 for each bracket was derived using a log-normal model: sigma = sqrt(2 × ln(mean/median)), p99 = exp(ln(median) + 2.326 × sigma). All CZK values rounded to the nearest 1,000 CZK. The unit is the household, assigned by age of the household reference person (highest income earner in the household). Czechia participated in HFCS for the first time in Wave 4; no earlier HFCS waves are available for comparison. The HFCS Statistical Tables (July 2023) are based on HFCS data version 4.0.
- **Next update expected**: 2027 (HFCS Wave 5).

## de.json — Germany

- **Source**: Deutsche Bundesbank Panel on Household Finances (PHF) 2021 / ECB HFCS Wave 4
- **Bundesbank URL**: https://www.bundesbank.de/en/bundesbank/research/panel-on-household-finances
- **HFCS Statistical Tables**: https://www.ecb.europa.eu/home/pdf/research/hfcn/HFCS_Statistical_Tables_Wave_2021_July2023.pdf (DE column in Tables A3, A4, J3)
- **Retrieved**: 2026-05-21
- **License**: ECB public statistical data — reproduction for educational and non-commercial purposes is permitted provided that the source is acknowledged
- **Notes**: Age-bracket medians come directly from HFCS Statistical Tables Wave 2021 (July 2023) Table A3 (DE column, EUR thousands): 16–34: 16.3k, 35–44: 65.7k, 45–54: 155.2k, 55–64: 230.3k, 65–74: 232.1k, 75+: 129.9k. Age-bracket means come directly from Table A4 (DE column, EUR thousands): 16–34: 94.7k, 35–44: 213.3k, 45–54: 441.2k, 55–64: 420.1k, 65–74: 372.0k, 75+: 343.6k. Overall decile distribution comes from Table J3 (DE column). p25 and p75 overall were derived by linear interpolation between adjacent published deciles (p25 = 12.9k EUR, p75 = 364.1k EUR). Per-household measure. Includes private and voluntary pension wealth, excludes statutory state pension (GRV). Germany has one of the most unequal wealth distributions in the eurozone (~49% homeownership rate in 2021); overall p10 is only 0.9k EUR vs median 106.7k EUR. Per-bracket percentile breakpoints derived via ratio-shape method. p99 derived via log-normal model. All values in EUR, rounded to nearest 100 EUR.
- **Next update expected**: 2027 (HFCS Wave 5).
