Class size in compulsory education
bfs-class-size
- Publisher
- OFS/BFS
- Access method
api- Table id
ind-d-403105- Licence
- BFS terms of use OPEN-BY: "Open use. Must provide the source."
- Coverage
- Geography national (public schools) · levels primary_1_2 (Primarstufe 1-2, former pre-school), primary_3_8 (Primarstufe 3-8), lower_secondary (Sekundarstufe I) · from 1990 · to 2024
- Gaps
- School years 2010/11–2013/14 are not published ("." — series break); primary 1-2 starts in 2014/15. Cantonal values (sheet T2/TD2 of the same file) are not kept.
- Used on
- STORY-05, PROB education
- Known limits
- Average number of pupils per class in public schools (BFS – Statistik der Lernenden). Averages hide the spread (the same file publishes percentiles, TD1). Series break 2010–2013 (BFS footnote; see the indicator methodology); compare levels only within 1990–2009 and 2014–latest.
- Processed file
- data/processed/bfs-class-size.csv
How current is this data?
- Freshness
- Up to date
According to its update rhythm, no newer edition is expected yet.
- Period covered
- 1990–2024
- Last change of the data
- Last check of the source
- Update rhythm
- Yearly
Ledger note (in English): Yearly (indicator updated on 30.04.2026 with school year 2024/25).
- 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
- XLSX ind-d-403105, sheet T1 "Klassengrösse in der obligatorischen Schule": header = school-year start years (1990 = 1990/91); rows mapped by label ("Primarstufe 1-2", "Primarstufe 3-8", "Sekundarstufe I"). Means rounded half-up to 2 decimals (published with 5). series_break = 1 when the year header carries footnote 1 ("2010-2013: Bruch der Zeitreihen"; the 1999 header carries it too). The fetcher fails if that footnote changes. Script: scripts/fetch/bfs-class-size.ts