카테고리 없음

워크넷 오픈 API를 활용한 스타트업 채용공고 분석

Antonio Bae 2022. 3. 11. 23:08


오늘은 데이터 애널리스트 심화과정입니다.
워크넷 오픈 API를 활용한 스타트업 채용공고 분석하는 방법에 대해 자세히 파고들어 보겠습니다.




<주제 선택>
워크넷 오픈 API를 활용한 스타트업 채용공고 분석

절차
1.워크넷 api 받아오기 csv파일 병합

2.데이터 불러오기

3.채용정보 전처리
1)컬럼삭제
2)급여데이터 전처리
3)월급계산
4)연봉계산
5)합치기
6)직종코드 전처리
7)형태로 변환 & 인덱스 변화
8)데이터 병합
9)시도별 그룹화
10)에코 스타트업 기업 채용공고 주요 키워드 워드클라우드 전처리
11)기업분류
12)형태소 분리를 위해 konlpy의 Komoran 사용
13)특수문자 제거
14)형태소 단위 분리
15)토큰화된 단어들 갯수 반환
16)value가 9개 미만인 토큰 제거
17)불필요한 단어 전처리

4.채용정보 분석
pyecharts 코랩에서 사용하기 위해 설치
1)데이터 전처리 후 잔여 데이터
2)월별 총 채용공고 비율
3)지역별 채용공고 비율
4)전체 채용공고 학력 요구 수준 비교
5)요구 경력별 채용공고 비교
6)월별 직종군에 따른 채용공고 비교
7)직군에 따른 학력, 경력 요구 수준 비교
8)직군에 따른 평균 급여 수준 비교
9)스타트업 채용공고 주요 키워드 분석
10)스타트업 기업 채용공고 주요 지역 비교
11)스타트업 기업 채용공고 상세직군 비교
12)스타트업 기업 상세직군별 급여 수준 비교
13)스타트업 기업 상세 직군에 따른 학력, 경력 요구 수준 비교

5.분석의 한계점
5-1)워크넷 API의 한계

채용공고 내부에 기업의 구분(중소기업, 중견기업, 대기업, 공공기관 등)에 대한 값이 따로 들어있지 않았다. 오직 요청 파라미터로만 설정이 가능하기 때문에 추가적인 분석에 무리가 있었다.
워크넷의 구조적 한계

워크넷의 경우 국가와 고용노동부와 연계하여 구직자들을 연결해준다. 또 주요 정책 또한 그에 맞춰 실직자, 경력단절 여성 등 사회적 도움이 필요한 대상으로 다양한 고용 정책을 실행하고 있다.
그렇기 때문에 다른 구직 플랫폼(잡코리아, 로켓펀치, 사람인 등)에 비해 단순 직무에 관한 채용공고가 많은 부분을 차지하고 있다.
이러한 부분이 작성자의 주 관심분야인 IT/빅데이터 분야에 대한 많은 채용 정보를 분석하는데 한계점으로 다가왔다.

5-2)분석의 의의
그럼에도 불구하고 워크넷!
위와 같은 한계점이 명확하더라도 워크넷은 명실상부 국내 최대 규모의 채용 플랫폼이다.
또 다른 장점은 중복되지 않는 다는 것이다. 타 플랫폼의 경우 채용 점유율을 올리기 위해 반복적으로 채용글을 올리지만, 워크넷의 경우 그러한 것이 어느정도 방지된다.
워크넷 API의 가장 큰 장점은 이용자의 선택에 따른 세부적이고 명확한 정보만을 선택할 수 있다는 것이다. 워크넷 오픈 API는 다양한 파라미터를 제공해 이용자로 하여금 방대한 데이터를 단순히 제공하는게 아닌 이용자의 목적에 따라 데이터를 정제할 수 있도록 도와준다.
많은 양의 데이터
워크넷은 수많은 채용정보를 제공한다. 많은 데이터를 분석함으로서 조금이라도 실질적인 채용시장과 유사한 분석을 할 가능성이 높다 생각했다. 실제적으로 분석 결과에서 우리가 채용시장에 대한 다양한 이야기와 유사한 결과를 나타낸 분석도 상당 부분 있었다.


