MOVIP : monitor of online vacancies for ICT practitioners : final report.
Date: 2015-02-24
Institutions: Directorate-General for the Information Society and Media
Subjects: Internet, data collection, information technology industry, information technology profession, job vacancy, labour market, labour shortage, skilled worker

MOVIP 
Monitor of Online Vacancies for ICT Practitioners 

FINAL REPORT  

A study prepared for the European Commission 
DG Communications Networks, Content & Technology by 

Digital 
Agenda for 
Europe 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
This study was carried out for the European Commission by 

EU-RA (European Research Associates) 
www.eu-ra.eu 

ACTIMAGE S.A. 
www.actimage.com 

Internal identification 
Contract number:   30-CE-0603672/00-30   
SMART number 2013/0059 

DISCLAIMER 

By the European Commission, Directorate-General of Communications Networks, Content & Technology.  

The  information  and  views  set  out  in  this  publication  are  those  of  the  author(s)  and  do  not  necessarily 
reflect the official opinion of the Commission. The Commission does not guarantee the accuracy of the data 
included in this study. Neither the Commission nor any person acting on the Commission’s behalf may be 
held responsible for the use which may be made of the information contained therein. 

ISBN: 978-92-79-45672-5 
DOI: 10.2759/50665 

© European Union, 2014. All rights reserved. Certain parts are licensed under conditions to the EU.  

Reproduction is authorised provided the source is acknowledged. 

 
 
 
 
   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Acknowledgements 

This  project  has  benefitted  immensely  from  the  support  and  input  of  a  number  of  experts  who  have 

made available their time and efforts, and supplied information that have proved to be very useful to the 

project.  EU-RA  (European  Research  Associates)  and  ACTIMAGE  would  like  to  acknowledge  the 

support of all those who have contributed in one way or the other to it. 

In  addition,  we  would  like  to  thank  the  private  and  public  institutions  (including  Eurostat,  DG 

Employment &  Social Affairs, JobIndex, Danske Bank, Textkernel, Institute for Employment Research 

(IAB),  Estonian  Unemployment  Insurance  Fund,  Agoria  ICT,  LIKTA,  MITA,  Salary  Services  Ltd)  that 

have provided our team with useful qualitative and quantitative information that have enriched the base 

on which this feasibility study has been executed. 

Abbreviations and acronyms 

ESS 

ESCO 

EU 

HTML 

HTTP 

European Statistical System  

European Skills, Competences, Qualifications and Occupations. 

European Union 

HyperText Markup Language 

HyperText Transfer Protocol.  

HTTPS 

HyperText Transfer Protocol Secure 

ICT 

ILO 

IT 

ISCED 

ISCO-88 

NACE 

NUTS 

PPS 

QAF 

Information Communications Technology 

International Labour Organization 

Information Technology 

International Standard Classification of Education 

International Standard Classification of Occupations 

Statistical Classification of Economic Activities in the European Community 

Nomenclature of Territorial Units for Statistics 

Purchasing Power Standard 

Eurostat Quality Assurance Framework  

UNESCO 

United Nations Educational, Scientific and Cultural Organization 

URL 

W3C 

Uniform Resource Locator 

World Wide Web Consortium. 

XHTML 

eXtensible Hypertext Markup Language. 

1 

 
 
 
 
 
 
 
 
 
 
Abstract 

The  labour  market  for  ICT  practitioners  is  characterised  by  a  shortage  of  skilled  workers,  resulting  in 

persistently large number of unfilled vacancies, often referred to as the "ICT skills gap". Available data 

on  the  number  of  ICT  vacancies  is  normally  collected  through  surveys  of  employers.  These  seldom 

provide  enough  detailed  information,  such  as  on  the  type,  or  location  of  the  ICT  job.  In  addition,  the 

available data is neither current nor comparable between Member States.  

Given the extensive use of the internet in advertising ICT vacancies, it should in principle be possible to 

collect detailed and current information on ICT vacancies through an automated search of the internet. 

This  study  had  set  out  to  evaluate  the  feasibility  of  an  automated  search  of  vacancies  for  ICT 

practitioners published on the internet. The data would be broken down into at least 20 sub-categories 

of ICT practitioners, compatible with the International Standard Classification of Occupation (ISCO-08) 

for each NUTS2 region of the EU.  

Having developed the necessary methodologies and created the appropriate crawling tools, this study 

was  able  to  establish  the  feasibility  (subject  to  a  few  conditions  being  met)  of  automating  information 

gathering and analysis on ICT jobs, using France as a test-case. 

Résumé 

Le  marché  du  travail  pour  les  professionnels  des  TIC  se  caractérise  par  une  pénurie  de  travailleurs 

qualifiés,  ce  qui  entraîne  nombre  toujours  élevé  de  postes  vacants,  souvent  désigné  «la  pénurie  de 

compétences  TIC».  Les données disponibles sur le nombre d'offres  d'emploi TIC sont habituellement 

récupérées à partir d’enquêtes auprès des employeurs. Ceux-ci fournissent rarement des informations 

assez détaillées, telles que sur le type, ou la localisation de l’offre. En outre, les données disponibles ne 

sont ni à jour, ni comparables entre les États membres.  

Compte  tenu  de  l’utilisation  intensive  d’Internet  dans  la  publication  d’offres  TIC,  il  devrait  en  principe 

être  possible  de  recueillir  l'information  détaillées  et  à  jour  sur  les  offres  TIC  grâce  à  une  recherche 

automatisée  sur  l'Internet.  Cette  étude  consistait  donc  en  l’évaluation  de  la  faisabilité  d’une  telle 

analyse  automatique  des  postes  vacants  pour  les  professionnels  des  TIC  publiés  sur  Internet.  Les 

données  seront  ventilées  dans  au  moins  20  sous-catégories  de  professionnels  des  TIC,  compatibles 
avec  la  Classification  Internationale  Type  des  Professions  (CITP-08)  pour  chaque  unité  territoriale 
NUTS2 de l’Union Européenne. 

Ayant développé des méthodologies nécessaires et créé 

les  outils  de 

recherche  automatique 

appropriés, cette étude a pu établir la faisabilité (sous réserve de quelques conditions soient remplies) 

d'automatiser la collecte  et  l'analyse  d’informations sur l'emploi des  TIC, en  utilisant  la  France  comme 

un cas-test. 

2 

 
 
 
 
 
 
 
 
 
Table of Contents 

Executive Summary ........................................................................................................................... 6 

1. 

Introduction .............................................................................................................................. 13 
1.1.  Background .................................................................................................................................... 13 

1.2. 

Job vacancy statistics .................................................................................................................. 14 

1.3.  Objectives of the study ................................................................................................................. 15 

1.4.  Research Methodology ................................................................................................................ 15 

2.  Developing a conceptual framework ..................................................................... 18 
2.1.  Objectives ...................................................................................................................................... 18 

2.2.  Defining ICT occupations............................................................................................................. 18 

2.3.  Sources of information ................................................................................................................. 22 

2.4.  Concepts and definitions ............................................................................................................. 23 

2.4.1.  Main concepts and definitions ............................................................................................. 23 

2.4.2.  Distinction between job posts and job vacancies ............................................................ 26 

2.5.  Defining data and indicators to be collected ............................................................................. 26 

2.6.  Classifying ICT vacancies by ICT occupation .......................................................................... 30 

2.6.1.  Strategies for classifying ICT vacancies by occupation .................................................. 31 

2.6.2. 

Findings from investigation .................................................................................................. 32 

2.6.3.  Occupations that do not fit into one occupational group ................................................. 35 

2.6.4.  Developing a classification of ICT occupations ................................................................ 36 

2.7.  Classifying ICT job vacancies by level of education ................................................................ 41 

2.8.  Classifying ICT job vacancies by industry (NACE) .................................................................. 43 

2.9.  Classifying job vacancies by region ........................................................................................... 45 

3.  Main challenges & solutions proposed ................................................................. 47 

3.1.  Ensuring cross-border comparability ......................................................................................... 47 

3.2.  Estimating number of websites to ensure good coverage ...................................................... 48 

3.3.  Access restrictions to websites ................................................................................................... 50 

3.3.1. 

Legal right of data/commercial issues ............................................................................... 50 

3.3.2.  Security issues ...................................................................................................................... 50 

3.3.3. 

Technical issues .................................................................................................................... 51 

3.3.4. 

Implications for automated search of ICT vacancies ...................................................... 51 

3.4.  Duplication of job posts ................................................................................................................ 51 

3.5.  Other issues ................................................................................................................................... 52 

3.5.1. 

Jobs posts in more than one language ............................................................................. 52 

3.5.2.  Similar jobs posted by the same company ....................................................................... 53 

3 

 
 
 
 
 
3.5.3.  Multiple job vacancies picked up within the advert .......................................................... 53 

3.5.4.  Same job vacancy posted by several recruitment agencies .......................................... 53 

4.  Conducting a pilot in France ......................................................................................... 55 
4.1.  Defining sources of information .................................................................................................. 55 

4.2.  Type of information to collect ...................................................................................................... 55 

4.3.  Technical methodology for conducting the pilot ....................................................................... 57 

4.3.1.  Global architecture of the system ....................................................................................... 57 

4.3.2.  Website crawling and identifying ICT jobs ........................................................................ 59 

4.3.3.  Data analysis and de-duplication ....................................................................................... 62 

4.3.4.  Data processing of results ................................................................................................... 63 

4.4.  Challenges encountered and solutions provided ..................................................................... 64 

4.4.1.  Crawling issues ..................................................................................................................... 64 

4.4.2.  Vocabularies .......................................................................................................................... 65 

4.4.3. 

Job title heterogeneity .......................................................................................................... 66 

4.4.4. 

Location heterogeneity ......................................................................................................... 66 

4.5.  Statistical analysis of results ....................................................................................................... 66 

4.5.1.  Overview of main statistics .................................................................................................. 66 

4.5.2. 

ICT vacancies in France broken down by region (NUTS2) ............................................ 68 

4.5.3. 

ICT vacancies in France by occupation  (MOVIP) ........................................................... 70 

4.5.4. 

ICT vacancies in France by detailed occupation (MOVIP) ............................................. 73 

4.5.5. 

ICT vacancies broken down by region (NUTS 2) and by detailed occupation ............ 75 

5.  Evaluating feasibility of software-based monitor of vacancies ....... 80 
5.1.  Evaluation methodology .............................................................................................................. 80 

5.1.1 

5.1.2 

5.1.3 

Defining a set of evaluation criteria .................................................................................... 80 

Assigning weights and evaluating the results ................................................................... 83 

Calculating the degree of feasbility .................................................................................... 84 

5.2.  Evaluation of the results of the pilot ........................................................................................... 84 

5.3.  Degree of and conditions for feasibility ..................................................................................... 90 

5.3.1 

5.3.2 

Degree of feasibility .............................................................................................................. 90 

Conditions for feasibility ....................................................................................................... 91 

6. 

Conclusions ..................................................................................................................................... 95 

References ................................................................................................................................................... 98 

Annex 1: MOVIP Classification of ICT occupations – France ........................ 101 

Annex 2: Technical annex ........................................................................................................ 107 

4 

 
 
 
 
 
Executive Summary 

5 

 
 
 
 
 
 
 
 
   
 
Executive Summary 

Project objective 
ICT plays a very  important role  in this technological age, and the  ICT industry  is crucial to Europe’s future 

both  as  a  major  industrial  sector  in  its  own  right  and  as  a  driver  of  productivity  in  the  economy.  It  also 

supports the development of knowledge-intensive products and services. Consequently, the need to obtain 

good quality timely qualitative and quantitative information, especially on job situation in the sector for policy 

purposes, cannot be overemphasised. In broad terms, this study finds its raison d’être from this need. 

The  study  had  set  out  to  evaluate  the  feasibility  of  a  software-based  monitor  of  vacancies  which  are 

published  online  for  ICT  practitioners  in  the  28  Member  States  of  the  EU.  To  be  meaningful,  and  provide 

information for policy purposes, it is envisaged that the aggregate data would be broken down into at least 

20  sub-categories  of  ICT  practitioners.  Ideally  this  breakdown  should  be  compatible  with  version  08  of  the 

International Standard Classification of Occupation. 

The study approach 
The  study  methodology  was  based  on  a  careful  analysis  of  official  data  and  an  examination  of  the  market 

structure of job boards in the EU Member States. Following this, a conceptual framework for the collection of 

relevant data was developed. That step was of paramount importance especially when collecting data from 

more  than  one  country.  To  be  coherent  and  comparable,  data  must  be  collected  (as  much  as  possible) 

according to the same definitions, concepts and classifications. 

The  project  collected  data  from  all  the  necessary  sources.  In  parallel,  a  technical  methodology  which 

included  creating  a  purpose-built  website  crawler  was  developed.  Building  the  crawler  was  preceded  by  a 

careful examination of the technical requirements of conducting an automated search of ICT vacancies.   

Having established all the parameters necessary and created the crawler, an important stage of the project 

was to conduct actual pilot study not only to test the crawler, but also to validate the concepts and definitions 

that were set out in the earlier stage of the project. An important step in this direction was to carefully select 

a Member State that possesses most of the characteristics that are shown by the others. After much debate 

and consultations, it  was finally  decided that  France  presented the characteristics that were needed to 

test the viability and feasibility of the theoretical concepts and website crawler created. 

Following the choice of the Member State, the next phase of the project involved the practical aspect which 

entailed  conducting  a  pilot  using  the  crawler.  The  results  were  then  collated  and  carefully  analysed. 

Extensive  evaluation  conducted  on  results  obtained  from  the  pilot  together  with  remedial  actions  taken  to 

close  the  gaps  and  loopholes  have  all  contributed  to  the  process  of  determining  the  feasibility  of  the 

automated monitoring of ICT jobs posted on web-portals within this project.  

Defining ICT occupations and unit of measurement 
The  International  Standard  Classification  of  Occupations  -  ISCO-08  identified  professional  and  associate 

professional occupations in ICT as sub-major groups at the second level of the classification (25 Information 

and  communications  technology  professionals  and  35  Information  and  communications  technicians). 

Additionally, the ILO suggested that the thematic view for ICT occupations  should also include a number of 

other unit groups that primarily involve the production of ICT goods and services. Confining the study to the 

narrow  definition  will  undoubtedly  result  in  some  typical  ICT  occupations  being  missed  out.    For  example: 

ICT Managers and ICT Sales professionals and to a lesser extent Information Technology Trainers. 

6 

 
 
 
 
 
 
 
 
In developing any conceptual framework, it is necessary to define the units of measurement from which the 

results are obtained. Given the objectives of the data collection, there are numerous sources on the internet 

which can yield data on the demand for ICT practitioners. These sources of information can be grouped into 

one of the following six: 

1)  Employment websites /Job boards  

2)  Newspaper websites  

3)  Recruitment agency websites  

4)  Company websites.  

5)  Government  

6)  Social Media – e.g. LinkedIN, Twitter, etc…   

Setting out the list of concepts and definitions  
It is necessary to distinguish between jobs posted or advertised on employment websites or job boards and 

the actual number of job vacancies.  Jobs can be posted on various job boards.  An employer or recruitment 

agency  etc…  can  post  a  job  on  more  than  one  employment  website  in  order  to  attract  the  largest  pool  of 

suitably  qualified  candidates.  This  means  that  when  data  on  ICT  job  vacancies  is  collected  through  web 

crawlers, data on a particular ICT vacancy will be collected more than once. Therefore it is very important 

to differentiate between jobs posted and actual job vacancies.  

The indicators collectable from an automated search of the internet 
Seven main groups of indicators were defined. These are: 

A.  Background  -  These  indicators  relate  to  the  data  collected  which  has  not  been  unduplicated.  The 

unduplicated  data  can  be  used  to  calculate  the  average  duplication  factor  across  all  ICT  vacancies 

from the ratio of job posts to job vacancies.  

B.  Key  indicators  -  These  indicators  answer  the  main  objectives  of  the  study.  That  is  how  many  ICT 

vacancies are advertised and what type of ICT occupations is there a demand for by employers. 

C.  Geographical  location  -  Examines  the  geographical  location  of  where  these  ICT  vacancies  are 

located. 

D.  Industry - These indicators relate to identifying the type of industry where the job vacancies are located.  

E.  Channels of recruitment - Calculating indicators on the share of ICT vacancies posted by recruitment 

agencies, as opposed to direct advertisements by companies recruiting would give an indication of the 

channels by which ICT vacancies are filled in each Member State.  

F.  Conditions  of  employment    -  These  indicators  aims  to  depict  a  picture  of  the  conditions  of 

employment offered by employers in job advertisements.  

G. Educational  &  skills  requirements  -  This  set  of  indicators  relate  to  identifying  the  educational 

qualifications, top skills and applications requested in ICT job vacancies.  

Classifying ICT job vacancies by type of occupation, level of education and industry 
The  study  investigated  the  appropriateness  of  using  the  existing  ESCO  list  of  ICT  occupations  to  classify 

jobs posted on national job boards or whether an alternative classification needs to be developed. It found 

that classifying ICT vacancies by the ESCO list of ICT occupations will result in missing data as there 

are no corresponding matches in national job boards for a good number of the occupations. It is possible to 

classify ICT vacancies found in national job boards by the ESCO classification to a certain degree. There will 

inevitably  be  instances  of  difficulties  arising  in  classifying  a  particular  vacancy  in  one  or  more  categories. 

This could easily be overcome by merging such categories together.  A proposal for  a classification of ICT 

7 

 
 
 
 
 
 
jobs  which 

is  convertible 

into 

ISCO-08  categories  and 

  compatible  with 

the  ESCO  (European 

Skills/Competences, Qualification and Occupations) is presented.  

The  study  established  that  in  order  to  be  able  to  determine  the  level  of  education  and  to  make  it 

comparable  between  Member  States,  it  is  necessary  to  have  a  list  of  the  main  educational 

qualifications  available  for  each  Member  State.  At  the  same  time,  it  is  also  crucial  to  examine  ICT  job 

vacancy  posts  in  each  Member  State  in  order  to  establish  any  divergences  from  the  ISCED  list  on  how 

qualifications are commonly reported. It is the case that in each Member State abbreviations of qualifications 

are commonly used. Therefore, it is necessary built up a list of the most commonly used terms with respect 

to formal education requirements. While ICT job vacancy posts do not always mention the formal education 

requirements needed for a particular job, it is the case that the majority of ICT job vacancy posts list the ICT 

software and hardware skill requirements in the post. For this reason, it is advised this type of data collection 

should try to isolate the most commonly reported software and hardware skills needed for a particular type of 

occupation as well as the the level of education. 

While examining ICT job vacancies in a sample of job boards, the study established that it is difficult to 

determine  from  the  actual  advertisement,  the  industry  of  the  company  having  the  ICT  opening.  In 

addition  some  adverts  are  placed  by  recruitment  agencies  acting  on  behalf  of  the  companies  with  no 

evidence  in  the  adverts  of  who  the  client  are.  However,  each  ICT  vacancy  mentions  the  name  of  the 

company or recruitment agency listed. In each Member State the professional register of companies should 

be able to provide a list of establishments broken down by NACE. The name of the company listed in the ICT 

vacancy can then be matched to the list of companies and the corresponding NACE classification can then 

be extracted. 

Challenges and issues associated with data collection from automated search 
In  looking  at  how  to  ensure  comparability  in  the  data  collected,  the  study  found  that  a  classification 

developed  would  be  translated  into  the  official  languages  of  the  EU  and  applied.  However,  adopting  this 

approach could lead to many ICT occupations being  lost, since many occupations are worded differently in 

other  EU  languages  and  there  is  lack  of  homogenity  in  the  job  titles  used.  The  best  method  of  ensuring 

cross-border  comparability  is  to  examine  several  main  job  websites  in  each  Member  State,  identify  and 

match  occupations  that  correspond  directly  to  the  classification  of  ICT  occupations  which  this  study  has 

proposed.  The  second  approach  is  more  advantageous  in  that  there  is  less  likelihood  of  letting  ICT 

vacancies slip through the net, as the system will be automatically programmed to capture them.   

In  establishing  the  number  of  websites  that  should  be  crawled  in  order  to  achieve  good  coverage  of  ICT 

occupations, the study concluded that for small Member States such as Cyprus, Estonia, Latvia, Lithuania, 

Luxembourg,  Malta  and  Slovenia,  crawling  between  10  to  15  websites  will  be  sufficient  to  achieve  a  good 

share  of  ICT  vacancies  (approximately  75%).  For  the  other  Member  States,  the  situation  is  completely 

different.  It  should  be  possible  to  crawl  only  100  major  job  boards  so  as  to  achieve  a  good  share  of  ICT 

vacancies  (70%  to  75%).  However,  in  order  to  ensure  that  the  target  of  70%  to  75%  coverage  is  met,  it  is 

important  to  identify  the  most  popular  sites  where  employers  and  recruitment  agencies  seeking  ICT 

professionals post their vacancies. 

It  is  important  to  consider  access  restrictions  when  gathering  data  from  websites,  especially  job 

boards. There are issues such as: 

8 

 
 
 
 
 
 
 
i.  Legal right of data/commercial issues - potential reuse of the data might be seen as data hacking 

or phishing; 

ii.  Security issues - some websites may have defensive rules in place to prevent mass crawling; 

iii.  Technical  issues  –  some  websites  may  be  developed  and  structured  in  such  a  way  that  prevents 

automatic crawling. 

An important issue to consider is that of duplication of job posts. An employer or recruitment agency can post 

a job on more than one employment website. It is impossible to avoid at 100% the risk of duplication. It could 

nevertheless  be  minimised.  For  one,  aggregator  job  boards  should  be  excluded  in  the  crawling  process. 

Aggregator job boards simply compound the process further as they tend to crawl the same job boards and 

produce  similar  results.  In  order  to  filter  out  the  duplicate  job  posts,  it  is  necessary  to  perform  a  de-

duplication process. 

Conception and design of the web-crawler 

A crawler is the automation tool for collecting data on the number of ICT vacancies posted on the internet. 

As a tool, the crawler systematically browses the World Wide Web typically for the purpose of Web indexing. 

For  the  purpose  of  this  exercise,  the  crawler  enabled  the  project  to  retrieve  all  the  ICT  job  vacancies 

published by one website. For operational effectiveness, the crawler must meet the following criteria: 

  Use a database of URLs; 
  Respect the rules of “fair-usage” and of access restrictions imposed by the various websites crawled; 
  Pose no impediments or hurdles to the host of the website; 
  Crawl only those pre-defined URLs; 
  Save the content of the webpage under certain conditions in order to perform more analysis 

During the prototype conception phase, a fully automatic crawling system was tested. Nevertheless this type 

of crawler  was not successful in analysing the different types of structures and gathering the data needed. 

Therefore, it was decided to manually instruct the crawler how to deal with specific structures of webpages. 

Technical methodology of the prototype 
Designing  the  prototype  for  conducting  the  pilot  required  developing  a  specific  technical  methodology  that 

took into account all the important parameters. The global scenario of the system requires that every ICT job 

post  is  searched,  each  post  should  then  be  analysed  in  order  to  handle  issues  such  as  de-duplication, 

classification etc., and the statistics are compiled, cleaned and analysed. 

The architecture proposed was designed to address the main objectives of the study. It should be capable of 

classifying ICT vacancies into twenty different categories of occupation, and handling job vacancies posted 

in  more  than  one  language  in  a  Member  State.  Also  crucial  to  the  system  is  that  it  should  be  able  to  de-

duplicate. The data analysis and de-duplication step aims at identifying unique job vacancies from job posts. 

A job vacancy is a post in a company and a job post is an advertisement made for a job vacancy. Thus there 

could be multiple job posts for a single job vacancy.  To retrieve and identify a unique job vacancy from 

job  posts,  it  is  necessary  to  identify  all  job  posts  made  for  the  particular  vacancy  and  remove  the 

duplicate posts to display the results.  

Considering  the  importance  of  this  aspect,  a  whole  technical  annex  is  devoted  to  describing  the  technical 

methodology of the prototype. 

9 

 
 
 
 
 
 
 
 
 
 
Pilot-testing of the prototype: FRANCE 
As  earlier  noted,  a  pilot  was  conducted  in  France  to  test  the  methodologies  including  classification  of  ICT 

occupations. The pilot was part of the practical aspect of assessing feasibility. The basic premise is that if the 

prototype  could  be  used  successfully  and  effectively  in  France,  and  if  all  the  conditions  could  be  fulfilled, 

including such issues as multi-lingual aspect and of de-duplication, then it should be possible to extend the 

exercise to all the other EU Member States. The pilot-testing began by reviewing the sources of information 

or the type of internet websites that were to be crawled in the exercise. The pilot itself concentrated on:  

  Crawling  job  boards  and  major  newspapers  where  vacancies  are  posted  as  well  as  major 

recruitment agency websites; 

  The narrow definition of ICT occupations as prescribed by ISCO-08 along with ISCO-08 groups and 
2434 ICT Sales Professionals and 1330 ICT service managers which primarily involve the production 

of ICT goods and services; 

  Collecting data on the number of ICT vacancies broken down by type of ICT occupation and region.  
The  classification  of  ICT  occupations  developed  in  the  earlier  part  of  the  study  was  used  to  classify  the  ICT 

vacancies. 

The pilot exposed a number of challenges and issues which have been, for the main part, dealt with during 

the different tests. (Detailed technical examination of all the technical challenges encountered can be found 

in the Technical annex to this report.)  

Methodology for evaluating quality of results from the pilot 
Using one Member State (out of 28) as a pilot necessitated choosing one with as many of the particularities 

as possible to the others. Nevertheless, the quality of the results obtained in the pilot must play a crucial role 

in deciding  the feasibility across the EU.  The methodology  adopted for evaluating the  quality  of the results 

obtained in the pilot consists of the following steps: 

i. 

ii. 

iii. 

iv. 

v. 

vi. 

Definining a set of evaluation criteria; 

Assigning weights to each evaluation criteria 

Setting a predetermined threshold/cut-off point 

Evaluating the pilot using the criteria defined and the assigned weights 

Calculating the degree of feasibility 

Reconcilling quantitative outcome with the predetermined threshold/cut-off point 

For  the  pilot,  a  score  60  was  set  as  the  threshold.  The  final  combined  score  of  79  out  of  100  for  the 

evaluation  over  eight  criteria  indicates  that  an  automated  search  is  feasible.  Nevertheless,  there  are  some 

areas  which  need  more  attention  than  others.  While  the  pilot  scored  very  high  points  for  relevance, 

timeliness, coherence, comparability and scalability, in contrast the evaluation showed that attention 

needs  to  be  paid  to  the  issues  of  accuracy,  accessibility  and  effectiveness  of  de-duplication. 

Nevertheless,  it  has  to  be  conceded  that  not  enough  websites  were  crawled  to  fully  test  the  ability  of  the 

prototype to cope with de-duplication. Unfortunately the cost and burden is the one criterion which may 

act  as  a  stumbling  block  to  implementing  an  automated  search  of  ICT  vacancies  across  all  EU-28 

Member  States.  Although  in the medium to long-run some burden may  be reduced as they system becomes 

more refined. 

Conditions for feasibility  
In  order  for  a  software-based  monitor  to  be  implemented  across  all  EU-28  Member  States,  a  number  of 

conditions need to be met. The most important of these are: 

10 

 
 
 
 
 
 
Condition 1  Adopting the methodology developed in the conceptual framework 

It is absolutely imperative that the conceptual framework developed in the frame of this study is adopted, 

especially  the  methodology  for  classifying  ICT  occupations.  Otherwise  the  data  collected  would  not  be 

coherent and comparable.  

Condition 2 

Ensuring that the list of ICT occupations is adaptable to changes in time 

The  occupations  listed  in  the  classification  of  ICT  occupations  developed  in  the  conceptual  framework 

should be easily adaptable to changes in the industry over time.  Therefore, the list of occupations should be 

updated at least once a year to ensure that obsolete occupations are removed while new ones are added. 

Condition 3 

Incorporating into the data collection statistical data validation  

In order to ensure that the data collected on ICT vacancies is accurate, it should be mandatory to include 

statistical validation checks. These checks should be conducted once all the data has been automatically 

de-duplicated and classified by type of occupation and region.  

Condition 4  A human control mechanism to ensure quality of data 

Care should be taken for quality control  purposes to  ensure that there  is human input to check the data 

because the process cannot be 100% automated as there are too many parameters to consider. Job posts 

on the internet by their nature have largely human input which means that they can be occasionally inconsistent.  

Condition 5  Concentrate crawling on websites which advertise ICT vacancies  

It is important to establish for each Member State those websites which actually post a good share of ICT 

vacancies. It would be a waste of resources to crawl websites which do not include any ICT vacancies as 

they would simply add to the cost and burden.  

Condition 6  Adopting a systematic crawling strategy 

This concerns some basic rules to help to facilitate better crawling results. This includes crawling at night, 

avoiding crawling aggregators and those websites which do not clear their expired posts 

Condition 7  Creating an adaptable system both technically and on content/vocabulary wise 

Websites with unique features and/or structures will always appear. Consequently, it is imperative that the 

architecture developed to create an EU wide monitor of ICT vacancies should be modular and at the same 

time adaptable to handle these specificities. 

Conclusions 
The evaluation  of the results of the  pilot demonstrated that  it is feasible to conduct a data collection of 

ICT vacancies based on an automated search of the internet across all EU Member States. However, 

such  an  exercise  should  not  be  focused  only  on  the  technical  side  on  how  to  retrieve  the  data  from  the 

internet.  Efforts  must  be  made  to  ensure  the  coherence  and  comparability  of  all  the  data  collected.    The 

difficulties encountered with accessibility and crawling of websites need to be carefully considered in order to 

propose solutions. One question that should be raised at the EU level is whether there are any national laws 

which may block crawling in any of the EU Member States.  

One  other  conclusion  drawn  is  that  a  human  element  needs  to  be  incorporated  into  the  data  collection  to 

improve the accuracy of the results. Reliance of 100% on an automated system without factoring in the 

human  control  aspect  will  result  in  unreliable  information  being  collected.  Because  there  are  very 

many  parameters  for  the  system  to  consider  in  a  rather  complex  setting,  there  is  an  increased  chance  of 

non-ICT  vacancies  being  identified  as  ICT  as  well  as  ICT  vacancies  slipping  through  the  net.  The  human 

element  would  be  to  check  and  control,  where  necessary,  to  adjust,  and  above  all,  to  keep  an  eye  on  the 

reasonableness of the results achieved.  
Comparability  can  be  assured  across  various  Member  States  if  an  only  if  attention  is  paid  to 
harmonising and standardising the basic methodologies and the handling of the analytical frames for 
the results.  

11 

 
 
 
 
 
Section 1 

Introduction 

12 

 
 
 
 
 
 
 
 
 
   
1.  Introduction 

1.1.  Background 
The importance of ICT in this technological age cannot be overstated. The ICT industry is crucial to Europe’s 

future both as a major industrial sector in its own right and as a driver of productivity in the economy. It also 

supports the development of knowledge-intensive products and services. 

In its Communication on "e-Skills for the 21st Century: Fostering Competitiveness, Growth and Jobs" and its 

Europe 2020 flagship 2010 Communication entitled: "A Digital Agenda for Europe", the Commission already 

addressed the conditions that need to be met to exploit the potential of ICTs. One of the main challenges it 

said the EU faced was the image problem and decline of supply of highly-skilled ICT practitioners. One of the 

components  of  the  long-term  e-skills  agenda  for  Member  States  and  stakeholders  included  promoting 

science,  maths,  ICT,  e-skills,  job  profiles,  role  models,  and  career  perspectives  with  a  particular  focus  on 

young people, especially girls, and providing parents, teachers and pupils, with an accurate understanding of 

opportunities  arising  from  an  ICT  education  and  an  ICT  career  to  counter  the  alarming  decline  in  young 

people’s interest for science and technology careers in Europe. 

The  European  Commission  launched  in  March  2010  the  Europe  2020  Strategy  in  order  to  overcome  the 

economic  and  financial  turmoil  and  turn  the  EU  into  a  smart,  sustainable  and  inclusive  economy.  Europe 

2020 set out a vision to achieve high levels of employment, a low carbon economy, productivity and social 

cohesion,  to  be  implemented  through  concrete  actions  at  EU  and  national  levels.  The  Commission  put 

forward seven flagship initiatives to catalyse progress under each priority theme including "A digital agenda 

for Europe" to speed up the roll-out of high-speed internet and reap the benefits of a digital single market for 

households and firms. 

The  Digital  Agenda  for  Europe  (DAE)  aims  to  reboot  Europe's  economy  and  help  Europe's  citizens  and 

businesses to get the most out of digital technologies. It is the first of seven flagships initiatives under Europe 

2020,  the  EU's  strategy  to  deliver  smart  sustainable  and  inclusive  growth.  The  DAE  contains  101  actions, 

grouped around seven priority areas which include enhancing digital literacy skills and inclusion. Action 60: 

Increase  participation  of  women  in  the  ICT  workforce  aims  to  ‘Promote  a  higher  participation  of  young 

women and women returners in the ICT workforce through support for web-based training resources, game 

based eLearning and social networking’.  

The  Commission  Staff  Working  document  ‘Exploiting  the  employment  potential  of  ICTs’,  stated  that  the 

labour market for ICT practitioners has been characterised for a number of years by a shortage of supply: i.e. 

a  lack  of  skilled  workers.  As  a  result,  there  have  been  a  persistently  large  number  of  unfilled  vacancies, 

which  is  often  referred  to  as  the  "ICT  skills  gap".  The  financial  crisis  has  barely  affected  ICT  practitioners 

given that their unemployment rate rose by 0.6% to 1.8% in 2010. It expresses concern for falling number of 

ICT  graduates  given  that  an  increasing  number  of  ICT  graduates  will  be  leaving  the  work  force  due  to 

retirement: the number  will increase from around 80  000  per  year  in  2010 to about 120  000 in 2015. As a 

result,  the  number  of  ICT graduates  in  the  labour  force  could  soon  actually  drop,  while  the  number  of  ICT 

vacancies continues to rise. There has been a great deal of activity in Member States in terms of stepping up 

provision for ICT skills and digital competence, however the number of  young people choosing  a career in 

ICT remains low.  

13 

 
 
 
 
 
 
 
 
The Commission Communication “Towards a job-rich recovery” identified three main areas with the potential 

for job creation, one of which was the demand for ICT professionals.  Employment among ICT practitioners 

grew  by  around  3%  a  year,  with  labour  demand  outstripping  the  supply.  Development  and  uptake  of  ICT 

applications will become crucial for boosting international competitiveness of European business and in turn 

increasing  employment.  The  Commission  proposed  a  Set  of  Key  Actions  for  ICT  Employment.  The  Key 

Actions included: 

1.  Set  up  multi-stakeholder  partnerships  to  improve  the  identification  of  labour-market  mismatches 

between demand and supply of ICT-related job profiles; mobilise organisations and networks offering 

design,  provision  and  certification  of  ICT skills  training  initiatives,  with  special  focus  on  employability 

and  certification  of  informal  competences;  support  awareness  raising  campaigns  and  promote  ICT 

careers  in  order  to  attract  and  involve  young  people  and  underrepresented  profiles  such  as  women, 

mid-career workers and vulnerable groups; 

2.  Strengthen the European e-skills framework 

3.  Support an increase in highly qualified ICT labour force - developing during 2012 quality labels for ICT 

industry-based 

training;  promoting  synergies  between  actions 

in 

the 

fields  of 

ICT  skills, 

entrepreneurship  and  cloud  computing  in  the  context  of  the  forthcoming  EU  action  plan  on  cloud 

computing; develop the EU initiative on e-leadership; 

4.  Promote greater use of EU financial instruments for investments in ICT skills 

Job vacancy statistics 

1.2. 
In general, data on job vacancies can be collected through three main sources: 

1)  General announcement counts 

Job  vacancies  can  be  advertised  through  various  medium  including  in  newspapers,  public  employment 

services  as  well  as  dedicated  internet  job  boards.  In  some  countries  data  on  vacancies  are  collected 

through robots crawling the internet. This is the case with the Help Wanted Index of the US Conference 

Board in the United States, the Dansk Jobindex in Denmark, Jobsadwatch or IT Jobs Watch in the United 

Kingdom, and JobFeed in the Netherlands, Germany, Italy and France. 

2)  Surveys of employers on job openings 

In some Member States, statistics on job vacancies are collected through specifically dedicated surveys 

