Skip to content
Official and academic sources Not verified yet

Permanent resident population aged 15 and over by nationality category and migration status (structural survey)

bfs-population-composition

Publisher
OFS/BFS
Access method
api
Table id
su-d-40.02.01.05.01-2024
Licence
BFS terms of use OPEN-BY: "Open use. Must provide the source."
Coverage
Geography national · population permanent resident population aged 15 and over living in private households (structural survey) · referenceDay 31 December · categories nationality total / swiss / foreign × status total, without_migration_background, with_migration_background, first_generation, second_generation, unknown · from 2024 · to 2024
Gaps
Latest survey year only (one table per year; the fetcher takes the newest edition). No age, canton or language-region breakdown kept (the table has them). Children under 15 and people in collective households are not covered.
Used on
STORY-06
Known limits
Sample survey: estimates with a 95 % confidence interval. Switzerland does not measure ethnicity; the migration status is defined by nationality (at birth and today), country of birth and the parents' country of birth (BFS typology). Cross-checks (2026-11-02): (1) the Swiss total of this table (5 497 429 aged 15+, 2024) equals the total of bfs-dual-citizenship (same survey); (2) the structural survey gives 3 171 390 persons with a migration background in 2024, the labour force survey SAKE (bfs-migration-status) 3 086 020: two surveys with different samples, weights and population bases (SE: private households, end of year; SAKE: annual average) — do not mix them; (3) survey vs registers, aged 15+, 2024: total 7 507 509 vs 7 707 853, Swiss 5 497 429 vs 5 603 084, foreign 2 010 080 vs 2 104 769 — the survey leaves out people in collective households (care homes, institutions …), diplomats and international officials (footnote of the table), so it is lower by 200 344 (2.6 %).

How current is this data?

Freshness
Up to date

According to its update rhythm, no newer edition is expected yet.

Period covered
2024
Last change of the data
Last check of the source
Update rhythm
Yearly

Ledger note (in English): Yearly, in January (the 2024 survey was published on 29.01.2026).

Votara checks the source
Every week, and every day from 3 days before to 14 days after an announced publication date

The state is computed each time the site is built; this page shows it as of . Results of the accuracy checks

Transformations

  1. XLSX table T 40.02.01.05.01 (order number su-d-40.02.01.05.01-<year>, newest of the current year and the four before it), sheet "Total"; rows "Total", "Schweizer", "Ausländer" (Staatsangehörigkeitskategorie); columns located by their labels: Total · Bevölkerung ohne Migrationshintergrund · Bevölkerung mit Migrationshintergrund (Total, 1. Generation, 2. Generation) · Migrationshintergrund unbekannt, each "Anzahl Personen" with its "Vertrauensintervall ± (in %)". Script: scripts/fetch/bfs-population-composition.ts
  2. Weighted estimates are rounded half-up to whole persons; the confidence interval to 2 decimals. "X" (4 or fewer observations) → empty; values in brackets (49 or fewer observations) → low_reliability = 1.
  3. The fetcher checks without + with + unknown = total, 1st + 2nd generation = with, and Swiss + foreign = total for every status (± 3 persons, rounding).
  4. Reference rows (source statpop, status total): the permanent resident population aged 15 and over on 31 December of the same year from the registers (STATPOP), BFS STAT-TAB px-x-0102010000_101 (Schweiz, ständige Wohnbevölkerung, Geschlecht total, single years of age 15 … "100 Jahre und mehr" summed by Votara), for the survey-vs-register comparison. Same licence (OPEN-BY).
  5. Official category labels (this table, DE): "Bevölkerung ohne Migrationshintergrund", "Bevölkerung mit Migrationshintergrund", "1. Generation", "2. Generation", "Migrationshintergrund unbekannt"; "Schweizer", "Ausländer". FR/IT/EN as in the bfs-migration-status entry (same typology).