(사전 온보딩 데이터 분석 챌린지 원함) 1-1주차 챌린지 EDA를 사용하여 분석가의 공지사항 파헤치기

신입 데이터 애널리스트에게 필요한 자격과 우대조건은?

  • 사전 온보딩 데이터 분석 챌린지 Wanted(채용 플랫폼)에서 채용 공고 데이터로 이루어진 프로젝트입니다.

  • 주제 : 채용 공고 데이터 분석가 주요업무, 자격 및 우대 데이터 분석가가 되려면 무엇을 해야 하는지 알아보세요..
  • 자료출처 : 구인 ‘데이터 분석가’ 채용 공고(원티드 제공)
  • 사용 도구: Python, Google Bigquery, Google Colab

1. 문제 상황 설정 및 가설 분석

문제 상황
1. 데이터 분석가, 데이터 과학자, 데이터 분석가 및 데이터 엔지니어와 같은 많은 데이터 관련 직업이 있습니다.

“데이터 분석가”는 어떤 일을 하나요?

2. 사업 중 근속 기간이 적은 데이터 분석가를 위한 기술 및 자격 요건나는 그것이 무엇인지 정확히 알고 싶다!
그래서 무엇을 준비해야 하는지 알고

분석 가설 설정
채용 공고 데이터 분석가 주요업무, 자격 및 우대 분석을 통해 회사에서 일반적으로 연공 서열이 낮은 데이터 분석가에게 요구하는 자격 및 우대 조건을 이해하고 고용을 준비할 수 있습니다.


2. 데이터 EDA

1. Data Analyst 발표의 최소 연간 배포


: 총 388개의 공지사항 중 최소 3년통지 요청됨 109대부분의

: 이후, 2년(78) > 1년(62) > 5년(58) > 0년(51)

더보기

SELECT annual_from as min_annual, COUNT(*) as position
FROM `vibrant-magpie-379810.wanted_data_challenge.wanted_position`
GROUP BY ROLLUP(1)
ORDER BY 1, 2 DESC;

*GROUP BY ROLLUP: 레이어 소계 + 총계

*GROUP BY A, ROLLUP(B, C) : 레이어 소계

*GROUP BY CUBE: 모든 소계 + 총계

*GROUPING BY GROUPING RECORDS: 개별 소계

*GROUPING(컬럼명): 그룹화 확인

2. 연도별 발표 건수 분포에 따른 ‘저연령’ 기준 설정


min_annual_from = 0 : 0년 이상 1년 미만 → 51

min_annual_from = 1 : 1년 이상 2년 이하 → 140

min_annual_from = 2 : 3년 이상 5년 미만 → 187

min_annual_from = 3 : 6년 이상 → 10

더보기

SELECT CASE WHEN annual_from = 0 THEN 0
            WHEN annual_from BETWEEN 1 AND 2 THEN 1
            WHEN annual_from BETWEEN 3 AND 5 THEN 2
            WHEN annual_from >= 6 THEN 3
            ELSE annual_from END AS min_annual_from
            , COUNT(*) as positions
FROM `vibrant-magpie-379810.wanted_data_challenge.wanted_position`
GROUP BY 1
ORDER BY 1;

*중요한

① 직위란에 요구 경력이 <> year_from인 경우가 있습니다.


더보기

SELECT *
FROM `vibrant-magpie-379810.wanted_data_challenge.wanted_position`
WHERE position LIKE '%년%' OR position LIKE '%이상%;'

② jd의 자격에 적힌 최소연도가 <> year_from인 경우가 있습니다.





더보기

SELECT position_id
    ,SPLIT(SPLIT(SPLIT(jd, '주요업무')(safe_offset(1)), '자격요건')(safe_offset(1)), '우대사항')(safe_offset(0)) AS requirement 
    ,annual_from
FROM `vibrant-magpie-379810.wanted_data_challenge.wanted_position`
WHERE SPLIT(SPLIT(SPLIT(jd, '주요업무')(safe_offset(1)), '자격요건')(safe_offset(1)), '우대사항')(safe_offset(0)) LIKE '%년 이상%'
ORDER BY 3;

3. 데이터 추출

작은 연령 차이 = 최소 연령 차이는 0~2세입니다.