to  employers  on  job  vacancies.  This  is  the  case  in  Germany,  Finland,  Netherlands,  Sweden  and  the 

United  Kingdom.    In  other  Member  States,  data  on  vacancies  is  collected  through  existing  questions  in 

employer surveys. This is the case in France, Greece, Italy and Slovenia.   

It  can  also  be  argued  that  surveys  are  not  representative  of  all  job  openings  as  they  are  generally 

restricted to employers employing 10 or more employees.  

3)  Job vacancies captured by Public Employment Services (PES) 

  Pubic  Employment  Services  (PES)  collects  administrative  data  on  the  number  of  vacancies  reported  to 

them by employers and other public authorities.  

The above three sources of data on job vacancies will not capture those job openings that are not advertised 

by  the  employer,  as  well  as  those  openings  that  are  filled  very  quickly.    However,  for  the  purpose  of  this 

study this undeterminable proportion of vacancies will not be taken into consideration. It is assumed that they 

only constitute a small proportion of all ICT vacancies advertised on internet job boards. 

14 

 
 
 
 
 
 
 
 
 
 
 
Statistics are available from job vacancies captured by the PES in each Member State. However, it is a not a 

requirement for employers in the majority of Member States to report vacancies to the PES, which means the 

data  collected  does  not  paint  a  comprehensive  picture  of  the  demand  for  ICT  practitioners.    Some  data  is 

also  available  from  surveys  of  employers  on  job  openings.  However,  the  data  is  very  difficult  to  compare 

between  Member  States  because  different  concepts,  definitions  and  classifications  have  been  used  and 

become very quickly out-of-date. 

Very little data is actually collected using real-time market data from ICT job vacancies posted on internet job 

boards. What data is available from internet job boards is only available for a few Member States conducted 

by  several  private  companies.  Moreover,  the  data  collected  cannot  be  considered  to  be  coherent  and 

comparable  between  these  Member  States  as  different  concepts,  definitions  and  classifications  have  been 

used.  

1.3.  Objectives of the study 
The  main  objective  of  this  study  is  to  evaluate  the  feasibility  of  a  software-based  monitor  of  vacancies 

published  online  for  ICT  practitioners  in  the  28  member  states  of  the  EU.  This  would  entail  an  automated 

search  of  vacancies  for  practitioners  of  information  and  communication  technologies  published  on  the 

internet,  resulting  in  statistical  data  on  such  vacancies.  The  purpose  of  this  type  of  data  collection  is  to 

provide statistics for policy purposes, and not the matching of individual job-seekers with specific vacancies. 

It  is  envisaged  that  the  aggregate  data  would  be  broken  down  into  at  least  20  sub-categories  of  ICT 

practitioners, ideally compatible with the International Standard Classification of Occupation version 08, and 

be provided at least monthly for each NUTS2 region of the EU.   

The  study  covers  all  the  28  EU  Member  States.  A  pilot  was  conducted  in  France  to  test  both  the 
methodologies developed and the feasibility of conducting such a data collection at the EU level. 

1.4.  Research Methodology 
Our  approach  was  based  on  an  analysis  of  official  data  and  an  examination  of  the  market  structure  of job 

boards  in  Member  States.  This  was  followed  up  by  defining  a  conceptual  framework  by  which  the  data 

should be collected. Finally, we examined the technical requirements of conducting an automated search of 

ICT  vacancies.    Our  approach  for  meeting  the  objectives  of  this  study  was  based  on  7  key  stages  with  a 

number of associated steps in each stage.  

Phase 1: Information gathering 

In  this  stage  we  began  our  evaluation  of  the  feasibility  of  a  software-based  monitor  of  vacancies  for  ICT 

practitioners.  Focus  was  placed  on  collecting  information  relevant  to  the  study  from  various  sources.  This 

phase consisted of: 

  Organising  the  kick-off  meeting  which  provided  the  opportunity  to  obtain  some  useful  input  from 

some service of the Commission 

  Conducting desk research including collection of information from various sources such as European 

Commission,  Public  Employment  Services,  Ministries  of  Employment,  similar  exercises  in  other 

countries, etc.. 

Phase 2: Developing a conceptual framework 

The conceptual framework developed forms the basis and foundations by  which  the study  was conducted.  

The aim of the conceptual framework is to answer a number of questions. Major among these are: 

15 

 
 
 
 
 
 
 
 
 
-  what are we trying to measure?  

-  what type of data (both qualitative and quantitative)?  

-  with what type of concepts/definitions? and  

-  what type of classifications we should use?   

Finally we examined how to ensure the quality of data collected on ICT vacancies. This stage consists of: 

  Defining key indicators & data 

  Defining key concepts and definitions 

  Classifications of industry, qualifications & location 

  Developing a classification of ICT occupations  

Phase 3: Developing a technical methodology 

In  this  stage  we  examined  the  technical  requirements  of  developing  a  software-based  monitor.  Focus  was 

placed on a number of technical issues such as accessing websites, avoiding duplication of vacancies and 

multiple counting of same offers, storage requirements etc….. This phase consisted of: 

  Examining access to websites and proposing solutions 

  Proposing solutions for de-duplication  

  Estimating technical requirements for storage 

  Methods for identifying industry, qualifications & geographical location technically 

Phase 4: Conducting a pilot 

In  this  stage,  a  prototype  was  developed  and  a  pilot  is  conducted  in  one  EU  Member  State,  based  on  the 

methodologies developed in stages 3 and 4. This phase consisted of: 

  Selecting a country & Identifying key websites    

  Developing a prototype 

  Conducting an automated search 

Phase 5: Collation and analysis of results 

In this stage, the data collected in the pilot was analysed through the construction of indicators. Furthermore, 

we annotated the datasets with metadata. This phase consisted of: 

  Annotating datasets  

  Analysis of results 

Phase 6: Conducting an evaluation of the pilot 

In this stage, the results of the pilot were evaluated in accordance with an evaluation framework. This phase 

consisted of: 

  Developing an evaluation framework 

  Evaluating the results of the pilot 

Phase 7: Conclusions  

Finally,  conclusions  were  made  based  both  on  the  results  of  the  pilot  as  well  the  conceptual  framework 
developed and the technical requirements in phases 3 and 4 respectively.  

16 

 
 
 
 
 
 
 
 
 
 
Section 2 

Developing a conceptual framework 

17 

 
 
 
 
 
 
 
 
 
   
2.  Developing a conceptual framework 

In any type of data collection,  whether it is a survey or administrative, one of the first prerequisites is to lay 

down  the  foundations  or  a  conceptual  framework  by  which  the  data  will  be  collected.    The  conceptual 

framework will aim to answer a number of questions relating to the collection of data through web crawlers, 

this includes: 

  What exactly are we trying to measure? 
  What exactly is an ICT occupation? 
  Where do we collect the information from? 
  What are the main concepts and definitions with which data will be collected? 
  What type of data (both qualitative and quantitative) should be collected? 
  What other classifications may be useful in this exercise for classifying ICT occupations by region, 

industry and education? 

Developing a conceptual framework is of paramount importance especially when collecting data from more 

than  one  country.  In  the  case  of  data  collections  based  on  administrative  data  or  surveys  conducted  in 

Member  States,  the  adoption  of  the  same  concepts,  definitions  and  classifications  ensures  the  coherence 

and  the  comparability  of  the  data  collected.  If  data  is  collected  according  to  different  definitions,  concepts 

and classifications then the data will not be considered coherent and comparable. Collecting data through an 

automated  search  of  the  internet  should  be  considered  in  much  the  same  way  as  that  collected  from 

administrative  sources  and  surveys.  It  is  important  to  ensure  the  coherence  and  comparability  of  the  data 

collected  from  the  outset  by  defining  the  main  concepts  and  definitions  as  well  as  the  classifications  to  be 

used in such a data collection.  

2.1.  Objectives  
The main objective of a data collection based on an automated search of the internet is to collect up to date 

information on the number of ICT vacancies for ICT practitioners in each EU Member State. It is anticipated 

that the data will be broken down type of occupation, region, level of education and industry.  

The  intention  of  this  type  of  data  collection  is  to  provide  statistics  for  policy  purposes,  rather  than  the 

matching  of  individual  job-seekers  with  specific  vacancies.  The  goal  is  to  paint  an  accurate  portrait  of  the 

demand for ICT practitioners in Europe.  

2.2.  Defining ICT occupations 
The  International  Standard  Classification  of  Occupations  is  a  tool  for  organising  jobs  into  a  clearly  defined 

set of groups according to the tasks and duties undertaken in the job. It is intended both for statistical users 

and for client oriented users. In July 2012, the ILO released the revised version of the International Standard 
Classification  of  Occupations  (ISCO-08)1,  where  ICT  occupations  were  defined  within  Professionals  and 
Technical occupations. It identified professional and associate professional occupations in ICT as sub-major 

groups at the second level of the classification (see Box 1): 

-  25 Information and communications technology professionals  

-  35 Information and communications technicians 

1  The  International  Standard  Classification  of  Occupations  (ISCO-08).  Volume  1:  Structure,  Group  Definitions  and 
Correspondence Tables 

18 

 
 
 
 
 
 
 
 
                                                      
It  should  be  noted  that  the  ISCO-08  classification  places  more  emphasis  to  occupations  related  to 

information  and  communication  technologies  than  the  previous  version  ISCO-88.  Furthermore,  the  ILO 

recognised  the  growing  convergence  between  information  and  telecommunications  is  reflected  by  the 

inclusion  of  unit  groups  that  are  specific  to  telecommunications  in  the  same  minor  groups  as  other 

occupations in ICT. 

Additionally, ILO (2012) suggested that the thematic view for ICT occupations should also include a number 

of other unit groups that primarily involve the production of ICT goods and services: 

1330 ICT Service Managers 

2152 Electronic Engineers 

2153 Telecommunication Engineers 

2166 Graphic and Multimedia Designers 

2356 Information Technology Trainers 

2434 ICT Sales Professionals 

7422 ICT Installers and Servicers 

Box 1: Professional and associate professional occupations in ICT as sub-major groups at the second level of 
the ISCO-08 

25 Information and communications technology professionals  

            251 Software and applications developers and analysts  

                      2511 Systems analysts  

                      2512 Software developers  

                      2513 Web and multimedia developers  

                      2514 Applications programmers  

                      2519 Software and applications developers and analysts not elsewhere classified  

           252 Database and network professionals  

                      2521 Database designers and administrators  

                      2522 Systems administrators  

                      2523 Computer network professionals  

                      2529 Database and network professionals not elsewhere classified 

35 Information and communications technicians 

          351 Information and communications technology operations and user support technicians 

                      3511 Information and communications technology operations technicians 

                      3512 Information and communications technology user support technicians 

                      3513 Computer network and systems technicians 

                      3514 Web technicians 

         352 Telecommunications and Broadcasting Technicians 

                      3521 Broadcasting and Audiovisual Technicians 

                      3522 Telecommunications Engineering Technicians 

Source: ILO(2012) 

19 

 
 
 
 
 
 
 
 
Box 2: Sub-major, minor and unit groups containing ICT occupations in ISCO-08 

13  Production and specialised services managers 

           133 Information and communications technology service managers 

                     1330 ICT Service Managers 

21 Science and engineering professionals     

           215 Electrotechnology engineers       

                      2152 Electronic Engineers 

                      2153 Telecommunication Engineers 

           216 Architects, planners, surveyors and designers 

                      2166 Graphic and Multimedia Designers 

23 Teaching professionals 

          235 Other teaching professionals 

                      2356 Information Technology Trainers 

24 Business and administration professionals 

          243 Sales, marketing and public relations professionals 

                      2434 ICT Sales Professionals 

25 Information and communications technology professionals  

            251 Software and applications developers and analysts  

                      2511 Systems analysts  

                      2512 Software developers  

                      2513 Web and multimedia developers  

                      2514 Applications programmers  

                      2519 Software and applications developers and analysts not elsewhere classified  

           252 Database and network professionals  

                      2521 Database designers and administrators  

                      2522 Systems administrators  

                      2523 Computer network professionals  

                      2529 Database and network professionals not elsewhere classified 

35 Information and communications technicians 

          351 Information and communications technology operations and user support technicians 

                      3511 Information and communications technology operations technicians 

                      3512 Information and communications technology user support technicians 

                      3513 Computer network and systems technicians 

                      3514 Web technicians 

         352 Telecommunications and Broadcasting Technicians 

                      3521 Broadcasting and Audiovisual Technicians 

                      3522 Telecommunications Engineering Technicians 

74 Electrical and electronic trades workers 

        742 Electronics and telecommunications installers and repairers 

                      7422 ICT Installers and Servicers 

Source: ILO (2012) 

There are big differences in the occupations classified as ICT in different countries. This is partly because of 

the  differences  in  official  Standard  Occupational  Classifications  (SOC)  applied  in  each  country  and  partly 

20 

 
 
 
        
 
because of changes over time in occupational structures2. Box 2 shows the extended list of ICT occupations 
as  defined  by  ISCO-08,  which  includes  unit  groups  that  primarily  involve  the  production  of  ICT  goods  and 

services.  

As  part  of  the  study  a  sample  of  job  boards  in  each  of  the  EU-28  Member  States  were  examined.  It  was 

observed  that  some  unit  groups  which  primarily  involve  the  production  of  ICT  goods  and  services  are 

regularly classified under the generic category of IT (Information Technology) on job boards. This includes: 
ICT Service Managers, ICT Sales Professionals and to a lesser extent Information Technology Trainers.  

Confining  the  data  collection  on  ICT  vacancies  to  the  narrow  definition  of  ICT  occupations  (Box  1)  will 

undoubtedly result in some typical ICT occupations being  passed over.  In order to ensure coherence  with 

the  type  of  occupations  that  are  considered  as  ICT  in  job  vacancy  notices,  it  is  necessary  to  include  the 

following unit groups should definitely be included in the list of ICT occupations: 

1330 ICT Service Managers 

2356 Information Technology Trainers 

2434 ICT Sales Professionals 

This means that the narrow definition of ICT occupations is being extended to include other unit groups that 

primarily involve the production of ICT goods and services. Therefore it is also important to look at the other 

unit groups in the extended list of ICT occupations: 

  2166 Graphic and Multimedia Designers  

There  is  certain  degree  of  overlap  between  category  2166  Graphic  and  Multimedia  Designers  and 

2513  Web  and  multimedia  developers.  This  is  because  Graphic  and  Multimedia  Designers  includes 

web designers which can be difficult to distinguish from Web developers as sometimes the terms are 

used  interchangeably  or  they  just  may  say  ‘web  developer/web  designer’.  Therefore  to  avoid 

confusion,  it  is  suggested  to  avoid  using  category  2166  Graphic  and  Multimedia  Designers  for  the 

definition of ICT occupations. There are other occupations given in ISCO-08 under this category most 

of  which  are  not  really  associated  as  being  typical  ICT  occupations  such  as:  Advertising  designer 

(decorators  and  commercial  designers);  Advertising  illustrator;  Animator;  Art  director  computer 

animators and graphic designers etc….  but they need a certain degree of ICT skills. 

  2152 Electronic Engineers  

Electronic engineers conduct research on, design and direct the construction functioning, maintenance 
and repair of electronic systems and study and advice3. There is no immediately discernable overlap 
between this particular category and the professional and associate professional occupations in ICT at 

the two-digit level. If a wider definition of ICT is used there are no issues in using this particular group. 

  2153 Telecommunication Engineers  

Telecommunications  engineers  conduct  research  and  advice  on,  design  and  direct  the  construction, 

functioning,  maintenance  and  repair  of  telecommunication  equipment.  They  study  and  advice  on 

technological aspects of telecommunication engineering materials, products and processes. There is 

no  immediately  discernable  overlap  between  this  particular  category  and  the  professional  and 

associate professional occupations in ICT at the two-digit level. As is the case of electronic engineers, 

if a wider definition of ICT is used there are no issues in using this particular group. 

  7422 ICT Installers and Servicers 

2 Sabadash, A. ‘ICT Employment Statistics in Europe: Measurement Methodology’, JRC Technical Reports, 2013 
3 Ibid 1 

21 

 
 
 
 
 
 
                                                      
Occupations  falling  in  this  group  install,  repair  and  maintain  telecommunications  equipment,  data 
transmission  equipment,  cables,  antennae  and  conduits  and  repair,  fit  and  maintain  computers 4.  
Telecommunications Engineering Technicians which are classified under category 35 Information and 

communications technicians are related to this group. Therefore there may be some small degree of 

overlap if this group is used. 

While ICT Service Managers, Information Technology Trainers,  and ICT Sales Professionals are classified 

with  vacancies  for  professional  and  associate  professional  occupations  in  ICT,  this  is  not  the  case  with 

electronic and telecommunication engineers.  Nevertheless, if we are already including occupational groups 

in this study that primarily  involve the production of ICT goods and services, then we should also consider 

the inclusion of the other groups (electronic and telecommunication engineers). 

2.3.  Sources of information 
In developing any conceptual framework, it is imperative to define the units of measurement from which the 

results are obtained. Given the objectives of the data collection, there are numerous sources on the internet 

which  can  yield  data  on  the  demand  for  ICT  practitioners.  These  sources  of  information  can  be  grouped 

together into one of the following six main groups: 

1)  Employment websites /Job boards 

A  job  board  is  a  website  that  facilitates  job  hunting.  Job  boards  can  either  be  large  scale  generalist 

sites  covering  all  occupations  and  sectors  or  ‘niche’  dedicated  to  a  specific  occupation  (e.g.  ICT). 

Some job boards are in fact search engines that collect results from multiple independent job boards. 

This  is  an  example  of  both  metasearch  since  these  are  search  engines  which  search  other  search 

engines and vertical search since the searches are limited to a specific topic - job listings. These job 

boards  are  commonly  termed  as  ‘job  aggregators’.  Examples  of  ‘job  aggregators’  include  Indeed, 

Simply Hired, Jobrapido, and Trovit;  

2)  Newspaper websites 

Before the advent of the internet, with the exception of Public Employment Services, newspapers were 

the main source of information on vacancies available in all types of occupations. Dependent upon the 

country, newspapers especially national ones, can still command a sizeable share of all the vacancies 

published; 

3)  Recruitment agency websites 

Recruitment  agencies  especially  the  major  ones  are  a  good  source  of  data  on  the  number  of  ICT 

vacancies.  Recruitment  agencies  can  cover  many  sectors  of  the  economy  as  well  as  being  niche 

covering just certain professions.  

4)  Company websites  

In this day and age, it is the norm that companies both large and small have an internet presence to 

facilitate business. ICT professionals can be occupied not only in the ICT sector but also in other non-

ICT industries which need their skills.  

5)  Government  

This refers to vacancies at local, regional and national level authorities which are posted on their own 

websites. 

6)  Social Media  

This refers to websites such as Twitter,  which can provide links to companies with ICT vacancies or 

LinkedIn with pages specifically dedicated to vacancies.   

4 Ibid 1 

22 

 
 
 
 
 
                                                      
Job  boards  should  be  considered  as  a  good  overall  source  of  data.  This  is  because  recruitment  agencies, 

companies  as  well  as  the  Government  all  post  vacancies  on  job  boards,  as  they  wish  to  have  the  largest 

pool of candidates to select from. Nevertheless, some recruitment agencies especially the larger ones (e.g. 

Reed,  Adecco  etc…)  may  not  necessarily  post  vacancies  on  job  boards  since  they  may  already  attract  a 

good pool of candidates in their own rights. 

While crawling all recruitment agencies will be costly both in terms of time and resources, it is advocated to 

adopt  a  target  crawling  approach  and  only  crawl  those  recruitment  agencies  which  are  large  or  which  are 

specifically dedicated only to ICT recruitment. Crawling all companies in a Member State may be considered 

to be a waste of time as not all companies recruit ICT personnel. On the other hand, targeted crawling could 

be considered productive especially if major ICT companies are crawled.  Crawling social media sites which 

have specifically dedicated job listings could also be considered productive.  

It should be noted that not all vacancies are filled by advertisements. It will be the case that there will be a 

certain undeterminable percentage of jobs which are filled either internally or through non-publicised means 

by the employer.  This undeterminable percentage of jobs filled by non-publicised means should be regarded 

as small in relation to all the jobs filled by direct advertisements. 

2.4.  Concepts and definitions 
Inevitably  no  matter  what  type  of  data  collection  that  is  conducted  (administrative,  survey  or  for  this  study 

using  robot  crawlers),  collecting  data  from  the  EU-28  Member  States  using  different  concepts,  definitions 

and classifications runs the inherent risk of the data not being coherent and comparable. In order for the data 

to be comparable between  Member States,  it is  important to  ensure that  data is collected according  to the 

same concepts, definitions and classifications.  

2.4.1.  Main concepts and definitions 

In order to maintain coherence with data sources within the European Statistical System (ESS) we propose 

to adhere as much as possible to concepts and definitions currently already used in ESS data sources such 

as the EU Labour Force Survey and in particular the Job vacancy statistics.  

Table 2.1 presents the main definitions and concepts that should be taken into account when collecting data 

and the sources where these definitions have come from.  

23 

 
 
 
 
 
 
 
No  Concepts 

1. 

Job post 

Table 2.1: Main concepts and definitions 

Definition 

A job post refers to an advertised vacancy posted on a job website or job board.  The post may be placed by an 

enterprise, recruitment agency, PES, trade union or association. Public body, International organisation, etc… 

2. 

Job Vacancy 

A job vacancy is defined as a newly created, unoccupied, or about to become vacant, post: 

(i) for which the employer is taking active steps to find a suitable candidate from outside the enterprise concerned 

and is prepared to take more steps and 

(ii) which the employer intends to fill either immediately or in the near future. 

Source: Eurostat Job Vacancy Survey 

3. 

Stock of job vacancies 

The stock of job vacancies is the number of job vacancies measured at a certain point in time. 

4. 

Flow of job vacancies 

A ‘flow’ number is measured in a period of time. 

Source: Eurostat Job Vacancy Survey 

5. 

Occupied post 

An occupied post is a post within an organisation to which an employee has been assigned. 

For example, the ‘inflow’ is the number of new vacancies in the first day of the month. 

Source: Eurostat Job Vacancy Survey 

6. 

Job vacancy duration 

The job vacancy duration is the period a vacancy is open. As the counterpart of the period of unemployment, the 

vacancy duration is important in the analysis of the labour market. The vacancy duration can be calculated on the 

basis of the ratio between the stock and the flows of vacancies, and vice versa. 

7. 

Job Vacancy Rate 

The job vacancy rate (JVR) measures the proportion of total posts that are vacant, according to the definition of 

job vacancy above, expressed as a percentage as follows: 

JVR = number of job vacancies *100 / (number of occupied posts + number of job vacancies). 

Source: Eurostat Job Vacancy Survey 

8. 

Job  vacancy  share  or  market 

The job vacancy share or market share of a recruitment 

share 

channel (for example a PES) is the number of job vacancies that has been filled by the specific channel, set off 

against the total number of filled job vacancies in the labour market. By definition, this is outflow information. 

9. 

Occupation 

Occupation refers to the kind of work performed in a job. The concept of occupation is defined as a “set of jobs 

whose main tasks and duties are characterised by a high degree of similarity”.  

Source:  International  Standard  Classification  of  Occupations  (ISCO-08).  Volume  1:  Structure,  Group 

Definitions and Correspondence Tables. 

24 

 
 
 
 
 
 
 
No  Concepts 

Definition 

10.  Employed persons 

Employed persons are persons aged 15 years and over who, during the reference week performed work, even for 

just one hour a week, for pay, profit or family gain or who were not at work but had a job or business from which 

they  were  temporarily  absent  because  of  something  like,  illness,  holiday,  industrial  dispute  or  education  and 

training. 

Source: Eurostat Labour Force Survey 

11.  Employees 

An individual who works for a public or private employer and who in return receives compensation in the form of 

wages, salaries, fees, gratuities, payment by results or payment in kind. 

Source: Eurostat Labour Force Survey 

12.  Employment 

A person is considered as having an employment if he or she did any work for pay or profit during the reference 

week "Work" means any work for pay or profit during the reference week, even for as little as one hour. 

Source: Eurostat Labour Force Survey 

13.  Enterprise 

An enterprise is the smallest combination of legally recognised units 

  constituting an organisational unit for producing goods or services; 
  benefiting  from  a  certain  degree  of  autonomy  in  decision  making,  especially  for  the  allocation  of  its  current 

resources.  

It may be a sole legal unit and carries out one or more activities at one or more locations. 

Source: Structural business statistics 

14.  Unemployed 

Unemployed persons comprise persons aged 15 to 74 who were: 

a)  without work during the reference week, i.e. neither had a job nor were at work (for one hour or more) in 

paid employment or self-employment; 

b)  currently available for work, i.e. were available for paid employment or self-employment before the end of 

the two weeks following the reference week; 

c)  actively seeking work, i.e. had taken specific steps in the four week period ending with the reference week 

to seek paid employment or self-employment or who found a job to start later, i.e. within a period of at most 

three months. 

Source: Eurostat Labour Force Survey 

25 

 
 
 
 
 
2.4.2.  Distinction between job posts and job vacancies 

For  the  purpose  of  collecting  data  through  data  crawlers  it  is  necessary  to  distinguish  between  jobs 

posted or advertised on employment websites or job boards and the actual number of job vacancies.  

Jobs can be posted on various job boards.  An employer or recruitment agency etc… can post a job on 

more than one employment website in order to attract the largest pool of suitably qualified candidates. 

For  example,  a  job  vacancy  may  be  advertised  in  a  major  newspaper  as  well  as  on  an  employment 

website dedicated only to ICT jobs and on the company’s own website. This means that when data on 

ICT job vacancies is collected through web crawlers, data on a particular ICT vacancy will be collected 

more than once. It may be posted on any number of websites providing job search facilities.  

Therefore it is imperative to distinguish between jobs posted from actual job vacancies.  

𝑛

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑣𝑎𝑐𝑎𝑛𝑐𝑖𝑒𝑠  𝑝𝑜𝑠𝑡𝑒𝑑𝐼𝐶𝑇    =  ∑ 𝐽𝑜𝑏𝑠𝐼𝐶𝑇

𝑖=1

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑣𝑎𝑐𝑎𝑛𝑐𝑖𝑒𝑠 𝑝𝑜𝑠𝑡𝑒𝑑 𝐼𝐶𝑇 = 𝑑.  𝑉𝐼𝐶𝑇 

Where: 
𝑉𝐼𝐶𝑇 is the number of ICT vacancies  
 𝑑 is the average duplication factor.  
 𝑛 is the total number of job boards. 

It  is  difficult  to  give  an  exact  figure  in  how  many  different  job  boards  a  vacancy  is  posted.  A  similar 
exercise conducted on a regular basis in the Netherlands5 found that 𝑑 was 3 for the 12 000 websites 
crawled.  

Therefore it is essential to collect data on the number of ICT jobs advertised or posted as well as the 

unduplicated count of ICT job vacancies. 

2.5.  Defining data and indicators to be collected 
As was already stated in Section 2.1, the overall objective is to collect information on the number of ICT 

vacancies  in  each  EU  Member  State,  broken  down  by  type  of  occupation.  Job  vacancy  posts  are  in 

themselves  a  rich  source  of  information  which  can  yield  important  data  on  the  demand  for  ICT 

practitioners. Apart from allowing us to have a good idea of the number of ICT vacancies, job posts can 

also help us to answer a number of questions of interest, including: 

In which type of industry are the ICT jobs? 

  Where the ICT jobs are located? 
  Who are the employers?  
 
  What type of formal educational requirements are needed for the job? 
  What type of skills are requested? 
  Which software and hardware tools are mentionned? 
  What type of working conditions are offered?  

5 Source: JobFeed. Data refer to 16/01/2014. 

26 

 
 
 
 
 
 
 
 
 
                                                      
A  typical  advertisement  placed  on  a  job  board  usually  contains  the  following  information  which  can 

answer the above questions: 

1.  Job title; 

2.  Location of the job; 

3.  Type of contract: full/part time or temporary/contract; 

4.  Company recruiting or the name of the recruitment agency; 

5.  Description  of  the  job  post  which  includes  information  on  the  educational  requirements,  type  of 

skills, software and hardware tools, working conditions etc…. 

The indicators which can be extracted from actual job advertisements can be grouped into the following 

seven groups: 

A.  Background 

These indicators relate to the data collected which has not been unduplicated. The unduplicated 

data  can  be  used  to  calculate  the  average  duplication  factor  across  all  ICT  vacancies  from  the 

ratio  of  job  posts  to  job  vacancies.  This  factor  can  be  seen  as  an  indication  of  the  relative 

importance of online advertising in a Member State. The lower the duplication factor, on average 

a job vacancy will be posted on less job boards. This means that in those countries with a low d, 

recruiters  have  less  need  to  post  on  more  than  one  job  board  as  they  know  they  will  attract  a 

good pool of candidates by simply posting on one job board. However, in those countries with a 

high d (e.g. d=3 or higher), recruiters know the market is saturated with job boards and they will 

have to post on several to get a good selection of candidates. 

B.  Key indicators 

These are the key indicators which answer the main  objectives of the study. That is how many 

ICT vacancies there are advertised and what type of  ICT occupations is there a demand for by 

employers. 

C.  Geographical location 

This set of indicators, examine the geographical location of where ICT vacancies are located. 

D.  Industry 

These indicators relate to identifying the type of industry where the job vacancies are located.  

E.  Channels of recruitment 

Calculating indicators on the share of ICT vacancies posted by recruitment agencies, as opposed 

to  direct  advertisements  by  companies  recruiting  would  give  an  indication  of  the  channels  by 

which ICT vacancies are filled in each Member State.  

F.  Conditions of employment   

These indicators aim to depict a picture of the conditions of employment offered by employers in 

job advertisements. In order to attract the best candidates for a particular post, it is normally the 

case that recruiters will to varying degrees outline some key employment conditions being offered 

in  the  job  post.  This  might  include  expected  salary,  bonuses  etc….  In  Ireland  and  the  UK,  it  is 

normally the case that the salary being offered is listed on the post. However, this is seldom the 

case in other European Member States. In order to compare salaries between Member States, it 

is  important  to  convert  them  into  Purchasing  Power  Standard  (PPS).  Purchasing  power 

27 

 
 
 
 
 
 
 
 
standards  are  based  on  comparisons  of  the  prices  of  representative  and  comparable  goods  or 

services recorded in the national currency of the country in question on a specific date. 

In addition, recruiters normally stipulate in the job advertisement whether the post is permanent, 

temporary or a contract job. It would be useful to determine whether there are national variations 

in the type of ICT contracts (permanent versus contract) offered and whether there are variations 

at the regional level too.  For instance according to figures obtained from Jobsadwatch in the UK, 

21  per  cent  of  vacancies  in  the  2nd  quarter  of  2013  were  for  contract  jobs.  In  sheer  numbers 

London  and  the  south  is  where  most  of  the  demand  is  for  contract  jobs,  with  83.4%  of  all 

contracts placed.  

G. Educational & skills requirements 

This set of indicators relate to identifying the educational qualifications, top skills and applications 

requested in ICT job vacancies. The benefit of a robot crawler data collection is that it can identify 

skills details that could not be harvested through Employer surveys as they would be considered 

too time-consuming and expensive. So in theory data on the top 10, 20, etc… skills requested in 

ICT vacancies could be broken down by type of occupation. 

Table 2.2 shows the indicators that can be collected from a job board web crawler collection exercise. It 

should be noted that this list is not exhaustive. 

28 

 
 
 
 
 
 
 
Table 2.2: Indicators that can be collected from a job board web crawler collection exercise 

No 

Indicator 

A Background indicators 

ICT001  Number of ICT job posts 

ICT002  Ratio of number of ICT job posts to job vacancies 

B Key Indicators  

ICT003  Number of ICT job vacancies 

ICT004  Number of ICT job vacancies broken down by broad category of occupation (1-digit level) 

ICT005  Number of ICT job vacancies broken down by broad category of occupation (1-digit level) 

as a share of the total (%)  

ICT006  Number of ICT job vacancies broken down by detailed category of occupation (2-digit level) 

ICT007  Number of ICT job vacancies broken down by detailed category of occupation (2-digit level) 

as a share of the total (%) 

C Geographical location  

ICT008  Number of ICT job vacancies broken down by region (NUTS) 

ICT009  Number of ICT job vacancies broken down by region (NUTS) as a share of the total (%) 

ICT010  Number of ICT job vacancies broken down by region (NUTS) and type of occupation 

D Industry 

ICT011  Number of ICT job vacancies broken down by industry (NACE rev 2)  

ICT012  Number of ICT job vacancies broken down by industry (NACE rev 2) as a share of the total 

(%) 

ICT013  Number  of  ICT  job  vacancies  broken  down  by  industry  (NACE  rev  2)  and  type  of 

occupation 

ICT014  Number  of  ICT  job  vacancies  broken  down  by  industry  (NACE  rev  2)  and  type  of 

occupation as a share of the total (%) 

ICT015  Number of ICT job vacancies broken down by industry and region 

ICT016  Number  of  companies  in  the  ICT  sector  advertising  ICT  vacancies  as  a  percentage  of  all 

vacancies  

E Channels of recruitment 

ICT017  Number of recruitment agencies advertising ICT vacancies 

ICT018  Number  of  recruitment  agencies  advertising  ICT  vacancies  as  a  percentage  of  all  ICT 

vacancies  

F Conditions of employment 

ICT019  Number of ICT vacancies broken down by type of contract (permanent and contract)  

ICT020  Number of ICT vacancies broken down by type of contract (permanent and contract) as a 

percentage of all ICT vacancies 

ICT021  Number of ICT vacancies broken down by type (permanent and contract) by type of region 

(NACE rev 2) 

ICT022  Average salary offered for ICT job vacancies (PPS) 

ICT023  Average salary offered for ICT job vacancies broken down by type of occupation (PPS) 

ICT024  Average salary offered for ICT job vacancies broken down by region (PPS) 

G Educational & skills requirements 

ICT025  Top 10 skills requested in  ICT vacancies 

ICT026  Top 10 skills requested in  ICT vacancies by type of occupation 

ICT027  Top 10 application platforms requested in  ICT vacancies 

ICT028  Top 10 application requested in job advertisements 

ICT029 

ICT vacancies broken down by level of education and type of occupation 

29 

 
2.6.  Classifying ICT vacancies by ICT occupation 
In order to classify the data collected from the internet on ICT job vacancies by type of occupation, it is 

necessary to have a classification of ICT vacancies by which each vacancy can be classified.  Section 

2.2  (Defining  ICT  occupations)  examined  the  occupations  that  ISCO-08  defines  as  ICT  in  order  to 

establish  the  occupations  that  should  be  collected  in  a  data  collection  of  ICT  vacancies  based  on 

internet robots crawlers.  

Two ISCO-08 definitions of ICT occupations were considered: 

1.  A narrow one which includes professional and associate professional occupation in ICT as sub-

major groups at the second level of the classification and  

2.  A  wider  definition  which  includes  other  unit  groups  that  primarily  involve  the  production  of  ICT 

goods and services.  

It was observed that some of the occupations in unit groups that primarily involve the production of ICT 

goods and services are classified under the generic category of IT (Information Technology) on national 

job boards.  

ISCO-08 provides a structure of the different types of ICT occupations whether it is using the narrow or 

the  wider  definition  by  grouping  them  together  into  different  units  at  the  4-digit  level.  However  it  does 

not provide a comprehensive list of occupations that are associated with each unit group at the 4-digit 

level. Instead it gives a few examples of occupations that should be included as well as what should not 

be  included  in  a  particular  unit  group  at  the  4-digit  level.  Unfortunately,  these  examples  are  not 

comprehensive enough to cover all the different ICT job titles that may be encountered on job boards.  

Therefore it is necessary to investigate alternative avenues which can fill the void of a comprehensive 

list  of  ICT  occupations,  which  is  lacking  in  ISCO-08.  One  possible  alternative  to  investigate  is  ESCO 
(European Skills, Competences, Qualifications and Occupations) which is based on ISCO-08. ESCO is 
the multilingual classification of European Skills, Competences, Qualifications and Occupations. ESCO 

is  part  of  the  Europe  2020  strategy.  The  ESCO  classification  identifies  and  categorises  skills, 

competences,  qualifications  and  occupations  relevant  for  the  EU  labour  market  and  education  and 

training. It systematically shows the relationships between the different concepts. 

