# Sources: who owns what

Inputs of the wealth page (`site/wealth_page.ml`, data in
`data/wealth.ml`). All files were downloaded on 2026-10-14 into `raw/`.
`build/extract.exe` reads them and writes the two typed CSVs the site loads:

    dune exec data/wealth/build/extract.exe -- data

- `balance_sheet.csv`: one row per balance-sheet cell (sector, item,
  counterpart area, EUR million, Insee status, the dimensions selecting it).
- `cells.csv`: one row per workbook cell or API row (table, item, group,
  value as published, sheet, row, row label, column).

Figures read from a PDF are written in `data/wealth.ml` with their quote.

## Stocks

- Insee, comptes de patrimoine, base 2020, `DD_CNA_PATRIMOINE` (file
  modified 2026-08-31).
  https://api.insee.fr/melodi/file/DD_CNA_PATRIMOINE/DD_CNA_PATRIMOINE_CSV_FR
  Local: `raw/DD_CNA_PATRIMOINE_CSV_FR.zip` (the zip as published; the
  extractor reads `DD_CNA_PATRIMOINE_data.csv` inside it),
  `raw/DD_CNA_PATRIMOINE_metadata.csv` (code lists).
  Cells: `STO=LE_N` (end-of-year stock), `PRICES=V`, `UNIT_MEASURE=XDC`
  (EUR million), `TIME_PERIOD=2024` (status `SD`, semi-final), for
  `REF_SECTOR` S1, S11, S12, S13, S14, S15 and S1M:
  - `INSTR_ASSET=B90` net worth, `ACCOUNTING_ENTRY=D`;
  - `INSTR_ASSET=N` non-financial assets, `D`;
  - `INSTR_ASSET=F` financial assets (`D`) and liabilities (`C`);
  - S1M `N111` dwellings and `N2111` land under buildings; S1 `N111`,
    `N1121`, `N2111`; S14 `F2`, `F62`, `F51`, `F52` and S15 `F2`, `F51`,
    `F52` (S15 has no `F62` row);
  - all with `COUNTERPART_AREA=W0`.
  Households are S14 + S15, as in `data/capital.ml`. The S1 `W0` net
  financial position (EUR -84.2bn) is the nation's position towards the
  rest of the world. Its split by instrument (shares, debt securities,
  loans) is not derived from these files: Insee's `W1` rows do not
  establish which instruments they cover, so the earlier "shares aside"
  residual was withdrawn (2026-10-15). The split needs the Banque de
  France's international investment position, not downloaded.

## Money

- Banque de France, Stat Info "Monnaie et concours à l'économie – France •
  Décembre 2024", 29 January 2025.
  https://www.banque-france.fr/system/files/webstats/Monnaie_et_concours_a_leconomie_202412_20250128/FR_Stat_Info_Monnaie_et_concours_a_l%27economie_202412.pdf
  Local: `raw/bdf_stat_info_monnaie_202412.pdf` and `.txt` (pdftotext
  -layout). Tableau 1, p. 1: dépôts à vue = ressources résidentes incluses
  dans M1, 1 265; total des ressources résidentes incluses dans M3 France,
  2 979; composante française de l'agrégat monétaire M3 de la zone euro,
  3 311 (EUR bn, December 2024, provisional).
- ECB Data Portal, BSI, euro-area M1 and M3, December 2024, seasonally
  adjusted.
  https://data-api.ecb.europa.eu/service/data/BSI/M.U2.Y.V.M10+M30.X.1.U2.2300.Z01.E?format=csvdata&startPeriod=2024-12&endPeriod=2024-12
  Local: `raw/ecb_bsi_U2_M1_M3_202412.csv`. M3 = 16,764,295 EUR million.
- Not found: a machine-readable Banque de France series for France's
  contribution to M1/M3. Webstat lists `BSI1.M.FR.N.V.M30.A.1.U2.2300.Z01.E`
  and siblings in its catalogue but serves no records without an API key,
  and the ECB's BSI dataset has no French `V` (money-holding) series. The
  Stat Info PDF is the source used.

