auto-stats.eu

Methodology

Source

The figures come from CEPiK — Centralna Ewidencja Pojazdów i Kierowców, the Polish central register of vehicles and drivers kept by the Ministerstwo Cyfryzacji — read through its open API at api.cepik.gov.pl (dane.gov.pl dataset 1558, CC BY 4.0). Every registration is read individually, one voivodeship and one calendar month at a time, filtered on the date of first registration in Poland and with deregistered vehicles included. The figures are therefore a flow of registrations as they happened and not a picture of what is still on the road, so there is no survivorship correction and none is needed: a car exported or scrapped later still counts in the month it was registered. The register was read on 2026-09-12, the latest month is 2026-09, data run through 2026-09-11, and the site shows up to 36 months — currently 21, growing as older months are added. The bulk CSV dumps CEPiK also publishes are frozen at April 2022 and are not used.

The API is slow and unreliable, so the pull is defensive: one request a second, eight attempts per request and a five-minute pause before a voivodeship-month is pulled again, and a first page that is re-read until two consecutive answers agree on the total, because roughly a third of requests otherwise answer with a truncated count. Reading a single national month takes about forty minutes.

Freshness and the provisional month

Registrations keep being entered into CEPiK for days after they happen, so a month is read again every day until fourteen days after it ends. It is then frozen and never read again, and a frozen month never changes afterwards. The newest month therefore carries a Provisional badge: it holds the registrations dated up to 2026-09-11 that had reached the register by 2026-09-12, and late entries are still arriving. While the month is still running it is a part of a month rather than a whole one, so comparing it with a finished month would be meaningless, and its month-over-month and year-over-year figures are left blank. Once the month has ended its comparisons are shown even while the badge is still on: the total firms by a few tenths of a percent as the last late entries arrive, and the badge is what says so.

What is counted

Against the published series

The Ministry publishes its own monthly counts on dane.gov.pl: dataset 440 by vehicle type and dataset 487 by voivodeship, both CC BY 4.0 and both about four and a half weeks behind the register itself. Those series count every first registration of a passenger car in the month — the same population as this site — so the two figures should be, and are, close: this site runs +0.1 % to +0.9 % above the published series in every loaded month but one, the register having gained a few late entries after the Ministry's file was cut. The published figure is quoted beside this site's own count on each monthly page and is never used to correct it. Every frozen month is gated at 3 % nationally and each voivodeship is compared at 5 % as a warning. One month is a known exception: for January 2025 the Ministry's two files disagree with each other (the by-voivodeship file sums to 123,610 vehicles of all types, the by-type file to 147,257) and this site is 4.8 % above the by-type figure; that is an inconsistency on the publisher's side, so the month is published with a warning rather than failing the gate. PZPM, the Polish automotive industry association, publishes a new-car figure of its own each month (56,203 for July 2026, against 56,724 new cars here); it is mentioned for comparison and, because its tables are not licensed for reuse, no gate on this site reads it.

Fuel groups

A car is battery electric when its fuel is ENERGIA ELEKTRYCZNA and no combustion fuel is recorded as an alternative; a hybrid when petrol or diesel carries ENERGIA ELEKTRYCZNA as an alternative fuel, or when an electric car carries petrol or diesel as one — a range extender such as Nissan's e-Power Qashqai and X-Trail, the Leapmotor B10 REEV or the BMW i3 REx, which charge their battery from an engine; gas when the alternative fuel is LPG or natural gas; petrol or diesel otherwise. Everything else — hydrogen, INNE, biodiesel, ethanol — is other, well under 1 % of a month. Electricity beats gas: a petrol-electric car that also runs on LPG counts as a hybrid.

Full and plug-in hybrids cannot be separated in Poland. CEPiK has a field for hybrid-system power and leaves it empty on every single row, so a Toyota Corolla with no plug and a plug-in Jaecoo 8 sit in one group here, unlike the Netherlands or Spain, where the type-approval category distinguishes them. There is no PHEV column anywhere on these pages, and the hybrid share for Poland is the widest of any market on this site.

Mild hybrids are only partly in the group. Whether a 48 V mild hybrid gets ENERGIA ELEKTRYCZNA as its alternative fuel depends on who registered it: among new cars of March–August 2026, a third of Suzuki Swifts, two fifths of Mazda 3s and a fifth of Fiat Pandas carry it, and none of those is sold as a full hybrid; the rest are petrol here. PZPM and ACEA count every mild hybrid in their hybrid figure, so their hybrid share of new cars (about 49 % plus 9 % plug-ins for January–August 2026) runs well above the 43–46 % of new cars this site's group holds. The battery-electric share is not affected.

No CO₂

poziom-emisji-co2 is filled on about 1.6 % of new cars, far too few to average, so there is no CO₂ tile, chart, column or average anywhere on these pages.

Import age