ESCO  occupations  are  structured  in  a  hierarchy  of  five  levels.  ISCO-08  forms  the  upper  four  layers 

(occupation  groups).  The  ESCO  occupations  themselves  are  added  as  a  fifth  layer.  The  occupation 

pillars of ESCO currently includes 5 000 occupations that are  organised  under the 390 unit groups of 

the  ISCO-08  classification.    These  occupations  have  already  been  translated  into  all  the  EU  official 

languages. 

In this section, the aim is to establish: 

  Which occupations are typically found in national job boards?  
  Whether a one size fit all list of occupations be used for all Member States or does each country 

have to be investigated separately? 

  To what extent can the ESCO classification of ICT occupations be used to classify ICT vacancies 

posted on national job boards? 

  A classification of ICT occupations which should be used to collect data on ICT vacancies. 

30 

 
 
 
 
 
 
 
 
2.6.1.  Strategies for classifying ICT vacancies by occupation 

There are a number of approaches that can be used to classify ICT vacancies by type of occupation. 

The two main approaches are: 

1)  Top-down approach - This approach entails taking the existing ESCO list of ICT occupations and 

searching national job boards using the key word search facilities for vacacncies matching these 

occupations.    Therefore,  it  should  be  easy  to  determine  whether  this  ready-made  list  of  ICT 

occupations can be easily applied for classifying ICT vacancies across all Member States.  This 

approach makes the strong assumption that there are no national variations in job titles for ICT 

vacancies posted on job boards. This means that any job vacancy where the job title cannot be 

matched to the list of ESCO ICT occupation will be lost.  

2)  Bottom-up  approach  -  This  approach  starts  by  investigating  what  type  of  job  titles  are  actually 

advertised  at  the  national  level  on  job  boards  and  then  trying  to  map  them  to  the  ESCO 

classification for ICT occupations. If there are issues in mapping the ICT vacancies to the ESCO 

classification of ICT occupations then an alternate classification which would be  compatible with 

ISCO-08 would be developed. This approach ensures that no ICT vacancy is lost simply because 

it did not match the list of ICT occupations devised by ESCO. 

Table  2.3  shows  the  relative  advantages  and  disadvantages  of  each  of  the  above-mentioned 

approaches.  

Table 2.3: Advantages & disadvantages of various methods for classifying ICT job posts 

Method 

Advantages 

Disadvantages 

Top-down approach 

  Simpler  to  administer  as  it  is 

ready to use. 

  Does not take into account national 
and 

variations 

titles 

job 

in 

  Can easily apply it across all EU 

descriptions 

Member States 

  Risk 

of 

underestimating 

the 

  Less  labour  intensive  than  the 

number  of  ICT  vacancies  in  a 

other methods 

  Have a list of occupations which 
is  comparable  across  Member 

particular  group  if  job  titles  do  not 

match the ESCO list of occupations 

  High 

likelihood 

of 

ICT 

job 

States 

vacancies being lost.  

  Assumes that one size fits all which 

is not the case  

Bottom-up approach 

  Produce  more 

comparable 

  Very 

labour 

intensive.  Have 

to 

statistics as it takes into account 

analyse 

the 

job 

titles 

in  each 

national variations in job titles; 

Member  State  and  match  them  to 

ESCO sub-categories. 

  Uses the ESCO classification as 
the backbone for classification; 

  Less 

likelihood 

of 

job 

advertisements  being  dumped 

into the unclassified category  

For  the  purpose  of  this  study  we  first  examined  the  top-down  approach  for  classifying  ICT  job  posts. 

This means we first took the list of ICT occupations identified by ESCO and tried to search job boards in 

a number of Member States to see if we could identify ICT vacancies corresponding to that particular 

vacancy. 

31 

 
 
 
 
 
Secondly,  we  examined  ICT  job  titles  found  in  job  boards  at  the  national  level  and  then  attempted  to 

map them to ESCO at the 4-digit level. This approach is very time consuming if it is performed for every 

Member State. Our research has shown  there  are literally  hundreds of variations of ICT job titles that 

appear  in  job  vacancy  notices.  Therefore,  it  was  decided  to  concentrate  on  identifying  ICT  job  titles 

found  on  job  boards  in  several  Member  States,  which  included  Belgium,  France,  Germany, 

Netherlands, Poland and the United Kingdom.  

2.6.2.  Findings from investigation  

1)  Top-down approach 

The  ESCO  ICT  occupations  were  taken  one  by  one  and  input  into  the  search  engines  of  various 

national  job  boards  to  see  if  the  occupations  match  job  titles  in  ICT  vacancy  notices.  For  some 

ESCO  occupations,  it  was  found  that  they  matched  the  job  titles  found  on  vacancy  notices  on 

national job boards. However, it was also observed that for  many occupations there was no match 

whatsoever on national job boards.  Table 2.4 shows some examples of ESCO ICT occupations not 

found in national job boards. 

Table 2.4: Examples of ESCO ICT occupations not found in national job boards 

ESCO occupation 

ESCO group 

Data processing manager 

1330 

Information  and  communications 

technology  service 

Telephone district manager 

1330 

Information  and  communications 

technology  service 

managers 

System attendant 

2511  System analysts 

Data processing consultant 

2511  System analysts 

Computer methods director 

2512  Software developers 

managers 

Method analyst (computing) 

2521  Database designers and administrators 

Traffic inspector 

Telegraphist 

2523  Computer network professionals 

3521  Broadcasting and audiovisual technicians 

It  can  be  argued  that  some  occupations  such  as  ‘telegraphist’  have  become  obsolete  or  there  are 

very few openings. However, some of the occupations listed such as data processing consultant can 

be  very  easily  confused  with  non-ICT  related  occupations.  It  is  clear  that  the  ESCO  list  of  ICT 

occupations cannot be used in its entirety knowing that there are occupations which do not exist at 

national level or can be easily confused with non-ICT occupations.  

It  was  also  observed  that  the  translation  of  some  ICT  occupations  into  other  EU  languages  was 

imprecise,  because  the  translation  was  done  exactly  word  by  word.  Therefore  they  do  not  reflect 

national realities. For example in the ESCO classification, IT consultants were translated into French 

as ‘Consultant(e) en technologies de l’information’. Investigation of job boards in France shows that 

if  this  is  input  into  the  search  engine  nothing  will  show  up.  However,  if  we  examine  what  jobs  are 

actually posted we find ‘Consultant IT’ and ‘Consultant informatique’. 

Nevertheless,  it  was  found  that  some  of  the  ESCO  ICT  occupations  can  be  matched  to  job  titles 

found on ICT job vacancy notices. Table 2.5 shows some examples of ESCO ICT occupations found 

in  national  job  boards.  It  was  also  noted  that  ‘Data  Analysts’  which  are  found  in  group  2521 

Database designers and administrators can be easily confused with non–ICT occupations.  

32 

 
 
 
 
 
 
 
ESCO  groups  3521  Broadcasting  and  audiovisual  technicians  and  3522  Telecommunications 

engineering technicians are particularly difficult to investigate. It could be suggested that given very 

few results were obtained when we searched job boards with the ESCO occupations in these groups 

that  they  don’t  exist.  However,  it  is  probably  the  case  that  occupations  in  these  groups  are  more 

‘niche’  (e.g.  film  engineers  and  broadcasting  technicians).  This  may  mean  that  these  occupations 

may not be advertised in mainstream job boards but in sector specific information outlets. In order to 

achieve adequate coverage of vacancies in these occupational groups, further research needs to be 

undertaken at the national level to establish where these types of vacancies are published. 

Table 2.5: Examples of ESCO ICT occupations found in national job boards 

ESCO occupation 

ESCO group 

IT manager 

1330 

Information  and  communications 

technology  service 

IT project manager 

1330 

Information  and  communications 

technology  service 

managers 

managers 

Systems analysts 

2511  Systems analysts 

IT system engineer 

2511  Systems analysts 

Interaction designer 

2512  Software developers 

Web developer 

2513  Web and multimedia developers 

Web programmer 

2513  Web and multimedia developers 

Data analyst 

2521  Database designers and administrators 

Database administrator 

2521  Database designers and administrators 

Database developer 

2521  Database designers and administrators 

Network administrator 

2522  Systems administrators 

System architect 

2523  Computer network professionals 

2)  Bottom-up approach 

A  number  of  major  websites  were  investigated  in  a  number  of  Member  States  (Belgium,  France, 

Germany, Netherlands, Poland and the United Kingdom) in order to identify the job titles that appear 

on ICT vacancy notices on job boards. Job titles found in ICT vacancies occupations were extracted 

and  these  were  then  matched  to  the  ESCO  classification  where  possible.    As  a  result  of  this 

matching exercise, a number of main observations were made: 

a)  Very little correspondence with the list of ESCO ICT occupations 

Some of the job titles found in ICT vacancy notices matches occupations in the list of ESCO ICT 

occupations, whilst others clearly do not. This was already observed when we investigated using 

the  top-down  approach.  This  clearly  reinforces  the  findings  from  examining  the  top-down 

approach that the list of ESCO ICT occupations should not be used as the central pillar by which 

ICT vacancies are classified by type of occupation. Otherwise it will be the case that most of the 

ICT  vacancies  identified  will  be  automatically  lost.  In  the  ESCO  list  of  ICT  occupations,  the 

occupation  ‘Interaction  designer’  falls  under  the  category  of  Software  developers.  However,  on 

job  boards  ‘Interaction  designer’  is  not  so  common.  In  fact  it  is  rarely  used,  instead  the  terms 

‘UX’, ‘UI’ and ‘User Interface’ are more commonly used 

b)  Absence of homogeneity in ICT job titles  

Unfortunately there is a clear lack of any homogeneity in the ICT job titles posted by companies, 

recruitment  agencies,  etc…  in  job  vacancy  notices.  This  means  that  any  occupation  that  fits  a 

particular  ICT  occupational  group  at  the  ESCO  4-digital  level  can  have  a  job  title  posted  by 

33 

 
 
 
   
recruiters  in  many  different  ways  or  formulations.    ICT  recruiters  do  not  strictly  prescribe  to  a 

standard. Sometimes, the software skill needed is attached to the title (e.g. C++, C#, SQL etc…). 

This  is  particularly  true  in  the  ESCO  sub-major  category  of  ICT  ‘250  Information  and 

communications technology professionals’.  

c)  Potential for misclassification of  ICT vacancies based on their job titles  

It  was  found  that  it  is  quite  easy  to  misclassify  an  ICT  vacancy  into  the  wrong  category.  The 

vacancy may be classified in one category based on the  fact that part of the job title matches a 

particular  ICT  occupation  in  the  ESCO  list.  However,  the  vacancy  should  be  classified  into  a 

different category. For example a Java developer may be classified into the category of ‘software 

developers’, but based on the actual job description it should belong under ‘web developers’.  

Table 2.6: Examples of job titles found in ICT vacancy posts 

ESCO Occupation 

Job titles found in ICT vacancy posts 

IT project manager 

Technical project manager, IT project manager, IT Team Leader 

Operations 

manager 

Operations  Manager, 

IT  Operations  Manager,  Technical 

(computing) 

Operations Manager 

Interaction designer 

Interaction designer, Senior Interaction (UI) Designer,  

Software Engineer 

C  Software  Engineer,  C++  Software  Engineer,    Embedded  C 

Engineer,  Embedded  C  Software  Engineer,  Senior  Software 

Engineer,  Senior Embedded Software Engineer, Embedded C++ 

Engineer,  Embedded  C/C++  Engineer,  Firmware  Engineer,  C++ 

Developer,  Real  Time  Software  Engineer,  Real  Time  Engineer, 

Principal Engineer, Embedded Software Developer  

Web developer 

.NET  Developer,    .NET  Web  Developer,      Front-End  Developer,  

C#  Developer,    C#  Web  Developer,    Senior  Web  Developer, 

Front-End  Web  Developer, 

  ASP.NET  Developer, 

  PHP 

Developer,  PHP  Web  Developer,    C#  .NET  Developer,    ,    Web 

Applications  Developer, 

  C#  ASP.NET  Developer,  Java 

Developer, 

System administrator 

System  administrator,  Linux  Systems  Administrator,  Senior 

Systems  Administrator,    UNIX  Administrator,    UNIX  Systems 

Administrator, Windows Administrator,   Systems Support, Senior 

Systems Engineer,   

Database administrator 

Database Administrator, SQL Database Administrator, DBA, SQL 

Server DBA, Server Administrator, Senior DBA, Senior SQL DBA, 

Senior SQL Server DBA, Oracle DBA 

d)  ICT vacancies skewed towards Information and communications technology professionals 

It has been observed that the majority of ICT vacancies fall into the ESCO sub-major category of 

ICT  ‘250  Information  and  communications  technology  professionals’.  Based  upon  conducting 

desk research of a sample of job websites in each Member State, it is evident that the majority of 

vacancies  that  are  classified  as  ’IT’  or  ‘Information  Technology’  fall  in  the  ESCO  sub-major 

category  of  ICT  ‘250  Information  and  communications  technology  professionals’.  To  a  lesser 

extent  vacancies  that  could  be  classified  as  ICT  fall  in  the  category  351  Information  and 

communications technology operations and user support technicians.  

34 

 
 
 
 
Even  though  the  sub-category  ‘352  Telecommunications  and  broadcasting  technicians’  is 

classified as ICT by ISCO-08, these type of job vacancies are very rarely categorised under ‘IT’. 

They may appear to a lesser extent under engineering or even under any other category.  

e)  ICT vacancies can be classified by ESCO categories to a certain degree  

It  has  been  found  that  it  is  possible  to  classify  ICT  vacancies  by  the  ESCO  classification  to  a 

certain  degree. There are  some ICT job titles  where  the actual  vacancy can fall  in two or more 

categories.  For  example  it  is  not  always  clear  cut  distinguishing  those  job  titles  that  could  fall 

between  2512  Software  developers  and  2514  Applications  programmers.  In  theory  these  two 

categories are quite distinct, however in practice some of the job titles in vacancy notices make 

them  difficult 

to  separate.  Software  developers  research,  analyse,  and  evaluate  new 

requirements  for  existing  or  new  software  applications  and  operating  systems,  and  design, 

develop, test and maintain software solutions to meet these requirements. In contrast, Application 

programmers  write  and  maintain  programmable  code  outlined  in  technical  instructions  and 
specifications  for  software  applications  and  operating  systems6.  It  should  be  noted  that  the 
European e-Competence Framework (e-CF)7 does not distinguish these two categories.  

f)  Variations between Member States 

It has been found that some ICT titles may exist in one or several Member States but not all of 
them. For example 1st, 2nd and 3rd Line support (engineer) exists in the United Kingdom, Belgium 
and a few other Member States but not in France.  

Some  ICT  job  titles  may  in  some  Member  States  relate  to  an  occupation  which  has  nothing 

whatsoever to do with ICT. For example an Account Manager in most Member States relates to a 

person who is the senior focal point for client sales and customer satisfaction in ICT. However, in 

the UK it was found that while some vacancy notices for IT account managers relate to this, other 

notices relate to persons who work in recruitment agencies whose job is to find IT professionals.  

It has also been observed  that certain job titles  which appear in  English in the  United Kingdom 

may  be  worded  differently  in  English  in  other  Member  States.  For  example:  Helpdesk 

administrators often appear in job boards in Belgium as Service desk Administrators. 

2.6.3.  Occupations that do not fit into one occupational group 

In general all classifications must have a category where items that cannot be classified in one distinct 

category  are  placed  into.  The  existing  ESCO  classification  which  is  based  on  ISCO-08  has  two  such 

categories in 25 Information and communications technology professionals: 

i. 

ii. 

2519 Software and applications developers and analysts not elsewhere classified 

2529 Database and network professionals not elsewhere classified 

However,  they  did  not  exactly  match  an  ‘unclassified  category’  in  the  strict  sense.  This  is  because 

ISCO-08  has  a  precise  definition  of  these  two  categories  and  the  type  of  occupations  that  should  be 

included. In the case  of 2519, this unit  group includes professionals specialising  in quality assurance, 

including software testing. While unit group 2529 includes information and communications technology 

security specialists.  

In the UK ‘Jobsadwatch’ collects information on IT vacancy notices through robots crawling internet job 

boards. ‘Jobsadwatch’ has a list of 25 ICT occupations by which the ICT vacancy posts are classified. 

6 The International Standard Classification of Occupations (ISCO-08). Volume 1: Structure, Group Definitions and 
Correspondence Tables 
7 http://www.ecompetences.eu/ 

35 

 
 
 
 
 
                                                      
Examining the Jobsadwatch database, it was found that most IT posts were placed into the unclassified 

category as the job title did not match any of the list of ICT occupations. Therefore for the purpose of 

ensuring that any vacancy which is identified as being ICT is not lost, it is essential to devise a separate 

unclassified category so as to ensure that the number of ICT vacancies is not under calculated. 

2.6.4.  Developing a classification of ICT occupations 

The investigation  of the two approaches (top-down and Bottom-up) has revealed that using the  list  of 

ICT occupations provided by ESCO will inevitably result in missing data as there are no corresponding 

matches  in  national  job  boards  for  a  good  number  of  occupations.  Nevertheless,  some  ESCO  ICT 

occupations can be matched to job titles found on ICT job vacancy notices in Member States. Instead of 

completely  discarding  the  ESCO  ICT  occupation  list  as  well  as  the  ISCO-08  classification,  it  was 

concluded  that  the  best  way  was  to  use  it  as  a  foundation  for  developing  a  classification  of  ICT 

occupations.  Those  occupations  that  are  not  used  would  be  discarded.  The  intention  of  developing  a 

new classification of ICT occupations is that it will specifically be designed to meet the heterogeneous 

nature of job titles posted on national job boards. 

For  the  purpose  of  developing  a  classification  of  ICT  occupations  for  classifying  ICT  vacancies,  the 

approach adopted was to focus on the narrow definition of ICT occupations (see Section 2.2) as well as 

the  unit  groups  1330  ICT  Service  Managers,  and  2434  ICT  Sales  Professionals.  This  approach  does 

not rule out altogether from including other unit groups which are primarily involved in the production of 

ICT goods and services in the classification developed.  The classification developed in this section can 

be expanded later on to include these at a later date. 

As  mentioned  in  section  2.6.2  (Findings  from  investigation),  it  is  possible  to  classify  ICT  vacancies 

found  in  national  job  boards  by  the  ESCO  classification  to  a  certain  degree.  There  will  inevitably  be 

instances where there may be difficulties in classifying a particular vacancy in one or more categories. 

This could easily be overcome by merging such categories together to avoid such problems.  

As observed in ICT vacancy notices, job titles tend to include a particular ICT skill which inevitably leads 

to  a  multitude  of  job  titles.  If  we  were  to  adopt  a  meticulous  approach  to  capturing  all  ICT  vacancies 

notices  by  occupation,  the  final  list  of  occupations  would  ran  into  300  and  perhaps  more  titles.  This 

would  not  be  a  practical  approach  to  adopt.  In  a  Utopian  ideal,  ICT  professions  especially  IT 

professions should be perfectly categorised just like the medical profession where we can differentiate a 

general practitioner from a neurologist or a dermatologist. This is not the case in ICT. Furthermore, the 

ICT industry does not stand still. It is constantly evolving in particular the IT part of it. Some ICT skills 

will  be  popular  today  but  obsolete  in  2,  5  or  10  years’  time.  For  example  the  incidence  of  COBOL 

appearing in job titles is reducing very fast. Only found only 15 vacancy notices were found in the UK in 

one of their web crawlers which reported reporting of COBOL in the notice. This is in contrast to 1208 

ads  for  requiring  C#.  Including  in  the  classification,  occupations  with  a  skill  in  the  vacancy  title,  will 

mean that that the classification would have to be regularly updated for changes. 

It  is  also  important  to  ensure  that  vacancies  are  not  misclassified  by  building  up  a  list  of  skills  which 

belong  in  certain  groups.  Table  2.7  contains  the  first  version  of  the  MOVIP  classification  of  ICT 

occupations.  It  should  be  noted  that  some  categories  namely  ‘Software  Developers’  and  ‘Application 

programmers’  have  been  merged  as  it  has  been  found  that  it  is  difficult  to  distinguish  these  two 

categories in job vacancy posts.  

36 

 
  
 
 
 
 
 
 
Table 2.7: MOVIP Classification of ICT occupations – Version 1.0 

Code 

Group 

ISCO-08 

1 

Information and communications technology service managers 

11 

Information and communications technology service managers 
Computer manager 

IT manager 

IT project manager 

Network manager 

IT Operations manager 

System manager 

Technical project manager 

IT Team Leader 

IT Support manager 

IT Technical manager 

IT Director 

Telephone manager 

Telecommunications manager 

Network operations manager 

IT infrastructure manager 

2 

Information and communications technology sales professionals 

21 

Information and communications technology sales professionals 
IT Sales 

IT Sales Manager 

IT Account Director 

IT Account Manager 

IT Sales Director 

IT Sales Representative 

IT Sales consultant 

Digital Sales Consultant 

Business Development Manager  - IT 

Technical Sales Executive -IT 

3  Software and applications developers and analysts 

31 

Systems analysts 

IT analyst 
IT auditor 

IT consultant 

system engineer - IT 
System analyst - IT 

System tester 

Systems consultant - IT 

Information systems analyst 

Systems auditor 

IT Business Analyst 

Enterprise Architect 

Systems architect 

Solutions Architect   

133 

1330 
1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

2434 

2434 

2434 

2434 

2434 

2434 

2434 

2434 

2434 

2434 

2511 
2511 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

37 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Group 

ISCO-08 

Code 

32 

Software Developers 
Software programmer 

Software developer  

Software Consultant  

Software Development Engineer  

Software Architect  

Software Engineer  

Software Design Engineer  

UX /UI designer / User experience/ Interaction designer 

Developers 

Analyst programmer 

Embedded software engineer 

Application developer 

Application engineer 

Application Programmer 

System developer 

System programmer 

33 

System designer - IT 
Web and multimedia developers 
Web developer 

Web programmer 

Web Designer  

Computer games programmer 

Games developer 

Internet Developer  

Website architect 

.NET developer 

PHP developer 

Drupal developer 

SharePoint developer 

Mobile developer 

Java Developer 

34 

JAVA J2EE Developer 
Software  and  applications  developers  and  analysts  not  elsewhere 

classified 

Application engineer  

Security analyst  

Software Tester  

Systems Tester 

Software Test Engineer  

Quality assurance Engineer - QA 

Quality assurance analyst - QA 

Quality consultant 
4  Database and network professionals 

41 

Database designers and administrators 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2514 

2514 

2514 

2514 

2514 

2514 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2519 

2519 

2519 

2519 

2519 

2519 

2519 

2519 

251 

38 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Code 

Group 

ISCO-08 

Database administrator -DBA 

Database designer 

Database developer - DBA 
Database engineer 

Database analyst 

Database architect 

SQL Database Administrator - DBA 

SQL Developer  

SQL analyst 

Oracle DBA 

42 

Data Warehouse developer 
Systems administrators & computer network professionals 
Network administrator 

System administrator 

Network Architect 

Network engineer 

System manager 

Network Support Engineer 

Linux  Administrator 

System architect 

Network analyst 

43 

Database and network professionals not elsewhere classified 

IT security manager 

Network Security Consultant  

Network Security Engineer  

Network Security Specialist  

Network Specialist  

Network Security Analyst 

5 

Information  and  communications  technology  operations  and  user  support 

technician 

51 

Information and communications technology operations technicians 

Communications technician 

Computer operator 

Service operation technicians 
Information and communications technology user support technicians 

52 

IT support  

IT technician 

Helpdesk Support 

Helpdesk Engineer  

Helpdesk Administrator  

Helpdesk Technician  

Line Support  - 1st / 2nd / 3rd 

Helpdesk Manager  

Helpdesk Analyst  

Desktop support 

2521 

2521 

2521 
2521 

2521 

2521 

2521 

2521 

2521 

2521 

2521 

2522 

2522 

2522 

2522 

2522 

2522 

2522 

2523 

2523 

2529 

2529 

2529 

2529 

2529 

2529 

351 

3511 

3511 

3511 

3512 

3512 

3512 

3512 

3512 

3512 

3512 

3512 

3512 

3512 

39 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Code 

Group 

ISCO-08 

53 

Computer network and systems technicians 

Network technician 

Network support technician 

System technician 
Web technicians 

54 

Web manager 

Webmaster 

Web Administrator 

Web support 

6  Telecommunications and broadcasting technicians 

61 

Broadcasting, audiovisual  technicians 

Audiovisual technician - AV 

Audio assistant 

Audiovisual engineer 

Cameraman 

Film cutter 

Film engineer 

Film grip 

Film lighting technician 

Soundman 

Lighting designer 

Lighting engineer 

Lighting setter 

Lighting supervisor 

Lighting technician 

Mixer (audio technician)  

Music engineer 

Outside Broadcast assistant 

Outside Broadcast technician 

Projector operator 

Recording assistant 

Recording engineer 

Re-recording technician 

Sound engineer 

Sound roadie 

Sound technician 

Soundtrack engineer 

Stage technician 

Studio electrician 

Studio technician 

Tape engineer 

Television editor  - TV 

Tour engineer 

Video cameraman 

Video editor 

3513 

3513 

3513 

3514 

3514 

3514 

3514 

352 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

40 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Code 

Group 

ISCO-08 

Video engineer/service engineer 

Video mixer 

Videotape engineer 

Videotape technician 

Video technician 
Telecommunications engineering technicians 

62 

Radio Officer 

Radio operator 

Telecommunications technician 

Verification engineer  

7 

ICT occupations not classified elsewhere 

3521 

3521 

3521 

3521 

3521 

3522 

3522 

3522 

3522 

- 

2.7.  Classifying ICT job vacancies by level of education 
In order to ensure comparability in the data collected between Member States, it is normally the case 

that the level of education is classified by the International standard classification of education (ISCED 

2011).  

ISCED is designed to serve as a framework to classify educational activities as defined in programmes 

and the resulting qualifications into internationally agreed categories. The basic units of classification in 

ISCED  are  the  national  (and  sub-national)  education  programme  and  the  related  recognised 

educational qualification. The ISCED classification consists of parallel coding schemes for educational 

programmes  (ISCED-Programmes  or  ISCED-P)  and  levels  of  educational  attainment  (ISCED-

Attainment or ISCED-A) (see Table 2.8). 

Table 2.8: ISCED coding: First digit – levels 

ISCED Level 

ISCED-Attainment (ISCED-A) 

0 

1 

2 

3 

4 

5 

6 

7 

8 

Early childhood education   

Primary 

Lower secondary 

Upper secondary 

Post-secondary non-tertiary 

Short-cycle tertiary 

Bachelor or equivalent 

Master or equivalent 

Doctoral or equivalent 

It would be wrong to make the assumption that all job vacancies posts listed on job boards indicate the 

formal educational requirements needed for the job. It has been established that in many ICT vacancy 

posts  the  level  of  education  is  not  mentioned  at  all  and  when  it  is,  it  is  not  always  clear  what  the 

recruiter actually wants.  Box 4.1 illustrates this problem with some examples.  

41 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Box  2.1:  Examples  of  educational  requirements  requested  in  vacancy  notices  for  ICT 

occupations 

1)   “Master en IT est clairement préféré pour ce poste mais les candidatures justifiant d'une expérience 

susceptible de compenser seront regardées avec attention également” 

2)  “Diplômé en IT” 

3)  "Minimum 11 years of relevant studies and experience after secondary school." 

4)  “Educated. BA/BS degree in Computer Science preferred but other technical or quantitative degrees 

or equivalent work experience will also be considered” 

5)  “IT Degree (or some directly related experience)” 

It  is  clear  from  the  examples  given  in  Box  2.1  that  it  is  not  always  the  case  that  an  educational 

qualification especially at higher education level is requested if the candidate can demonstrate relevant 

experience instead. However, it can be argued that the mention of a certain qualification can be used as 

a proxy to the level of education required for the job. 

Collecting  data  by  determining  if  the  vacancy  mentions  a  national  qualification  and  mapping  it  albeit 

roughly to ISCED 2011 will be subject to inherent bias because a significant proportion of job vacancy 

posts  do  not  mention  the  formal  education  requirements.  This  means  that  the  data  collected  on  the 

number of ICT vacancies broken down by level of education will be underestimated. Nevertheless, the 

data collected from ICT vacancy notices posts which report the formal education requirements needed 

for the job can help to understand the common formal skills demands of employers for a particular ICT 

vacancy. 

In  order  to  be  able  to  determine  the  level  of  education  and  to  make  it  comparable  between  Member 

States, it is  necessary to  have a  list  of the main  educational qualifications  available for each Member 

State. The results of an exercise conducted by Member States and the UNESCO Institute for Statistics 

(UIS) to map national education systems according to the ISCED 97 (the predecessor of ISCED 2011) 
are available8. The mappings help Member States to report their data in an internationally comparative 
framework.  However,  at  the  present  moment  in  time,  mappings  of  educational  programmes  and 

qualifications  awarded  are  not  available  according  to  ISCED  2011.  Nevertheless,  the  mappings 

available can be used to produce a list of qualifications available by Member State mapped to ISCED. 

At the same time, it is also crucial to examine ICT job vacancy posts in each Member State in order to 

establish any divergences from the ISCED list on how qualifications are commonly reported in actuality. 

It is the case that in each Member State abbreviations of qualifications are commonly used. Therefore, 

it  is  necessary  built  up  a  list  of  the  most  commonly  used  terms  with  respect  to  formal  education 

requirements in each Member State. 

While  ICT  job  vacancy  posts  do  not  always  mention  the  formal  education  requirements  needed  for  a 

particular  job,  the  majority  of  ICT  job  vacancy  posts  list  the  ICT  software  and  hardware  skill 

requirements  in  the  post.  This  is  especially  the  case  for  vacancies  that  fall  within  ISCO-08  group  25 

Information  and  communications  technology  professionals.  For  this  reason,  it  is  advised  that  a  data 

collection involving robots crawling the web should try to isolate the most commonly reported software 

and hardware skills needed for a particular type of occupation. 

8 http://www.uis.unesco.org/Education/ISCEDMappings/Pages/default.aspx 

42 

 
 
 
 
 
 
 
 
                                                      
2.8.  Classifying ICT job vacancies by industry (NACE) 
NACE Rev 2 (Statistical classification of economic activities) is the European standard classification of 

productive economic activities. NACE contains 21 main categories of economic activities (1 digit level) 

and 615 classes.  

It  is  normally  the  case  that  data  should  be  presented  in  one  of  the  twenty-one  main  categories  (see 

Table 2.9). 

Table 2.9: Statistical Classification of Economic Activities in the European Community, Rev. 2 (2008) 

AGRICULTURE, FORESTRY AND FISHING 

MINING AND QUARRYING 

MANUFACTURING 

ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY 

WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION 

ACTIVITIES 

CONSTRUCTION 

WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND 

MOTORCYCLES 

TRANSPORTATION AND STORAGE 

ACCOMMODATION AND FOOD SERVICE ACTIVITIES 

INFORMATION AND COMMUNICATION   

FINANCIAL AND INSURANCE ACTIVITIES 

REAL ESTATE ACTIVITIES 

PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES 

ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES 

PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY   

EDUCATION 

HUMAN HEALTH AND SOCIAL WORK ACTIVITIES 

ARTS, ENTERTAINMENT AND RECREATION 

OTHER SERVICE ACTIVITIES 

ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; U0NDIFFERENTIATED GOODS- AND 

SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE 

ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES 

A  

B 

C  

D  

E 

F 

G 

H  

I 

J 

K 

L 

M 

N 

O  

P  

Q  

R  

S  

T  

U  

Computer  programming,  consultancy  and  related  activities9  fall  under  category  J  Information  and 
Communication: 

J Information and Communication   

62.0 Computer programming, consultancy and related activities       

  62.01 

Computer programming activities 

62.02   Computer consultancy activities 

62.03 

62.09 

Computer facilities management activities 

Other information technology and computer service activities 

9  This  division  includes  the  following  activities  of  providing  expertise  in  the  field  of  information  technologies: 
writing,  modifying,  testing  and  supporting  software;  planning  and  designing  computer  systems  that  integrate 
computer hardware, software and communication technologies; on-site management and operation of clients' 
computer  systems  and/or  data  processing  facilities;  and  other  professional  and  technical  computer-related 
activities. 

43 

 
 
 
 
 
 
                                                      
It should be noted that ICT professionals can be employed in any economic activity and not just in the 

62.0 Computer programming, consultancy and related activities category.    

There are problems with classifying job vacancies by industry because it is not always the case that the 

industry of the employer is mentioned in the job posting.  

Examining ICT job vacancies in a sample of job boards, it was found that it is very difficult to determine 

from  the  actual  advertisement,  the  industry  of  the  company  having  an  ICT  opening.  Sometimes  the 

advert  may  indicate  the  industry  of  the  company  having  an  ICT  vacancy,  such  as  retail,  or  computer 

software. However, normally the way it is phrased it would be impossible to determine in which NACE 

category the ICT vacancy should be classified. In addition, it is the case that some adverts are placed 

by  a  recruitment  agency  acting  on  behalf  of  the  company  with  no  evidence  in  the  advert  on  who  the 

client is. For example the following advertisement for a developer states that  

 “We  currently  require  the  services  of  Developer  to  work  for  a  well  respected  client  based  in 

Wimbledon”. 

It is highly difficult to  determine NACE directly from the information  given in ICT vacancies. However, 

each  ICT  vacancy  mentions  the  name  of  the  company  or  recruitment  agency  listed.  In  each  Member 

State the professional register of companies should be able to provide a list of establishments broken 

down by NACE. The name of the company listed in the ICT vacancy can then be matched to the list of 

companies and the corresponding NACE classification can then be extracted. 

In some Member States recruitment agencies can command a significant share of the overall number of 

ICT vacancies being advertised. When classifying ICT vacancies by NACE, it is important to distinguish 

between  recruitment  agencies  and  all  other  companies.  The  reason  for  this  is  simple,  recruitment 

agencies  act  as  a  go-between  between  the  recruiting  company  and  the  potential  employee.  This  is  a 

category where we cannot identify the industry of the actual recruiting company. Recruitment agencies 

fall  under  category  N  Administrative  and  Support  Service  Activities  in  the  division  ‘Employment 
activities’10: 

N Administrative and Support Service Activities 

78.0 Employment activities  

  78.01 

Activities of employment placement agencies  

78.02  

Temporary employment agency activities  

78.03 

Other human resources provision  

Recruitment Agencies need to be treated as a special case. The final number of companies classified in 

category N Administrative and Support Service Activities should not include data for 78.0 Employment 

Activities.  The  number  of  companies  advertising  ICT  vacancies  that  fall  under  Employment  Activities 

should be treated as a special case. 

10  This  division  includes  activities  of  listing  employment  vacancies  and  referring  or  placing  applicants  for 
employment,  where  the  individuals  referred  or  placed  are  not  employees  of  the  employment  agencies, 
supplying  workers  to  clients'  businesses  for  limited  periods  of  time  to  supplement  the  working  force  of  the 
client, and the activities of providing other human resources. 

44 

 
 
 
 
 
 
 
 
    
 
 
 
 
 
 
 
                                                      
2.9.  Classifying job vacancies by region 
NUTS should be used to classify the location of the job vacancy. The NUTS (Nomenclature of territorial 

units for statistics) classification is a hierarchical system for dividing up the economic territory of the EU. 

The NUTS level at which the job location is classified depends on the size of the Member State.  

Table 2.10: Recommended NUTS level by Member State 

Member State 

Recommended 

NUTS Level 

Belgium 

Bulgaria 

Czech Republic 

Denmark 

Germany  

Estonia 

Ireland 

Greece 

Spain 

France 

Croatia 

Italy 

Cyprus 

Latvia 

Lithuania 

Luxembourg 

Hungary 

Malta 

Netherlands 

Austria 

Poland 

Portugal 

Romania 

Slovenia 

Slovakia 

Finland 

Sweden 

United Kingdom 

2 

2 

2 

2 

1 

2/3 

3 

2 

2 

2 

2/3 

2 

2/3 

2/3 

2/3 

2/3 

2 

2/3 

2 

2 

2 

2 

2 

2/3 

2 

2 

2 

1 

45 

 
 
 
 
 
 
 
Section 3 

Main challenges and solutions proposed 

46 

 
 
 
 
 
 
 
 
   
3. Main challenges & solutions proposed 