2. 목적

워크넷 오픈 API를 활용한 채용공고 분석
워크넷 오픈 API를 활용해 2021년 11월 ~ 2022년 1월까지의 전국의 채용공고들을 분석을 통해 기업에서 요구하는 경력, 학력수준을 확인 할 수 있으며, 구직자는 기업의 지역, 급여 수준을 확인 할 수 있다.
또한, 주 관심 분야인 IT기업의 채용에 대한 주요 키워드와 좀 더 세부적인 정보에 대한 분석을 진행한다.

1.워크넷 api 받아오기
워크넷 오픈 API에서 제공하는 형식은 XML로 HTML테그 형식과 유사한 형식을 띄고 있다.
크롤링 패키지인 BeautifulSoup 를 이용, 크롤링을 통해 csv파일 형태로 저장하여 활용한다.
 
 
csv파일 병합
워크넷에서 제공하는 API의 최대 Dispaly 데이터 갯수는 100개로, 총 데이터 107972개의 데이터를 100개 단위로 csv파일 형태로 저장되어 있다.
해당 csv파일들을 분석을 위해 하나의 파일로 병합한다.
 
 
 
 
107972 rows × 11 columns
 
2.데이터 불러오기
사용 데이터
워크넷 오픈 API 채용공고 파일
직종코드에 따른 직종분류 파일
현재 진행중인 기업 공채 정보 파일
 
 
107972 rows × 12 columns
 
 
1172 rows × 3 columns
3.채용정보 전처리
불필요한 컬럼삭제
 