SELECT 
  position_id
  , position
  , SPLIT(SPLIT(jd, '주요업무')(safe_offset(1)), '자격요건')(safe_offset(0)) AS responsibilities
  , SPLIT(SPLIT(SPLIT(jd, '주요업무')(safe_offset(1)), '자격요건')(safe_offset(1)), '우대사항')(safe_offset(0)) AS requirements
  , SPLIT(SPLIT(SPLIT(SPLIT(jd, '주요업무')(safe_offset(1)), '자격요건')(safe_offset(1)), '우대사항')(safe_offset(1)), '혜택 및 복지')(safe_offset(0)) AS preference
FROM `vibrant-magpie-379810.wanted_data_challenge.wanted_position`
WHERE annual_from BETWEEN 0 AND 2;

4. 분석 결과 시각화(WordCloud) 및 해석

연차휴가 단축광고의 주요업무, 자격 및 우대순서

주요사업
프로, 인사이트, 도출, 가설, 메트릭, 설계, 개선, 비즈니스, 개발, A/B
– 애널리스트의 주요 업무는 지표 설정, 가설 설정, 인사이트 도출 및 비즈니스 개선이라고 볼 수 있습니다.


– ‘게임’이라는 키워드도 크게 나타나 게임사에 비즈니스 애널리스트가 많다는 점을 시사한다.


더보기

game_keyword

: 연말 광고 아래 “게임” 키워드로 채용 공고


→ 하위 채용공고 191개 중 약 25개(약 13%)가 게임 관련 채용공고입니다.

SELECT COUNT(*) AS game_keyword
FROM `vibrant-magpie-379810.wanted_data_challenge.wanted_position`
WHERE position LIKE '%게임%' OR jd LIKE '%게임%'
AND annual_from BETWEEN 0 AND 2;

자격
Google, 코호트, SQL, 경험, 기술, 사용, 이상, 분석, 이해, 활용, 문제
– 구글 애널리틱스, 코호트 분석, SQL 우리는 가능한 용도와 재활용을 살펴봅니다.


– 문제를 이해하고 문제에 필요한 분석 방법과 기술을 적용하는 것입니다.


선호하는 치료
R, Tableau, Google, 통계, 분석, 경험, 이해, 활용, 사용, 수학, 빌드, 시각화
– 많은 곳에서 통계 및 수학 능력을 선호합니다.


– 비주얼리제이션의 경우 태블로가 실무에서 많이 활용될 가능성이 높다.


– GA 및 R 활용 스킬을 우대합니다.


– Construction 키워드도 파이프라인 구축 능력(데이터 엔지니어링 기술)을 선호하는 것 같습니다.


5. 추가 분석 및 개선 사항에 대한 제안

BigQuery에서 Responsibilities, Requirements, Preferences 열을 생성할 때 SPLIT 표준에 기반한 응답은 기존 데이터 또는 단어 중복으로 인해 값이 누락된 데이터를 고려하지 않았습니다.


– 이를 개선할 수 있는 데이터 수집 방법이나 쿼리를 생각해 보세요.
– 누락된 데이터는 ‘없음’으로 처리되었으나, 누락된 데이터를 적절한 값으로 채울 수 있도록 개선하자(컬럼별로 보다 정확한 키워드 출력 가능)
– 기업에서 구인공고를 통해 채용공고를 게시할 때 주업무/스킬/선호사항의 입력 형식을 더욱 구분해야 합니다.

채용공고 미작성 시) 보다 상세한 분석이 가능합니다.

열당 불용어 수동 적용
– 워드클라우드의 결과 이미지를 보고 불용어로 처리하여 필터링할 단어를 수동으로 선택하는 것이 번거롭습니다.


– 공고가 많으면 하나씩 어떻게 적용하나요? → 이를 개선한 텍스트 분석 라이브러리를 찾아보자

경차에 대한 모호한 기준
– 최단연도(0~2년)만 고려하고 최장연도는 고려하지 않음.
– 최저연령이 0~2세인데 최고연령이 10세라면 저연령으로 봐야 할까요?
– 원티드에서 신입/경력 필터를 만들면 편리합니다.

(현재 신입생과 경력에 대한 별도의 기준은 없으며 근속연수에 한함)

추출 키워드의 정확도
– 불필요한 특수문자 제거를 위한 정규화 전처리 기능 추가
– 한글, 영문, 숫자 이외의 문자 제거
KWordRank 참조 및 Normalize의 추가 전처리