3.1. Ensuring cross-border comparability 
Cross-border comparability is a very difficult issue to solve in a data collection involving data collected 

from numerous internet job boards. In any EU data collection, very often, any classification used would 

automatically  be  translated  into  all  the  official  languages  of  the  EU  and  applied  across  all  Member 

States. Unfortunately, this is not the case here, as we are dealing with a ‘real life’ situation in that data 

will  be  collected  directly  from job  boards  where  advertisers  post  ICT  vacancies  by  whatever  title  they 

feel would better attract a good pool of suitably qualified candidates.   

As noted in section  2.6.2 (Findings from investigation), there is a clear lack of homogeneity  in the job 

titles  that  are  listed  in  job  vacancy  notices.  The  situation  becomes  more  complicated  when  recruiters 

start to attach a software skill to a job title. There is nothing compelling recruiters to adopt a strict list of 

ICT  job  titles  either  at  the  national  or  the  EU  level.  Therefore,  alternate  approaches  have  to  be 

considered for harmonising the data collected to make it comparable between Member States. 

In order to ensure comparability between Member States, there are two distinct approaches that can be 

adopted: 

1)  Translating the MOVIP classification of ICT occupations developed (see Section 2.6.4, Developing a 

classification of ICT occupations) into all the official languages of the EU and collecting data from job 

boards using the translated classification in each Member State; 

2)  Consider the MOVIP classification of ICT occupations as the main key. Examining several main job 

websites in each Member State  we can  identify  and  match occupations that correspond directly to 

the MOVIP classification. 

Even  though  method  (1)  is  the  simpler  one  to  adopt,  there  are  inherent  problems  in  this  approach.  It 

was  observed  from  the  top-down  approach  (see  Section  2.6.2  Findings  from  investigation)  that  the 

translation may be imprecise, because the translation was done exactly word by word.  Therefore using 

this  approach  means  that  some  occupations  will  be  literally  lost  in  translation.  Consequently,  the 

number of ICT vacancies will be under-estimated. 

The second approach is more pragmatic and realistic. It takes the MOVIP classification and searches 

for  vacancies  which  actually  exist  at  national  level  and  tries  to  match  them  to  each  occupation  in  the 

MOVIP classification. One down-side to this approach is that it involves a certain amount of man-power 

to establish the list of occupations for a Member State. However, adopting this approach to France (see 

Section  4  Conducting  a  pilot)  it  was  found  that  it  can  be  done  very  quickly  because  the  MOVIP 

classification acts as the key. 

The  second  approach  is  more  advantageous  than  the  first  approach  in  that  there  is  less  likelihood  of 

letting ICT vacancies slip through the net, as the system will be automatically programmed to capture 

them. If we adopt the first approach, we will face the prospect that not all ICT vacancies will be captured 

and if they will be captured they will probably be classified as ‘unclassified’.  A similar exercise in the UK 

Jobsadwatch devised a classification of about 29 occupations. Examining their database, it was found 

that  the  majority  of  IT  vacancies  captured  were  classified  as  ‘unclassified’  because  they  did  not 

correspond  to  any  of  the  29  occupations  in  the  list.  In  conclusion,  we  advocate  using  the  second 
approach to ensure cross-border comparability of the data collected. 

47 

 
 
 
 
 
 
3.2. Estimating number of websites to ensure good coverage  
Estimating  the  number  of  job  boards  that  need  to  be  crawled  in  order  to  achieve  a  good  coverage  of 

ICT vacancies requires information on the: 

i.  Total number of ICT vacancies in a Member State (stock11)  
ii.  Number  of  de-duplicated  ICT  vacancies  collected  in  each  Member  State  for  a  given  number  of 

job boards (stock). 

Unfortunately,  the  variable  the  total  number  of  ICT  vacancies  is  a  known  unknown.  Very  little 

information is actually available and what information is available generally refers to data collected from 

surveys  or  vacancies  counts  reported  to  Public  Employment  Services  (PES).  Data  reported  to  PESs 

does not capture all ICT vacancies in the Member State because for the majority of Member States, it is 

not compulsory to notify the PES of a vacancy.  

Data  on  the  total  number  of  ICT  vacancies  in  a  Member  State  can  also  be  collected  from  similar 

exercises involving robots crawling the internet for commercial purposes which have been conducted in 

a number of Member States.  However, it should be noted that these commercial crawlers definitions of 

ICT  tend  to  be  more  skewed  towards  IT  professions,  in  particular  ISCO-08  group  25  Information  and 

communications 

technology  professionals.  They  also  cover 

Information  and  communications 

technology managers and to a certain extent operations and user support technician. However, they do 

not cover Telecommunications and broadcasting technicians. Therefore, this means that the number of 

ICT  vacancies  is  generally  under-estimated.  The  only  method  of  establishing  the  number  of  de-

duplicated  ICT  vacancies  collected  in  each  Member  State  for  a  given  number  of  job  boards  is  to 

conduct  an  automated  crawl  of  job  boards  or  to  collect  information  from  existing  commercial  job 

crawlers. 

A very rough method of estimating the number of job boards needed to achieve a good coverage of ICT 

vacancies is to take a sample of job boards in each Member State and isolate the number of ICT jobs 

posted. In most job boards, the number of vacancies posted in the category of ‘Information Technology’, 

‘IT’  etc.  is  a  good  proxy  for  the  number  of  ICT  vacancies.  Those  sites  which  are  aggregators  are 

identified and removed in order to minimise duplication. Then the number of ICT job posts for each job 

board can be summed together and adjusted for duplication. Evidence collected from similar job board 

crawlers, shows that the duplication factor varies between two and three. Therefore the total should be 

adjusted by this factor to obtain a very rough estimate of the number of ICT vacancies. These figures 

could then be compared to estimates of the number of ICT vacancies (stock data) obtained from similar 

exercise undertaken to establish the share of vacancies covered by the number of websites.  

This exercise was undertaken for France on the 11/03/2014 where a sample of one-hundred job boards 

was  taken.  Aggregator  job  boards  were  removed  from  the  list  and  the  total  number  of  ICT  vacancies 

was identified for each job board and the sum total across all job boards was calculated.   Adjusting the 

number  of job  posts  for  duplication,  the  number  of  ICT  vacancies  was  estimated  to  be  47  032  with  a 

duplication factor of 2 and 31 355 with a duplication factor of 3.  This figure can be relatively compared 

to  the  stock  data  on  the  number  of  IT  vacancies  obtained  from  a  similar  exercise  conducted  by 

Textkernel for France were there were 22 115 IT vacancies collected on the 16/01/2014. Even though 

the dates when these two exercises were conducted are different, it is not expected that the number of 

IT vacancies would increase or decrease dramatically over the space of a two-month period. It can be 

concluded  that  this  rough  method  of  estimating  the  number  of  job  boards  needed  to  achieve  a  good 

11 The stock of vacant jobs is the number of vacant jobs measured at a given moment in time. 

48 

 
 
 
 
                                                      
coverage of ICT vacancies greatly over-exaggerates the number of vacancies. One reason why this is 

the case is that this method does not take into account the fact that an undetermined proportion of job 

posts will have already expired on the job boards, which means that the number of job vacancies will be 

greatly over-estimated. 

The only feasible method of arriving at an estimate of the number of job boards that need to be crawled 

in  order  to  achieve  a  good  coverage  of  ICT  vacancies  is  to  examine  evidence  of  similar  exercises 

conducted  using  automated  searches  of  job  boards  for  vacancies.  In  Denmark  Jobindex  crawls  500 

sites  in  order  to  collect  data  on  vacancies  for  all  types  of  occupation.  However,  it  is  not  necessary  to 

crawl all 500 sites to obtain a good coverage of ICT vacancies. In the Netherlands, Textkernel under the 

label JobFeed crawls 12 000 job boards both through wild and targeted spidering. The huge number of 

sites  searched  is  explained  by  the  fact  it  retrieves  jobs  from  job  boards,  newspapers,  recruitment 

agencies, large employers and it also searches on Twitter for tweets with links to vacancies. However, it 

was  noted  that  for  some  occupations  including  IT,  crawling  100  job  boards  is  sufficient  to  achieve  a 

good  share  of  the  market.  As  is  the  case  in  Denmark  Textkernel  collects  vacancies  on  all  types  of 

occupations.  

On  the  other  hand  some  job  board  crawlers  are  focussed  on  crawling  IT  vacancy  job  sites  only.  This 

means that they can be more targeted in the websites they actually crawl. In section 2 of this report, it 

was noted that the definition of ICT occupations can be very wide encompassing such occupations as 

electronic  and  telecommunication  engineers.  IT  occupations  should  be  regarded  as  a  subset  of  ICT 

occupations. 

In  the  UK,  Jobsadwatch12  provides  a  specialised  monitor  of  IT  recruitment  job  boards.  Data  from  this 
data  collection  has  been  used  to  examine  the  demand  for  IT  professionals13  by  e-skills  UK  (United 
Kingdom's sector skills council for the IT industry). Jobsadwatch crawls only 8 job boards14.  Only two of 
these  sites  are  actually  focused  only  on  IT  jobs  (cwjobs  and  theitjobboard).  The  other  6  sites  provide 

vacancy  information  across  a  wide  range  of  sites.  The  two  IT  focused  sites  accounted  for  more  than 
one third of all advertisements in January 2014. Another exercise in the UK, IT Jobswatch15 only crawls 
four IT specific websites. 

It was noted from examining a sample of job boards in each of the EU-28 Member States that very few 

vacancies  were  found  in  ESCO  group  352  Telecommunications  and  broadcasting  technicians.  This 

means that in order to cover this group more websites will have to be crawled. 

It is clear that the number of websites crawled does not have to be as extensive as is the case in the 

Netherlands  in  order  to  get  a  good  share  of  ICT  vacancies.  Indeed  for  small  Member  States  such  as 

Cyprus,  Estonia,  Latvia,  Lithuania,  Luxembourg,  Malta  and  Slovenia,  crawling  between  10  to  15 

websites will be sufficient to achieve a good share of ICT vacancies (approximately 75%).  

For the other Member States, the situation is completely different as there are potentially hundreds of 

websites  to  crawl.  It  should  be  possible  to  crawl  only  100  major  job  boards  so  as  to  achieve  a  good 

12 Salary Services Ltd 
13 e-skills UK, ‘Technology Insights 2012’, 2012 
14  www.cwjobs.co.uk;  www.jobsite.co.uk;  www.jobserve.co.uk;  www.totaljobs.co.uk;  www.monster.co.uk; 

www.reed.co.uk; www.jobs.guardian.co.uk; www.theitjobboard.co.uk 

15 http://www.itjobswatch.co.uk/ 

49 

 
 
 
 
 
 
 
                                                      
share  of  ICT  vacancies  (70%  to  75%).  However,  in  order  to  ensure  that  the  target  of  70%  to  75% 

coverage  is  met,  it  is  important  to  identify  the  most  popular  sites  where  employers  and  recruitment 

agencies  seeking  ICT  professionals  post  their  vacancies.  These  sites  can  be  major  or  simply  niche 

catering to ICT professionals. As observed in the UK, with Jobsadwatch, it is not necessary to crawl 100 

sites to obtain a good share of ICT vacancies. Each Member State should be examined individually so 

as  to  determine  the  key  sites  where  employers  and  recruitment  agencies  advertise  ICT  vacancies.  It 

would  be  a  complete  waste  of  resources  to  stick  to  crawling  100  or  200  sites  for  all  Member  States 

when a proportion of these may not even have a single ICT vacancy posted.  

3.3. Access restrictions to websites 
This  section  explains  why  it  is  important  to  consider  access  restrictions  when  gathering  data  from 

websites, especially job boards. This includes: 

iv. 

Legal right of data/commercial issues - potential reuse of the data might be seen as data hacking 

or phishing; 

v.  Security issues - some websites may have defensive rules in place to prevent mass crawling; 

vi.  Technical issues – some websites may be developed and structured in such a way that prevents 

automatic crawling. 

3.3.1.  Legal right of data/commercial issues 

The  internet  is  a  global  network  where  a  vast  amount  of  information  can  be  found,  including  images, 

email addresses, articles, text content… This type of information may be  private or public. In order to 

maintain authorship rights or legal right of data, webmasters can restrict access to all or certain parts of 

a website through defence mechanisms. Sometimes webmasters may even choose to give free access 

to the data on the website. 

The  rules  and  recommendations  are  provided  through  text  information  (e.g.  “legal  notice”)  as  well  as 

instructions for automatic crawling tools. However, these can easily be overridden. An internet user can 

copy  and  paste  and  use  the  data  without  following  the  legal  notice.  Moreover,  it  is  possible  to  put  an 

automatic crawler into a “force-mode” where it gathers all the data it requires without following the rules 

set out by the website owner. However, the correct thing to do is to comply with these measures. This 

will insure that the crawler either an individual internet user or a robot crawler will not be completely put 

into a blacklist of banished users. 

3.3.2.  Security issues 

When an internet user browses a website, it will ask for an average 3 to 6 webpages per minute as well 

as associated medias, such as images, documents embedded within a webpage. An automatic crawler 

can easily ask for dozens of webpages per second. Therefore, this mobilises a great deal of resources 

from  the  web  hosting  service,  including  computation  time  (to  construct  and  deliver  the  pages), 

bandwidth…etc. 

If the web servers are overloaded with queries from internet users and/or robot crawlers, it can lead to a 

general crash of the application. This means that the website can be blocked for several minutes, until 

the pressure is off. 

To prevent this from happening too often, hosting services  set defence mechanisms in place such as 

firewall  security,  specific  crawling  policy  etc.  These  mechanisms  also  help  prevent  spamming,  or 

50 

 
 
 
 
 
 
 
hacking.  As  is  the  case  with  legal/commercial  use  of  data,  these  rules  should  be  strictly  followed  in 

order to keep the system functioning indefinitely. 

3.3.3.  Technical issues 

Each  website  has  a  specific  technical  structure.  It  should  follow  norms  such  as  HTTP  protocols  or 

HTML  languages,  to  insure  that  all  or  a  majority  of  internet  browser  software  (e.g.  Internet  Explorer, 

Firefox or Chrome) will be able to display the web pages to the internet user. 

Nevertheless,  100%  compatibility  is  never  possible,  and  each  website  can  have  anomalies  in  its 
compliance with the general standards16. Therefore, a crawler can face an incompatible structure due to 
standard non-compliance  or applicative  bugs. Whereas such anomalies can easily  be dismissed by  a 

human  internet  user  by  reloading  the  page,  or  by  browsing  around  the  page  using  back  links  etc.,  a 

crawler might be blocked and the crawling process stopped, if not “taught” how to handle it. 

There are also cases where the construction of the site is not suitable for a crawl. That might happen, if 

the  user  needs  to  be  registered,  or  when  the  information  is  displayed  according  to  direct  user/visual 

interaction. 

3.3.4. 

Implications for automated search of ICT vacancies 

Having  taken  into  consideration  the  various  issues  surrounding  access  restrictions  to  websites, 

including legal right of data, security and technical issues, it is apparent that any automated search of 

ICT vacancies on the internet will have to face to the following problems: 

1.  Websites which forbid crawlers - In these instances, it is advised to contact the website owner to 

get their authorisation to crawl, before placing the website into the crawling list; 

2.  Websites restricting crawling - 

  Speed  restrictions  -  a  crawler  is  asked  not  to  browse  too  fast,  and  the  rhythm  is  set  at  a 

dedicated rate (such as 1 webpage per second), in order to avoid overload; 

  Structure restrictions - a crawler cannot browse  or record certain parts of the  website. If the 
wished data (job vacancies) are within this restricted area, we have to contact and exchange 

with the website owner (see above). 

If the website owner does not wish to give or open the data to the crawler, or if the website structure is 

not compliant  with the crawler abilities, the  website cannot be considered as a  source for the general 

monitoring process.  

3.4. Duplication of job posts 
As mentioned in section 2.4.2, a particular job vacancy can be posted on two or more job boards.  An 

employer or recruitment agency etc… can post a job on more than one employment website in order to 

attract  the  largest  pool  of  suitably  qualified  candidates.  This  means  that  when  data  on  ICT  job 

vacancies  is  collected  through  web  crawlers,  data  on  a  particular  ICT  vacancy  will  be  collected  more 

than  once.  The  problem  of  duplication  of  job  posts  is  further  compounded  by  the  fact  that  some  job 

boards are simply search engines that collect results from multiple independent job boards. These job 

boards are called job aggregators.  

16 Standards in themselves are sometimes contradictory. For example, the World Wide Web consortium (W3C), 
which  is  dedicated  to  create  and  organise  these  standards,  are  suggesting  both  XHTML  1.0  and  HTML  5 
standards to structure webpages, and each website has to choose between one or the other… 

51 

 
 
 
 
 
 
 
 
                                                      
In section 2.4.2, a distinction was made between job posts and the actual number of job vacancies. The 

following equation was given to emphasise the difference between the two concepts: 

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑣𝑎𝑐𝑎𝑛𝑐𝑖𝑒𝑠 𝑝𝑜𝑠𝑡𝑒𝑑 𝐼𝐶𝑇 = 𝑑.  𝑉𝐼𝐶𝑇 

Where: 
𝑉𝐼𝐶𝑇 is the number of ICT vacancies  
 𝑑 is the average duplication factor.  

Evidence from a similar exercises involving robots crawling the internet to capture data on vacancies for 
commercial purposes in France, Germany, Netherlands and Italy17 show that the average number of all 
IT job vacancies captured that are duplicated varies between 2 to 3 times (see Table 3.1). Remarkably, 

the data collection carried out in these countries does not include aggregator job boards. If aggregator 

job boards were crawled, then this number would be far larger.  

Table 3.1: Stock of IT vacancies and IT posts – 16/01/2014 

France 

Germany 

Netherlands 

Stock of IT 

vacancies  

22,115 

37,804 

15,969 

IT postings 

46,136 

70,021 

49,333 

% of posts 

duplicated 

52.1 

46.0 

67.6 

Notes: 
IT posts refer to all the count of all vacancy posts including duplicates 
IT vacancies refer to all vacancies after they have undergone de-duplication 

Source: JobFeed, Textkernel 

In  order  to  minimise  the  de-duplication  process  it  is  important  not  to  include  aggregator  job  boards  in 

the crawling process. Aggregator job boards simply compound the process further as they tend to crawl 

the  same  job  boards  and  produce  similar  results.  In  order  to  filter  out  the  duplicate  job  posts,  it  is 

necessary to perform a de-duplication process which is discussed in more detail in Section 4.4.  

Nevertheless, there is a unique case whereby even a de-duplication process will not capture duplicated 

job  posts.  A  particular  job  vacancy  may  be  posted  by  two  or  more  recruitment  agencies.  Each  job 

posting may differ in the wording and sometimes even the title. Sometimes the only clue that it could be 

the same job is the mention in the description of the location and/or the industry of the employer.  

3.5. Other issues 
There are a number of issues which may also be encountered when conducting an automated crawl of 

websites to collect ICT vacancy data. These include: 

  Jobs posted in more than one language; 
  Similar jobs posted by the same company; 
  Multiple job vacancies picked up within the advert; 
  Same job vacancy posted by several recruitment agencies. 

3.5.1.  Jobs posts in more than one language 

There  is  a  distinct  possibility  that  advertisers  may  post  the  same  ICT  vacancy  in  more  than  one 

language. This is particularly the case in Member States where there is more than one official language 

17 JobFeed 

52 

 
 
 
 
 
 
 
 
 
                                                      
(e.g.  Belgium,  Cyprus,  Greece  and  Luxembourg).  However,  this  may  also  happen  in  Member  States 

whose official language is not English. It was observed in job boards in many EU Member States where 

there is only one official language other than Ireland and the United Kingdom, that some job posts have 

been placed in English.  

In  practice,  job  posts  for  ICT  vacancies  can  be  duplicated  in  any  Member  State  in  any  language. 

However, examining a number of job boards in several Member States, it was concluded that it is very 

difficult to estimate the number of times this event happens. 

The solution to this should be automatically embedded in the de-duplication process once all the data 

has  been  collected  during  the  crawl.  Job  posted  in  other  languages  other  than  the  official  language 

would be automatically translated and then compared to the job post in the official language. It is at this 

stage that any duplicated posts would be automatically identified. 

3.5.2.  Similar jobs posted by the same company 

There is a possibility that a company has similar jobs posted both on the same job board as well as on 

different job boards. It is envisaged that the system in place for de-duplication of job posts will be able 

to differentiate these posts as different and not try to de-duplicate them.  

It  is  possible  to  dissociate  in  the  crawling,  the  job  content  and  the  company  description.  In  order  to 

investigate similar job posts, only the job content part of the post will be analysed. It is envisaged that 

the  de-duplication  process  will  only  de-duplicate  job  vacancies  with  the  same  signature.  However, 

similar  but  different  job  posts  will  have  different  signatures,  and  therefore  will  not  be  considered  as 

duplicate posts. 

3.5.3.  Multiple job vacancies picked up within the advert 

There is a possibility that there may be job posts where a company is expanding and it has a number of 

vacant posts. The company places a single advert on a job board where it describes the company and 

only  lists  all  the  jobs  it  has  vacancies  for  at  the  end  of  the  job  vacancy  post.  It  should  be  possible  to 

isolate in the crawling process, the vacant posts listed in the actual description. 

3.5.4.  Same job vacancy posted by several recruitment agencies 

A particular job vacancy may be posted by several recruitment agencies on behalf of a company. There 

is no way of determining whether it is the same job vacancy because the job title and the job description 

content will undoubtedly vary by recruitment agency. The name of the company who has job vacancy is 

very  seldom  mentioned  in  order  to  maintain  the  competitive  edge  of  the  recruitment  agency’  with 

respect to its’ competitors.  The only way of determining if the job post refers to the same job vacancy is 

by  examining  the  location  of  the  job  as  well  as  the  industry  of  the  client  if  mentioned  in  the  job 

description. This problem is further compounded by the fact that in some instances, the company itself 

may  also  advertise  in  the  media  as  well.  Unfortunately,  this  is  one  issue  which  cannot  be  resolved 

satisfactorily by the de-duplication process.  

53 

 
 
 
 
 
 
 
 
 
 
Section 4 

Conducting a pilot in France 

54 

 
 
 
 
 
 
 
 
   
4. Conducting a pilot in France 

The  main  objectives  of  the  pilot  were  to  test  the  methodologies  (including  classification  of  ICT 

occupations) during the course of the study. 

An  automated  search  for  one  Member  State  was  conducted  twice  during  the  duration  of  the  study  in 

France. Two crawls were conducted on: 

1)  1st May – 4th May 2014 
2)  8th May – 13th May 2014 

The  choice  of  France  as  the  pilot-test  Member  State  was  made  in  consultation  with  the  European 

Commission.  

4.1. Defining sources of information 
In  section  2.3,  a  number  of  sources  of  information  for  collecting  data  on  ICT  vacancies  through  an 

automated search of the internet were identified. This included: 

1)  Job boards (this includes general and ICT specific); 

2)  Newspapers; 

3)  Recruitment agency websites;  

4)  Company websites (this includes ICT companies); 

5)  Government (Local, Regional and National level); 

6)  Social Media sites such as Twitter, which can provide links to companies with ICT vacancies or 

LinkedIn with pages specifically dedicated to vacancies.  

For  the  pilot  exercise,  it  was  decided  to  concentrate  on  crawling  job  boards  and  major  newspapers 

where vacancies are posted as well as major recruitment agency websites such as Reed and Adecco. 

Small recruitment agencies or company websites were not to be crawled in the pilot.  

Type of information to collect 

4.2. 
There are two types of information where agreement needs to be reached on what to collect in the pilot 

study: 

i.  Type of ICT occupations 

ii.  Data and indicators 

4.2.1.  Type of ICT occupations 

In  section  2.2,  we  examined  the  issue  of  defining  ICT  occupations  and  whether  to  stick  to  a  narrow 

definition  of  ICT  occupations  or  to  include  other  ICT  occupations  involved  in  the  production  of  ICT 

goods  and  services.  The  investigation  of  a  sample  of  job  boards  revealed  that  some  occupations  not 

included  in  the  narrow  definition  of  ICT  are  normally  advertised  in  conjunction  with  ICT  occupations 

defined in the narrow group. For example IT managers, IT Account managers etc…. 

In section 2.6.4, we proposed a first version of the list of ICT occupations by which ICT vacancies will 

be classified by. In this pilot we concentrated on the narrow definition of ICT occupations as prescribed 

by ISCO-08 along with ISCO-08 groups and 2434 ICT Sales Professionals which primarily involve the 

production of ICT goods and services ICT service managers. For the purpose of the pilot we classified 

ICT  vacancies  by  this  classification.  Annex  1,  contains  a  mapping  of  ICT  occupations  found  in  job 

boards  in  France  to  the  MOVIP  classification.  It  should  be  noted  that  for  some  occupations  in  the 

55 

 
 
 
 
 
 
 
 
MOVIP classification there were no corresponding occupations in France. While for some occupations 

there are several variations found in job boards. Annex 1 will be used as the basis for classifying ICT 

vacancies by type of occupations in France. 

4.2.2.  Data and indicators 

In  section  2.5,  we  defined  data  and  indicators  that  could  be  collected  in  a  data  collection  of  ICT 

vacancies  involving  robot  crawlers.    Each  group  of  indicators  were  assessed  to  determine  whether  it 

could  be  feasibly  collected  during  the  pilot  study,  given  the  main  objectives  of  the  pilot.  It  should  be 

noted that given the duration of this feasibility study and the short time-span to implement the pilot study 

it  is  not  feasible  to  collect  all  the  indicators  listed  in  Table  2.2  (Section  2)  at  the  present  time.  This 

includes the following groups of indicators: 

D.  Industry; 

E.  Channels of recruitment; 

F.  Conditions of employment. 

Moreover,  at  this  stage  it  was  deemed  more  important  to  concentrate  on  testing  the  feasibility  of 

implementing an automated system to crawl the internet to collect data on ICT vacancies as well as to 

test  the  de-duplicating  process  rather  than  to  add  to  the  burden  by  building  in  extra  procedures  to 

collect  this  data.  Consequently,  it  was  concluded  to  concentrate  on  collecting  data  on  the  following 

groups of indicators: 

A.  Background indicators; 

B.  Key indicators; 

C.  Geographical location. 

Table 4.1 contains the list of indicators that could be calculated from the data collected in the pilot. 

Table 4.1: List of indicators to be derived from data collected in pilot 

No 

Indicator 

A Background indicators 

ICT001  Number of ICT job posts 

ICT002  Ratio of number of ICT job posts to job vacancies  

B Key Indicators  

ICT003  Number of ICT job vacancies 

ICT004  Number of ICT job vacancies broken down by broad category of occupation (1-digit level) 

ICT005  Number of ICT job vacancies broken down by broad category of occupation (1-digit level) 

as a share of the total (%)  

ICT006  Number of ICT job vacancies broken down by detailed category of occupation (2-digit level) 

ICT007  Number of ICT job vacancies broken down by detailed category of occupation (2-digit level) 

as a share of the total (%) 

C Geographical location  

ICT008  Number of ICT job vacancies broken down by region (NUTS) 

ICT009  Number of ICT job vacancies broken down by region (NUTS) as a share of the total (%) 

ICT010  Number of ICT job vacancies broken down by region (NUTS) and type of occupation 

56 

 
 
 
 
 
 
 
Technical methodology for conducting the pilot 

4.3. 
This  section  outlines  the  technical  methodology  of  the  prototype  developed  to  conduct  the  pilot.  The 

prototype  is  examined  in  different  parts  or  modules  which  can  be  handled  separately,  and  then 

combined to constitute the whole system. This modular approach will allow the system to be much more 

developmental and maintainable. Furthermore, the process is explained which has led to a solution for 

the system, as well as how the different modules work. 

This  section  provides  an  overview  of  the  methodology  used  to  conduct  the  pilot.  A  more  detailed 

technical description can be found in Annex 2.  

4.3.1. Global architecture of the system 

This  section  describes  the  functional  architecture  of  the  prototype.  It  also  explains  how  the  different 

components  of  the  system  work  together  in  order  to  collect  the  required  information.  In  order  to 

construct  a  prototype,  it  is  necessary  to  identify  every  main  aspect.  The  global  scenario  can  be 

described in three main steps: 

1.  First every ICT jobs post needs to be searched; 

2.  Each post then needs to be analysed so as to handle issues such as de-duplication, classification 

etc… 

3.  Finally, the statistics are computed with all the given data. 

Searching  for  every  ICT  post  entails  crawling  through  every  page  of  different  websites,  while  the 

identification of an ICT post in a website will only be achieved by analysing the content.  

Analysis and classification involves extracting meaningful data from every job post. It is envisaged, that 

the prototype should be capable of classifying job vacancies and de-duplicating job posts in instances 

where there are more than one post for one given job vacancy.   

The architecture proposed has been designed in a way that addresses the main objectives of the study: 

  Classify ICT vacancies into twenty different categories of occupations  

To meet this need, we use the name of the job when it is indicated, and the various annotations 

provided  by  the  analysis  tool.  For  this  pilot  study,  we  concentrate  on  analysing  the  job  titles, 

whereas the content annotations have been use only for de-duplication. 

  Ability to handle job vacancies posted in more than one language in a Member State  

In the same country, job vacancies can be written in several languages. For example, this is the 

case in Belgium, where jobs are posted in four different languages (Dutch, English, French and 

German). To solve this problem, the proposed architecture detects the language used, and then 

uses the right vocabulary previously added to the system, to obtain a “non-linguistic” identification 

card of the job vacancy. For this pilot study (in France), the multilingualism of the system is not 

necessary. Nevertheless, it can be plugged into the system easily if necessary. 

  De-duplication  

In  order  to  de-duplicate,  the  architecture  uses  annotations  resulting  of  analysis  modules 

application and categorisation, and the “content distance” between two vacancies.  

57 

 
 
 
 
 
 
 
Figure 4.1: Overall functional architecture of the prototype 

58 

 
 
 
 
 
 
4.3.2. Website crawling and identifying ICT jobs 

In order to collect data on the number of ICT vacancies posted on the internet, a crawler is needed. A 

crawler  is  a  tool  that  systematically  browses  the  World  Wide  Web  typically  for  the  purpose  of  Web 

indexing. For the purpose of the study, it will allow us to retrieve all the ICT jobs vacancies published by 

one website. The crawler must meet the following criteria: 

  Use a database of URLs; 
  Respect the rules of “fair-usage” and respect access restrictions imposed by the various websites 
crawled. In other words, it should not pose no impediments or hurdles to the host of the website; 

  Crawl only some URLs decided upfront -  only some URLs will be relevant to check / save, and 

the crawler must not go outside the initial tracks; 

  Save the content of the webpage under certain conditions in order to perform more analysis 

In order to explain how the crawling system works an analogy can be made to a survey of households 

to analyse the in-house audio-visual equipment of a population at country level. In order to conduct this 

survey, a pollster has to go to different towns/villages, visiting houses and apartments in certain streets, 

and look for audio-video equipment within houses and apartments. Table 4.2 presents an explanation 

how crawling works, by comparing it with a survey of households on audio-visual equipment.  

Table 4.2: Analogy of crawling system with a real life example 

Survey of households 

A pollster (human) 

MOVIP crawling 

The crawler system (automatic) 

A village/town - each town has its own map 

A website - each website has its own structure/plan 

A street - a street is a road to access 

A list page: this kind of page gives access to the 

buildings 

A house/apartment 

Equipment 

important content 

A job post 

Specific information (category, job title, …) of a job 

post 

If the system was to gather all information, regardless of the category, the analogy presented in table 

4.2  would  be  sufficient.  However,  the  objectives  of  the  study  were  to  analyse  only  ICT  vacancies. 

Therefore, the crawling system has to be configured to be able to crawl and collect only ICT job posts. 

In our analogy, the survey of households has to be restricted to a dedicated population (Table 4.3). 

Table 4.3: Analogy of crawling system to a dedicated population 

Survey of households 

MOVIP crawling 

Dedicated population only lives in a certain part of 

Only a certain categories of job offers are crawled 

the town, so a list of streets to visit is decided. 

on  the  website,  by  organising  a  “white  list”  of 

interesting lists 

Dedicated  population  houses/apartments  have 

Confirm that the job post is interesting to the study 

known  patterns  (always  a  garden  and  a  garage, 

by  analysing 

the 

job 

title  and  content,  and 

for example) 

matching it with lists. 

In-houses  equipment  can  be  found  in  different 

The  crawler  can 

identify  known  patterns/ 

rooms  of  the  house/apartment,  but  a  TV  set  is 

keywords. 

easily spottable 

59 

 
 
 
 
 
 
 
 
The  main  difficulty  for  the  crawler  is  to  be  able  to  find  the  right  information  in  the  right  place. 

Unfortunately, each website comes with its own structuration of data. Figure 4.2 shows two examples of 

differences  in  structure  for  a  job  vacancy  posted  on  two  different  websites.  The  salary  or  the 

geolocation of a job post is never printed in the same place, for two different websites. However, within 

a website all job posts are similar in their structure, like houses in a residential area. 

During the prototype conception phase, a fully automatic crawling system was tested. Nevertheless this 

type of crawler was not successful in analysing the different types of structures and gathering the data 

needed. Therefore, it was decided to manually instruct the crawler how to deal with specific structures 

of webpages. 

Each website comes with its own crawling configuration that groups the following directions: 

  Entry points/white list of URLs - what are the streets of this town to visit? 
  Authorised patterns - only keep houses with a garden and a garage; 
  Structure of a job offer - where do we find the important data? (ex: in this type of house, the TV 

set is normally on the table, on the back wall of the living room) 

The creation of a configuration file is done manually after analysing the content and technical structure 

of  a  website.  This  results  in  a  single  configuration  file  for  each  website.  The  crawling  part  in  itself  is 

completely  automatic.  The  crawler  is  provided  with  a  list  of  configuration  files  (one  for  each  website). 

Once this has been done, the crawling process can begin: 

  The crawler analyses the entry points and begin the first cycle: 
  For each cycle, it will do the following jobs: 

  Retrieve the content of each webpage in the stockpile 
  Analyse and verify if it fits with the authorised patterns. If yes: 

 

If it is a list, it gets all further links, and adds them to the stockpile of webpages to crawl (for 

the next cycle); 

 

If it is a job offer, it analyses all the content and stores it in the database. 

  The crawler continues to the next cycle, until there are no more new web pages in the 

stockpiles or it is stopped. 

60 

 
 
 
 
 
 
Figure 4.2: Difference in structure for a job vacancy posted on two different websites  

61 

 
 
 
4.3.3. Data analysis and de-duplication 

The data analysis and de-duplication step aims at identifying unique job vacancies from job posts. A job 

vacancy  is  a  post  in  a  company,  while  a  job  post  is  an  advertisement  made  for  a  job  vacancy.  Thus 

there could be multiple job posts for a single job vacancy. To retrieve and identify a unique job vacancy 

from job posts, it is necessary to identify all job posts made for this vacancy and remove the duplicate 

posts to display the results.  

Once  the  crawl  has  finished,  the  information  is  gathered  and  the  analysis  of  the  data  can  begin.  The 

information  analysed  is  mainly  the  job  title  and  the  location  which  are  mentioned  in  the  job  post.  To 

continue  with  the  previous  analogy,  it  is  like  analysing  the  model  of  the TV  and  where  it  was  bought. 

The content of the job post is examined in order to extract useful information and metadata.  

Figure 4.3: Key steps in data analysis and de-duplication 

Step 1: Save the crawled information in a database 

Step 2: Identify NUTS 2 region from the job post 

Step 3: Classify the job title using a pre-determined vocabulary 

Step 4: Extract  useful information/keywords from  content of job posts 

Step 5: Classify all unknown job titles 

Step 6: Group all  job posts with same location & classification of occupation 

Step 7: Compare each job post to other job posts in same group & remove duplicates 

Classifying job vacancies by region 
In section 2.9 (Classifying job vacancies by region), it was recommended to classify the region in which 

job vacancies are located in France by NUTS level 2. The job post will often be associated with a city, a 

region, etc. In order to classify each job vacancy by NUTS level 2, a web service which can tell us the 

NUTS code of any address whether it is detailed or not was used. 

Classifying job vacancies by type of ICT occupation 
In  section  2.6  (Classifying  ICT  vacancies  by  ICT  occupation),  the  MOVIP  classification  of  ICT 