Age at import is the Polish registration date minus the car's first registration anywhere, in days, divided by 365.25 — day-precise, not year-granular. Brackets are under 3, 3–5, 6–10 and over 10 years, and the median import is about 10 years old. Practically every used import carries both dates; any car whose pair were unusable would stay in the totals but be left out of the age chart (none so far). Poland does not record the country a car was imported from, so there is no origin table.

KPI definitions

Registrations
All passenger cars (CEPiK vehicle type SAMOCHÓD OSOBOWY) whose first registration in Poland falls in the month: new cars plus used imports, each car counted once, in that month. This is the same population the Ministry's published monthly series counts.
New cars / New share
Cars whose first registration anywhere is their Polish one: no foreign registration date and no earlier first registration. Decided from the registration dates, not from the register's origin label, which describes a car's latest registration event rather than its first. New share = new cars ÷ all registrations.
Used imports / Avg import age (yrs)
Cars registered abroad before their first Polish registration: a foreign registration date, or a first registration anywhere earlier than the Polish one. Average import age = the time between the car's first registration anywhere and its Polish registration, in years.
BEV share
Battery-electric cars as a share of all registrations in the month, new and used together. A car is battery electric when its fuel is ENERGIA ELEKTRYCZNA. CEPiK does not record whether a hybrid has a plug, so plug-in hybrids cannot be counted separately and are inside the hybrid group.
New-car BEV share
Battery-electric cars as a share of new registrations only.
Hybrid share
Cars with a combustion engine and electricity as an alternative fuel, plus range extenders (an electric car with petrol as its alternative fuel, such as Nissan's e-Power), as a share of all registrations in the month. CEPiK leaves its hybrid-power field empty on every row, so full hybrids and plug-in hybrids are one group here and cannot be told apart. Mild hybrids are in the group only when the registrar recorded the electric alternative fuel, which happens for a minority of them; most count as petrol or diesel, so this share runs well below PZPM's hybrid figure.
MoM / YoY / YTD
Change versus the previous month, versus the same month a year earlier, and the calendar-year-to-date total with its change versus the same period a year earlier. All three are omitted when the comparison month has fewer than 30 registrations, and fewer than 10 on the electric tables.

Normalisation

CEPiK's marka field is empty on about 4 % of passenger cars, because the register's make dictionary has no entry for CUPRA, OMODA, JAECOO, BEIJING, LEAPMOTOR, XPENG, HONGQI, JETOUR and other recent arrivals. For those rows the brand is read out of the model name or the type code instead; the cars nothing recovers stay in every total but get no brand page. Model names carry the brand and the trim (TOYOTA COROLLA, X3 20 XDRIVE, GLC 220 D 4MATIC), so the brand prefix is stripped, BMW is grouped by series and Mercedes-Benz by class, and spelling variants are folded into one brand (MERCEDES-AMG → Mercedes-Benz, VOLKSWAGEN/CARPOL → Volkswagen). Camper builders keep their own brand rather than being folded into the chassis maker. Three models the register files under another model's name are told apart by their type code instead: CEPiK writes COROLLA for the Corolla Cross, C-HR for the electric C-HR+ and PANDA for the Grande Panda, and each gets its own row here, as it does in Samar's rankings. The full alias table is in the repository.

Regions: loaded, not published

Every row carries its voivodeship and powiat and the pipeline loads both, but they are not published in v1. A regional page needs its own caveats about where leasing and rental fleets are registered — which is not where the cars are driven — before it can be honest, so the data is kept and the page waits.

Checks

The pull itself is guarded: a first page is re-read until two consecutive answers agree on the total, a finished voivodeship-month must carry at least 500 registrations, and a pull that came back short of the count the API reported is refused rather than loaded. The acceptance gate then requires top-40 make coverage of at least 97 %, no same-prefix sibling makes, no single-letter model names outside Mercedes-Benz, Tesla and Zeekr, and at most 1 % of cars left without a make after recovery. A sanity gate rejects an implausible month, the reconciliation above compares every frozen month against the published series, and an identity gate requires that the published totals, new and used equal the register's own counts under the same date rule, exactly, and that the six fuel groups partition the month. A final audit re-derives every share, rank, month-over-month, year-over-year and year-to-date figure from the exported JSON files.

Caveats

Data files and licence

Every page is generated from JSON under /data/pl/: meta.json, months.json, YYYY-MM.json (with kpis, models[], makes[], bev_models[], bev_makes[] and import_age[]), makes.json and makes/<slug>.json. CEPiK data is CC BY 4.0 and asks for the attribution "Dane: Centralna Ewidencja Pojazdów i Kierowców (CEPiK), Ministerstwo Cyfryzacji, api.cepik.gov.pl"; this site's content and derived data are CC BY 4.0 too — attribute "auto-stats.eu (data: CEPiK)".

Map outline: Al MacDonald and Fritz Lekschas, CC BY-SA 3.0.