How are the figures made?

Being open about the method is the main aim of this site. This page explains what we do, why, and where the figures fall short.

In short

Sources

SourceLicenceHow collectedLast loadedTerms checked
AdzunaAdzuna API terms (free key; attribution required)API, weekly19 Sept 2026not yet
CBS StatLineCC BY 4.0open data API, checked weekly19 Sept 2026not yet
Studiekeuze123 (Landelijk Centrum Studiekeuze)Studiekeuzedatabase, LCSK delivery terms; name LCSK as the sourcecopied from Studiekeuze123 (national figures per programme)19 Sept 2026not yet
ESCO (European Skills, Competences, Qualifications and Occupations)European Commission reuse policy (Decision 2011/833/EU)API, when compiling the skills listnot yet

Collection

Adzuna collects vacancies from thousands of Dutch job sites and employers. Every week we request the vacancies of the past 8 days: everything in Adzuna's IT category, plus a search for ICT words (such as developer, devops, PLC, information analyst) in all other categories, because many ICT vacancies end up there.

For each vacancy we receive the title, employer, place, date, the salary if stated, and only the start of the text (about 500 characters).

Before storing anything we remove e-mail addresses, phone numbers and names of contact persons. Vacancy texts are kept no longer than the licence allows; after that only the counts remain. We do not collect anything from sites that forbid it, such as LinkedIn or Indeed.

Duplicate vacancies

The same vacancy often appears several times, for example on different sites or because a recruiter reposts it. We count a vacancy once if title, employer and place are the same and the postings are within 30 days of each other. For titles we ignore capitals, punctuation and additions such as (m/f/x). A vacancy still open after 30 days counts again in the next month.

Some recruitment agencies post one vacancy in many places at once, sometimes in villages where the work is not. If the same title from the same employer appears in 3 or more places within 7 days, we count it as one vacancy. Because the real workplace is then unknown, such a vacancy counts only in the national figure, not in a province or region. Two places do count as two vacancies: that can be a company with two offices.

What counts as an ICT vacancy?

A vacancy counts as an ICT vacancy if the job title matches one of our role families (see Programmes), or if Adzuna placed it in the IT category and the text mentions a technical skill. Titles such as technician, work planner, account manager or recruiter never count through that second route, even when they are in the IT category.

Level

We classify each vacancy as internship, junior, medior, senior or unknown:

  1. First we look at the title: words such as internship, graduation project, intern, junior, starter, trainee, medior, senior or lead.
  2. If the title names several levels (for example "Junior/Medior developer"), we choose the lowest: the vacancy is open to that level.
  3. If the title says nothing, we search the text for such words, and then for the required years of experience: 0–2 years is junior, 3–5 medior, 6 or more senior.
  4. If we find nothing, the level is unknown.

Internship + junior is internship and junior combined: the vacancies certainly meant for students and starters. Because we only see the start of the text, the level of many vacancies is unknown. Some of those are also open to starters.

Programmes

We link vacancies to programmes through role families: groups of job titles a programme prepares for. A vacancy can fit more than one programme, or none. This is our own classification, not that of any university.

Role familyComputer ScienceBusiness IT & ManagementComputer Engineering
Software developeryesnono
Web and mobile developeryesnono
Software and IT architectyesnono
Data and AI engineeryesnono
DevOps and cloud engineeryesnoyes
Security specialistyesnoyes
Tester / QA engineeryesnono
Game developeryesnono
Business or functional analystnoyesno
Functional application managernoyesno
Technical application specialistyesyesno
IT consultantnoyesno
Data and BI analystnoyesno
Product owner / IT project leadnoyesno
IT auditornoyesno
Embedded software engineernonoyes
IoT engineernonoyes
Industrial automation engineernonoyes
Network and infrastructure engineernonoyes
IT support and service desknonono

Skills

We recognise 64 skills with fixed search patterns in Dutch and English, in the title and the start of the text. 61 of them are linked to the European ESCO skills classification, so they can be compared with other sources. ESCO has no concept of its own for newer tools (such as Docker, Kubernetes or Go); those are linked to a broader concept or not at all.

The percentage next to a skill is the share of vacancies that mention it. Because we only see about 500 characters per vacancy, the true share is higher; the ranking is more reliable than the percentages.