occupations  was  developed.  The  mapping  of  ICT  occupations  found  in  job  boards  in  France  to  the 

MOVIP classification was used as the basis of classifying ICT job vacancies in both crawls. In order to 

classify job vacancies by type of ICT occupation, the job title  was extracted from the job post and the 

category to which it belongs was searched for in a set of vocabularies.  

However,  if  the  information  concerning  the  category  to  which  a  particular  job  title  belongs  to  was  not 

found in the vocabulary, then the job post was categorised as unclassified. All unknown job titles were 

classified manually. This process allowed the original vocabularies to be expanded, like adding a page 

in the catalogue for all the unknown TV brands. 

62 

 
 
 
 
 
 
This type of system has several advantages, the more inputs which are made now the less inputs will 

be needed  in the future. This means that those job titles  which  were unclassified in  a particular crawl 

will be classified in the future, as well as those job titles which are similar.  The final list of job titles will 

never be exhaustive as there will always be a new job title which has not been previously referenced. 

However, it is anticipated that it should eventually converge to covering 99% of job titles. 

Grouping and de-duplication 
Once  those  steps  were  completed,  groups  from  this  information  could  be  created.  A  group  was 

determined by gathering all posts with the same location, classification and metadata.  

Once  this  step  was  completed,  the  content  of  each  job  post  was  compared  in  order  to  determine 

whether they are identical or not. Once this was complete, all the unique job vacancies were saved with 

all the necessary data (classification by type of occupation and by region) with the aim of calculating the 

final statistics. 

The step of grouping is important because of the vast amount of job posts. The comparison would have 

been extremely time-consuming if every  single job  post would have been compared  with  all the other 

ones without grouping. Grouping of job posts considerably diminishes the number of comparisons that 

have to be made, and consequently allows the process to be completed rapidly.  This way, only a small 

amount of posts have to be compared with one another.  

4.3.4. Data processing of results  

Once  each  job  vacancy  (de-duplicated  job  post)  has  been  classified  by  type  of  ICT  occupation  and 

location, the statistics can be computed and presented.   

Table 4.4: Analogy of the key steps of analysis and de-duplication to a survey of households 

Survey of households 

MOVIP crawling 

Gather all the results 

Save the crawled information in a database 

Find the store where the TV set has been 
bought in the survey and look for its city 

Take model of the TV set and look for its 
brand in a catalogue 

Find the NUTS 2 from the location found in the job post 

Classify the job title using a pre-determined vocabulary 

Take all features / specifications of the TV 
set 

Extract all useful information/keywords from  the  content of 
the job posts 

Add  unknown  models/brands 
catalogue 

to 

the 

Classify all unknown job titles 

Group  all  the  result  from  the  same  store 
and  the  same  brand,  with  the  same 
features / specifications 

Group  all  the  job  posts  with  the  same  location  and  same 
classification by type of occupation 

Compare  the  content  of  each  result  with 
all the other in the same group and keep 
only the unique ones. 

Compare  each  job  post  with  the  other  job  posts  in  the 
same  group  and  keep  only  one  when  there  is  several 
identical for processing the statistics. 

63 

 
 
 
 
 
 
 
 
4.4.  Challenges encountered and solutions provided 
The pilot has exposed a number of challenges and issues which have been, for the main part, dealt with 

during  the  different  tests.  This  section  contains  the  main  challenges  encountered.  A  more  detailed 

examination of all the technical challenges encountered can be found in Annex 2 of this report.  

4.4.1. Crawling issues 

During the crawling phases of the study, a number of challenges were encountered which were mainly 

associated with the global heterogeneity of the quality and structure of the websites crawled. 

1.  Quality of the websites / compliance with web standards 

The majority of websites presented a different structure (see  Section 4.3.2) which was anticipated and 

integrated into the prototype. Nevertheless, a lot of websites also presented errors, such as standards, 

non-compliant structures etc. which made them more difficult to crawl. 

A human user can always find his/her way and the data needed as he/she navigates through browsing 

software that accepts and handles errors in the web page coding. In contrast, an automated user such 

as a crawler will have difficulties to resolve these issues by itself.  

For  example,  a  dynamic  website  uses  “templates”,  that  is  a  generic  structure  which  are  dynamically 

filled  with  the  data  from  each  job  post.  Normally,  it  is  expected  that  all  job  posts  on  one  website  will 

follow  this  generic  structure.  However,  some  websites  presented  different  structures.  A  first  job  post 

does  not  necessarily  have  to  have  the  same  structure  as  the  next  one.  If  the  crawler  is  facing  a 

structure  that  is  not  anticipated  and  described  in  the  configuration,  it  will  not  be  able  to  find  the 

information (job title, location…). 

Solution: In consequence, all the configuration files had to be checked and cross-checked after a series 

of test crawling process, in order to be very precise for each website. 

2.  Technologies and protocols 

Websites are not always organised such as in the following model: 

  Known entry categories; 
  List of job offers, with pagination; 
  Access to job posts details. 

Some  websites  use  other  protocols  and/or  technologies  that  are  more  complex  to  deal  with  for  an 

automated crawler. For example: 

  Generic  keywords  entry  forms  -  some  websites  do  not  classify  job  posts  into  categories,  or 
geographical  location.  Instead  they  ask  the  internet  user  for  keywords.  In  this  instance,  it  is 

necessary to prepare in advance a series of keywords and/or keyword groups; 

  POST  protocols  -  a  lot  of  websites  use  GET  protocol,  where  all  the  criteria  (current  category, 
page…)  are  visible  in  the  URL  of  the  page.  The  POST  protocol  allows  inputting  more  criteria 

during  the  communication  between  the  browser  and  the  website,  but  these  parameters  are 

hidden. Therefore, it is more complex to organise whitelists of URLs. 

  Other 

technologies  -  some  website  uses  Javascript 

languages  which  are  not  easily 

understandable by an automated crawler. 

64 

 
 
 
 
 
 
 
 
 
Solution:  When  faced  with  specific  technology  and  protocol  issues,  attempts  were  made  to  find 

alternative ways to retrieve the data. For some websites, it was just not feasible due to time restrictions, 

and those ones were finally left aside. 

3.  Infinite crawling 

When dealing with multi-criteria entry points, the crawler can lose itself in an infinite crawling process. In 

fact, the crawler will try every combination available if not guided into a restrictive mode. The count of 

combinations available is a product of all criteria/parameters available. 

For  example,  the  website  Aerocontact.com  provides  a  filtering  search  form  to  focus  on  a  specific 
selection  of  job  offers18.  Starting  from  a  list,  it  is  feasible  to  filter  by  choosing  a  type  of  contract  (4 
possibilities),  a  localisation  (up  to  25  possibilities),  an  experience  level  (4  possibilities),  an  industry 

sector (about 20 possibilities), and the date of publication (4 possibilities). Therefore, it makes 4 x 25 x 4 

x 20 x 4 = 32.000 webpages, starting from only one entry point. 

Solution:  As  for  quality  /  compliance  of  a  website,  a  series  of  test  iterations  helped  to  refine  the 

configuration  into  more  restrictive  patterns.  In  addition  to  that  preventive  measure,  the  crawler  was 

configured with limits (per cycle/per website), to prevent a website consuming all computation/crawling 

slots at the cost of the other websites. 

4.4.2.  Vocabularies 

1.  Generic terms / contents 

Some  websites  content  are  too  short  to  contain  enough  information  for  classifying  job  posts.  The  job 

post only contains generic terms and the job title in itself is sometimes very generic (e.g. “Manager” or 

“developer”).  This  is  particularly  problematic  when  under-taking  the  de-duplication  process.  As 

explained  in  Section  4.3,  the  process  of  de-duplication  takes  a  lot  of  time  when  the  groups  are 

constituted of more than 10-15 jobs posts. At the first stages of test, some groups with more than 80 job 

offers were faced. 

Solution:  In  order  to  reduce  the  number  of  job  offers  in  the  average  groups  of  de-duplication,  some 

generic  terms  were  added  (such  as  “programming”,  “development”,  “management”...).  Even  if  these 

terms  are  not  very  important  for  classifying  the  posts,  their  presence  (or  not)  helps  with  refining  the 

unique signature used for de-duplication, and thus reduces the size of the groups. 

2.  Handling of multilingualism  

The issue of multilingualism was not in covered the pilot, because most of the jobs posted on job boards 

in France are in one language French. However, in some Member States websites, job vacancies are 

posted in more than one language (e.g. Belgium, Cyprus, Greece, Luxembourg, Netherlands,). 

Solution:  The  categorisation  system  works  with  a  key/value  system.  This  means  that  for  a  value  a 

custom key is attributed to it. For each language, a vocabulary with the values and their synonyms or 

variations for a unique and global set of keys would have to be produced. Once this step is completed, 

which  language is  used  is  detected,  and then the job offer with the right language  vocabulary  can be 

compared.  Finally  compare  the  offers  with  their  associate  keys  which  are  the  same  whatever  the 

18 http://www.aerocontact.com/emploi-aeronautique/emploi-informatique-systemes-telecom.html 

65 

 
 
 
 
 
 
 
 
                                                      
language can be compared. This allows a neutral translation for every keyword in each language, and 

this translation can then be used to classify the job posts. 

4.4.3.  Job title heterogeneity 

In addition to the fuzziness of job titles, it is also important to consider the issue of heterogeneity of job 

titles. In fact, there is a lot of variation to describe a simple job title, and there is also the human factor to 

take into consideration. For example, there may be typo errors in the job title which renders the job title 

different. 

Solution:  the  vocabularies  could  take  into  account  writing  variations. When  a  job  title  is  not  known,  a 

feature  of  the  system  allows  a  user  to  either  associate  the  new  job  title  with  an  existing  category  or 

describe this title as a writing variation of an already existing one. 

4.4.4.  Location heterogeneity 

To determine the NUTS 2 level of a particular job post, a geolocation service is used. However, such a 

service needs a certain amount of input in order to find the place on the job post where the location is 

mentioned. In job vacancy posts, the location can appear in different ways: 

  Numeric (postal code/number of a road); 
  Sentences; 
  Location in between other data; 
  Mistyped locations (e.g. missing “-” into a city name)... 

Solution:  Since  it  is  difficult  to  prevent  any  errors  from  the  geocoding  service,  it  was  decided  not  to 

normalise  the  character  string.  That  is  an  automatic  solution  was  not  implemented.  In  order  to  be 

efficient,  it  is  necessary  to  teach  the  system.  It  would  be  ideal  to  handle  these  specific  cases  directly 

onto the websites configuration files. 

4.5.  Statistical analysis of results 
In  this  section,  the  data  collected  from  the  two  crawls  will  be  analysed  in  order  to  depict  the  current 

state of play related to the demand for ICT practitioners. The analysis presented in this section relates 

to the two crawls conducted on: 
3)  1st May – 4th May 2014 
4)  8th May – 13th May 2014 

It should be noted that an average of the two crawls cannot be taken because 33 and 35 websites were 

crawled  for  both  the  dates  respectively.  This  means  that  the  data  will  not  be  comparable  between 

crawls. This is because some websites were crawled in the second crawl, which was not crawled in the 

first  and  vice  versa.  Some  technical  configuration  issues  were  encountered  in  the  first  crawl  which 

meant that it was not possible to crawl some websites in the first crawl. This included some major sites 

(e.g.  Monster,  Stepstone).  In  additions  some  job  boards  were  dropped  after  the  first  crawl  due  to  the 

fact they did not have any ICT vacancies at all. 

4.5.1. Overview of main statistics  

In total 8887 and 9645 ICT vacancies were collected during the two data crawls. Table 4.5 provides an 

overview of the data collected in both crawls. 

66 

 
 
 
 
 
 
 
 
 
 
Table 4.5: Overview of main statistics collected in the two crawls 

Date of crawl 

ICT Job Posts 

ICT vacancies 

1stMay–4thMay 2014 
8thMay–13thMay 2014 

(1) 

8887 

9645 

(2) 

7976 

8384 

Duplication 
factor (𝒅) (1/2) 

1.1 

1.2 

Adjusted ICT 
vacancies1 
6141 

6959 

Source: EU-RA calculations based on data from MOVIP 

Notes: 
1  The  number  of  ICT  vacancies  for  each  crawl  have  been  adjusted  to  take  into  account  the  number  of  non-ICT 

vacancies which have been misclassified as ICT. 

It should be noted that the number of ICT vacancies is too high for both crawls 1 and 2. The reason for 

this is that the system incorrectly  identified non-ICT vacancies as ICT vacancies. Based on a random 

sample of 200 ICT vacancies for both crawls, approximately 23% of ICT vacancies in crawl 1 and 17% 

of vacancies in crawl 2 were in fact not ICT vacancies at all. The majority of these non-ICT vacancies 

were misclassified as ‘ICT professionals not classified elsewhere’ and ‘Information and communications 

technology sales professionals’.  This means that care needs to be taken when interpreting the data for 

these  two  categories.  On  the  other  hand  only  11%  (crawl  1)  and  9%  (crawl  2)  of  non-ICT  vacancies 

were  classified  in  the  other  categories.  This  issue  is  considered  in  more  depth  in  Section  5.2 

(Evaluation  of  the  results  of  the  pilot).  Adjusted  figures  for  the  number  of  ICT  vacancies  to  take  into 

account the percentage of misclassified ICT vacancies have been presented in Table 4.5.  

In section 2.4.2, a distinction was made between ICT job posts and vacancies. The average duplication 

factor  was  calculated  as  1.1  and  1.2  for  crawls  one  and  two  respectively.  There  are  several  reasons 

why the duplication factor was negligible: 

i. 

Insufficient number of job boards were crawled – It was the case that only 33 and 35 job boards 

were crawled during both the crawls. This means that the system did not experience the levels of 

duplicated job notices had it crawled more job boards. 

ii.  Both crawls concentrated on the smaller job boards –  Due to technical configuration difficulties it 

was not possible to crawl the full sample of 100 job boards identified,  including some major job 

boards. Crawling smaller job boards lessens the chances of duplication of job notices. In order to 

attract a good selection of candidates, employers and recruitement agencies tend to advertise in 

more than one major job board, which increases the duplication factor. 

If 100 or more job boards were crawled, it is envisaged that the average duplication factor would range 

anywhere from 2 to 3.  Given that only 33 and 35 websites were successfully crawled during two crawls, 

the number of ICT vacancies collected only represents a fraction of all ICT vacancies in France.  

It  was  estimated  in  section  3.2  that  crawling  100  websites  would  account  for  70%  to  75%  of  all  ICT 

vacancies. This means that the estimated share of ICT vacancies covered ranges from 23.1% to 24.8 

% (crawl 1) and for crawl 2, ranges from 24.5% to 26.3%. 

A simple projection method can be applied to estimate the total number of ICT vacancies based on the 

number of vacancies collected in the two crawls. However, this method does not take into account  the 

duplication  of  vacancies  notices  when  collecting  data  using  an  automated  search  of  the  internet.  As 

mentioned  already  both  crawls  only  collected  data  from  a  third  of  the  intended  sample  of  job  boards, 

which  meant  that  the  average  duplication  factor  was  low  for  both  crawls.  In  order  to  correct  for 

67 

 
 
 
 
 
 
duplication,  the  total  estimated  number  of  job  posts  collected  in  each  crawl  were  adjusted  by  a 

duplication factor of 2.   

Table 4.6 shows the estimated share of ICT vacancies as well as the total number of vacancies.  

Table 4.6: Estimate of share of ICT vacancies collected in the two crawls 

Crawl 

Number 

Number 

Estimated 

Estimated total 

Estimated Total 

ICT 
posts1 

of 

share of ICT 

websites 

job posts 
covered (%) 
75% 
70% 

number of  ICT 
posts 

number of ICT 
vacancies2 

70% 

75% 

Low 

High 

1stMay–
4thMay 
2014 
8thMay–
13thMay 
2014 

8887 

33 

23.1 

24.8 

38472 

35907 

18432 

21160 

9645 

35 

24.5 

26.3 

39367 

36743 

20331 

23340 

Source: EU-RA calculations based on data from MOVIP 

Notes: 
1  Source: MOVIP 
2  The  assumption  was  made  that  the  average  duplication  factor  was  2.  The  total  number  of  ICT  posts  was 
calculated  and  then  the  average  duplication  factor  was  applied  to  derive  an  estimate  of  the  number  of  ICT  job 
vacancies.  Furthermore  an  adjustment  was  made  to  take  into  account  the  number  of  non-ICT  vacancies  which 
were misclassified as ICT in both crawls. 

4.5.2. 

ICT vacancies in France broken down by region (NUTS2) 

Figures  4.3  and  Figure  4.4  shows  the  number  of  ICT  vacancies  by  NUTS  region.  The  most  ICT 

vacancies were located in Île de France for both crawls. In crawl one the figure was 4023 while in crawl 

two the figure was 3553.  This represented 50.4 and 42.4 percent of all ICT vacancies collected. 

The location of the second highest number of ICT vacancies was in Rhône-Alpes. The number of ICT 

vacancies was 484 for crawl one and 590 in crawl two which  is significantly lower than the number of 

vacancies in Île de France. This represents 6.1% and 7.1 % of all ICT vacancies for crawls one and two 

respectively. 

The share of ICT vacancies captured was less than one percent in eleven regions, while in the second 

crawl this was the case in nine regions. 

An additional category was added to the NUTS regions to indicate those vacancies where the location 

of vacancy was not identified in the job post. In crawl one there were 589 such vacancies while in crawl 

two the figure was 701. This accounted for 7.4% and 8.4% in crawls one and two respectively. 

68 

 
 
 
 
 
 
 
 
 
 
 
Figure 4.4: Number of ICT vacancies in France by region (NUTS2) – Crawl 1 

Source: EU-RA calculations based on data from MOVIP 

Figure 4.5: Number of ICT vacancies in France by region (NUTS2) – Crawl 2 

Key: 

Source: EU-RA calculations based on data from MOVIP 

 601 to 4023   

 301 to 600    

120 to 300   

70 to 119 

 52 to 69  

 2 to 51  

  0 to 1 

69 

 
 
 
 
 
 
 
 
Table 4.7: Number of ICT vacancies in France broken down by region (NUTS2) 
 as a share of total ICT vacancies (%) 
01/05/2014 
50.4 
0.7 
0.6 
1.3 
1.6 
0.8 
0.9 
4.4 
1.3 
4.1 
0.5 
3.7 
1.9 
0.7 
2.1 
3.1 
0.6 
6.1 
0.9 
1.6 
4.6 
0.8 
0.0 
0.0 
0.0 
7.4 

Region 
Île de France 
Champagne-Ardenne 
Picardie 
Haute-Normandie 
Centre 
Basse-Normandie 
Bourgogne 
Nord - Pas-de-Calais 
Lorraine 
Alsace 
Franche-Comté 
Pays de la Loire 
Bretagne 
Poitou-Charentes 
Aquitaine 
Midi-Pyrénées 
Limousine 
Rhône-Alpes 
Auvergne 
Languedoc-Roussillon 
Provence-Alpes-Côte d'Azur 
Corse 
Guadeloupe 
Martinique 
Guyane 
Not known 
Source: EU-RA calculations based on data from MOVIP 

12/05/2014 
42.4 
0.7 
0.9 
1.3 
1.9 
0.9 
1.0 
5.0 
1.7 
4.1 
0.7 
4.3 
3.8 
1.3 
2.2 
3.4 
0.6 
7.0 
0.8 
1.9 
5.4 
0.3 
0.0 
0.0 
0.0 
8.4 

 Code 
FR10 
FR21 
FR22 
FR23 
FR24 
FR25 
FR26 
FR30 
FR41 
FR42 
FR43 
FR51 
FR52 
FR53 
FR61 
FR62 
FR63 
FR71 
FR72 
FR81 
FR82 
FR83 
FR91 
FR92 
FR93 
FRUN 

4.5.3.  ICT vacancies in France by occupation  (MOVIP) 

The  data  collected  from  both  crawls  on  ICT  vacancies  was  classified  by  type  of  occupation  using  the 

classification developed in the conceptual framework (section 2.6). Table 4.8 lists the main categories 

of ICT occupations. 

Table 4.8: Classification of ICT occupations by broad category 

Code 

Category 

1 

2 

3 

4 

5 

6 

7 

Information and communications technology service managers 

Information and communications technology sales professionals 

Software and applications developers and analysts 

Database and network professionals 

Information and communications technology operations and user support technician 

Telecommunications and broadcasting technicians 

ICT occupations not classified elsewhere 

Examining  the  results  of  both  data  crawls  conducted  broken  by  type  of  occupation  shows  that  the 

majority  of  ICT  vacancies  collected  are  for  software  and  applications  developers  and  analysts  (2783 

and 2623 vacancies collected during crawls one and two respectively).  In contrast, there were only 86 

and  64  vacancies  for  Telecommunications  and  broadcasting  technicians  collected  in  crawls  one  and 

two respectively. However, as noted in section 2.6.2, occupations in these groups are more ‘niche’ (e.g. 

film  engineers  and  broadcasting  technicians).  This  may  mean  that  these  occupations  may  not  be 

70 

 
 
 
 
advertised  in  mainstream  job  boards  but  in  sector  specific  information  outlets  or  on  company  job 

boards. Therefore, the low number of vacancies collected in both crawls in this particular  occupational 

group should not be taken as an indication of the actual picture of the demand for Telecommunications 

and broadcasting technicians.  

Figure 4.6 illustrates the number of ICT vacancies broken down by type of occupation for each crawl. 

Based  on  a  random  sample  of  200  ICT  vacancies,  9%  (crawl  1)  and  5.5%  (crawl  2)  of  vacancies 

classified as ICT sales professionals were in fact not ICT. Whereas 10.5% (crawl 1) and 9.5% (crawl 2) 

of vacancies classified as ICT occupations not classified elsewhere were not ICT. 

The dip of 249 vacancies for ICT operations and user support technicians between the first and second 

crawls can be partly explained by the increase in ICT vacancies which could not be classified in any  of 

the  other  categories.    One  of  the  main  problems  with  an  automated  system  is  that  if  there  is  a  slight 

variation in a job title then it would not be classified under the category where it belongs. Instead it will 

remain unclassified, unless it is manually transferred to the correct category.  This is the reason why the 

number of unclassified ICT vacancies is high, especially in the second crawl, despite the fact that 9.5% 

(crawl 2) of vacancies in this category were not ICT. 

Figure 4.6: Number of ICT vacancies in France broken down by type of occupation (MOVIP) 

Source: EU-RA calculations based on data from MOVIP 

Key  
1 

2 

Information  &  communications  technology 
service managers 
Information  &  communications  technology 
sales professionals 

3  Software  &  applications  developers  & 

7 

analysts 

4  Database & network professionals 

5 

Information  &  communications 
operations and user support technician 

technology 

6  Telecommunications 

& 

broadcasting 

technicians 
ICT occupations not classified elsewhere 

Software and applications developers and analysts accounted for 35% of all ICT vacancies in contrast 

to 1% for Telecommunications and broadcasting technicians in crawl one. ICT sales professionals and 

ICT  service  managers  account  for  14%  and  12%  of  all  ICT  vacancies.  Database  and  network 

professionals  accounted  for  only  5  per  cent  of  all  ICT  vacancies.  Vacancies  for  Information  & 

communications  technology  operations  and  user  support  technician  accounted  for  12%  of  all  ICT 

vacancies.  Figure  4.7  shows  the  number  of  ICT  vacancies  broken  down  by  type  of  occupation  as  a 

share of all ICT vacancies for crawl one. 

71 

05001000150020002500300012345671st Crawl2nd Crawl 
 
 
 
 
 
 
 
Figure 4.7: Number of ICT vacancies in France broken down by type of occupation as a share of 
total ICT vacancies (First crawl) 

Source: EU-RA calculations based on data from MOVIP 

In  crawl  two,  the  data  collected  followed  the  pattern  of  results  obtained  in  crawl  one.  However,  there 

were  slight  variations  in  the  category  shares.  Software  and  applications  developers  and  analysts 

accounted for 31% of all ICT vacancies. This share is down by 4 percent from the first crawl.  The share 

of  vacancies  for  Telecommunications  and  broadcasting  technicians  maintained  the  same  share  as  in 

the first crawl (1%). In contrast, the share of vacancies for ICT sales professionals increased by 1% to 

15%, while that for ICT service managers and Database and network professionals  reduced by 1% to 

11% and 4% respectively. Vacancies for Information & communications technology operations and user 

support  technician  accounted  for  8%  of  all  ICT  vacancies.  Figure  4.8  shows  the  number  of  ICT 

vacancies broken down by type of occupation as a share of all ICT vacancies for crawl two. 

Figure 4.8: Number of ICT vacancies in France broken down by type of occupation as a share of 
total ICT vacancies (Second crawl) 

Source: EU-RA calculations based on data from MOVIP 

Overall, it can be concluded that ICT vacancies are skewed heavily towards Software and applications 

developers  and  analysts.  Furthermore,  in  order  to  establish  a  more  accurate  portrait  of  the  state  of 

vacancies for the occupational group Telecommunications and broadcasting technicians, it is necessary 

to investigate niche job boards as well as company websites. 

72 

ICT  service managers12%ICT sales professionals14%Software & applications developers & analysts35%Database & network professionals5%ICT operations & user support technician12%Telecommunications & broadcasting technicians1%ICT occupations not classified elsewhere21%ICT service managers11%ICT sales professionals15%Software & applications developers &analysts31%Database and network professionals4%ICT operations & user support technician8%Telecommunications and broadcasting technicians1%ICT occupations not classified elsewhere30% 
 
 
 
 
 
 
4.5.4.  ICT vacancies in France by detailed occupation (MOVIP) 

Some of the categories presented in Table 2.4  have sub-categories which can be further examined to 

gain a better picture of the demand for labour for particular occupations within a particular occupational 

category.  

Software and applications developers and analysts 
The  category  of  ‘Software  and  applications  developers  and  analysts’  comprises  of  Systems  analysts, 

Software  Developers,  Web  and  multimedia  developers,  and  those  occupations  that  could  not  be 

classified  elsewhere.  The  latter  category  relates  to  professionals  specialising  in  quality  assurance, 

including software testing.  

The results of both crawls show that the demand for Web and multimedia developers is the highest in 

this  occupational  group,  with  1320  and  1267  vacancies  collected  in  crawls  one  and  two  respectively. 

This  represents  a  share  of  47%  (crawl  one)  and  48%  (crawl  two)  of  all  vacancies  in  this  particular 

group. 

Figure 4.9: Number of vacancies for ‘Software and applications developers and analysts’ in 
France broken down by type  

Source: MOVIP 

The second highest number of vacancies was for ‘Software Developers’ collecting 1084 (crawl one) and 

1045 vacancies (crawl two). This represented 39% (crawl one) and 40% (crawl two) of vacancies in this 

group 

In  contrast,  there  were  only  270  and  222  vacancies  for  ‘System  analysts’  in  crawls  one  and  two 

correspondingly.  This corresponded to a share of 10% (crawl one) and 9% (crawl two) of vacancies in 

this  group.  Finally  the  demand  for  professionals  specialising  in  quality  assurance,  including  software 

testing is very small with only 109 and 89 vacancies collected in each crawl. 

Database and network professionals 

The  category  of  ‘Database  and  network  professionals  comprises  of  ‘Database  designers  and 

administrators’, ‘Systems administrators & computer network professionals’ and ‘Database and network 

professionals not elsewhere classified’. ‘Database and network professionals not elsewhere' classified’ 

relates to information and communications technology security specialists.  

73 

0200400600800100012001400Systems analystsSoftwareDevelopersWeb andmultimediadevelopersNot elsewhereclassified1st Crawl2nd Crawl 
 
 
 
 
 
 
 
 
The  majority  of  vacancies  in  this  category  are  for  ‘Systems  administrators  and  computer  network 

professionals’.  They  accounted  for  88%  of  all  vacancies  collected  in  both  crawls  in  this  particular 
category.  

Figure 4.10: Number of vacancies for ‘Database and network professionals’ in France broken 
down by type  

Source: MOVIP 

Information and communications technology operations and user support technicians 

The  category  of  ‘Database  and  network  professionals’  includes:  ‘Information  and  communications 

technology  operations 

technicians’; 

‘Information  and  communications 

technology  user  support 

technicians’; ‘Computer network and systems technicians and Web technician’s. The most vacancies in 

this  group  were  for  ‘Information  and  communications  technology  operations  technician’s’.  They 

represented  38%  (crawl  one)  and  45%  (crawl  two)  of  vacancies  in  this  group.  The  least  number  of 

vacancies in this group are for ‘Computer network and systems technicians’.   

The big difference between crawls in the number of vacancies  in this group especially  for Information 

and communications technology user support technicians (136) is probably a result of variations in job 

titles which meant that the system could not automatically classify them in the corresponding category. 

Instead  the  vacancy  remains  unclassified  in  the  major  unit  group  ‘ICT  occupations  not  classified 
elsewhere’.  

74 

050100150200250300350400Database designers andadministratorsSystems administrators& computer networkprofessionalsNot elsewhere classified1st Crawl2nd Crawl 
 
 
 
 
 
Figure 4.11: Number of vacancies for ‘Information & communications technology operations and 
user support technicians’ in France broken down by type  

Source: MOVIP 

Telecommunications and broadcasting technicians 

This  group  consists  of  ‘Broadcasting,  audiovisual  technicians’  and  ‘Telecommunications  engineering 

technicians’.  In  both  crawls  conducted  the  majority  of  vacancies  collected  in  this  group  were  for 

telecommunication engineering technicians (81%). 

Figure 4.12: Number of vacancies for ‘Telecommunications and broadcasting technicians’ in 
France broken down by type  

Source: MOVIP 

4.5.5.  ICT vacancies broken down by region (NUTS 2) and by detailed occupation  

In section 4.5.2, it was observed that the occupational group ‘Software and applications developers and 

analysts accounted’ for 35% of all ICT vacancies in all the 28 regions of France. However, this is not the 

case when each region is studied separately.  

In crawl one, ten of the twenty-eight French regions, the category ‘Software and applications developers 

and analysts had the largest share of ICT vacancies in their region. The share was particularly high in 

Île de France (43.2%) and lowest in Midi-Pyrénées (21.8%). In contrast, the data collected in crawl two 

75 

050100150200250300350400ICT operationstechniciansICT user supporttechniciansComputernetwork &systemstechniciansWeb technicians1st Crawl2nd Crawl010203040506070Broadcasting, audiovisualtechniciansTelecommunications engineeringtechnicians1st Crawl2nd Crawl 
 
 
 
 
 
 
 
 
showed that in only 6 regions ‘Software and applications developers and analysts had the largest share 

of ICT vacancies.  

In  crawl  one,  six  of  the  regions,  ‘Information  and  communications  technology  sales  professionals’ 

accounted for the largest share of ICT vacancies in their region.  This included:  Champagne-Ardenne; 

Basse-Normandie;  Lorraine;  Franche-Comté;  Limousin  and  Auvergne.  In  crawl  two  this  was  only  the 

case in Haute-Normandie; Auvergne; and Corse.  

In  both  crawls  conducted,  the  lowest  share  of  ICT  vacancies  in  a  region  was  in  the  category 

‘Telecommunications  and  broadcasting  technicians’  in  the  majority  of  regions.  The  only  exceptions  to 

this  were  in  Basse-Normandie  and  Languedoc-Roussillon  where  the  lowest  share  was  for  ‘Database 

and network professionals’. 

In  15  regions  (crawl  two)  the  category  of  ‘ICT  occupations  not  classified  elsewhere’  had  the  largest 

share of vacancies. While in crawl one this was the case in 6 regions. 

76 

 
 
 
 
 
 
Region 

Table 4.9: Share of vacancies for ‘Telecommunications and broadcasting technicians’ by region broken down by broad occupation -% - Crawl one 
Software & 
applications 
developers 
&analysts 

ICT 
operations & 
user support 
technician 

Database & 
network 
professionals 

Telecom & 
broadcasting 
technicians 

Not 
classified 
elsewhere 

ICT 
service 
managers 

ICT sales 
professionals 

Lorraine 
Alsace 
Franche-Comté 
Pays de la Loire 
Bretagne 
Poitou-Charentes 
Aquitaine 

France 
FR 
FR10 
Île de France 
FR21  Champagne-Ardenne 
FR22 
Picardie 
FR23  Haute-Normandie 
FR24  Centre 
Basse-Normandie 
FR25 
FR26 
Bourgogne 
FR30  Nord - Pas-de-Calais 
FR41 
FR42 
FR43 
FR51 
FR52 
FR53 
FR61 
FR62  Midi-Pyrénées 
FR63 
FR71  Rhône-Alpes 
FR72 
FR81 
FR82 
FR83  Corse 
FR91  Guadeloupe 
FR92  Martinique 
FR93  Guyane 
FR94  Réunion 
FRUN  Not known 

Limousin 

Auvergne 
Languedoc-Roussillon 
Provence-Alpes-Côte d'Azur 

11.7 
14.1 
1.9 
8.2 
3.0 
9.7 
4.5 
12.7 
17.1 
7.8 
6.7 
4.7 
7.9 
8.6 
5.1 
12.7 
9.7 
11.8 
14.3 
6.9 
8.0 
6.0 
3.3 
50.0 
0.0 
(:) 
(:) 
7.5 

14.2 
7.7 
40.4 
32.7 
22.0 
18.5 
40.9 
26.8 
8.3 
35.3 
18.3 
37.2 
19.2 
20.5 
27.1 
26.7 
21.0 
52.9 
13.0 
30.6 
20.8 
19.8 
18.3 
0.0 
0.0 
(:) 
(:) 
22.2 

34.9 
43.2 
11.5 
8.2 
7.0 
32.3 
7.6 
12.7 
38.2 
21.6 
15.3 
16.3 
28.4 
25.8 
20.3 
27.3 
21.8 
3.9 
38.6 
20.8 
36.8 
39.6 
6.7 
50.0 
0.0 
(:) 
(:) 
21.4 
Source: EU-RA calculations based on data from MOVIP 

5.1 
5.2 
1.9 
2.0 
2.0 
5.6 
0.0 
7.0 
9.1 
3.9 
3.1 
4.7 
7.9 
2.6 
1.7 
6.1 
6.9 
2.0 
7.2 
8.3 
2.4 
4.9 
1.7 
0.0 
0.0 
(:) 
(:) 
2.7 

11.8 
10.9 
13.5 
10.2 
19.0 
16.1 
12.1 
8.5 
10.3 
9.8 
14.4 
4.7 
14.7 
11.3 
8.5 
13.3 
18.1 
3.9 
11.0 
11.1 
6.4 
10.8 
35.0 
0.0 
0.0 
(:) 
(:) 
13.2 

1.1 
0.6 
0.0 
0.0 
0.0 
1.6 
3.0 
1.4 
0.9 
1.0 
0.3 
0.0 
2.7 
2.0 
0.0 
0.0 
0.8 
0.0 
1.9 
1.4 
5.6 
3.3 
1.7 
0.0 
0.0 
(:) 
(:) 
1.2 

21.2 
18.2 
30.8 
38.8 
47.0 
16.1 
31.8 
31.0 
16.2 
20.6 
41.9 
32.6 
19.2 
29.1 
37.3 
13.9 
21.8 
25.5 
14.0 
20.8 
20.0 
15.7 
33.3 
0.0 
100.0 
(:) 
(:) 
31.7 

77 

 
 
Table 4.10: Share of vacancies for ‘Telecommunications and broadcasting technicians’ by region broken down by broad occupation -% - Crawl two 
Region 

ICT 
service 
managers 

ICT sales 
professionals 

Software & 
applications 
developers 
&analysts 

Database & 
network 
professionals 

ICT 
operations & 
user support 
technician 

Telecom & 
broadcasting 
technicians 

Not 
classified 
elsewhere 

Lorraine 
Alsace 
Franche-Comté 
Pays de la Loire 
Bretagne 
Poitou-Charentes 
Aquitaine 

France 
FR 
FR10 
Île de France 
FR21  Champagne-Ardenne 
FR22 
Picardie 
FR23  Haute-Normandie 
FR24  Centre 
Basse-Normandie 
FR25 
FR26 
Bourgogne 
FR30  Nord - Pas-de-Calais 
FR41 
FR42 
FR43 
FR51 
FR52 
FR53 
FR61 
FR62  Midi-Pyrénées 
FR63 
FR71  Rhône-Alpes 
FR72 
FR81 
FR82 
FR83  Corse 
FR91  Guadeloupe 
FR92  Martinique 
FR93  Guyane 
FR94  Réunion 
FRUN  Not known 