## Who owns it

- Insee Focus n° 287, "Début 2021, 92 % des avoirs patrimoniaux sont
  détenus par la moitié des ménages", January 2023.
  https://www.insee.fr/fr/statistiques/6689022 ; data
  https://www.insee.fr/fr/statistiques/fichier/6689022/if287.xlsx
  Local: `raw/insee_focus287_if287.xlsx`, `raw/insee_focus287.html`.
  Sheet "Figure 1", column E (2021, "Part de la masse de patrimoine brut
  total détenue"), rows 5-8: top 50 % 92, top 10 % 47, top 5 % 34, top 1 %
  15. Households ranked by gross wealth.
- Insee Références, Revenus et patrimoine des ménages, édition 2024, fiche
  2.4 "Patrimoine des ménages".
  https://www.insee.fr/fr/statistiques/7941421?sommaire=7941491 ; data
  https://www.insee.fr/fr/statistiques/fichier/7941421/RPM2024-F26.xlsx ;
  PDF https://www.insee.fr/fr/statistiques/fichier/7941421/RPM2024-F26.pdf
  Local: `raw/insee_RPM2024-F26.xlsx`, `.pdf`, `.txt`. Sheet "Tableau
  complémentaire 2", column B (Moyenne): mean net wealth by quartile of
  household disposable income (rows 5-8) and by age of the reference person
  (rows 10-15), early 2021 (enquête Histoire de vie et Patrimoine
  2020-2021).
- World Inequality Report 2026, country sheets (France, table 1, p. 170):
  top 10 % 59.7 %, top 1 % 27.4 %, bottom 50 % 4.9 % of net personal wealth,
  adults ranked by net wealth. Already in `data/capital/top.csv` and
  `data/capital/SOURCES.md`.
- Not found: wealth by tenth of living standard (niveau de vie par unité de
  consommation), the ranking of the site's other pages. Insee publishes the
  survey by wealth decile, by quartile of household disposable income and
  by age only.

## Private flows

- Capital income by twentieth of living standard, 2023: Insee Analyses
  n° 118, sheet "Tableau complémentaire", rows 8 (revenus financiers nets),
  9 (loyers réels et imputés), 10 (profits des entreprises non distribués
  aux ménages, B) and 4 (revenus primaires des ménages, A, for checks),
  columns B (Ensemble) and C-V (V1-V20). The workbook is
  `data/income/raw/IA118.xlsx` (read only, documented with the people
  diagram); URL https://www.insee.fr/fr/statistiques/fichier/8974371/IA118.xlsx.
- Inheritance and gifts, about EUR 300bn a year: CAE note n° 69, p. 5, as in
  `data/capital.ml`. Re-downloaded:
  https://www.cae-eco.fr/static/pdf/cae-note069s.pdf
  (`raw/cae-note069s.pdf`, `.txt`). Quotes used: p. 3 (half of a cohort
  inherits less than EUR 70,000; top 1 % more than EUR 4.2m net), p. 6 (top
  0.1 % pays barely 10 %).
- CAE Focus n° 077-2021, p. 5: gifts were nearly 45 % of the annual flow in
  2006. https://www.cae-eco.fr/static/pdf/cae-focus077.pdf
  (`raw/cae-focus077.pdf`, `.txt`).
- Eurostat `nasa_10_nf_tr`, rest of the world (S2), D4, D41, D42, D421, D43,
  D44, paid and received, 2022-2024, CP_MEUR (2023-2024 provisional; last
  update 2026-10-07).
  https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/nasa_10_nf_tr/A.CP_MEUR.PAID+RECV.D4+D41+D42+D421+D43+D44.S2.FR?format=SDMX-CSV&compressed=false&startPeriod=2022&endPeriod=2024
  Local: `raw/eurostat_nasa_10_nf_tr_FR_S2_D4.csv`. D42 received by S2 in
  2024: 70,227 (dividends paid abroad); D42 paid by S2: 124,673 (received
  by France).
- Not found: inheritance by living standard or age; who pays capital
  income by group.

## Taxes on capital

- European Commission, DG TAXUD, Data on taxation, `TAX_EC_FUNC` (update
  30/03/26), FR, MIO_EUR, 2024.
  https://webgate.ec.europa.eu/taxation_customs/redisstat/api/dissemination/sdmx/2.1/data/TAX_EC_FUNC/?format=SDMX-CSV&compressed=false&startPeriod=2024&endPeriod=2024
  Local: `raw/taxud_TAX_EC_FUNC_FR_2024.csv` (France rows only). Codes from
  the DSD: KIH taxes on households' capital income 56,518.4; KIC
  corporations' capital income 84,713.8; KS stock of capital 108,754.9; RP
  recurrent taxes on immovable property 58,724; IG inheritance and gift
  taxes 20,819 (= Eurostat D91A in `data/capital.ml`, checked by a test).
- Cour des comptes, Analyse de l'exécution budgétaire 2025, Recettes
  fiscales, April 2026, Tableau n° 14, p. 28: "Impôt sur la fortune
  immobilière 2,7 2,8" (EUR bn, 2024 and 2025).
  https://www.ccomptes.fr/sites/default/files/2026-04/NEB-2026-Recettes-fiscales.pdf
  Local: `raw/ccomptes_NEB2026_recettes_fiscales.pdf`, `.txt`.

## What the top holds, and a levy on it

- Insee, "Patrimoine et endettement des ménages en 2024" (26 February
  2026), enquête Histoire de vie et Patrimoine 2023-2024.
  https://www.insee.fr/fr/statistiques/8736842
  Local: `data/income/raw/insee_hvp2024_mtpatbrut_composante.xlsx`
  (downloaded 2026-10-14 for the people diagram, listed in
  `data/income/SOURCES.md`). Sheet PATBRUT, "Montant de patrimoine brut
  moyen, décomposition par grandes composantes (y compris endettement),
  selon le dixième de patrimoine brut", columns B-G (mean gross wealth;
  shares of real estate, financial, professional and residual wealth;
  debts as a share of gross wealth), rows "Supérieur au 9e décile" (14),
  "Supérieur au 99ᵉ centile" (17) and "Ensemble" (18). Extracted into
  `cells.csv` as table `HVP24`. The top's share of net wealth is computed
  from the means and debt ratios (households ranked by gross wealth):
  49.4 % for the top 10 %, 16.0 % for the top 1 %.
  Note: the sheet's "Lecture" line gives 13.3 % debt for the top 1 %; the
  table row gives 9.5 % (13.3 % is the "Ensemble" row). The table is used.