All skills and their ESCO link
SkillESCO
PythonPython (computer programming)
JavaJava (computer programming)
C#C#
.NETASP.NET
JavaScriptJavaScript
TypeScriptTypeScript
PHPPHP
C++C++
Ccomputer programming
Go
Kotlin
SwiftSwift (computer programming)
SQLSQL
RR
ReactJavaScript Framework
AngularJavaScript Framework
Vue.jsJavaScript Framework
Node.jsJavaScript Framework
HTML/CSSuse markup languages
SpringJava (computer programming)
LaravelPHP
Fluttermobile device software frameworks
AndroidAndroid (mobile operating systems)
iOSiOS
REST APIsdesign application interfaces
Machine learningutilise machine learning
AI / LLMsprinciples of artificial intelligence
Data analysisperform data analysis
Power BIbusiness intelligence
Exceluse spreadsheets software
Data modellingcreate data models
ETL / data pipelinesdata extraction, transformation and loading tools
Spark
NoSQLNoSQL
Microsoft Azurecloud technologies
AWScloud technologies
Google Cloudcloud technologies
DockerDevOps
Kubernetescloud technologies
CI/CDDevOps
Gittools for software configuration management
Infrastructure as codeDevOps
Linuxuse digital device operating systems
NetworkingICT communications protocols
Windows Server / M365use digital device operating systems
Cyber securitycyber security
ISO 27001 / BIOICT security standards
Embedded systemsembedded systems
IoTInternet of Things
PLC / SCADAprogrammable logic controller
Electronicselectronics
Roboticsrobotics
Agile / ScrumAgile development
Software testingdevelop automated software tests
Object-oriented programmingobject-oriented modelling
Requirements analysisICT system user requirements
Process modelling (BPMN)business process modelling
ERP systemsmanage standard enterprise resource planning system
CRM systemscustomer relationship management
Project managementproject management
Stakeholder managementbuild business relationships
UX / UI designsoftware interaction design
Dutch languageDutch
English languageEnglish

Salary

Many vacancies state no salary, and those that do are not always representative. Postings also do not say whether an amount is per year, month, day or hour. Amounts from €12,000 are read as annual salary, amounts between €1,000 and €12,000 as monthly salary; lower amounts (day or hour rates) and amounts above €250,000 are left out. Salaries estimated by Adzuna itself are not used. We show gross per month: the annual amount divided by 12, rounded to €50. Medians are accurate to about €100 per month (below €2,500 a month to about €25).

Internship allowances are handled separately. An internship lasts a few months, so an allowance is always stated per month. For internship postings we only count amounts between €100 and €2,000 as a monthly allowance; other amounts (hourly rates, or a salary on a posting we wrongly classified as an internship) are left out. Internship allowances are never counted in the salaries of other levels, including 'all levels'. Many internship postings state no allowance at all.

Graduate figures (starting salary, job at level, time to a job) come from the Studiekeuzedatabase of the Landelijk Centrum Studiekeuze, as shown on Studiekeuze123. The estimated starting salary comes from CBS Microdata, job at level and in field from the HBO-Monitor (an alumni survey, about a year and a half after graduating). They are calculated nationally per group of related programmes, which is why Informatica and Technische Informatica have the same figures. They are separate from the vacancy figures.

A skill or role is called rising or declining when the share of vacancies mentioning it changes between the recent half of the chosen period and the half before. We compare shares, not counts, so a busy month does not make everything rise. Each half must span at least 3 months and a skill must occur at least 10 times. Lines of counts show complete months only: the current month and the month the series began would show a false drop or rise.

Regions

We use the place Adzuna provides to link a vacancy to a municipality, labour market region and province. Vacancies with only 'Netherlands' as place (often remote work or several locations) count in the national figure, but in no region.

Small numbers

A percentage or salary based on a handful of vacancies can be chance. Figures based on fewer than 30 records are marked as indicative (◔). For small regions, prefer the province or the whole country, or a longer period.

Comparison with CBS

CBS estimates, through a survey of companies, how many vacancies are open at a given moment, per sector. The 'Information and communication' sector also includes non-ICT roles at ICT companies, and misses ICT roles at, for example, banks and government. We count new online vacancies for ICT roles in all sectors. The numbers are therefore not equal and need not be. Compare the direction of both series instead: are they both rising or falling?

Known limitations

Accuracy

Not measured yet. We will assess 200 vacancies by hand (is it ICT, which level, which programme) and compare them with the automatic classification. The result will be shown here, per version of the method.

Changes to the method

A change to the method can cause a break in a trend series. Those are listed here, with the date.

19 Sept 2026 · First version of the method (v0.1.0)

First version of deduplication, seniority classification, programme mapping and skill extraction, revised against the first 30 days of Adzuna data. Adzuna provides only the first ~500 characters of a posting, so skills and experience requirements further down the text are not seen. Internship allowances are counted separately and never mixed with salaries. Not yet measured against a manually labelled sample.

Classifier version: 2026.09.1 · data set 20260919T204045Z

See an error or a wrong classification? Report it.