Limousin 

Auvergne 
Languedoc-Roussillon 
Provence-Alpes-Côte d'Azur 

11.4  
14.0 
3.5 
6.9 
7.3 
6.8 
3.8 
14.6 
16.2 
10.8 
7.6 
8.3 
8.6 
3.8 
6.7 
5.9 
10.3 
7.4 
11.9 
11.1 
11.7 
7.7 
4.5 
50.0 
50.0 
0.0 
(:) 
10.7 

14.8 
10.0 
28.1 
30.6 
37.3 
24.7 
24.1 
12.2 
15.2 
27.3 
21.3 
25.0 
11.1 
11.0 
13.3 
22.5 
14.2 
35.2 
11.7 
38.1 
17.3 
14.4 
68.2 
0.0 
0.0 
25.0 
(:) 
21.8 

31.3 
40.6 
12.3 
16.7 
7.3 
20.4 
6.3 
9.8 
30.9 
23.7 
16.0 
13.3 
24.5 
14.4 
21.9 
23.5 
24.8 
7.4 
32.7 
11.1 
37.0 
41.4 
4.5 
50.0 
0.0 
0.0 
(:) 
22.5 

3.8 
4.5 
1.8 
4.2 
1.8 
3.7 
0.0 
6.1 
6.4 
1.4 
2.3 
3.3 
3.9 
2.2 
3.8 
3.7 
7.1 
1.9 
4.4 
3.2 
1.2 
3.3 
4.5 
0.0 
0.0 
0.0 
(:) 
1.0 

Source: EU-RA calculations based on data from MOVIP 

8.3 
7.8 
17.5 
11.1 
12.7 
10.5 
8.9 
6.1 
9.0 
7.2 
8.7 
6.7 
10.0 
7.5 
4.8 
7.5 
12.1 
5.6 
11.9 
9.5 
4.9 
8.8 
0.0 
0.0 
25.0 
0.0 
(:) 
5.3 

0.8 
0.4 
0.0 
0.0 
0.0 
1.2 
1.3 
0.0 
0.2 
0.7 
0.3 
0.0 
2.5 
0.9 
1.0 
0.0 
2.1 
1.9 
1.5 
0.0 
3.1 
1.5 
0.0 
0.0 
0.0 
0.0 
(:) 
0.3 

29.6 
22.6 
36.8 
30.6 
33.6 
32.7 
55.7 
51.2 
22.1 
28.8 
43.7 
43.3 
39.3 
60.2 
48.6 
36.9 
29.4 
40.7 
25.9 
27.0 
24.7 
22.8 
18.2 
0.0 
25.0 
75.0 
(:) 
38.4 

78 

 
 
 
Section 5 

Evaluating feasibility of software-based                  
EU-wide monitor of ICT vacancies 

79 

 
 
 
 
 
 
 
 
   
5. Evaluating  the  feasibility  of  a  software-based  EU 

wide monitor of vacancies 

5.1.  Evaluation methodology 
In  order  to  assess  the  quality  of  the  results  obtained  in  the  pilot  to  establish  the  feasibility  of  a  software-

based  EU  wide monitor of vacancies,  it  is essential to develop an  evaluation  framework. The methodology 

for evaluating the quality of the results obtained in the pilot consists of the following steps: 

1)  Definining a set of evaluation criteria; 

A set of evaluation criteria or parameters are defined by which the quality of the results obtained in the 

pilot  can  be  evaluated  against.  The  defined  criteria  are  not  only  confined  to  assessing  the  final  data 

produced  but  they  must  also  reflect  important  aspects  of  the  way  the  pilot  was  conducted.  These 

criteria basically form the backbone by which the feasibility of implementing the software at the EU-28 

level will be assessed. 

2)  Assigning weights to the evaluation criteria 

The importance of each criterion is then compared against the others. It is the case that some criteria 

are  more  important  than  others.  Therefore  weights  are  assigned  against  each  criterion  to  reflect  the 

relative importance of each criterion. The sum total of these weights should equate to 100. 

3)  Setting the minimum number of points as the threshold 

Prior  to  conducting  the  evaluation,  it  is  very  important  to  determine  in  advance  what  the  minimum 

number of points will be acceptable as the pass-mark. In this particular instance, it is necessary to set 

the point for which anything below would be consider as representing non-feasibility. 

4)  Evaluating the pilot using the criteria defined and the assigned weights 

The results of the pilot was conducted can then be evaluated based on the criteria defined in step 1.  

A score is assigned to each criterion subjectively and adjusted by the weight assigned to it from step 2.  

5)  Calculating the degree of feasibility 

The degree of feasibility is essentially calculated by summing up individual scores of the eight criteria.  

                          Figure 5.1: Steps in the evaluation framework 

Defining  a set of evaluation criteria 

Assigning weights to criteria 

Setting the minimum threshold 

Evaluating the pilot results 

Calculating degree of feasibility 

5.1.1  Defining a set of evaluation criteria 

The  first  phase  of  developing  an  evaluation  framework  consists  of  defining  a  set  of  criteria  by  which  the 

quality of the results obtained  in the pilot will be evaluated. The parameters defined in this section are to a 

certain extent based on the quality of statistics and indicators defined by Eurostat. The quality of statistical 

80 

 
 
 
outputs is assessed against  six criteria19: relevance; accuracy; timeliness and punctuality; accessibility  and 
clarity; comparability and coherence. 

Given that the nature of the data collection is neither administrative nor a survey, not all of the above criteria 

are  pertinent  to  a  data  collection  based  on  robots  crawling  the  internet.  For  some  of  the  above  criteria, 

modifications have been made to take into account the unique nature of this data collection as well as to test 

the feasibility of the automated search of the internet 

For the purpose of this data collection, the main criteria in the evaluation framework by which to assess the 

quality of results obtained in the pilot consisted of the following eight criteria: 

1)  Relevance  

Relevance  relates  to  the  degree  to  which  statistical  outputs  meet  current  and  potential  user  needs.  It 

depends on whether all the statistics that are needed are produced and the extent to which concepts used 

(definitions,  classifications  etc.,)  reflect  user  needs.  One  of  the  objectives  of  the  study  was  to  test  the 

feasibility  of  producing  aggregated  data  which  could  be  broken  down  by  type  of  ICT  occupation  and  by 

region (NUTS). 

A list of indicators was  defined in section 4.2.2. These indicators included indicators on the  number of ICT 

vacancies broken down by occupation and region. 

In order to test  the relevance of the data,  it is necessary to  determine the ability of the pilot to provide the 

data needed to calculate these indicators.  If it is difficult to calculate some or all of these indicators, then it 

can  be  concluded  that  the  statistical  outputs  have  not  met  some  or  all  of  the  current  and  potential  user 

needs.  

2)  Accuracy 

The accuracy of statistical outputs in the general statistical sense is the degree of closeness of estimates to 

the true values. Assessing the accuracy of an estimate involves analysing the total error associated with the 

estimate.   

In the context of this type of data collection, accuracy needs to be investigated in relation to the accuracy of 

the: 

1)  Classification of vacancies by job category; 

2)  Classification of vacancies by location; 

3)  Identification of ICT vacanices; 

4)  Identification of non-ICT vacanices. 

The last two categories relate to the ability of the prototype to accurately identify ICT vacancies from non-ICT 

vacancies. If a significant share of vacancies, identified as ICT contain non-ICT vacancies, then the results of 

the pilot have over-estimated the number of ICT vacancies. Consequently, the accuracy of the results of the 

pilot  would  be  deemed  as  not  very  accurate.  This  is  also  the  case  if  a  significant  proportion  of  vacancies 

identified as non-ICT contain ICT vacancies, 

19 Eurostat, ‘Quality Assurance Framework of the European Statistical System’, Version 1.1 

81 

 
 
 
 
 
 
 
 
 
 
                                                      
3)  Timeliness  

Most  users  want  up  to  date  figures,  which  are  published  frequently  and  on  time  at  pre-established  dates. 

Timeliness of information reflects the length of time between its availability and the event or phenomenon it 

describes. In the case of this type of data collection, it concerns the time gap between initiating the crawl and 

presenting the unduplicated and classified data ready for analysis. 

4)  Accessibility and crawlability 

In  relation  to  a  data  collection  based  on  an  automated  search  of  the  internet  to  identify  ICT  vacancies, 

accessibility  refers  to  any  restrictions  imposed  by  web  site  owners  for  crawling  their  websites.  Access 

restrictions to websites were examined in section 3.3 of this report with respect to legal right of data, security 

issues and technical issues.  

For the purpose of evaluating accessibility  it is necessary to confine the evaluation to determining  whether 

there were restrictions in place to safeguard the website’s legal right of data. 

Crawlability can be defined as the ability for search engine robots to crawl and index the pages on a website. 

If  the  links  on  a  website  are  formatted  in  a  way  that  is  not  search-engine  friendly,  then  the  website’s 

crawlability is deemed to be poor.  

In  a  sense  accessibility  and  crawlability  are  intertwined  with  one  another.  If  the  website  owner  does  not 

permit a crawler access to the data contained within  a website due to legal rights then the  website can be 

deemed  not  crawlable.  However,  for  the  purpose  of  the  evaluation,  the  evaluation  of  crawlability  will  be 

limited  to  determining  whether  there  are  security  and  technical  issues  at  play  which  render  crawling 

problematic. 

5)  Coherence and comparability 

Coherence refers to the adequacy to be reliably combined in different ways and for various uses. If statistics 

originate from a single source they are normally coherent, in that the results obtained can be combined in a 

number  of  ways  to  produce  more  complex  results.    However,  if  statistics  result  from  different  sources,  the 

statistics  may  not  be  completely  coherent  in  the  sense  that  they  may  be  based  on  different  approaches, 

classifications and methodological standards.   

Comparability aims at measuring the impact of differences in applied statistical concepts and measurement 

tools/procedures  when statistics are compared between geographical areas, non-geographical  domains, or 

time. Comparability of statistics is normally addressed under three approaches: time (comparison of results 

at  different  times);  geographical;  domains  (for  example  industrial  sectors,  different  types  of  households, 

etc…). 

6)  Scalability 

In  assessing  scalability,  it  is  important  to  determine  how  much flexibility  there  is  in  scaling  up  or  down  the 

pilot  to  bigger  and  smaller  Member  States.  The  question  is  can  the  prototype  developed  in  the  pilot  be 

transferred  to  other  Member  States  or  is  it  the  case  that  the  pilot  a  one-off  which  cannot  be  replicated  in 

other  Member  States.  In  the  latter  situation  of  the  pilot  being  a  one-off  it  is  vital  to  define  what  exactly 

prevents the prototype from being scaled up or down. 

82 

 
 
 
 
 
 
 
 
 
In particular,  we  will determine how flexible the system would be in handling  a multilingual situation. There 

are  several  Member  States  who  regularly  publish  job  vacancies  in  two  or  more  official  EU  languages: 

Belgium,  Cyprus,  Greece  and  Luxembourg.  An  examination  of  job  boards  revealed  that  in  most  Member 

States other than Ireland and the United Kingdom some job vacancies are posted in English. The number of 

job posts that are posted in English varies by Member State.  

7)  Effectiveness of de-duplication 

In section  3.4, the issue  of duplication  of job posts was  discussed. Duplication is a very  important issue to 

resolve in this type of data collection. This is because that if  ICT job posts are not effectively de-duplicated 

then the final data on the number of ICT vacancies will be effectively inaccurate. In fact  the number of ICT 

vacancies will be too high. An effective de-duplication process should have cleaned  out at least 95% of all 

duplicated posts.  

8)  Cost and burden 

Cost and burden refers to estimating the costs for conducting an automated search covering all EU Member 

States on a monthly  basis. Based on the crawls conducted in the pilot, the technical requirements to store 

the full text of the vacancies in order to allow ex-post analysis can be estimated. 

If the estimated costs of conducting a monthly automated search across all EU Member States are too high 

then the feasibility of doing so is put into question if there are budget restrictions. 

5.1.2  Assigning weights and evaluating the results 

The evaluation methodology essentially consists of assigning weights to each of the eight evaluation criteria 

defined in section 5.2 in order calculate an overall score for the evaluation . If all the criteria identified were of 

equal  importance  then  equal  weights  would  be  assigned.  This  means  that  effectiveness  of  de-duplication 

would be considered as important as timeliness etc. However, this is not the case for the simple reason that 

in reality some criteria are more important than others in this type of data collection. 

The  weight  assigned  to  each  criterion  is  dependent  on  its’  relative  importance  to  the  overall  framework. 

Table 5.1 presents the weights assigned to each evaluation criterion defined. 

Table 5.1: Weights assigned to the evaluation criteria 

No 

Evaluation Criteria 

Weight 

Relevance 

Accuracy 

Timeliness 

Accessibility & crawlability 

Coherence & comparability 

Scalability 

Effectiveness of de-duplication 

Cost and burden 

1 

2 

3 

4 

5 

6 

7 

8 

Total 

15 

20 

5 

20 

5 

5 

20 

10 

100 

The  highest  weights  have  been  attached  to  accuracy,  accessibility  and  the  effectiveness  of  de-duplication. 

These three criteria are considered to be the central pillars of the evaluation framework. If the data collected 

could  not be accurately classified by type of occupation and location then the main  objectives of the study 

83 

 
 
 
 
 
 
 
 
would  not  have  been  met.  This  is  also  the  case  with  accessibility  and  crawlability.  If  there  were  access 

restrictions  in  place  for  a  majority  of  websites,  then  it  would  be  difficult  to  obtain  a  good  estimate  of  the 

number  of  ICT  vacancies  and  it  would  have  been  difficult  even  impossible  to  collect  any  data  whatsoever. 

Finally,  if  the  de-duplication  process  was  not  successful  and  a  lot  of  duplicated  posts  managed  to  slip 

through the net, then the final indicators produced would be biased. 

In  contrast,  the  lowest  weights  have  been  attached  to  timeliness,  coherence  and  comparability  and  finally 

scalability. It is acknowledged that all of these three criteria are important but not so important as to impede 

the final results of the pilot.  

It should be noted that for all the criteria with the exception of cost and burden a high score in the respective 

criteria  indicates  that  the  pilot  was  highly  relevant,  accurate,  timely,  accessible,  coherent  and  comparable, 

scalable,  and  effective  in  de-duplication.  A  low  score  in  these  criteria  indicates  that  the  results  of  the  pilot 

were not relevant, accurate etc. In contrast for the criterion of cost and burden a high score indicates that the 

pilot was not costly and did not impose a big burden,  while a low score for cost and burden means that the 

pilot was costly and a high burden was imposed.  

5.1.3  Calculating the degree of feasbility 

Once the evaluation of the results of the pilot with respect to each of the criteria set out in section 5.1.1 has 

been conducted, the degree of feasibility can be calculated. The degree of feasibility is essentially calculated 

by summing up individual scores of the eight criteria.  

Score (x) 

Degree of feasibility (o) 

85  < x < 100  Very 

feasible  –  There  are  no  major  obstacles  which  can 

impede 

the 

implementation. 

60 < x < 85 

Feasible – There are a number of conditions which must be met. 

x < 60 

Not feasible under any condition 

Additionally,  it  is  also  important  to  take  into  consideration  the  individual  scores  of  the  eight  criteria.  If  for 

example the data collected scored highly on scalability and scalability but not on relevance the feasibility of 

this  type  of  data  collection  is  thrown  into  doubt.  It  is  important  to  maintain  a  good  balance  in  the  scores 

attained in all criteria.  

5.2. Evaluation of the results of the pilot 
The results of pilot were evaluated based upon the evaluation criteria identified in section 5.2.  This section 
examines the results of the evaluation by criterion. 

Relevance 

In  section  4.2.2,  Table  4.1  ten  indicators  were  defined  which  were  expected  to  be  collected  from  the  pilot. 

This  included  indicators  on  the  total  number  of  ICT  vacancies  broken  down  by  type  of  occupation  and  by 

Score 

15 from 15 

region. 

The  data  collected  from  both  crawls  conducted  in  the  pilot  was  sufficient  to  calculate  these  indicators, 

despite the fact that approximately only a third of identified websites were finally crawled. In fact no problems 

were experienced in calculating the indicators. 

84 

 
 
 
 
 
 
 
 
 
 
The pilot was able to provide all the data needed to meet the objectives of the study. This indicates that the 

data  collected  was  highly  relevant  and  met  user  needs.  For  this  reason,  the  maximum  score  of  5  was 

awarded for this criterion. 

Accuracy 

In order for the system that monitors online vacancies of ICT to be feasible across the EU as a whole, one 

must be able to assume that the degree of accuracy will be consistent, that is within the same range across 

all EU-28 Member States. For the pilot, the level of accuracy that we had set out at the conceptual stage and 

as the condition for feasibility was 70%. Statistically, this should be subject to a standard error of ± 2.5% in 

relation to the ability to identify ICT vacancies correctly. 

Score 

15 from 20 

The accuracy of the results was defined in section 5.2 with respect to: 

1)  Classification of vacancies by job category; 

2)  Classification of vacancies by location; 

3)  Identification  of ICT vacanices; 

4)  Identification  of non-ICT vacancies. 

In order to test the degree of accuracy, it is important to concentrate on establishing the degree of accuracy 

with respect to the identification of ICT vacancies.  

Two  random  samples  of  200  ICT  vacancies  were  examined  from  both  crawls  1  and  2.  It  was  found  that 

approximately  23% of ICT vacancies in crawl 1 and  17% of ICT vacancies  in crawl 2  were in fact not  ICT. 

This means that the degree of accuracy is 77 % for crawl 1 and 83% for crawl 2. It is particularly noteworthy 

that the accuracy of the identification of ICT vacancies has improved by  6% between crawls. This indicates 

that  is possible to refine the system so as to further improve accuracy. The majority  of these misclassified 

vacancies  have  been  classified  as  ICT  professionals  not  classified  elsewhere  and  Information  and 

communications technology sales professionals. For crawl 1, 49% of misclassified non-ICT vacancies were 

classified  as  ‘ICT  professionals  not  classified  elsewhere’  while  40%  where  classified  as  ‘Information  and 

communications technology sales professionals’.  

In  crawl  2,  56%  of  misclassified  non-ICT  vacancies  were  classified  as  ’ICT  professionals  not  classified 

elsewhere’ while 35% where classified as ‘Information and communications technology sales professionals’. 

The  remaining  9%  were  mainly  misclassified  as  information  and  communications  technology  service 

managers. 

Examining  a  random  sample  of  1000  job  vacancies,  it  was  found  that  15  and  9  ICT  vacancies  had  been 

misclassified  as  non-ICT for  the  first crawl  and  second  crawls  respectively.  This  represents  only  1.5%  and 

0.9% of the sample for crawls 1 and 2 respectively. This indicates that the identification of non-ICT vacancies 

has been very accurate. This is particularly the case for the second crawl. This  strongly  indicates  that with 

time the accuracy of identifying non-ICT vacancies should be further improved. 

Concerning  the  classification  of  vacancies  by  location,  it  was  found  that  the  vacancies  were  correctly 

classified by region. The biggest issue concerning the classification of ICT vacancies by type of occupation is 

misclassification  of  non-ICT  vacancies  as  ICT  particularly  in  the  categories  of  ’ICT  professionals  not 

85 

 
 
 
 
 
 
 
 
 
 
classified  elsewhere’  and  ‘Information  and  communications  technology  sales  professionals’.  It  can  be 

concluded that a  human element needs to be  incorporated  into the system to improve the accuracy  of the 

results. 

Timeliness 

Two  data  crawls  were  conducted  in  the  pilot  and  for  each  crawl  undertaken  three  distinct  phases  can  be 

Score 

5 from 5 

distinguished: 

  Phase 1: Crawling; 
  Phase 2: Analysis  
  Phase 3: Statistical computation 

The  second  phase  included  de-duplication,  geo  location,  classification  of  vacancies  by  occupation  and 

region.  The  third  phase  of  statistical  computation  concerns  calculating  the  total  number  of  vacancies  by 

region and occupation. Table 5.2 shows the time taken to undertake the three phases of the pilot. 

Table 5.2: Time taken to undertake the three phases of the pilot 

Phase 

1. Crawling 

2.Analysis  

Crawl 1 
1stMay – 4th May 
2 days 10 hours 

4 to 5 hours 

Crawl 2 
8th-13thMay 
2 days 15 hours 

5 to 6 hours 

3.Statisitcal computation 

A few seconds 

A few seconds 

TOTAL 

<3 days 

< 3 days 

The most time was spent on the crawling phase.  The time spent on this phase is mainly dependant on the 

number of websites and the number of job vacancies within these  websites. It should be remembered that 

only 33 websites were crawled in phase 1 and 35 in phase 2.   

While it took 3 days to crawl 33 and 35 websites does not mean that this figure can be projected forward by 

simply multiplying the number of websites by the number of days in order to estimate  the time it would take 

to crawl more websites and vacancies. The time taken to crawl more websites can be  reduced by using  a 

cluster  of  different  crawlers  working  in  parallel.  It  is  estimated  that  crawling  1000  websites  would  take 

between 10 to 12 days if a cluster of computers is used.   

However,  in  section  4.5.2  the  problem  of  a  high  number  of  unclassified  ICT  vacancies  was  discussed.  In 

order  to  ensure  that  the  number  of  vacancies  reported  in  Category  7  ‘ICT  occupations  not  classified 

elsewhere’,  then  some  additional  time  needs  to  be  devoted  to  data  validation.  It  is  apparent  that  some 

vacancies  it  is  necessary  to  manually  transfer  these  vacancies  to  the  other  categories.  It  is  estimated  that 

this would take approximately 2 to 3 weeks, depending on the number of ICT vacancies. It is envisaged that 

in the future that as more job titles are added to the vocabulary this time will be further reduced.  

Accessibility and crawlability 

One-hundred job boards were identified to conduct an automated search of ICT vacancies in France.  Out of 

the one-hundred job boards identified after analysis, only 73 remained (Table 5.3). Eighteen of the websites 

identified included  websites which  did not have any  ICT vacancies  or vacancies which  were  not located in 

France.  This  figure  also  included  aggregator  job  boards,  which  had  to  be  dropped  in  order  to  reduce  the 

Score 

15 from 20 

86 

 
 
 
 
 
 
 
 
 
duplication problem. Nine job boards had to be dropped because technological issues were identified which 

rendered crawling impossible.  

Table 5.3: Initial analysis of 100 websites 

No  Category 

1 

2 

Non ICT/out of France/ Aggregator 

Technologically  impossible  to  crawl,  due  to  technologies, 

authentication... 

3  Websites remaining 

TOTAL 

Number of 

websites 

18 

9 

73 

100 

Table 5.4 summarises the main issues that were experienced with the remaining 73 websites.  

Table 5.4: Detailed analysis of the 73 websites 

Crawl 0 

Crawl  1 

Crawl 2 

(April) 

(1st may) 

(8 may) 

Restriction1 

Uncrawled websites, including: 

Post issues 

Configuration mistakes 

HTTPS issues 

Too many URLs 

Crawled websites, including: 

Completed crawl 

Uncompleted crawl (**) 

Total 

2 

41 

11 

24 

3 

3 

30 

15 

15 

73 

2 

38 

7 

28 

1 

2 

33 

5 

28 

73 

2 

36 

8 

23 

3 

2 

35 

11 

24 

73 

Notes: 
1  Website rules do not allow crawling or restrictions are too tight 
2  Websites which due to some configuration mistakes could not entirely be crawled 

Coherence and comparability 

Even  though  this  data  collection  involved  the  collection  of  data  from  many  different  job  boards,  the  data 

collected  can  be  considered  as  coherent.  The  main  reason  why  this  is  the  case  is  that  the  data  were 

collected  to  same  concepts,  definitions  and  more  importantly  to  the  classification  of  occupations.  It  is 

envisaged  that  the  methodology  developed  in  section  3.1  (Ensuring  cross-border  comparability  for 

Score 

5 from 5 

87 

 
 
 
 
 
 
 
 
classifying  ICT  occupations  across  Member  States)  will  ensure  the  geographical  comparability  of  data 

collected. 

Scalability 

Based upon the results of the pilot, it can be concluded that this type of data collection can be scaled up or 

down to bigger or smaller Member States. There is nothing which prevents the pilot from being transferred to 

other Member States. 

Score 

5 from 5 

Even  though  the  pilot  did  not  handle  a  multilingual  situation  where  job  vacancies  are  posted  in  more  than 

one language, it is anticipated that the prototype can easily handle such a situation. Section 4.3  (Technical 

methodology  for  conducting  the  pilot),  discussed  the  challenge  of  handling  job  posts  in  more  than  one 

language in a Member State and a solution was provided).  It is for this reason that  a high score has been 

awarded for this criterion. 

Effectiveness of de-duplication 

In  Section  4.6  (Statistical  analysis  of  results)  the  average  duplication  factor  for  crawls  one  and  two  were 

calculated as 1.1 and 1.2 respectively. Two main reasons were given why the duplication factors were low: 

Score 

17 from 20 

  An insufficient number of job boards were crawled in both crawls; 
  Both crawls concentrated on the smaller job boards  

In  essence,  the  prototype  was  not  really  tested  sufficiently  it  its’  ability  to  de-duplicate  job  posts.  Had  the 

number  of  job  boards  crawled  been  significantly  greater  than  it  is  envisaged  that  the  average  duplication 

factor would range anywhere from 2 to 3.  Given that the system was not fully tested for its’ ability to detect 

and de-duplicate job posts, a high score cannot be awarded for this criterion.  

Cost and burden 

Storage cost  

Score 

2 from 10 

Table  5.5  shows  the  storage  requirements  that  were  necessary  for  the  two  crawls  undertaken  in  the  pilot 

exercise.  

Table 5.5: Storage requirements of each crawl conducted 

Disk usage1 

Total URLS2 

Status 1 (db_unfetched)3 

Status 2 (db_fetched)4 

May 1st (Crawl) 

May 8th (Crawl) 

9.3 GBytes 

8.3 GBytes 

676368 

183607 

484804 

571806 

140048 

420580 

Solr disk usage5 

709 MBytes 

327 MMBytesB 

Notes: 
1 Total of space used on the server’s hard drive disk. 

88 

 
 
 
 
 
 
 
 
 
 
 
2  Number of URLs seen by our system. 
3 Number of URLs left. 
4 Number of URLs fetched by our system. 
5 Space used by Solr on the server’s hard drive disk. 

Given an average 80.000 job vacancies, an average  of 100 KBytes of storage per job vacancy /per period 

needs to be devoted. On a global scale, the storage will amount to approximately 1 TeraBytes for one year 

for a million job vacancies. 

Time to include websites 

Each  website  to  be  added  and  analysed  by  the  system  needs  a  certain  amount  of  work  to  configure  and 

make the system “learn” the specificities of the website. In order to add a new website, the following actions 

have to be performed: 

  Obtain the URL of the website; 
  Analyse the robots.txt restrictions; 
  Find the website owner contact information and obtain agreement for crawling website; 
  Analyse structure of the website to create the configuration file; 
  Launch  a  first  crawling  process,  to  correct  /  complete  the  configuration  file,  and  iterate  it  several 

times. 

It is estimated that 3 to 4 hours (half a day) is needed to configure each website. This time might decrease in 

the  volume,  once  we  similar  website  structures  have  been  encountered.  For  1.000  websites,  the  time 

needed will be approximately 400 to 500 man-days. 

Time to build and refine the vocabularies 

The  time  required  for  the  construction  of  vocabularies  also  has  to  be  considered  in  the  costs.  The  time 

needed  mainly  depends on the number and knowledge of specialists mobilised  for  the construction. To do 

this, the time to test the analysis on real data and control the results must be added. 

A rough estimation for the building of vocabularies includes: 

  Generic vocabularies (terms, keywords, structure): 10 to 15 man-days; 
 

Job titles vocabularies / categories: 10 to 15 man-days (additional time to categorise / add job titles 

at runtime); 

  Decision trees: 30 to 50 man-days 
  Text variations / synonyms: 10 to 30 man-days. 

These vocabularies will have to be completed by a translation for each language to considered, at about 10 

to 15 man-days per language. 

At the end, for 20 languages, the work is estimated at: 

  50 to 110 man-days for the meta-vocabulary 
  200 to 300 man-days for the translations (20 languages). 

Material and resources 

The  pilot  was  conducted  on  a  dedicated  server,  with  a  cost  of  approximately  200  €  per  month  (storage, 

processing and bandwidth included). For a more global environment, it is estimated that a 10-server cluster 

should be sufficient, with the following repartition:: 

  1 server as a load balancer / front-end 

89 

 
 
 
 
 
 
 
 
  5 servers for the crawling 
  2 servers for the analysis / grouping / geocoding 
  1 server for the geocoding 
  1 server for the compiling the statistics  

The cost of this cluster can be estimated to about 2.000 € per month in material / location, with an additional 

1.000 € per month for a 20-25 MBps bandwidth necessary to crawl. 

A  low  score  has  been  award  to  this  criterion  because  the  cost  and  burden  of  conducting  an  automated 

search across all EU-28 Member States is estimated to be very high. 

5.3. Degree of and conditions for feasibility 

5.3.1  Degree of feasibility 

The final score of 79 was calculated by summing up the weighted scores across all criteria. Table 5.6 shows 

the final evaluation of the results of the pilot.  

Table 5.6: Summary of the evaluation of the pilot 

No 

Criteria 

Weighted   

Score 

Relevance 

Accuracy 

Timeliness 

Accessibility 

Coherence and Comparability 

Scalability 

Effectiveness of de-duplication 

Cost & burden 

1 

2 

3 

4 

5 

6 

7 

8 

Total 

15 

15 

5 

15 

5 

5 

17 

2 

79 

The  final  combined  score  of  79  for  the  evaluation  over  eight  criteria  indicates  that  an  automated  search  is 

feasible, but there are some areas which need more attention than others. Full marks were awarded for the 

following criteria: relevance, timeliness, coherence and comparability and scalability.  It was established that 

there  was  nothing  that  could  prevent  this  type  of  data  collection  being  scaled  up  or  down  to  bigger  and 

smaller Member States.  More importantly, the pilot illustrated  the capacity  to collect  all the  data needed to 

meet user needs. 

In contrast the evaluation of the results has shown that particular attention needs to be paid to the following 

criteria: accuracy, accessibility and effectiveness of de-duplication. Nevertheless, it has to be conceded that 

not enough websites were crawled to fully test the ability of the prototype to cope with de-duplication. 

Unfortunately the cost and burden is the one criterion which may act as a stumbling block to implementing 

an automated search of ICT vacancies across all EU-28 Member States. In contrast to the other criteria there 

is very little that can be done to reduce the costs. Although in the medium to long-run some burden may be 

reduced as the system becomes more refined. 

90 

 
 
 
 
 
 
 
 
 
 
5.3.2  Conditions for feasibility 

In order for a software-based monitor of vacancies published online for ICT practitioners to be implemented 

across all EU-28 Member States, a number of conditions need to be met. The conditions set out below cover 

a wide spectrum of issues that have been encountered during the course of the study. 

Condition 1  Adopting the methodology developed in the conceptual framework 

In section 2 (Developing a conceptual framework) the importance of adopting the same concepts, definitions 

and  classifications  to  ensure  the  coherence  and  comparability  in  the  data  collected  was  discussed. 

Collecting data from different sources  within a Member States runs the risk of the data being not coherent 

and comparable because different concepts, definitions and classifications are used. The issue of coherence 

and comparability becomes more problematic when comparing data between Member States.  

For this reason a conceptual framework was developed to ensure the coherence and comparability of data 

collected.  This  included  the  development  of  a  classification  of  ICT  occupations  which  was  based  upon  the 

existing ISCO-08 classification. The approach advocated for ensuring comparability between Member States 

was  to  consider  the  classification  of  ICT  occupations  developed  as  the  main  key.  Then  several  main  job 

websites  in  each  Member  State  would  be  examined  in  order  to  identify  and  match  occupations  that 

correspond directly to the MOVIP classification.  

It  is  absolutely  imperative  when  adopting  an  automated  search  across  all  EU  Member  States  that  this 

conceptual framework is adopted, especially the methodology for classifying ICT occupations. Otherwise the 

data collected would not be coherent and comparable. It would be like comparing apples and oranges. 

Condition 2  Ensuring that the list of ICT occupations is adaptable to changes in time 

The occupations listed in the classification of ICT occupations at the 2 digit level developed in the conceptual 

framework should not be regarded as permanently fixed but they should be easily be adaptable to changes 

in the industry over time.  The ICT industry does not stand still. It is constantly evolving in particular the IT 

part of it. Some ICT skills and occupations will be popular today but obsolete in 2, 5 or 10 years’ time.  

Therefore, the list of occupations should be updated at least once a year to ensure that obsolete occupations 

are removed while new ones are added. 

Condition 3 

Incorporating into the data collection statistical data validation  

In  order  to  ensure  that  the  data  collected  on  ICT  vacancies  is  accurate,  it  should  be  mandatory  to  include 

statistical validation checks. These checks should be conducted once all the data has been automatically de-

duplicated and classified by type of occupation and region.  

The statistical validation checks should be conducted on random samples of all ICT vacancies collected, as 

well as non-ICT vacancies collected. The aim of these checks is to ensure the quality of the data collected. 

In  consequence,  indicators  would  be  calculated  to  determine  if  targets  made  have  been  exceeded  (see 

Table  5.7).  In  this  manner,  the  quality  of  the  data  collected  can  be  regularly  monitored  and  a  data  quality 

report should also be produced.  

91 

 
 
 
 
 
 
 
 
 
 
Table 5.7: Data validation check indicators 

No 

Indicator 

Identification of ICT vacancies 

Target 

1  Number of ICT vacancies being misclassified as non-ICT vacancies as a share of 

< 1% 

all non-ICT vacancies 

2  Number of non-ICT vacancies being misclassified as ICT vacancies as a share of 

< 1 % 

all ICT vacancies 

Misclassification of ICT vacancies by type of occupation 

3  Number of ICT vacancies broken down by broad of occupation misclassified as a 

< 5% 

share of vacancies in the category 

4  Number of unclassified ICT vacancies as a share of all ICT vacancies 

< 5% 

Misclassification of ICT vacancies by region 

5  Number  of  ICT  vacancies  broken  down  by  region  misclassified  as  a  share  of  all 

< 5% 

vacancies 

Condition 4  A human control mechanism to ensure quality of data 

Care  should  be  taken  for  quality  control  purposes  to  ensure  that  there  is  human  input  to  check  the  data 

because the process cannot be 100% automated as there are too many parameters to consider.  Job posts 

on  the  internet  by  their  nature  have  largely  human  input  which  means  that  they  can  be  occasionally 

inconsistent.  Two  persons  posting  the  same  vacancy  on  the  internet  can  use  different  formulations.  The 

machine interface has to have a human control mechanism to ensure quality.  

A human control mechanism would be  instrumental in data  validation by  enabling the  process of manually 

re-classifying  vacancies  if  they  have  been  found  to  be  misclassified  by  type  of  occupation  or  region,  or  if 

some non-ICT vacancies have been misclassified as ICT and vice versa.  

Condition 5  Concentrate crawling on websites which advertise ICT vacancies  

It was discussed in section 3.2 (Estimating number of websites to ensure good coverage) that crawling 100 

websites  should  be  sufficient  to  ensure  70%  to  75%  coverage  of  ICT  vacancies.  In  general  each  Member 

State will vary in how many websites that need to be crawled, as it is dependent on the market proliferation 

of a particular website.  

For this reason, it is important to establish for each Member State those websites which actually post a good 

share  of  ICT  vacancies.  It  would  be  a  waste  of  resources  to  crawl  websites  which  do  not  include  any  ICT 

vacancies as they would simply add to the cost and burden.  

Condition 6  Adopting a systematic crawling strategy 

It is important to adopt a systematic crawling strategy which should include the following rules: 
1.  Avoid using websites that duplicate the content of other websites 

This  includes  aggregator  job  boards.  This  rule  is  intended  to  lessen  the  impact  of  duplication  so  as  to 

make the de-duplication step easier. 

2.  Execute a preliminary crawl with each site separately to observe its’ behaviour 

92 

 
 
 
 
 
 
 
 
 
 
As websites let their users type each information without always providing some type of normalisation, it 