급여 데이터 전처리
월급 데이터를 연봉으로 환산해 계산을 진행한다.
급여 데이터의 경우 일정 금액의 범위로 지정되어 있는 공고가 일부 있다.
이러한 경우 높은 급여수준은 해당 직종에 대한 경력이 우수한 경우에만 제공 받을 수 있다.
하지만, 대부분의 구직자의 경우 해당 직종에 대한 많은 경력이 있지 않으며, 동시에 경력이 없는 청년 구직자에 맞춰서 가장 낮은 급여 수준으로 일관적으로 계산하여 분석을 진행한다.
시급, 일급 데이터 삭제
워크넷에서 제공하는 채용공고의 경우 급여 부분이 크게 연봉, 월급, 시급, 일급 총 4개로 구성 되어있다.
시급과 일급으로 제공하는 채용공고의 경우 대부분 단순 일용직, 아르바이트 형태의 근로조건을 보여준다.
해당 분석은 보다 전문적인 채용을 목표로 하기 때문에 시급, 일급 데이터의 경우 일관적으로 제거한다.
 
 
 
 
84897 rows × 10 columns
월급 계산
 
 
 
 
 
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:1: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy """Entry point for launching an IPython kernel.
 
54848 rows × 10 columns
연봉계산
 
 
 
 
 
 
30049 rows × 10 columns
합치기
월급(df_month_pay) , 연봉(df_year_pay) 각각 데이터를 다시 하나로 합친다.
모든 급여가 연봉으로 환산되었기 때문에 임금형태 파트는 제거한다.
 
 
 
84897 rows × 10 columns
 
 
 
84897 rows × 9 columns
직종코드 전처리
직종코드 flot타입에서 int타입으로 변환
워크넷에선 직종코드에 따른 직군에 대한 정보를 따로 제공한다.
하지만 채용공고에선 이러한 직군 명칭을 따로 제공하지 않는다.
직종코드를 기준으로 직군명을 매칭시켜 구직자가 보다 해당 업무에 직관적으로 다가갈 수 있도록 한다.
 
채용정보, 직종정보 데이터 프레임 합치기
 
 
97899 rows × 11 columns
등록일자 yyyy-mm-dd 형태로 변환 & 인덱스 변화
object 형태로 작성된 등록일자를 datetime 형태로 변환해준다.
 
 
97899 rows × 12 columns
년도-월별 데이터 병합
채용공고의 경우 YYYY-MM-DD 형태로 이루어진 것을 확인 할 수 있다.
이용자가 보다 쉽게 데이터에 이해 할 수 있게 '월' 단위로 등록일자를 병합한다.
 
지역 주요 광역시/도 단위로 그룹화
지역의 경우 도/시/군/구 단위로 세부적으로 나타나 있다.
세부적인 지역에 따른 차이가 있겠지만, 전체적인 흐름상 광역시/도 단위로 채용 특성이 나누어짐을 확인하기 위해 광역시/도 단위로 지역을 병합한다.
 
연구/IT 기업 채용공고 주요 키워드 워드클라우드 전처리
IT기업의 채용공고들을 분석하여 채용의 주요 키워드를 분석하기 위해 채용제목을 토큰화하여 워드클라우드로 시각화한다.
토큰화/형태소 분리를 위해 한국어 형태소 분리기 KONLPY 의 Komoran 패키지를 활용하였다.
it 기업 분류
 
토큰화를 위해 list형식으로 변환
 
형태소 분리를 위해 konlpy의 Komoran 사용
 
 
특수문자 제거
 
형태소 단위 분리
 
토큰화된 단어들 갯수 반환
 
 
value가 9개 미만인 토큰 제거
 
 
불필요한 단어 전처리
 
 
4.채용정보 분석
전처리된 데이터를 이용해 시각화화 함께 분석을 진행한다.
시각화 사용 툴은 Pyecharts를 활용해 동적인 그래프를 작성하여 접근성을 향상시킨다.
pyecharts 코랩에서 사용하기 위해 설치
 
 
 
 
 
1)데이터 전처리 후 잔여 데이터
원본 데이터 107972 중 전처리 후 잔여 데이터는 97899개로 90% 비율의 데이터를 이용해 분석을 진행하였다.
 
2)월별 총 채용공고 비율
2021년 11월, 12월, 2022년 1월 19일 까지 등록된 채용공고의 비율이다.
1월의 경우 말일 까지 지나지 않았음에도 불구하고 많은 가장 많은 채용공고가 등록되어 있음을 확인할 수 있다.
그에 반해 연말이였던 12월 1월의 경우 본격적인 채용 시즌이 아니기 때문에 채용공고가 적게 등록되어 있음을 알 수 있다.
 
3)지역별 채용공고 비율
지역별 채용공고를 분석할 경우 경기도의 비중이 압도적으로 많음을 알 수 있다.
경기도의 경우 수많은 공업단지, 많은 중소기업들이 자리잡고 있는 지역이다.
워크넷의 경우 스타트업 기업, 대기업의 채용공고 비중이 상대적으로 낮기 때문에 공고 또한 경기도에 많이 집중되어 있는 것으로 확인된다.
 
4)전체 채용공고 학력 요구 수준 비교
대부분의 채용공고에서 학력무관 을 조건으로 제시하고 있었다.
워크넷의 채용공고의 경우 중소기업의 비중이 높고, 또한 단순업무에 대한 공고도 함께 올라오기 때문에 이러한 부분이 영향을 준 것으로 보인다.
 
5)전체 채용공고 경력 요구 수준 비교
경력의 경우 학력과 마찬가지로 관계없음 이 가장 높게 나타났다.
하지만 그럼에도 많은 기업에서 경력직을 구하고 있음을 알 수 있다.
 
 
6)월별 직종군에 따른 채용공고 비교
월별 직종군의 채용공고를 비교한다.
경영/사무/금융 -> 미용/관광/숙박/경비/케어 -> 기계/금속/재료 -> 영업/판매/운송 -> 연구/공학 -> 보건/의료 순서로 비중을 차지하는 것으로 나타났다.
아래 그래프를 통해 현재 워크넷에서 가장 많은 비중을 차지하는 직종은 경영/사무/금융 이며, 가장 낮은 비중을 차지하는 직종은 농림어업직임을 확인 할 수 있다.
 
7)직군에 따른 학력, 경력 요구 수준 비교
직군에 따른 학력 수준 비교
대부분의 직군에서 관계없음 항목이 우세하게 나타났다.
특히, 미용/관광/숙박/경비/케어, 인쇄/목재/공예 직종의 경우 다른 직군에 비해 월등하게 관계없음 항목이 많다.
이와 반대로, 연구/IT, 연구/공학 직군의 경우 경력 항목이 우세하거나 관계없음 항목과 동일한 비중을 차지했다.
직군에 따른 경력 수준 비교
학력 항목과 마찬가지로 학력무관이 대부분의 직군에서 우세했다.
그 중 가장 우세한 직종은 건설/채굴, 미용/관광/숙박/경비/케어 직종이 다른 직종에 비해 우세했다.
하지만, 연구/공학, 연구/IT, 교육/법률/복지/행정/군인 직종의 경우 관계없음 항목이 우세하긴 하지만, 타 직종군에 비해 대졸이라 등록한 비율이 상대적으로 많은 비중을 차지했다.
 
 
8)직군에 따른 평균 급여 수준 비교
직군에 따른 평균 연봉의 경우 연구/공학 -> 기계/금속/재료 -> 연구/IT 순으로 많은 것으로 나타났다.
교육/법률/복지/행정/군인, 미용/관광/숙박/경비/케어의 경우 평균 연봉이 2500대로 가장 낮은 직군으로 나타났다.
급여 데이터 전처리 파트에서 앞서 설명했듯이 워크넷의 채용공고는 급여 부분에서 일정 범위를 제시하며 경력,학력 등 지원자의 스팩에 따라 차등 지급한다 명시한 공고가 많았다. 작성자는 많은 경력을 쌓지 못한 일반적인 청년 구직자를 기준으로 분석을 진행하였기 때문에 실질적인 구직자의 기준에 따른 급여 수준과는 차이가 날 수 있음을 알린다.
 
9)IT 채용공고 주요 키워드 분석
작성자가 현재 희망하는 직종인 IT분야의 직종에 대한 추가적인 분석을 진행한다.
먼저 연구/IT 직군의 채용제목들의 주요 키워드를 분석한다.
주요 키워드로는 개발자, 경력, 개발, 엔지니어, 웹 등..이 나타났다.
작성자의 관심 분야는 데이터 분석으로, 현재 워크넷의 채용공고에서는 많은 부분을 차지하지 않고 있음을 알 수 있다.
 
10)IT기업 채용공고 주요 지역 비교
IT기업의 대부분이 서울과 경기권에 집중되어 있음을 알 수 있다.
실질적으로 대부분의 IT기업이 서울과 경기도 성남, 판교에 집중되어 있다.
 
11)IT기업 채용공고 상세직군 비교
IT직종 내에서 좀 더 세부적인 직군 분류를 통한 분석을 진행했다.
먼저 세부 직군에서 가장 많은 비중을 차지한 직군은 웹 개발자, 응용 소프트웨어 개발자, IT 기술 전문가, 웹 운영자, C언어 및 프로그램 언어 전문가, 모바일 프로그래머 등이 있다.
앞선 채용제목 키워드 분석을 통해 개발자의 수요가 많음을 짐작 할 수 있었다. 상세 직군을 분석함으로서 실질적으로 IT직군에서 개발자 직군의 수요가 많음을 확인할 수 있었다.
작성자가 희망하는 빅데이터 분야의 직종(데이터 설계 및 프로그래머, 데이터 분석가, 데이터 전문가 등) 의 경우 현재 워크넷에서는 많은 부분을 차지하지 못하고 있음을 알 수 있다.
 
12)IT기업 상세직군별 급여 수준 비교
상세 직군별 채용공고에 명시된 급여를 비교했다.
가장 높은 급여를 제시하는 직군은 통신기기·장비 개발자 및 연구원 직군이 가장 높은 것으로 나타났다.
반대로 가장 낮은 급여를 제시하는 직군은 데이터분석가(빅데이터 분석가)로 나타났다.
그 외에 직군 2000만 후반 ~ 3000만 초반으로 구성되어 있다.
8) 직군에 따른 평균 급여 수준 비교 파트에서 언급했듯, 해당 분석은 채용공고에서 제공하는 급여 수준의 범위에서 가장 낮은 값을 기준으로 진행되었다. 그렇기 때문에 <strong<실질적인 급여보다 낮게 측정됨을 알린다.
 
13)IT기업 상세 직군에 따른 학력, 경력 요구 수준 비교
상세 직군에 따른 경력 요구 수준 비교
앞서 분석을 진행한 직군에 따른 학력수준 비교에서 확인했듯이 연구/IT 분야는 타 직군에 비해 경력 항목을 요구사항으로 많이 정했다.
이를 세부적인 직군으로 나누어 본다면
모바일 애플리케이션 프로그래머, JVAV 프로그래밍 언어 전문가, 네트워크 관리자, 데이터 설계 및 프로그래머, 웹 개발자 직군이 경력을 더 우대했다.
반대로 관계없음 항목이 앞도적으로 우세한 직군은 IT 기술지원 전문가로 나타났다.
상세 직군에 따른 학력 요구 수준 비교
대부분의 직군에서 학력무관을 선택한 채용공고가 많았다.
경력은 중요하지만 학력무관을 선택한 채용공고가 많다는 것은 IT직군은 이른바 학벌의 중요도 보다 구직자의 경력, 공모전 활동, 포트폴리오 등이 더 중요하게 본다는 것을 알 수 있다.
하지만, 동시에 대부분의 직군에서 대졸(2~3년) 항목의 비중이 고졸의 비중보다 압도적으로 우세했다.
이를 통해 짐작할 수 있는 것은, 학력무관을 선택한 채용 공고일지라도 실질적으로는 학사 이상의 수준을 원하는 것을 짐작해 볼 수 있다.
 
 
5.분석을 마치며
분석의 한계점
워크넷 API의 한계
채용공고 내부에 기업의 구분(중소기업, 중견기업, 대기업, 공공기관 등)에 대한 값이 따로 들어있지 않았다. 오직 요청 파라미터로만 설정이 가능하기 때문에 추가적인 분석에 무리가 있었다.
워크넷의 구조적 한계
워크넷의 경우 국가와 고용노동부와 연계하여 구직자들을 연결해준다. 또 주요 정책 또한 그에 맞춰 실직자, 경력단절 여성 등 사회적 도움이 필요한 대상으로 다양한 고용 정책을 실행하고 있다.
그렇기 때문에 다른 구직 플랫폼(잡코리아, 로켓펀치, 사람인 등)에 비해 단순 직무에 관한 채용공고가 많은 부분을 차지하고 있다.
이러한 부분이 작성자의 주 관심분야인 IT/빅데이터 분야에 대한 많은 채용 정보를 분석하는데 한계점으로 다가왔다.
분석의 의의
그럼에도 불구하고 워크넷!
위와 같은 한계점이 명확하더라도 워크넷은 명실상부 국내 최대 규모의 채용 플랫폼이다.
또 다른 장점은 중복되지 않는 다는 것이다. 타 플랫폼의 경우 채용 점유율을 올리기 위해 반복적으로 채용글을 올리지만, 워크넷의 경우 그러한 것이 어느정도 방지된다.
워크넷 API의 가장 큰 장점은 이용자의 선택에 따른 세부적이고 명확한 정보만을 선택할 수 있다는 것이다. 워크넷 오픈 API는 다양한 파라미터를 제공해 이용자로 하여금 방대한 데이터를 단순히 제공하는게 아닌 이용자의 목적에 따라 데이터를 정제할 수 있도록 도와준다.
많은 양의 데이터
워크넷은 수많은 채용정보를 제공한다. 많은 데이터를 분석함으로서 조금이라도 실질적인 채용시장과 유사한 분석을 할 가능성이 높다 생각했다. 실제적으로 분석 결과에서 우리가 채용시장에 대한 다양한 이야기와 유사한 결과를 나타낸 분석도 상당 부분 있었다.