Skip to content
czechdatasets

Average and median wages in the Czech Republic by region, industry and occupation

Czech average wages by quarter since 2000: country, regions, CZ-NACE industries, sectors and employer size. Median wages by region, sex, CZ-ISCO occupation and education. Regions carry national (RÚIAN) and CZ-NUTS codes.

Free sample

One-time payment, final price for a personal licence, switch to business at checkout · data as of 30 June 2026

An island with a village savings bank and a table with stacks of gold coins lined up from lowest to highest and an open money boxAn island with a village savings bank and a table with stacks of gold coins lined up from lowest to highest and an open money box

How much work it saves

Downloading 12 slices from the API of ČSÚ, the Czech Statistical Office (the bulk files lag a quarter behind), pivoting one value per row into tables with columns, separating three surveys with different methodology, flagging total rows and preliminary figures, and checking the totals against the row for the whole Czech Republic.

Measured on our own build

Lines of code and tests
810
AI agent tokens
15m
AI agent run time
27 mins

Tokens and time cover the first working version of the code, written with Claude Fable 5.2. Not counted: researching sources and licences, quality checks and later fixes.

  • Free sample: all tables cut down to the Kutná Hora area, in CSV and Parquet. Download the sample
Data as of
30 June 2026
Rows
9,734
Tables
12
Formats
PostgreSQL, Parquet, CSV, JSON
Source licence
CC BY 4.0 (ČSÚ)

What’s inside

Average gross monthly wages and numbers of employees by quarter from 2000 to the 2nd quarter of 2026: the Czech Republic, regions (since 2011), CZ-NACE sections, institutional sectors and employer size; annual averages, region × industry 2010–2022, and median wages by region, sex, CZ-ISCO major groups and education 2011–2024. Region codes from RÚIAN, the Czech register of addresses, buildings, parcels and territorial units, and CZ-NUTS.

TableRows
mzdy_kraje_ctvrtletniAverage wage and employees: the Czech Republic, cohesion regions and regions, by quarter1,278
mzdy_kraje_rocniThe same for whole years308
mzdy_odvetvi_ctvrtletniBy CZ-NACE section, by quarter2,158
mzdy_odvetvi_rocniBy CZ-NACE section, for whole years530
mzdy_sektory_ctvrtletniBy institutional sector, by quarter410
mzdy_sektory_rocniBy institutional sector, for whole years98
mzdy_velikost_podniku_ctvrtletniBy employer size, by quarter486
mzdy_velikost_podniku_rocniBy employer size, for whole years116
mzdy_kraje_odvetvi_rocniRegion × industry, annual survey 2010–20223,900
median_krajeMedian and average wages by region and sex210
median_zamestnaniMedian and average wages by CZ-ISCO major group142
median_vzdelaniMedian and average wages by education98

Regions start in 2011, medians cover 2011–2024, and the region × industry combination covers 2010–2022. Industries follow the CZ-NACE 2008 classification. ČSÚ does not publish wages by municipality or district.

Downloads

Every format contains the same data. Download only the one you need; verify its integrity with the SHA256SUMS file.

FormatFilesSize
PostgreSQLschema.sql with types, keys, indexes and comments, and import.sh, which loads the data from CSV237 kB
ParquetOne file per table (zstd). DuckDB, Polars and pandas read it without an import.12401 kB
CSVUTF-8, comma-separated, with a header; large tables as .csv.gz121.3 MB
JSONAn array of objects; large tables as JSON Lines (.jsonl.gz)124.2 MB

Code example

More examples for SQL, DuckDB, Python and Node.js are in the README.md inside the bundle.

Wages in the regions in the latest quarterPostgreSQL
-- PostgreSQL: průměrná mzda v krajích v posledním čtvrtletí, od nejvyšší
SELECT uzemi, round(prumerna_mzda) AS mzda_kc, round(prumerna_mzda_index - 100, 1) AS mezirocne_procent
FROM mzdy.mzdy_kraje_ctvrtletni
WHERE uzemi_typ = 'kraj'
  AND (rok, ctvrtleti) = (SELECT rok, ctvrtleti FROM mzdy.mzdy_kraje_ctvrtletni ORDER BY rok DESC, ctvrtleti DESC LIMIT 1)
ORDER BY prumerna_mzda DESC;
Gap between the median for men and for womenPostgreSQL
-- PostgreSQL: o kolik procent je medián mezd žen nižší než medián mužů, podle krajů
SELECT uzemi, median_mzdy_muzi, median_mzdy_zeny,
       round(100 * (1 - median_mzdy_zeny / median_mzdy_muzi), 1) AS rozdil_procent
FROM mzdy.median_kraje
WHERE rok = 2024 AND uzemi_typ = 'kraj'
ORDER BY rozdil_procent DESC;
Nominal and real wage growthDuckDB
-- DuckDB přímo nad Parquetem: nominální a reálný růst mezd v Česku po čtvrtletích
SELECT rok, ctvrtleti, round(prumerna_mzda) AS mzda_kc,
       round(prumerna_mzda_index - 100, 1) AS nominalne, round(realna_mzda_index - 100, 1) AS realne
FROM 'parquet/mzdy_kraje_ctvrtletni.parquet'
WHERE nuts_kod = 'CZ' AND rok >= 2020
ORDER BY rok, ctvrtleti;

Wages by region and industry for 190 CZK.

One-time payment, download right after paying, no account and no subscription. Updates to the dataset are included in the price. All 15 paid datasets together cost 2,490 CZK, 3,510 CZK less than buying them one by one.