is  a  good  idea  to  crawl  each  website  separately  to  see  how  the  crawler  and  the  information  from  the 

offers are retrieved, the quality of the data, its changes, etc. This will help building up configuration files 

and check if any special handling of information is needed to process a good analysing process for each 

offers of this website.  

3.  Launch a crawl in several steps and at night 

It is important to note that each crawl makes an impact on a website. In order not to disturb the website, 

crawls should be done at night. 

4.  Always give a way for the website owners to contact you 

When  conducting  the  crawl,  the  odds  of  being  blacklisted  increase  if  we  appear  to  be  suspicious. 

Therefore,  when  crawling,  it  is  important  to  leave  an  email  address  and  give  a  webpage  to  present  the 

reason for the crawling. 

5.  Prevent crawling on websites which do not clear their expired job posts 

Some  websites  keep  all  their  expired  job  posts  from  the  beginning.  It  has  been  observed  that  crawling 

such websites delays the end of the crawling, by polluting the crawl with expired information. 

6.  The time between two different crawls 

Some websites are updated more often than others. In order to take into account any changes, it may be 

possible to redo a crawl during the month to check. 

Condition 7  Creating an adaptable system both technically and on content/vocabulary wise 

Websites  with  unique  features  and/or  structures  will  always  appear.  Consequently,  it  is  imperative  that  the 

architecture developed to create an EU wide monitor of ICT vacancies should be modular and at the same 

time adaptable to handle these specificities. 

On the other hand, vocabularies, job titles lists, etc. created as part of the system will never be exhaustive. 

The system should provide ways such as a user interface applications/pages so as to be able to easily add 

to or correct the vocabularies, the decision trees, keywords list etc… 

However, it has to be borne in mind that the vocabularies should not be too generic to improve the quality of 

the classification. This requires a broad and deep vocabulary in ICT fields. 

93 

 
 
 
 
 
 
Section 6 

Conclusions 

94 

 
 
 
 
 
 
 
 
   
6. Conclusions 

Research  conducted  has  shown  that  automated  search  of  the  internet  to  identify  vacancies  are  currently 

being  carried  out  in  several  EU  Member  States  mainly  for  commercial  purposes.  The  majority  of  these 

crawling systems collect vacancies across all types of professions. Only two (JobsAdWatch and IT Jobwatch 

in the UK) are targeted towards collecting data on IT occupations.  

An automated search of ICT vacancies on the internet  should not only be focused on the technical side on 

how to retrieve the data on ICT vacancies from the internet. It should be remembered that this is effectively a 

statistical data collection exercise. Efforts must also be placed on ensuring the coherence and comparability 

of  all  the  data  collected.  For  this  reason,  a  conceptual  framework  was  developed  where  concepts  and 

definitions as well as the classifications to be used in such a data collection.  In particular a classification of 

ICT occupations and methodology for classifying ICT vacancies was developed.   

Concerning the pilot conducted in France to test all the methodologies developed,  a number of issues were 

encountered  during the course of executing the pilot. This included technical  issues such as  crawlability  of 

websites,  vocabularies,  job  title  heterogeneity  and  how  the  system  can  detect  where  the  geographical 

location of a job vacancy is placed in a job post. Solutions were provided to handle most of these issues. 

The evaluation of the results of the pilot demonstrated that it is feasible to conduct a data collection of ICT 

vacancies  based  on  an  automated  search  of  the  internet  across  all  EU  Member  States.  In  particular,  the 

evaluation showed that the data collected in the pilot  was highly relevant as it met all the objectives of the 

study. The evaluation also  indicated that the results of the pilot  were  very timely and at  the same time the 

prototype can be easily scaled up or down to bigger or smaller Member States. The results of the pilot were 

also  highly coherent and comparable because  of the  adoption of the conceptual framework. Unfortunately, 

the  prototype  was  not  fully  tested  on  its’  ability  to  handle  duplication  because  not  enough  websites  were 

crawled. However, the duplication factor did increase  in the second crawl as more websites  were crawled. 

This indicates the ability of the prototype to cope with duplication as more websites are crawled.  

In contrast, difficulties were encountered with accessibility and crawling of websites.  These difficulties need 

to be carefully considered to propose remedies. One question that should be raised is whether or not there 

are any national laws which block crawling in any of the EU Member States.  

It  can  also  be  concluded  that  a  human  element  needs  to  be  incorporated  into  the  system  to  improve  the 

accuracy of the results. Reliance of 100% on an automated system where there are too many parameters for 

the system to consider will undoubtedly increase the chances of non-ICT vacancies being identified as ICT 

as well as ICT vacancies slipping through the net. 

One  point  the  pilot  raised  is  the  actual  cost  and  burden  that  such  a  data  collection  imposes  if  it  is  to  be 

conducted at the EU-28 level. 

Nevertheless,  the  results  of  the  evaluation  have  raised  some  pertinent  issues  which  must  be  taken  into 

consideration to ensure the success of this type of data collection at the EU-28 level.  

Consequently,  to  ensure  the  success  of  such  a  data  collection  at  the  EU-28  level  the  following  conditions 

must be met: 

95 

 
 
 
 
 
 
 
 
1)  It  is  of  paramount  importance  when  conducting  an  automated  search  across  all  EU  Member  States 

that the conceptual framework developed during the course of the study is adopted, especially 

the  methodology  for  classifying  ICT  occupations.  Otherwise  the  data  collected  would  not  be 

coherent and comparable; 

2)  In order to ensure that the data collected on ICT vacancies is accurate,  it should be mandatory to 

include statistical validation checks. These checks should be conducted once all the data has been 

automatically  de-duplicated  and  classified  by  type  of  occupation  and  region.  The  resulting  output 

would be a data quality report; 

3)  A  human  control  mechnism  is  needed  to  ensure  the  quality  of  the  data  collected.  It  is  important  to 

ensure  that  there  is  human  input  to  check  the  data  because  the  process  cannot  be  100% 

automated as there are too many parameters to consider. 

4)  It  is  important  to  establish  for  each  Member  State  those  websites  which  actually  post  a  good 

share of ICT vacancies. It would be a waste of resources to crawl websites which do not include any 

ICT vacancies as they would simply add to the cost and burden; 

5)  Adopting  a  systematic  crawling  strategy  to  overcome  the  technical  issues  raised  in  the  pilot. 

This  concerns  some  basic rules  to  help  to  facilitate  better  crawling  results.  This  includes  crawling  at 

night, avoiding crawling aggregators and those websites which do not clear their expired posts. 

6)  Creating an adaptable system both technically and on content/vocabulary wise. 

96 

 
 
 
 
References 

97 

 
 
 
 
 
 
 
 
   
 
References 

  Actiris,  Belgium  (December  2011),  The  European  Commission  Mutual  Learning  Programme  for  Public 
Employment Services,  ‘Peer Review  ‘Effective Services for Employers’,  DG Employment, Social Affairs 

and Inclusion 

  AMS  Austria  (December  2011),  The  European  Commission  Mutual  Learning  Programme  for  Public 
Employment Services,  ‘Peer Review  ‘Effective Services for Employers’,  DG Employment, Social Affairs 

and Inclusion 

  Arbetsformedlingen, Sweden (December 2011), The European Commission Mutual Learning Programme 
for  Public  Employment  Services,  ‘Peer  Review  ‘Effective  Services  for  Employers’,    DG  Employment, 

Social Affairs and Inclusion 

  Bundesagentur  für  Arbeit,  Germany  (December  2011),  The  European  Commission  Mutual  Learning 
Programme  for  Public  Employment  Services,  ‘Peer  Review  ‘Effective  Services  for  Employers’,    DG 

Employment, Social Affairs and Inclusion 

  CEN, ‘European ICT Professional Profiles’, CWA 16458, May 2012 
  DG  Employment,  Social  Affairs  and  Equal  Opportunites  (2007),  “The  role  of  the  Public  Employment 

Services related to ‘Flexicurity’ in the European Labour Markets” VC/2007/0927 Final Report 

  Eskills UK (2012), ‘Technology Insights 2012’ 
  Empirica,  Insead,  IDC  Europe  (April  2013),  ‘e-Leadership  e-Skills  for  Competitiveness  and  Innovation 

Vision, Roadmap and Foresight Scenarios – Final Report’ 

  Employment  Agency,  Bulgaria  (December  2011),  The  European  Commission  Mutual  Learning 
Programme  for  Public  Employment  Services,  ‘Peer  Review  ‘Effective  Services  for  Employers’,    DG 

Employment, Social Affairs and Inclusion 

  Employment  Service  of  Slovenia  (December  2011),  The  European  Commission  Mutual  Learning 
Programme  for  Public  Employment  Services,  ‘Peer  Review  ‘Effective  Services  for  Employers’,    DG 

Employment, Social Affairs and Inclusion 

  Estonian Unemployment Insurance Fund, (December 2011), The European Commission Mutual Learning 
Programme  for  Public  Employment  Services,  ‘Peer  Review  ‘Effective  Services  for  Employers’,    DG 

Employment, Social Affairs and Inclusion 

  Eurostat, ‘Quality Assurance Framework of the European Statistical System’, Version 1.1 
  European  Commission  (2013),  “EU  Employment  and  Social  Situtation  quarterly  review”,  Luxembourg: 

Publications Office of the European Union 

  European  Commission  (2012),  “European  Vacancy  and  Recruitment  Report  2012”,  Luxembourg: 

Publications Office of the European Union 

  European Commission (November 2013), “European Vacancy Monitor”, Issue No 11  
  European Commission (November 2013), “European Job Mobility Bulletin”, Issue No 10  
  FÁS,  Ireland  (December  2011),  The  European  Commission  Mutual  Learning  Programme  for  Public 
Employment Services, ‘Peer Review  ‘Effective Services for Employers’,  DG Employment, Social Affairs 

and Inclusion 

  Handel,  M.  (2012),  “Trends  in  Job  Skill  Demands  in  OECD  Countries”,  OECD  Social,  Employment  and 

Migration Working Papers, No. 143, OECD Publishing. 

  Lucia Kureková, Miroslav Beblavý, Anna-Elizabeth Thum (2013), ‘Online job vacancy data as a source for 
micro-level analysis of employers’ preferences. A methodological enquiry’  , Paper prepared for the First 

International Conference on Public Policy (ICPP), June 26-28th 2013, Grenoble, France 

98 

 
 
  Lithuanian Labour Exchange (December 2011), The European Commission Mutual Learning Programme 
for  Public  Employment  Services,  ‘Peer  Review  ‘Effective  Services  for  Employers’,    DG  Employment, 

Social Affairs and Inclusion 

  Jobcentre  Plus,  United  Kingdom  (December  2011),  The  European  Commission  Mutual  Learning 
Programme  for  Public  Employment  Services,  ‘Peer  Review  ‘Effective  Services  for  Employers’,    DG 

Employment, Social Affairs and Inclusion 

  Ministry of Employment and the Economy, Finland (December 2011), The European Commission Mutual 
Learning  Programme for  Public  Employment  Services,  ‘Peer  Review  ‘Effective  Services  for  Employers’,  

DG Employment, Social Affairs and Inclusion 

  National  Employment  Office,  Hungary  (December  2011),  The  European  Commission  Mutual  Learning 
Programme  for  Public  Employment  Services,  ‘Peer  Review  ‘Effective  Services  for  Employers’,    DG 

Employment, Social Affairs and Inclusion 

  OECD (2012), ‘OECD Employment Outlook 2012’, OECD Publishing. 
  OECD  (2012),  “ICT  Skills  and  Employment:  New  Competences  and  Jobs  for  a  Greener  and  Smarter 

Economy”, OECD Digital Economy Papers, No. 198, OECD Publishing. 

  Pole  Emploi,  France  (November  2011),  The  European  Commission  Mutual  Learning  Programme  for 
Public Employment Services,  ‘Peer Review  ‘Effective Services for Employers’,   DG Employment, Social 

Affairs and Inclusion 

  Salary Services (July 2013), Quarterly update 
  UWV WERKbedrijf (December 2011), The European Commission Mutual Learning Programme for Public 
Employment Services, ‘Peer Review  ‘Effective Services for Employers’,  DG Employment, Social Affairs 

and Inclusion 

  VDAB – Flemish Public Employment and Vocational Training services (December 2011), The European 
Commission  Mutual  Learning  Programme  for  Public  Employment  Services,  ‘Peer  Review  ‘Effective 

Services for Employers’,  DG Employment, Social Affairs and Inclusion 

99 

 
 
 
 
 
Annex 1 

MOVIP Classification of ICT occupations - FRANCE 

100 

 
 
 
 
 
 
 
 
   
Annex 1: MOVIP Classification of ICT occupations – France 

Code 

Group 

ISCO-08 

1  Information and communications technology service managers 

  11 

Information and communications technology service managers 

Responsable Informatique 

IT manager 

Chef de project IT / Chef de projet informatique / Directeur de projet IT 

Chef de projet reseaux 
Responsable  de  l’exploitation  informatique    /  Responsible  exploitation  / 
Responsable d'exploitation 
Responable de systèmes d'information / Gestionnaire systèmes 

Chef de projet technique 

Leader technique 

Responsable Support Informatique 

Directeur technique 

Directeur informatique / Directrice informatique 

Responsable Téléphonie 

Responsable télécom 

Chef de project reseaux / Chef de projets infrastructures reseaux 

Chef de project infrastructures 

2  Information and communications technology sales professionals 

  21 

Information and communications technology sales professionals 

Vendeur informatique 

Account Manager  - Informatique 

Sales Director  - IT 

Sales Representative - IT 

Sales consultant  - IT / Software Sales Manager / Sales software 

Business Development Manager  - IT 

Technical Sales Executive / Sales Executive -IT 

3  Software and applications developers and analysts 

  31 

Systems analysts 

Analyste Informatique 

Auditeur informatique 
Consultant 
Consultant/Consultante informatique 
Ingénieur systèmes 

IT 

/ 

Consultant 

Analyste systèmes / Analyste d'exploitation 

Testeur / Testeuse informatique 

Consultant systèmes d'information  / Consultant en systèmes d'information 

Analyste  système d'information 

Auditeur en  système d'information 

Business Analyst 

Architecte d'entreprise 

133 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

1330 

2434 

2434 

2434 

2434 

2434 

2434 

2434 

2434 

2434 

2434 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

2511 

101 

informatique 

/                                                                                                                                                                                                            

2511 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Architecte systèmes 

Architecte Solution 

  32 

Software Developers 

Programmeur, programmeuse informatique 

Développeur Logiciel / Développeur Software 

Consultant logiciel 

Ingénieur développement software /  Ingénieur Développement Logiciel 

Architecte logiciel / Architecte software 

Ingénieur software  / Ingénieur logiciel 

Ingénieur Concepteur Logiciel  /  Ingénieur concepteur développeur 

UX /UI designer / Designer en interaction / Ergonome 