- Eurostat `gov_10dd_ggd`, general government gross debt by holder,
  S1_S2 (all holders), 2024: 3,306,096.7 EUR million (updated 2026-06-05).
  Local: `data/income/raw/eurostat_gov_10dd_ggd_FR.csv`, listed in
  `data/income/SOURCES.md`. Extracted into `cells.csv` as table `GGD`.
- World Inequality Report 2026, top 10 % and top 1 % shares of net personal
  wealth (59.7 %, 27.4 %): as above, from `data/capital.ml`.
- Senate report n° 689 (2024-2025), E. Capus, 4 June 2025, p. 7 and p. 41:
  the 2 % rate, Zucman's EUR 20bn (15-25), the 0.3 % already paid, the
  EUR 1,228bn of the 500 largest fortunes (Challenges), Antoine Levy's
  EUR 2-3bn. https://www.senat.fr/rap/l24-689/l24-6891.pdf
- CAE Focus n° 118, 25 July 2025, p. 10: long-run emigration of 0.12 % to
  1.2 % of the top 1 % for a reform of +5.2 points raising EUR 4bn.
  https://www.cae-eco.fr/static/pdf/Focus_118_emigration_fiscale_250725_v2.pdf
- France Stratégie, Comité d'évaluation des réformes de la fiscalité du
  capital, rapport final, October 2023, avis p. 12-13: ISF receipts EUR
  4.2bn in 2017.
  https://www.strategie-plan.gouv.fr/files/files/Publications/Rapport/fs-2023-rapport-isf-quatrieme_rapport_complet_17octobre_2.pdf
