Skip to content
Official and academic sources Verified

National Council elections since 1919 – party strength and seats

bfs-party-strength

Publisher
OFS/BFS
Access method
api
Table id
je-d-17.02.02.03.01, je-d-17.02.02.02.01.01
Licence
BFS terms of use "OPEN BY": "Freie Nutzung. Quellenangabe ist Pflicht." (author, title and link to the dataset)
Coverage
Geography national · from 1919 · to 2023
Gaps
National totals only (cantonal tables exist, not fetched). Seats are National Council seats only; Council of States results are not in these tables. Elections 1848–1917 are in a separate BFS table (je-d-17.02.02.02.01.05, seats by party and party current, 1848–1917), not fetched.
Used on
STEER-01, STEER-04, AGORA-17, STEER-03
Known limits
CVP (to 2019) and BDP (2011–2019) merged into Die Mitte in 2021 (BFS footnote 5); Die Mitte has a row for 2023 only — successor_key links the earlier rows. LPS merged with FDP in 2009; from 2011 the BFS counts LP-BS and LP-VD lists under FDP (footnote 3). The BFS keeps one label per party across all elections, also where a party was renamed (footnote 7 — GRÜNE was "Grüne Partei der Schweiz (GPS)" until March 2021); how predecessors are grouped under a label is the BFS's choice (see its glossary, https://www.bfs.admin.ch/bfs/de/home/statistiken/kataloge-datenbanken/definitionen.assetdetail.27285175.html). Seats follow the list on which a member was elected, not later group membership (footnote 1) — they differ from parl-members, which is the current composition. FGA has shares but no seat entry ("*") in 2011–2019. In 1939 nine cantons had tacit elections (footnote 2).
Verification
verification date: 2026-10-31 · method: Fetched both tables from the BFS DAM (asset metadata: lifecycle CURRENT, published 2023-11-30). Compared the 2023 results with the Federal Chancellery's "Der Bund kurz erklärt 2026" (pp. 26–27, "Wähleranteil bei den Nationalratswahlen 2023" and National Council seats per party): SVP 27.9 %/62, SP 18.3 %/41, FDP 14.3 %/28, Die Mitte 14.1 %/29, GRÜNE 9.8 %/23, GLP 7.6 %/10, EVP 2 %/2, EDU 1.2 %/2, Lega 0.6 %/1, MCG 0.5 %/2 — all equal after rounding to one decimal; seats add up to 200. · checkedValue: 2023: SVP 27.9 % (BFS 27.9301588) and 62 seats · checkedAgainst: https://www.bk.admin.ch/dam/de/sd-web/B74oYqykWJXb/Der%20Bund%20kurz%20erkl%C3%A4rt%202026.pdf

How current is this data?

Freshness
Up to date

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

Period covered
1919–2023
Last change of the data
Last check of the source
Update rhythm
After each National Council election (every four years)

Ledger note (in English): After each National Council election (every four years; tables of 30.11.2023 for the 22.10.2023 election; next election October 2027).

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. Download both XLSX tables (asset master files) and read them with the dependency-free reader scripts/fetch/xlsx-lite.ts. Script: scripts/fetch/bfs-party-strength.ts
  2. party = BFS party label of the strength table with footnote markers removed ("GRÜNE10" → "GRÜNE", "CVP 8" → "CVP"); the seats table's "MCR" is the strength table's "MCG (MCR)".
  3. share_pct = "Stärke der Parteien" in %, rounded half-up to one decimal (the table carries up to 15 decimals); seats = "Mandatsverteilung nach Parteien" as published.
  4. A row is written when the party has a share or a seat count that year. "*" (keine Kandidatur) → no value; "-> X" (merged into X) → no value, X becomes successor_key of all rows of that party.
  5. party_key / party_id = Federal Assembly party (parl-parties abbr_de / party_id): FDP→FDP-Liberale 15, CVP→CVP 14, Die Mitte→M-E 1586, SP→SP 12, SVP→SVP 13, LdU→LdU 17, EVP→EVP 18, CSP→CSP 27, GLP→glp 1336, BDP→BDP 1551, PdA→PdA 22, POCH→POCH 1579, GRÜNE→GRÜNE 20, SD→SD 19, EDU→EDU 24, FPS→FPS 21, Lega→Lega 23, MCG (MCR)→MCG 1576.
  6. Not mapped (party_key empty) — Dem. (parl has both "Demokraten" and "Demokraten dann Freisinnige"), LPS (parl 16 "LDP" is the Liberal-Demokratische Partei, not the national LPS), PSA, FGA, Sol., Rep. (no parl party), Übrige (residual group).
  7. Checks — seats of all parties = Total for every election (fails otherwise); the strength Total is 100 % ± 0.1 (fails otherwise) and the parties add up to it ± 0.05 (warns otherwise).
  8. Rows sorted by year, then seats, share and label (descending, label ascending).