Methodology
Sources
The figures on these pages come from the open data of the Belgian FPS Mobility and Transport's vehicle registration directorate, DIV (Direction pour l'Immatriculation des Véhicules / Dienst voor Inschrijving van Voertuigen), published under Creative Commons Zero (CC0) at mobilit.belgium.be: one workbook per calendar year, "Nombre d'immatriculations par mois de véhicules", with one count row per combination of month, new or used, region and province, make, commercial name, holder type, EU category, use group, mass band, Euro norm, NEDC CO₂ band and fuel. Files for 2024 onwards use a new export layout with English labels; earlier files carry French labels and numeric fuel codes. Both are read into one table.
Every year is checked against Statbel, the national statistics office, whose yearly registration workbook counts new and used passenger cars by the declarant's residence: the file's totals agree within 2 % (Statbel runs 1–1.5 % higher every year).
Files read: 2026-09-13. Latest month: 2025-12, from the file DIV published on 2026-03-25. DIV publishes a full year at a time, usually in the following spring, so the latest month here is the December of the last released year; the site shows the latest 36 months. A year's file is final: there is no register snapshot behind any figure and no survivorship correction.
What is counted
- Passenger cars are DIV's use group "Passenger car" (EU category M1 without motor caravans and special-purpose vehicles, which the file classes apart; Statbel's "voitures particulières" excludes them too).
- New is "New vehicle": a new car's first registration. Used is "Used vehicle": the registration of a car registered before, in Belgium (a change of owner) or abroad (an import). Used = every registration of a car registered before, in Belgium (a change of owner) or abroad (an import); DIV's file does not separate the two and records neither the origin country nor the age of the car.
- Models are the commercial names as typed at registration ("iX1 eDrive20", "TUCSON,ix35", "Q6 SUV e-tron performance"), normalised: the make prefix is stripped, trim and drivetrain suffixes fold into the model, Mercedes-Benz is grouped by class and BMW by series. A name that cannot be resolved (blank on 3–4 % of registrations from January 2024 and under 0.5 % before, almost all older used cars) counts in the brand and in no model row, so a brand's total can exceed the sum of its listed models.
Fuel groups
From 2024 the file names the fuel: petrol (Petrol), diesel (Gasoil), hybrid (Hybrid Petrol, Hybrid Gasoil, Hybrid LPG: no plug), plug-in hybrid (Plug-in Hybrid Petrol / Gasoil / Other), battery electric (Electricity), gas (LPG, CNG, LNG) and other (Hydrogen, Other, blank). Before 2024 the file carries codes: 01 petrol, 02 diesel, 04 electric, 07 "essence + électricité" and 08 "gasoil + électricité" (hybrids with and without a plug together), 31 petrol-electric-LPG, 03 / 06 / 15 gas, the rest other. Plug-in hybrids are separable from January 2024 (the new file layout); earlier months count them among the hybrids and show no PHEV figure. The BEV and PHEV shares count new and used cars together. No CO₂ figure is published: the file holds NEDC bands only, blank on 97 % of 2025's new cars.
Holders
Share of the month's new cars registered to a private person (titular type P) rather than a legal person (M: leasing, rental, dealers, fleets). Region and province are loaded and not published: leasing fleets are domiciled at the lessor, so a regional page would need a leasing exclusion first.
KPI definitions
- Registrations
- Passenger cars (DIV use group 'Passenger car', i.e. M1 without motor caravans) registered in Belgium in the month, new and used together, from the FPS Mobility (DIV) yearly registration file.
- New cars / New share
- 'New vehicle' in DIV's file: a new car's first registration. New share = new cars ÷ all registrations. Statbel's yearly total of new passenger cars agrees within 2 % (it counts by the declarant's residence).
- Used cars / Used share
- 'Used vehicle' in DIV's file: the registration of a car registered before, in Belgium (a change of owner) or abroad (an import); the file does not separate the two. Used share = used ÷ all registrations.
- BEV share
- Battery-electric cars ('Electricity') as a share of all registrations, new and used together. Plug-in hybrids are shown separately from January 2024; before that DIV's fuel code holds them among the hybrids.
- New-car BEV share
- Battery-electric cars as a share of new registrations only.
- Private holders
- Share of the month's new cars registered to a private person (titular type P) rather than a legal person (M: leasing, rental, dealers, fleets).
- 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).
Checks
At ingest every yearly file must pass its gates: the expected columns are present, at least 25,000 passenger-car rows, every month of the year has registrations, every row is dated in the file's year, every row is new or used; then the file's yearly totals of new and used passenger cars must be within 2 % of Statbel's. A year Statbel has not published yet is not loaded. An acceptance gate reviews the top 40 makes and models for coverage, sibling makes that should be one brand, and single-letter or otherwise suspect model names. A sanity gate rejects an export whose latest month is less than half the previous month, whose month series has a gap, or where any mart is empty. An identity gate compares the exported new, used and total counts of every published month against the raw table, and the fuel groups against the total. A fuel gate fails when more than 2 % of a month's registrations carry an unmapped fuel value. Finally, a consistency audit re-derives shares, sums, MoM, YoY and rankings from the exported JSON, checks that PHEV is empty before 2024 and filled after, and fails on any mismatch.
Caveats
- Counts are DIV's yearly open-data file, one row per combination of month, new/used, region, make, commercial name, holder type, category, Euro norm, CO₂ band and fuel with its number of registrations, summed here. 'Used' is every registration of a car registered before, in Belgium or abroad. Models are the commercial names as typed at registration, normalised; from January 2024 the file leaves the name blank on 3–4 % of registrations (older used cars), against under 0.5 % before, so used-car model rows and their year-on-year changes drop a little at that boundary.
- Percentages are shown only when the comparison month has at least 30 registrations.
- Brands with fewer than 50 registrations over the 36 months have no brand page and appear as plain text in the tables.
- Registration is not sale: dealer demo stock and leasing fleets register too (more than half of new cars are registered to companies).
Data files
Every page is generated from JSON under /data/be/: meta.json (with release and published), months.json, YYYY-MM.json (with kpis, models[], makes[], fuel[], import_make[], import_model[], bev_models[], bev_makes[]), makes.json, makes/<slug>.json. Source data: FPS Mobility / DIV, CC0. Site content and derived data: CC BY 4.0.
Map outline: Al MacDonald and Fritz Lekschas, CC BY-SA 3.0.