Développeur (C++, C# etc…) 

Analyste programmeur 

Ingénieur Logiciel embarqué 

Développeur d'application / Développeuse d’application 

Ingénieur(e) d’applications 

Programmeurs d’applications 

Développeur, développeuse systèmes 

Programmeur systèmes / Programmeuse systèmes 

Concepteur développeur  / Ingénieur Concepteur Developpeur 

  33  Web and multimedia developers 

Développeur Web / Développeuse Web 

Programmeur Web / Programmeuse Web 

Webdesigner / Designer Web 

Gameplay programmeur / 

Développeur Gameplay / Développeur de jeux 

Développeur Internet 

Architecte web 

Développeur .NET 

Développeur PHP 

Développeur Drupal 

Consultant Sharepoint / Ingénieur Sharepoint / Architecte SharePoint / 

Développeur mobile 

Développeur Java 

Développeur JAVA J2EE 

  34 

Software  and  applications  developers  and  analysts  not  elsewhere 

classified 

Ingénieur d'Application 

Testeur Logiciel / Testeur Logiciel / Games testers / Testeur informatique / 
Testeuse informatique 
Ingénieur Testeur 

Ingénieur Qualité Logicielle 

Consultant qualité logiciel 

Ingénieur d'Application 

4  Database and network professionals 

2511 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2512 

2514 

2514 

2514 

2514 

2514 

2514 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2513 

2519 

2519 

2519 

2519 

2519 

2519 

2519 

2519 

251 

102 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  41 

Database designers and administrators 
Administrateur de base de données / Administratrice de base de données / 
DBA / Administrateur base de données / Administratrice base de données 

Développeur  de  base  de  données  /  développeuse  de  base  de  données    - 
DBA 
Ingénieur base de données / Ingénieur DBA 

Analyste  base de  données 

Architecte de base de  données / Architecte base de  données 
SQL  Administrateur  de  base  de  données  /  Administratrice  de  base  de 
données 
Développeur SQL 

DBA Oracle 

  42 

Systems administrators & computer network professionals 

Administrateur réseaux sécurité / Administrateur réseaux sécurité 
Ingénieur  Réseau  Sécurité    /    Ingénieur  Réseau  Sécurité    /  Ingénieur 
Réseau Sécurité Informatique /  Ingénieur sécurité  / Ingénieur Réseaux et 
Sécurité 
Expert Réseau et Sécurité 

Administrateur Sécurité Réseau 

Architecte systèmes 

  43 

Database and network professionals not elsewhere classified 

Administrateur réseaux sécurité / Administrateur réseaux sécurité 
Ingénieur  Réseau  Sécurité    /    Ingénieur  Réseau  Sécurité    /  Ingénieur 
Réseau Sécurité Informatique /  Ingénieur sécurité  / Ingénieur Réseaux et 
Sécurité 
Expert Réseau et Sécurité 

Administrateur Sécurité Réseau 

5 

Information  and  communications  technology  operations  and  user  support 

technician 

  51 

Information and communications technology operations technicians 

Technicien communication / Technicien communication 

Opérateur / Opératrice informatique 

Technicien d’exploitation 

  52 

Information  and 

communications 

technology  user 

support 

technicians 

Technicien support informatique  / IT Assistant 
Technicien(ne)  informatique  /  Technicien  informatique  /  Technicienne 
informatique 
Technicien Support Helpdesk / Technicienne Support Helpdesk 

2521 

2521 

2521 

2521 

2521 

2521 

2521 

2521 

2521 

2521 

2521 

2522 

2522 

2522 

2522 

2522 

2522 

2522 

2523 

2523 

2529 

2529 

2529 

2529 

2529 

2529 

351 

3511 

3511 

3511 

3512 

3512 

3512 

3512 

103 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Administrateur Helpdesk 
Technicien  Helpdesk  /  Technicienne  Helpdesk  /  Technicien  informatique 
helpdesk / Technicien Hotline 

Responsable  helpdesk  /  Leader  helpdesk  /  Superviseur  helpdesk  / 
Responsable  Service  Desk  /  Superviseur  Service  Desk  /  Chef  de  Projet 
Service Desk 
Analyste helpdesk 

  53 

Computer network and systems technicians 

Technicien Réseau / Technicien(ne) de réseau 

Technicien(ne) d’ordinateurs individuels 

Technicien(ne) systèmes /  Technicien support Réseaux 

  54  Web technicians 

Responsable du Web 

Webmaster / Webmestre 

Administrateur Web 

Support Web 

6  Telecommunications and broadcasting technicians 

  61 

Broadcasting, audiovisual  technicians 

Technicien audiovisuel / Technicien support audiovisuel 

Assistant(e) du son 

Cameraman 

Technicien de montage 

Realisation/montage de films 

Opérateur caméra 

Éclairagiste cinéma 

Ingénieur du son / Technicien du Son 

Concepteur Eclairage 

Ingénieur d'éclairage 

Éclairagiste 

Chef éclairagiste 
Technicien  de  l’éclairage  /  Technicien(ne)  de  l’éclairage  /  Technicien 
éclairage 
ingénieur du son mixeur / Mixer 

Technicien(ne) de la musique  / Technicien musique 

Assistant(e), reportage extérieur 

Technicien(ne) reportage extérieur  / Technicien reportage extérieur 

Projectionniste 

Technicien en enregistrement audio et vidéo 

Ingénieur(e) du son / Ingénieur du son 

Régisseur du son 

Technicien du son 

Technicien du son film 

Technicien de théâtre 

3512 

3512 

3512 

3512 

3512 

3512 

3513 

3513 

3513 

3514 

3514 

3514 

3514 

352 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

104 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Électricien de studio 

Technicien de studio 

Monteur /monteuse télévision 

Technicien de tournées 

Photographe vidéo 

Monteur/monteuse vidéo  / Monteur vidéo 

Ingénieur de l’image  / Ingénieur image 

Mixeur, mixeuse images  / Mixer images 

Technicien enregistrement vidéo 

Technicien vidéo 

  62 

Telecommunications engineering technicians 

Officier, officière radio  / Officier radio 

Agent de communications radio / Agent(e) de communications radio 
Techniciens  de  télécommunications    /  Technicien  Télécommunications    / 
Technicien des systèmes de télécommunication 
Ingénieur Vérification 

7  ICT occupations not classified elsewhere 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3521 

3522 

3522 

3522 

3522 

- 

105 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Annex 2 

Technical Annex 

106 

 
 
 
 
 
 
 
 
   
Annex 2: Technical annex 

Introduction 
This  document  explains  in  detail  the  technical  specifications  how  the  MOVIP  prototype  works  in  4  main 

sections: 

1.  Technical architecture  

A  presentation  of  the  global  technical  architecture,  dependencies  and  technologies  used  are 

presented in this section. 

2.  Install & run  

A step-by-step procedure to install and run the prototype. 

3.  Issues & solutions  

This  section  contains  a  description  of  the  symptoms  and  issues  encountered  during  the  different 

prototype phases and the solutions implemented. 

4.  Improvements  

Identify improvements to adjust the prototype in order to use it as a basis for a full EU-28 wide project. 

1. Technical architecture 

1.1.  Global architecture 
The main technologies used in the pilot were: 

●  Java 

Java is a programming/compiled software language. It has been used to provide additional plugins to 

the crawler tool Nutch (which is an open source tool programmed in Java).  

●  PHP 5 

PHP  5  is  a  server-side  web  oriented  scripting  language,  which  can  be  executed  without  previous 

compilation. This makes it really handy to use. PHP5 was primarily chosen because it could be used 

as  a  scripting  language  and  also  to  create  the  dynamic  web  part  displaying  the  statistics.  It  also 

enables  the  server  to  call  external  web  services  inside  the  script  and  to  parse  data  in  a  JavaScript 

Object Notation format (JSON). 

●  MySQL 

A database was needed to store all the data collected from both crawls. MySQL was chosen as it is 

one of the easiest and at the same time it is regarded as a powerful data provider.   

  HTML 5/CSS3 (design and presentation) 

This  was  used  for  the  whole  web  part  for  the  purposes  of  design  and  implementation  in  order  to 

display the statistics collected on the web. 

1.2.  Database structure 
All the information gathered and analysed during the process are centralised in a database which acts as the 

nodal point of the system. 

107 

 
 
 
 
 
 
 
 
Figure 1: Structure of the database 

108 

 
 
 
1.  Vocabulary  -  This  section  contains  a  table  with  a  list  of  vocabulary  and  job  titles  which  are  used  to 

match and analyse the vacancies. 

●  t_vocabulary - Stores a hierarchy of vocabularies that are used to match the content of a vacancy 

and classify it.  vocabulary_key stores the base vocabulary word and vocabulary values stores its 

writing variations separated by “|” characters. 

●  t_job_title - Stores a hierarchy of job titles from generic categories to more specifics job titles of a 

category. 

2.  Crawling and analysis - Stores the data retrieved from the crawler 

●  t_original_jobvacancy  -  Stores  basic  information  of  a  job  post  such  as  the  website  where  it  was 

crawled,  the  content  of  the  post,  the  exact  URL  crawled,  and  the  different  ids  from  the  analysis 

process. 

●  t_original_metadata - Stores every item of metadata from the crawler such as the location as it is 

presented in the post. This includes the job title, the company, etc. (to see the different elements: 

cf.  Detailed  architecture/Website  Configuration  Files/ANALYSE),  as  well  as  metadata  extracted 

from the analysis. 

3.  Categorisation - Stores the data after categorisation and the geolocation script for every original job 

vacancy. 

●  t_original_category - Links table between t_category and t_original_jobvacancy. 

●  t_category - Stores the job_title’s id matched from t_job_title at a “Category” category_key. Every 

job_title’s  id  that  is  not  matched  is  stored  at  a  “No  category”  category_key.    The  geolocation  id 

matched during the geolocation process at a “geolocation” category_key. 

4. 

Interim groups -  Stores the results of the grouping process 

●  t_group_jobvacancy - Stores a group signature used to group job vacancies together and run the 

deduplication process. 

5.  Unification - Stores the result of the de-duplication process. 

●  t_unique_jobvacancy - linking table between a group and a unique job vacancy. 

●  t_unique_category: stores the categories of a unique job vacancy. 

6.  Geolocation  and  statistics:  This  section  contains  all  the  tables  that  are  needed  to  store  and 

process the geolocation and provide the final statistics.  

●  t_geocoding - Table that will store the searches and results from the geocoding web service. Both 

fields of search and results are in SQL TEXT data type. The geocoding_geoloc_id stores the id of 

the NUTS matched in t_geolocation. 

●  t_geolocation  -  Table  that  stores  all  the  data  of  NUTS  regions  plus  the  added  region  “FRUN  Not 

known”. This table stores the latitude, longitude, the name of the NUTS area and its NUTS code. 

●  t_stat  -  Stores  all  the  statistical  data  needed  in  the  presentation  section  of  the  Statistics  module. 

Names of categories and their locations per job offer. In order to retrieve statistics, COUNT() and 

GROUP BY statements need to be used in the query. This table is a consolidation of data counts 

from the other tables, so as to provide a result quickly without performing a re-calculation at each 

query. 

109 

 
 
 
1.3.  Detailed architecture 
All scripts rely on the main files such as  conf.json which has a path to every important folder (Nutch conf, 

source  file  folder...)  and  the  database  connection  db.conf.  These  files  can  be  retrieved  from  the  core 

dbMovip.class.php, which is the library used to perform the query to the database. 

1.3.1.  Websites configuration files 

There are several issues that need to be addressed in order to be able to crawl data from a website using a 

crawling  device.  Websites  have  different  ways  of  displaying  and  organising  data  in  job  posts.  The  main 

objective  is  to  instruct  the  crawling  device  which  sites  to  crawl,  where  to  crawl  and  to  retrieve  information 

from  the  website.  The  first  step  is  to  create  XML  configuration  files  to  provide  the  crawler  with  as  much 

accurate instructions as possible. These XML files are divided into three parts: 

1.  Entry URLs 

Entry URLs  are the URLs  provided to enter a  website. The key  here  is to  give  the crawler the entry 

point  where  it  can  find  and  follow  links  to  content  ideally  containing  ICT  job  posts.  In  order  to  be  as 

accurate as possible, when examining websites it is crucial to establish: 

If there are several entry points to the same content; 

 
 
  Which categories are ICT and which are not in a website etc.  

If there is a location in the website where actual ICT offers are located; 

The <URL> tag allows us to instruct the crawler where to start its’ search for a given website. 

2.  Whitelist 

The whitelist is the opposite of a blacklist. It instructs the crawler if it is allowed to follow the links (enter 

a  page)  in  a  given  website.  As  websites  can  have  several  domain  names,  several  links  can  redirect 

into supposedly similar job posts. Sometimes these posts are completely different from ICT job posts. 

This  means  that  if  the  whitelist  is  actually  too  permissive,  it  will  try  and  crawl  every  job  post  in  a 

website. For example, a website contains more than 10 000 job posts of different types of occupation, 

of which only 500 are ICT job posts. If the whitelist is constructed to be too permissive in  its regular 

expressions, the crawler will crawl all the 10 000 job posts instead of only the 500 ICT job posts. 

Regular expressions in the whitelist provide instructions if a page can be entered or if it has links that 

the crawler can follow. This is why the whitelist is very important. Tools to test the regular expressions 

used in the whitelist were created, in order to determine if this part of the XML file was done correctly. 

The  whitelist  is  composed  of  <URL>  tag  and  has  a  regex  attribute  that  needs  to  be  completed 

carefully with elements such as parameters, domain names, and the form of the URL to enter so that it 

accurately locates ICT posts and ICT posts lists. 

3.  Analysis 

The  XML  file  contains  an  <analyse>  tag  which  contains  the  configuration  of  “xpath”  that  the  crawler 

will read to know where it has to find information on a job post page. It is also possible to find useful 

information in the URL. URL has patterns and these are kept in a <URL> tag. The information is then 

placed  in  a  <store>  tag  along  with  the  attributes  category  which  is  the  information  that  is  needed  to 

retrieve from it and the match which is the number of the matching parenthesis of the information (the 

count start at index 1). 

110 

 
 
 
 
 
 
In  order  to  find  information  on  a  page,  you  have  to  specify  using  <dom>  tags,  the  xpath  where  the 

information  is.  The  category  it  refers  to  is  the  list  of  the  category  of  information  that  needs  to  be 

retrieved from the page: 

● 

● 

● 

jobid - The id of the offer in the website. 

jobtitle - The job title given in the offer. 

joboffer - The content of the job post (its description) 

●  company - The company’s name. 

●  activity - The company’s field of activity. 

● 

location - The location of the job post. 

●  salary - The wage. 

●  contract - The contract type of the vacancy 

●  period - The duration of the contract 

●  School degree - The level of education requested 

●  experience: The amount of experience requested 

●  publicationdate - The publication date of the offer on the website. 

● 

reference - The vacancy’s reference code. 

●  offernumber - The number of job vacancies in the job post. 

It should be noted that if one of this information is cut in several DOM elements in the html page, using 

a  “|”  between  two  xpath  will  make  the  crawler  concatenate  the  two  values  of  the  elements.  If  any 

information  is  optional  on  the  website  (if  the  DOM  node  is  not  on  every  page),  putting  it  in  the  XML 

configuration  file  will  give  wrong  data  to  the  crawler  and  will  reduce  the  data  quality  level.  In 

consequence it is advised not to include an xpath, if it does not appear on a significant proportion of 

job posts on a website.  

The most  important  fields  in  the  pilot  were  jobtitle,  joboffer,  and  if  available  the  location  field.  Efforts 

were concentrated on these particular fields as they were expected to provide the final data needed to 

meet the objectives of the study. 

1.3.2.  Crawling 

1.  Tools 

An open source crawler was needed to conduct a crawling of websites for the pilot. Apache Nutch from the 

Apache Software Foundation was selected as the best choice. Apache Nutch was selected because it has a 

modular architecture and it contains a lot of documentation as well as active forums. The most recent version 

of  Apache  Nutch  at  the  start  of  the  study  was  version  1.7.  This  version  was  used  for  conducting  the  pilot. 

Apache  Nutch  works  with  Apache  Solr,  an  indexing  tool.  The  version  used  is  Apache  Solr  4.6.1.  This  tool 

has a powerful query system and a web application in order to supervise the indexed information.  

  Apache Nutch 
A short tutorial on how to use Apache Nutch can be found at the following link: 

 http://wiki.apache.org/nutch/NutchTutorial 

The most important piece of information to learn about Nutch is that the crawling system works by performing 

cycles. A cycle is the depth of a crawl.  

For a cycle it performs: 

111 

 
 
 
 
 
 
 
●  An injection - this is done just at the first step. It takes bootstrapping URLs from a text file. 

●  A generation - in this step, it generate all the links for this cycle. It selects the topN most important 

link from all the links available. The topN parameter is the width of the crawler 

●  A fetch - it fetches all the links to get the content of the pages. 

●  A parse - it parses the content of each page and finds the outlinks of the page. Those outlinks will be 

used for the next generation. 

●  An indexation - it indexes all the metadata retrieved for each page in SolR 

It  is  important  to  note  that  at  the  injection  and  at  parsing  steps,  all  URLs  are  normalised  and  filtered.  The 

tool’s  main  configuration  is  in  nutch-default.xml  and  modification  of  this  information  can  be  made  in  the 

nutch-site.xml. 

  Apache SoIr 
In  the  pilot,  collections  are  used  to  distinguish  between  several  crawls.  The  one  used  by  default  is  the 

collection1  and  the  other  follow  the  pattern  “collection-date”,  date  format  is  “%Y%m%d%H%M”  e.g. 

201405011230 for the 1st May 2014 at 12h30. 

It should be noted that collection1 is the one Nutch uses to index the current crawl and collection-date are 

backup collections from previous collection1. 

2.  Running a crawl 

The main steps to run a crawl are:  

1.  Initialisation of the data; 

2.  Perform the crawl and  

3.  Extract the data. 

Initialisation of the data 

To  conduct  a  crawl,  some  modules  were  added  (see  crawling  part).  The  data  needed  for  them  should  be 

extracted from the websites configurations files.  

Generation of the bootstrapping URL file 

As explained above, Apache Nutch needs a list of URLs in order to start a crawl. 

The configuration file for this plugin is named “seed.txt” and is generated, with the following algorithm: 

BEGIN 

For a website configuration file 

Take the crawl node 

In this node go through each URL node 

FOR EACH node: 

get the method if not set default is get 

IF get: 

add the URL in the seed.txt 

END IF 

IF post: 

extract all the data in the param node 

construct a URL for post for Nutch (*) 

add the URL to seed.txt 

112 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
END IF 

END FOR EACH 

END 

Note: 

(*) It is composed of the href with a random number at the end (in order to distinguish between several posts 

from  the  same  URL),  a  tabulation,  method=post,  param  with  a  name  value  couple  separated  with  ‘:’  and 

couples comma separated e.g.  

http://www.example.com/query/1432543 method=post param=name1:value1,name2:value2  

Generation of the regex filter configuration file 

The  whitelist  needs  a  set  of  URL  in  a  configuration  file.  This  file  is  named  “regex-URLfilter.xml”  and  is 

generated, with the following algorithm: 

BEGIN 

For a website configuration file 

Take the URL node in the whitelist node 

Test the regex 

Normalize the URL parameter of the regex (*) 

Add the regex to the regex-URLfilter.txt 

END 

Note: 

(*)  The  regex  must  match  the  URL  after  normalisation  so  the  regex  should  go  through  the  same  process.  More 

information can be found  in the crawling section above. 

Generation of the “filter by id” configuration file 

In order to prevent the crawler to crawl the same page plus/minus a parameter, the id of the offer (if available 

in  the  URL)  is  taken  and  then  URLs  with  the  same  id  for  the  same  domain  are  forbidden  (*).  The 

configuration file for this plugin is named “regex-URL-id.xml” and is generated, with the following algorithm: 

BEGIN 

for a website configuration file 

FOR EACH node site in analyse 

IF there is a node URL in this node 

Take the regex in the node and normalize it 

Search for the node with a category job id 

If found take the match number 

IF there was a match 

Store the regex and its match in a dictionary 

Append it to the dictionary of websites with the key of the domain 

or create the key and store it in the dictionary 

END IF 

END IF 

END FOR EACH 

END 

BEGIN 

Once each website configuration file is done 

Create the xml file from the dictionary of websites, where nodes are the host of each 

113 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
website and subnodes are the regexid with the regex and the match number 

END 

Note: 

(*) More information is provided in the section on crawling. 

Generation of the xpath filter configuration file 

To recognise which information to retrieve and where it can be found, a xpath-filter module was created (*). 

The  configuration  file  for  this  plugin  is  named  “xpathfilter-conf.xml”  and  it  is  generated  with  the  following 

algorithm: 

BEGIN 

For a website configuration file 

FOR EACH node site in analyse: 

take the regex normalise it and test it 

Fill in the node with the regex and the default rules 

FOR EACH node DOM in this node: 

create the subnode with the category and the xpath plus the default values 

END FOR EACH 

Check if the required categories was dealt 

END FOR EACH 

END 

Note: 

(*) More information is provided in the section on crawling. 

The initialisation script 

To run all those step, only one script is needed. It follows this algorithm: 

BEGIN 

Select website in the database 

FOR EACH website: 

Generate the bootstrapping URL 

Generate the regex URLfilter 

Generate the filter by id configuration file 

Generate the xpath filter configuration file 

END FOR EACH 

END 

3.  Performing the crawl 

Once  the  initialisation  has  been  completed,  a  crawl  can  now  be  made.  So  as  to  handle  these  project 

specificities some modules were added: the URL parameter normaliser, the filter by id, the post request, the 

xpath-filter and the index-omitting. Each of this module will be described in this section. 

URL parameter normaliser  

Plugin name: URLnormalizer-param 

This module allows to sort the parameter of an URL alphabetically and to remove any duplicate parameters. 

It does not require any configuration. This module is executed before filtering at the injection step and at the 

parsing time when parsing outlinks. 

114 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Input: URL 

output: URL 

Algorithm: 

BEGIN 

Split the URL with the char ‘?’ 

With the second part of the result array 

Split with char ‘&’ 

Remove any duplicate in the parameter array 

Order by name 

Recompose  the  URL  with  the  first  part  of  the  split  URL  +  ‘?’  +  concatenate  every  element 

of the sorted parameter array with ‘&’ 

END 

The filter by id 

Plugin name: URLfilter-id 

This module prevents the crawler to crawl the same page multiple times in case any parameters are added. 

The required configuration files are: 

regex-URL-id.xml  -  a  xml  files  with  all  the  regex  to  match  and  the  match  number  by  host.  It  provides 

information of how to acquire the id of a job post. 

Example: 

<?xml version="1.0" encoding="utf-8"?> 

<config> 

<site URL="alertejob.com"> 

<regexid 

regex="http://alertejob.com/consult.php?an=([a-zA-Z0-9]+)&amp;catposte=10" 

<regexid 

regex="http://alertejob.com/consult.php?an=([a-zA-Z0-9]+)&amp;catposte=14" 

match="1"/> 

match="1"/> 

</site> 

<site URL="cadres.apec.fr"> 

<regexid 

regex="http://cadres.apec.fr/offres-emploi-cadres/\d+_\d+_\d+_([A-Z0-9]+)_" 

match="1"/> 

</site> 

</config> 

crawled-table:  a  xml  file  with  all  the  id  store  by  host.  It  provides  information  whether  a  job  post  has  been 

already been crawled or not. 

115 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Example: 

<?xml version="1.0" encoding="UTF-8"?> 

<table> 

<site key="www.emploineo.com"> 

<jobid>17784</jobid> 

<jobid>23441</jobid> 

</site> 

</table> 

The  absolute  path  for  those  files  should  be  given  in  nutch-site.xml  under  “URLfilter-id.crawled.table”  and 

“URLfilter-id.conf.sites”.  This  module  is  performed  before  filtering  and  before  injection  and  at  the  parsing 

time. 

Input: URL 

Output: Boolean (true or false) 

Algorithm: 

BEGIN 

Take the host of the URL 

Find the regex for this host 

IF the URL match one of the regex 

Get the id in the URL 

IF the couple host/id is in crawled-table  

reject URL 

ELSE 

END 

insert it in crawled table 

ELSE 

END IF 

accept URL 

END 

Note: If no information was found for a URL, this URL is allowed. 

The post request 

Plugin name: protocol-http 

It  is  an  upgraded  version  of  the  default  module  which  can  be  downloaded  from  the  Apache  Software 

Foundation.  (From  httpclient  3.1  to  httpclient4.1).  This  module  allows  sending  a  post  request.  It  does  not 

need any configuration files. This module is performed at the fetching part 

Input: URL 

Output: string (page content) 

116 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Algorithm: 

BEGIN 

Create a http client 

Set the header 

find the metadata for this URL 

IF the meta data contains a post method 

Retrieve the added random number at the end of the URL 

Send a post request with in data the parameters 

Follow redirections if needed 

ELSE 

END IF 

Send a get request 

Retrieve the content of the stream into a string 

return the string 

END 

The xpath-filter 

Plugin name: filter-xpath 

This  module  allows  extracting  the  desired  information  from  a  page.  This  module  was  downloaded  from 

http://www.atlantbh.com/precise-data-extraction-with-apache-nutch/.  Some  changes  were  made  to  this 

module for the specific purpose of the pilot. The module requires a configuration file: xpathfilter-conf.xml the 

path has to be defined in the configuration “filter.xpath.file” (example in annex). This module is executed at 

the parsing part. 

Input: URL 

Output: no output - metadata are added for further indexation 

Algorithm: 

BEGIN 

If the URL match on regex of the configuration file 

Query each xpath on the DOM created from the page 

Add the result in the metadata of this URL 

END 

Note: By changing the configuration file, other algorithms could be made from this module. More information 

can be found in the file xpathfilter-conf-explanation.xml file. 

The index omitting 

Plugin name: index-omit 

This  plugin  allows  selecting  which  page  should  be  indexed  in  Solr.  This  module  was  downloaded  from 

http://www.atlantbh.com/precise-data-extraction-with-apache-nutch/. No changes were made to this module.  

The module requires a configuration file: omit-indexfilter-conf.xml .This name and the path could be changed 

in the configuration “filter.index.omit.file”. This module is implemented at the indexing part. 

Input: URL 

Output: Boolean (true or false) 

117 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Algorithm: 

BEGIN 

IF there is a metadata field for indexing with the name jobtitle 

Allows indexation 

reject indexation  

ELSE 

END IF 

END  

Note:  Through  changing  the  configuration  file,  other  algorithms  could  be  made  from  this  module.  More 

information can be found in the omit-indexfilter-conf.xml file. 

Other information 

These  modules  make  it  possible  to  perform  a  crawl.  However,  there  are  still  some  settings  done  in  the 

launching  script  (bin/crawl)  such  as  the  sizeFetchlist(topN  parameter)  and  the  number  of  threads 

parameters. They are set to: 

sizeFetchlist=`expr $numSlaves \* 100000` with numSlaves=1 

and numThreads=50 

4.  Extracting the data 

Once the crawl has been completed by either reaching the cycle limit (which has been set to 100), or there is 

no more links to generate a crawl from, the result of the indexing in Apache Solr is available through the Solr 

web application. 

In order to continue the process, the data available in Solr should be sent to the central MySQL database. 

This is performed through a script. This extraction script follows the following algorithm: 

BEGIN 

Select website from database 

FOR EACH website: 

take its configuration file 

store the way to retrieve information in the URL for this website (regexs, 

categories and matched number) 

take the domain of the website 

query all URL with the domain in solr 

FOR EACH URL 

store the main information: URL, joboffer, websiteid, periodid 

retrieve information in the URL and store them in metadata table 

find all the other required field from the indexed data in solr and store them 

END FOR EACH 

END FOR EACH 

END 

118 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.  Web tools 

In order to help with the construction of the websites configuration files and with debugging them, some tools 

have been created:  

i. 

confTools.php 

This tool contains some scripts which will help to create the website configuration file. It contains  

  A script which allows to check whether or not the robots.txt file allows to crawl a certain webpage  
  An URL decoder  to facilitate the pattern recognition in URL 
testConfFile.php 

ii. 

This tool contains several elements to help checking if the configuration file is correct. It performs: 

  A regex test against the given URL: in order to know if it is allowed 
 
 

It retrieves the meta robot 

It  acquires  all  the  URL  in  the  webpage  normalised  and  filters  it  according  to  the  website 

configuration and displays the result 

 

If the page is a page which matches the pattern of an job offer, it retrieves the content of the xpaths 

1.3.3.  Analysis 

1.  Vocabulary 

A  vocabulary  is  a  set  of  keywords  used  to  extract  information  from  a  text.  For  our  use  case,  an  ICT 

vocabulary to extract meaning from job posts has been used. Based upon these keywords, it can be decided 

if a job offer is ICT or not. 

A  vocabulary  is  built  on  a  hierarchy  of  words.  The  parent  relationship  defines  the  specialisation  or 

generalisation.  It  is  found  that  the  lower  one  goes  down  in  the  hierarchy,  the  more  accurate  the  terms 

become  as  they  represent  specific  concepts.  The  vocabulary  should  consider  writing  variations  to  be 

adapted to a largest range of content of job posts. Two vocabularies were used in the pilot: 

1.  Keywords to analyse the content of the job post 

2.  Job titles and categories. 

2.  Importation and database representation 

To easily represent a vocabulary the csv format has been used. It is constructed as follows: 

●  Generic term 1: Writing variations 

○  Specific terms: Writing variations 

○  … 

●  Generic term 2 

●  … 

In csv it is represented by the following matrix: 

Generic term 1 

Writing variation 1 

Writing variation 2 

Specific term 1 

Writing variation 1 

... 

Generic term 2 

... 

119 

 
 
 
 
 
 
 
 
 
 
 
 
Once input into the database, a vocabulary is represented by this set of fields: 

●  An id to identify it; 

●  A key to represent the basic term; 

●  A value to represent all writing variation split with a ‘|’; 

●  A parent to represent the hierarchy. 

To include the CSV structure into the database, we develop an import script based on this algorithm. We use 

an array A that represents the hierarchy, the key is the depth and the value is the last term of this level. 

BEGIN 

FOR EACH row R in the csv file  

Get the depth D of the first word. The depth is the number of the cell. 

Put this first word in A at offset D. 

FOR EACH cell C in R 

Add the content of C to the variations of the word. 

END FOR EACH 

IF D is not 0 

Retrieve the parent of the current term in A at offset D-1 

END IF 

Insert the key, value and parent in the database. 

END FOR EACH 

END 

3.  Job titles vocabulary 

This is a vocabulary whose leafs are job titles and roots are categories. 

4.  Analysis 

The purpose of analysis is to extract meaning from the job content. We use the set of extracted keywords to 

reduce the search space for duplicated job offer. The algorithm used is presented below: 

BEGIN 

END 

FOR EACH word W in vocabulary 

FOR EACH job offer that content W 

Insert the metadata in database with the original id, the parent of W as 

key and W as value. 

END FOR EACH 

END FOR EACH 

120 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1.3.4.  Categorisation 

This module attempts to classify the job post based on the job title. 

1.  Job titles analysis 

Job titles extracted from the websites often contain more information than just only the simple job title. For 

example  they  may  also  include  the  location  or  the  company  placing  the  advertisement.  Therefore,  this 

module cannot automatically match the job title listed in the post to a specific category in the classification of 

ICT  occupations.  To  solve  this  problem,  a  system  has  been  deployed  that  checks  if  a  job  title  (or  its 

variations) in database is included in the title of the job offer. 

Algorithm:  

BEGIN 

FOR EACH job title J in t_job_title with title_parent_id null 

FOR EACH job offers O in t_original_jobvacancy with a title that contains job title 

IF J isn’t in t_category 

Insert J in t_category with ‘Category’ as category_key 

END IF 

Get the category_id I of J 

Insert in t_original_category the couple (I, O) 

END FOR EACH 

END FOR EACH 

FOR EACH job offers O1 not categorized 

IF the title T of O1 isn’t in t_category 

Insert in t_job_title T with ‘not categorized’ as title_parent_id 

Get the title_id TI of T 

Insert TI in t_category with ‘No category’ as category_key 

END IF 

Get the category_id I of T 

Insert in t_original_category the couple (I, O1) 

END FOR EACH 

END 

Examples: 

“Développeur web mobile à Paris” matches the “Développeur web” key 

“Consultant expérimenté sur CRM Microsoft Dynamics” matches the “CRM Microsoft Dynamics” variation of 

the “CRM consultant” key. 

2.  Uncategorised job titles 

The initial database of job titles is not complete which means that there are a lot of unclassified job titles. A   

script has been developed to manually handle this issue. For a given unclassified job title, the user should 

select one of the suggested titles (*) if the title is considered as a writing variations of it, or select the right 

category for this job title. In the first case the job title is added to the writing variations of the chosen title, and 

in  the  second  case  a  new  specific  term  is  added  under  the  selected  category.  At  each  new  insertion,  a 

categorisation with this term is performed, so other similar job titles do not have to be performed by the user. 

The aim is to reduce the count of uncategorised job titles to a minimum. 

121 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
(*)  suggestions  are  made  by  the  system  using  a  text  similarity  algorithm,  similar  to  the  one  used  in  de-

duplication. 

1.3.5.  Geolocation 

1.  Technologies 

●  OpenStreetMap geocoding service  

The OSM geocoding service is used to acquire geospatial data from a textual address. It allows retrieving 

the  NUTS  2  region.  This  service  can  be  accessed  through  queries  with  the  purpose  to  have  a  detailed 

result  of  the  location  (country  code,  name  of  the  city,  county,  the  state  -  the  part  we  are  interested  in 

retrieving, latitude and longitude, country name, etc.) in a JSON or XML structure.  

●  MySQL database 

A MySQL table is used to  store the data and apply  a level of caching memory so as not to request the 

geocoding service once the data has been acquired. The number of requests to the OSM web service is 

limited  to  one  query  per  second.  In  order  to  respect  these  rules  and  to  keep  a  reasonable  processing 

time,  there  was  the  need  to  use  a  table  in  MySQL  to  store  every  different  query  and  the  results.  This 

allows consistency in the data and a faster process especially if an identical address is encountered in the 

future, which means that the address does not need to be geocoded anymore. 

2.  Functioning & Algorithm 

After  crawling  every  web  site,  numerous  data  are  available  such  as  ‘location’,  ‘job  title’,  etc.  At  the 

geolocation step the goal is to acquire every new ‘location’ field and try to geolocate it into the NUTS 2 area 

code so as to compute the statistics. The information could be extracted from: 

●  A list  of all NUTS 2 area codes  in  a simple text file to check if the  ‘location’ field does not already 

contain the NUTS 2 address. Then if it does not contain it, check if it matches with any; 

●  A query to the database to found previous responses from the web service. The response could be 

either a NUTS 2 or “FRUN Not known” when there was no result found from the web service. These 

information are in t_geocoding table with the search from the field ‘location’ and the result retrieved 

from the web service.  

●  The OSM geocoding service if none of the above situations apply. 

This functioning is transcribed into this algorithm:  

BEGIN 

Retrieve every metadata_values at the “location” metadata_key from 

t_original_metadata at a given crawling period. 

FOR EACH “location” value found as loc 

declare selectedRegion as NULL 

IF loc already in the search field of the database 

Set selectedRegion as the result field. 

END IF 

FOR EACH NUTS2 in the list as nuts 

IF nuts found in loc 

set the selectedRegion as nuts. 

stop the loop 

END IF 

122 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
END FOR EACH 

IF selectedRegion IS NULL 

send a query to the geocoding service as GS 

IF GS sends a result back 

set selectedRegion as the ‘state’ value if exists 

otherwise set selectedRegion as ‘Not known’. 

ELSE 

END IF 

END IF 

set selectedRegion as ‘Not known’ 

Store the loc as search field and selectedRegion as result field in the database. 

Associate the NUTS2 from t_geolocation to the offer. 

END FOR EACH 

END 

1.3.6.  De-duplication 

De-duplication  allows  retrieving  job  vacancies  from  job  posts/offers.  An  employer  or  recruitment  agency 

etc… can post a job on more than one website, which means that data on a particular ICT vacancy may be 

be  posted  more  than  once.  In  order  to  proceed  efficiently  with  de-duplication,  two  steps  are  needed: 

grouping and deduplication. 

1.  Grouping 

De-duplication is a time consuming process in terms of computing time. Therefore, to make this step easier, 

a  grouping  of  offers/posts  is  processed  upstream.  This  process  decreases  the  amount  of  comparison 

needed  between  job  offers  by  creating  groups.  The  de-duplication  process  will  then  be  applied  only  to  job 

offers within a particular group. 

A  group  contains  all  the  offers/posts  with  the  same  signature.  It  is  assumed  that  two  offers  with  distinct 

signature  cannot  be  identical.  The  signature  of  an  offer  is  the  set  of  all  its  metadata.  It’s  a  string  resulting 

from the concatenation of metadata separated by ‘|’.  

FOR EACH job offer J in t_original_jobvacancy 

Compute the signature S. 

IF S is unique 

Insert S in t_group_jobvacancy 

END IF 

Get group_id G from t_group_jobvacancy with S as signature 

Update J to set G as group_id in t_original_jobvacancy 

END FOR EACH 

2.  De-duplication 

For  each  job  offer  in  a  given  group  the  system  performs  a  normalisation  on  the  job  offer’s  content.  This 

process  allows  removing  words  without  any  information  (less  than  three  letters)  and  sorting  the  remaining 

words  in  alphabetical  order.  From  this  point,  a  matrix  is  created  with  a  confidence  of  similarity  computed 

among offers in group. This matrix is sorted with a card sorting algorithm. This algorithm returns all unique 

vacancies  in  the  group.  A  job  offer  is  considered  unique  if  its’  similarity  confidence  is  lower  than  a  pre-

123 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
determined threshold. It should be noted that the threshold used to determine whether offers are similar or 

not is a parameter, manually set and compared to the samples. 

Below is the algorithm of the process: 

FOR EACH group G in t_group_jobvacancy 

FOR EACH job offer J in G 

Epurate the content of J 

END FOR EACH 

Compute the similar matrix M of all job offer in G 

IF M only contains values superior to the step 

All job offer in G are the same vacancy 

ELSE IF M only contains values inferior to the step 

All job offer in G are unique. 

ELSE 

WHILE M isn’t empty 

Get the couple of job offer with the best similarity value 

Set this couple in the top of matrix 

Sort the matrix with the card sorting algorithm 

Extract  all  job  offer  with  similarity  value  superior  to  the  step  and  add  this 

group in an array A. 

END WHILE 

END IF 

FOR EACH group Gf in A 

Insert Gf into unique job vacancies. 

Update unique_id in t_original_jobvacancy for each job offer in Gf 

Insert all categories of Gf in t_unique_category 

END FOR EACH 

END FOR EACH 

1.3.7.  Statistics 

1.  Technologies 

A “pseudo-MVC” architecture allows to dynamically retrieve data from the database and to display them on 

the  view  layer.  It  also  allows  the  creation  of  object  architecture  to  retrieve,  compute  and  display  statistics 

which  will  make  the  adaptability  of  the  application  easier  (e.g.  by  changing  the  database  provider,  or 

changing the display language). The “pseudo” term is added because it does not follow every requirement of 

a classical MVC architecture. For example, no interfaces and entity classes were implemented.  

The development was made using PHP scripting and HTML-CSS rendering, with a dependency on Google 

Maps for the geographical representation of data.  

124 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 2: Schema of the architecture used in the application 

2.  Functioning & algorithm 

The basic function of this part is to retrieve data to present them in two ways: 

1.  A chart geocoded on a google map 

2.  A table with the number of vacancies by job classification and NUTS 2 area. 

To realise this part, some data must be retrieved. The choice of the data to display is made by the user on 

the  index  page  of  the  application  by  selecting  the  criteria.  In  order  to  query  the  database  with  ease,  some 

changes need to be made as some entity tables are in key/value and other are in row/column. 

For this purpose, the script “supply_statistics.php” must be run first. It inserts values into a table created to 

transpose key/value fields in a row/column table. This table name is “t_stat”. This has the advantage of being 

a faster process as there is no more need for a pivot table or view which are not indexed in MySQL or using 

a lot of joins between tables. 

The following shows how every script used in this module works and how the architecture works: 

●  supply_statistics.php: 

  Uses the “supply_statistics.php” script to provide rows in the “t_stat” table. 
  Retrieves  the category  information  linked to the unique_id and its crawling period_id, collects the 
geolocation  information  with  retrieved  identifiers.  Merges  the  two  rows  retrieved  and  inserts  the 

correct data in “t_stat” to provide some statistics. 

●  movip.actimage-ext.net/Statistics/...: four important folders 

  Statistics.DataAccess: “MySqlDatabase” contains queries for a mysql database engine. If needed, 

other providers can be added by adding another file. 

  Statistics.Controller: “DataController” redirects the queries to the DataAccess layer. 

125 

 
 
 
 
 
 
  Statistics.View: 

“index.php”, 

“StatisticsDisplay.php” 

and 

“download.php”  POST 

form, 

StatisticsDisplay uses the “$_POST[‘btnSubmit’]” to display the right page. 

  Statistics.Tools:  “ToolBox.php”  contains  a  class  that  can  be  used  by  every  other  layer  with 

mathematical computations, string formatting, etc. 

How it works: 

● 

index.php:  

  Select the location (the whole country or a NUTS 2) 
  Select the categories (multiple selection are enabled for this field, by holding CTRL or shift) 
  The period as the month + the year (corresponds to the crawling period) 
  Once  all  fields  are  selected,  click  on  one  of  the  two  buttons  and  it  will  redirect  you  on 

StatisticsDisplay.php 

●  StatisticsDisplay.php: 

  The map view displays a google map with a marker on each NUTS 2 for a country, clickable with 
the description of each job classifications previously selected. (lat, lng, NUTS 2 name and a vertical 

bar chart with the number of vacancies by job classifications) 

  The table view displays a double entry table containing each information with its numeric values by 
job classification/location and a percent on the total of the offers. All values are computed on the 

fly. (count on the t_stat table, additions and percentages…) 

 

It’s also possible to click the “download table” button above the table to download a CSV file with 

the data in it. (the file is created on the FTP server and then downloaded by the user) 

Figure 3: Screenshot of the index.php page 

126 

 
 
 
 
 
 
 
Figure 4: Screenshot of the Map view page 

Figure 5: Screenshots of the Table view page - Numeric display

127 

 
 
 
2.  Install & run 

2.1. Step by step installation 

2.1.1. Linux server installation 

Server installation: Debian 7 
It is the most commonly used OS and the version 6 is no longer updated from the 31st May 2014. 

2.1.2. Application installation 

1.  For the web scripts / application 

Apache v2.2.22 

PHP 5 

MySQL v5.5.35 

Phpmyadmin v3.4.11 

This tool can be installed without any specific configuration. 

2.  For the crawler 

Apache Nutch  

Requirements: 

●  Java Development Kit 1.5+ 

●  Apache Ant: to build the source file 

●  Apache Solr 

Extract/copy Apache Nutch from the archive in annex. 

The root of the Apache Nutch folder will be named [NUTCH_HOME]. 

Once in [NUTCH_HOME] running the “ant” command will build the sources files.  

When built successfully in [NUTCH_HOME]/runtime/local will be the generated binaries. They will be located 

in the folder [NUTCH_BIN]. 

Apache Solr 

Requirements: 

●  Java Development Kit 1.5+ 

●  An application server which supports the Servlet 2.4 standard (such as Tomcat) 

Extract/copy Apache Solr.  

The root of the Apache Solr folder will be named [SOLR_HOME]. 

The 

folder 

[SOLR_HOME]/example/solr/ 

is  where  all  collections  can  be 

found.  This  will  be 

[SOLR_COLLECTIONS] and in the folder [SOLR_COLLECTIONS]/collection1/conf all the configuration files 

for Solr can be found. 

For the project 

Extract / copy Movip folder. 

128 

 
 
 
 
 
 
 
 
 
 
 
The  root  of  the  MOVIP  folder  will  be  named  [MOVIP_HOME]  and  in  [MOVIP_HOME]/scripts  can  be  found 

the  entire  folder  containing  the  different  scripts  for  each  step  of  the  process.  This  folder  will  be  named 

[MOVIP_SCRIPTS]. 

2.1.3. Application and network configuration 

For this project, only the common PHP libraries were used. 

If 

the  server  works 

through  a  proxy, 

the  proxy  settings  should  be  changed  under 

[NUTCH_HOME]/conf/nutch-site.xml file in several “http.proxy” fields. 

2.2. Step by step run 

1.  Initialisation 

Under: [MOVIP_SCRIPTS]/1.config_files/ 

1.  run php 1.insertFilesInDatabase.php - This has to be done just the first time 

2.  run  php  2.initconf.php  -  This  script  creates  all  the  configurations  files  needed  for  the  crawling.  The 

query to select the website to crawl could be entered as parameter (default: all website) 

2.  Run the crawl 

Under: [MOVIP_SCRIPTS]/2.crawling/ 

1.  run  php  storeDatebeginCrawl.php  -  This  will  create  a  new  period_id  for  the  crawler.  The  latest 

period_id is the one used by default. 

2.  run ./runcrawl.sh - The path to [NUTCH_BIN] should be modified in this script. 

3.  run storeDateendCrawl.php  

4.  run php extract.php - This script have a collection and the query to select a website in the database 

(the where clause) as parameters.  php extract.php --collection=(default: collection1)  --where=(default 

no where clause)  

5.  run ./backupSolrCollection.sh (optional) - Create a new collection from the collection1 

6.  run ./restartSolr.sh (optional) - The new collections created are available on Solr web applications only 

after a restart.  

3.  Analysis process 

Under: [MOVIP_SCRIPTS]/3.analysis/ 

1.  run analysis.php 

2.  run categorise.php 

3.  run selectCategory.php 

4.  Uncategorised job titles process 

This step is done in a web application at http://[HOST]/categorize/uncategorized_job.php 

2.3.1. De-duplication process 

Under: [MOVIP_SCRIPTS]/4.group/ 

1.  run group.php 

2.  run deduplication.php 

5.  Providing statistical data 

Under: [MOVIP_SCRIPTS]/5.statistics/ 

129 

 
 
 
 
 
 
 
 
 
1. 

run 1.supply_statistics.php 

6.  View the result 

This step is at http://[HOST]/Statistics/Statistics.View/index.php 

3.  Issues & solutions 
A list of issues encountered during the study and the solutions developed to overcome these problems are 

presented below: 

3.1. Website configuration 
Issue: 

Job sites do not follow the same structure. 

Information in the content of the selected field may not be correct 

Solution: 

Create a configuration file for each website. 

Use information in the URL if available. 

3.2. Crawling 

3.2.1. Right to crawl 

Issue: 

Robots.txt and meta-robot could prevent the crawler to access the website 

Solution: 

The  owner  of  the  website  could  add  an  exception  for  the  user-agent  (set  in  [NUTCH_HOME]/conf/nutch-

site.xml) in the websites robots.txt file, but there is no such easy solution for meta robots. 

3.2.2. GET protocol handling 

Issues: 

1.  parameter in the URL are not in the same order, may contain special char  

2.  parameter could be added 

Solutions: 

1.  Suppress  duplicate  parameters,  normalise  the  parameters  in  alphabetical  order,  and  use  regex-

normalize.xml file with a hashtable to change the special char by a URL encoded version.  

2.  The  regex  in  the  website  configuration  files  should  take  into  account  the  possibility  of  adding 

parameters in the URL. 

3.2.3. POST protocol handling 

Issues: 

1.  POST needs known parameter (hidden, added by js…) 

2.  Different POST have the same URL (systems id is the URL so it should be unique) 

3.  POST could be redirected. 

130 

 
 
 
 
 
 
 
 
 
 
 
 
 
Solutions: 

1.  Configuration files which require human interaction to specify the required parameter and the action. 

2.  Adding a random number at the end of the URL which is retrieved before sending the request. 

3.  Adding a redirect strategy to follow redirection (code status is like 3xx) 

3.2.4. HTTP / HTTPS protocols 

Issue: 

Two different modules in Nutch allow for the different protocols. 

Adding the http client enables https but it disables the module which uses the POST request. 

Solution: 

Run separates crawls:  

  One with the POST website with the httpclient module disabled and  
  The others with httpclient module enabled. 

3.2.5. Crawling takes too long 

Issues: 

1.  Some websites contain a lot of URLs which effectively took all the focus off the crawl 

2.  Cartesian product of the parameters in form produces a lot of URLs possibilities 

3.  Crawling-delay specified by the website is too long 

Solutions: 

1.  Limit the number of URL per site per fetch cycle, while increasing the number of URLs allowed in a 

cycle 

2.  Forbid the URL which could produce infinite URLs with the regex configuration 

3.  Limit  the  time  for  the  crawling  delay.    When  the  time  taken  has  exceeded  a  pre-defined  limit,  the 

website would be automatically skipped. 

3.2.6. Crawling crash 

Issue: 

There  may  be  some  cases  where  Solr  produces  a  StringNotFoundException.  This  actually  causes  the 

crawling  to  stop.  The  reason  why  this  happens  is  because  Solr  tries  to  index  some  data  with  an  encoding 

problem. 

Solution: 

Use of the guessing encoding algorithm include with Nutch. However, if the crawling still fails use the other 

http client (module http-client) to retrieve the data. 

3.2.7. Webtools 

Issues: 

1.  The process used to check the validity of the configuration files should be similar to the one used in 

Nutch. 

2.  The  library  php  DOM  query  is  not  as  powerful  as  the  one  used  in  Nutch,  as  it  fails  to  retrieve  the 

content of the xpath when the xpath is not relative. 

131 

 
 
 
 
 
 
 
 
 
 
Solutions: 

No solutions were found during the course of the study for this particular issue. A solution needs to be found 

in the future. 

3.3. Categorisation and analysis 
Issues: 

1.  The set of job titles is not exhaustive so the categoriser module cannot match every single vacancy. 

2.  One job title could be categorised under several categories 

3.  Some job titles are too fuzzy/generic which means that  if they are classified in a particular category, 

then all other job titles containing that particular title within them will be automatically classified there 

too,    regardless  of  whether  or  not  they  belong  there.    For  example,  the  job  title  ‘Assistant  ‘is  a 

generic  job  title.  If  this  job  title  is  classified  in  a  particular  category,  then  every  single  job  title 

including  the  word  “Assistant”  in  it  will  be  classified  in  the  same  category,  However  “Assistant 

technicien” should not be classified in the same category than “Assistant commercial”. 

4.  The set of job titles are singular and do not take into account variations in writing(e.g. plural). 

5.  Job  titles  collected  in  the  crawling  contain  more  information  than  just  the  job  title  (e.g.  locations  or 

contract). 

6. 

Indicate to the system if a job title is not in database.  

7.  Synchronise data between t_original_category and t_unique_category. 

Solutions: 

1.  Create an interface that allows the user to select, for each unclassified job title either another job title 

as a writing variation or to classify it directly into a category. 

2.  Create a script that selects the most similar category. 

3.  Create  two  new  generic  categories  named  (ICT  and  not  ICT  not  classified  elsewhere)  to  include 

these job titles which will not be used as fuzzy matching. 

4.  Create in database a field name value to keep all writing variants of job titles and vocabulary. 

5.  Search if a job title from database is inside the field job title, and not equal. 

6.  Create a new category called “not classified” 

7.  Add triggers in database (insert and delete). 

3.4. Geo-location 
Issues: 

1.  Field which contains the information of the location could also contain other fields. 

2.  The response of the geocoding service may not be the one that is expected. 

3.  The geocoding service imposes a maximum of 1 request per second. 

Solutions: 

1.  Create  a  field  configuration  which  stipulates  how  to  split  the  information  so  as  to  acquire  the  right 

information. 

2.  Correct the response in the database. 

3.  Respect  the  time  limits  imposed  and  wait  after  each  request  of  the  service.  It  is  also  important  to 

check previous searches stored in the database to avoid using the geocoding service unnecessarily 

if this information has already been collected. 

132 

 
 
 
 
 
 
 
 
3.5. De-duplication 
Issue: 

The creation of the signature for the grouping should  not be too  wide (e.g. generic job posts with very few 

metadata) or too strict to maintain small groups.  

Solution: 

The signature of a group is composed of all the metadata extracted by the analysis plus its geolocation and 

its’ category. 

3.6. Statistics 
Issues: 

1.  Query information in a key/values table takes a lot of time. 

2.  The php://output header in php returns html code into the file that is not  wanted  at all  whether it is 

used in a completely separated file or in a function of the page. 

3.  Pass from a one-dimensional array to a two-dimensional one to collect the statistical data at the right 

place in the display page. 

Solutions: 

1.  Create a table in the database (t_stat) that is supplied with statistical data through a PHP script after 

the  process  of  analysis  complete.  It  retrieves  the  unique_id  of  every  analysed  job  post  and,  with 

several  queries,  creates  an  array  containing  all  the  values  we  want  to  insert  into  it.  It  makes  the 

access to the statistical data much faster and much easier to calculate counts on the table, grouping 

data, sorting data etc. 

2.  Create a .CSV file directly  on the FTP server and  write all the data from arrays into it. Then use a 

header to allow the user to download the file directly from the FTP server through his/her browser. 

3.  Sort the data into different arrays which are then used to display the table in the right order and with 

the calculated data in it (i.e. additions, percentages, etc.). In total, three arrays are used to perform 

this.  Two  arrays  store  the  keys  to  loop  on  it  and  collect  the  right  keys  into  the  third  array  which 

contains the values at those keys. This also makes it easy to rotate the headers and values of the 

table if they are needed. 

4.  Improvements 

This prototype has been made from scratch to study the feasibility of conducting an automated search of ICT 

vacancies  in  the  EU.  A  number  of  issues  were  encountered  when  the  pilot  was  conducted  and  solutions 

were proposed to overcome these issues (see Section 3 of this Annex). In consequence, it is envisaged that 

improvements  can  be  made  to  the  prototype  which  would  take  into  account  the  findings  of  the  pilot.  This 

section outlines some of the proposed improvements. 

4.1. Completed architecture 
Figure  6  presents  a  completed  global  architecture  scheme,  which  depicts  the  different  add-ons  and 

improvements to the system. 

133 

 
 
 
 
 
 
 
 
Figure 6: completed global architecture 

134 

 
 
 
 
 
 
4.2. Crawling 

1.  Websites configuration files 

The creation of the configuration file is done through a generic IDE/text editor. This can be improved in 

the  future  by  creating  a  web  page  or  application  with  a  detailed  form  which  will  help  to  create  the 

configuration files and test all the information within it. 

2.  Parallel crawling/cluster installation 

In order to increase productivity of the crawler, it is possible to make Apache Nutch work in a hadoop 

cluster.  The  use  of  clustering  could  be  performed  when  the  product  “number  of  website  to  crawl  x 

number of URL per website per cycle” exceed the number of URL allowed in a cycle. 

3.  Data sources 

It  is  possible  to  find  the  ICT  vacancies  posted  on  websites  which  have  been  identified  as  technically 

difficult to crawl through examining other sources (e.g. newsletters, RSS, social networks...). Examining 

other sources should be regarded as an alternative to collecting data for websites with technical issues. 

It is envisaged that this will improve the data collected on the number of ICT vacancies. 

4.  Apache Nutch Modules 

Filter URLs: 

Compare the given URL with the known parameters. Therefore, after normalisation, regex will not fail. e 

A combination of whitelist  and blacklist should be used to control  where the  crawler should go and to 

prevent regex from being too restrictive. 

HTTP client: 

Upgrade the HTTP POST module to allow https connection so as to have a better encoding system. 

4.3. Analysis 

1.  Geolocation 

Host the geocoding service in own server, to cancel the “1 query per second” limit. 

2.  Vocabulary/decision tree 

Classification can be improved by changing the data source. Instead of using the titles, it could use all 

the metadata extracted from the analysis to link them to fundamental information. This process involves 

the use of “decision trees”. 

A  decision  tree  is  basically  a  hierarchical  algorithm  with  questions  at  each  node,  and  results  at  each 

leaf. For example: “Do we have a “Web” annotation?”. 

● 

If yes: do we have a “development” annotation?” 

○ 

○ 

If yes, the job vacancy matches the “web developer” category 

If no, further question... 

● 

If no, further question... 

Different  decisions  tree  will  be  used  for  every  type  of  aspect  needed  in  the  final  statistics  (job 

classification/ title, domain of activity…). The decision tree is represented in an XML file.  

135 

 
 
 
 
 
 
 
 
 
 
 
 
 
4.4. Multilinguism 
In order to handle the issue of multilingualism that is when jobs are posted in different languages in one 

particular  country,  the  system  has  to  be  modified  slightly.  It  is  anticipated  that  the  following 

modifications have to be made: 

  Modification of the database structure to add translation data tables and language codes for the 

different concepts; 

  Modification of the vocabulary structures, to add translation variations  for each category/key; 
  Adding of a job content translator for the de-duplication process. 

There is no need to translate all job posts collected. This is due to the analysis/decision tree process, 

where metadata is collected for every job post and is analysed,  by identifying  metadata (values) and 

transposing them into core keys whilst disregarding its’ language,  

Only  jobs  posted  in  the  same  group  that  is,  with  the  same  signature,  will  eventually  have  to  be 

translated in order to compare the job content and assert their uniqueness. 

136 

 
 
 
 
 
European Commission 

Monitor of Online Vacancies for ICT Practitioners 
Luxembourg, Publications Office of the European Union 

2014 – 136 pages 

ISBN: 978-92-79-45672-5 
DOI: 10.2759/50665 

C
A
T
A
L
O
G
U
E
N
U
M
B
E
R

 
 
 
 
 
 
 
 
 
 
K
K
-
0
4
-
1
5
-
1
0
5
-
E
N
-
N

C

A

T

A

L

O

G

U

E

N

U

M

B

E

R

DOI: 10.2759/50665                                                ISBN 978-92-79-45672-5