- The last three were read on 2026-10-03 for `data/capital/`; their quotes
  are recorded in `data/capital/figures.md` (Part 3.7 and Part 4) and
  repeated in `data/wealth.ml`. The PDFs were not kept in the repository
  and could not be re-downloaded on 2026-10-15 (no network access from the
  build sandbox), so the quotes were not re-checked against the PDFs.
- Not found: any source for the yield of the 1945 impôt de solidarité
  nationale. (WID's shares for the top 0.1 % to 0.001 %, its total and its
  thresholds are now read from the bulk data below.)

## Wealth by equal shares of the total

- World Inequality Database, bulk download `wid_all_data.zip` (last
  modified 2026-09-09), fetched 2026-10-15 from
  https://wid.world/bulk_download/wid_all_data.zip; members
  `WID_data_FR.csv` and `WID_metadata_FR.csv`. Kept in `raw/` for the
  years 2015 onwards and only these series:
  - `shwealj992`: share of net personal wealth, adults (20+), equal-split
    between spouses, every percentile bracket WID publishes, down to
    `p99.999p100`;
  - `thwealj992` and `ahwealj992`: the bracket's threshold and average;
  - `npopuli992`: adult population;
  - `mhweali999`, `mnweali999`: WID's totals of net personal and national
    wealth.
  `raw/wid_FR_wealth.csv` is the data subset and
  `raw/wid_FR_wealth_metadata.csv` the matching metadata rows (units,
  sources, method). The archive itself (882 MB) is not kept.

  Extracted by `build/extract.exe` into `wid_wealth.csv` (variable,
  percentile, year, value) for 2024, the year used, and the series
  `shwealj992`, `thwealj992`, `ahwealj992`, `npopuli992`, `mhweali999`,
  plus `inyixxi999` (national income price index) for 2024 and 2025.
  Prices: WID publishes monetary series in constant local currency of its
  latest year (https://wid.world/document/convert-wid-world-series/);
  `inyixxi999` is 1 in 2025 and 0.98839 in 2024, so these euros are 2025
  euros. The `inyixxi999` rows for 2015-2025 and their metadata row were
  added to `raw/wid_FR_wealth.csv` and `raw/wid_FR_wealth_metadata.csv`
  on 2026-10-15 from the same `WID_data_FR.csv`. The page converts every
  amount to current 2024 euros: amount × 0.98839 (total EUR 14,658bn in
  2025 euros, EUR 14,488bn in 2024 euros; thresholds and means alike).
  Shares, ranks and counts are unaffected; the build fails if the index is
  not 1 in 2025. Checks: the average above P0 times the adult
  population equals `mhweali999` (EUR 14,658bn, 2025 euros); the shares
  above P50 to P99.999 computed from the averages match the published
  four-decimal shares within 0.006 points (test). WID's 2023 row gives
  59.7 % and 27.36 %, the figures of the WIR 2026 country sheet quoted
  as "2024" in `data/capital.ml`; the 2024 row gives 59.88 % and 27.68 %.
  Method of the split (`data/wealth.ml`, "WID's distribution of wealth"):
  shares above each published rank from the averages, linear between
  ranks; groups at 90 %, 80 %, ..., 10 % of the total, then at P99.999;
  above P99.999 only a strict Pareto tail with WID's coefficient there
  (average over threshold, 1.93), a Hypothetical assumption, is used, to
  show how many adults a curve would give for 1 % of the total (about 19,
  with no literal meaning for so small a group); the generalized tail fitted to the last
  three ranks (`Gpinter.fit`) has shape 0.95 and would put it in fewer
  than one adult, so it is reported, not used.
