brunch

You can make anything
by writing

C.S.Lewis

by sabot Nov 30. 2024

People Analytics 101 : 데이터 쌓기

데이터 정규화

자! 올해부터는 우리가 제대로 데이터를 쌓아 봅시다!

라는 이야기를 많이 들어 보았을 것이다. 하지만 아이러니하게도 쌓은 데이터들은 활용되지 못하고 그다음 연도에도 똑같은 이야기가 나온다. 왜 그럴까? 데이터분석, 데이터 사이언스, People Analytics 이런 단어들을 떠올려 보자. 아마 대다수의 사람들은 미래를 예측하고 적시 적소에 추천을 하며 무언가 없던 것을 만들어내는 SF영화의 한 장면을 생각할 수도 있을 것이다. 물론 최근 들어 광고추천이나 넷플릭스 등으로 우리는 이미 이러한 생활에 익숙해져 있을지도 모른다. 그래서인지 People Analytics를 하고 싶어 하거나 도입하려는 입장에서 무엇을 기대하는지? 이야기해 보면 많은 분들은 퇴직자를 예측하거나 고성과자를 예측하는 것처럼 미래를 내다보고 가치를 창출하고 싶다는 이야기를 많이 한다. 하지만 머신러닝에는 적절하고 많은 데이터가 필요하다. 또한 머신러닝 모델링에 앞서 데이터분석을 하는 사람들은 데이터 전처리에 대한 고민과 두려움에 빠진다. 하지만 나는 전처리로 고생하는 것 또한 굉장히 좋은 경우라고 말하고 싶다.

<출처 : 웹툰을 좋아하며 전처리에 찌든 데이터분석가로 추정>



데이터 전처리란? 


데이터 정제, 데이터 통합, 데이터 변환, 데이터 축소 등 결측치를 채워 넣고, 잡음 있는 데이터를 평활화(smoothing) 하고, 이상치를 식별하고, 데이터 불일치를 교정하는 등 분석이 가능한 상태로 데이터를 준비하는 일련의 과정을 말한다. 왜냐하면 아쉽게도 많은 기업의 데이터는 이러한 경우가 많기 때문이다.

전처리 할 데이터도 없거나 쓸 수 없거나 


그러므로 우리가 데이터를 통해 미래를 보고 싶다면 먼저 데이터를 통해 과거를 제대로 살펴볼 수 있는 환경을 구축해야 할 것이다. 과거를 제대로 설명할 수 있는 상황이 되면 현재를 개선할 수 있는 기회가 생기고 더 나아가 미래를 예측하는 단계에 이를 수 있기 때문이다. 그렇다면 데이터는 어떻게 만들어야 할까? 먼저 모델링의 정의부터 살펴보면 복잡한 현실세계를 단순화시켜 표현하는 것이라 할 수 있다. 즉 데이터모델링은 현실세계를 일정한 형식에 맞추어 표현하는 추상화 약속된 규약에 제한된 표기법이나 언어로 표현하는 단순화 누구나 이해하기 쉽게 애매모호함을 없애는 명확화 단계를 거치는 것이라 할 수 있다. 그렇다면 우리 HR에서 많이 가지고 있는 직무기술서를 예로 들어 이를 데이터화하는 과정에 대해 이야기해 보겠다.

<직무기술서 : 예시>


아마 많은 조직에서 이와 비슷한 형태의 직무기술서를 가지고 있을 것이다. 하지만 이러한 직무기술서가 교육, 평가, 채용 등에 적극적으로 활용되고 있는지 또한 제대로 업데이트되고 있는지는 미지수이다. 그렇다면 어떻게 해야 이를 쉽게 활용하고 관리할 수 있을까? 먼저 해당 자료를 정규화해야 한다고 말하고 싶다. 데이터모델링 정규화란 쉽게 말해 데이터를 분해하는 과정이라고 할 수 있다. 즉, 데이터의 중복을 제거하고 독립성을 확보하는 과정이라고 할 수 있는데 이를 위해서는 데이터모델링 정규성에 대해서 알아볼 필요가 있다.

보통 정규성을 위해서는 다음과 같은 정규화 과정을 거치는데 대부분의 경우 3차 정규화 정도만 진행하여도 무방하므로 이를 하나씩 설명해 보겠다.


1차 정규화


1) 반복그룹이 존재하면 안 된다.


2) 모든 행은 식별자로 완벽하게 구분되어야 한다.

예를 들어 학술 MSL과 제품 PM이라는 2개의 직무를 가지고 데이터화하는 과정을 설명하면 정규화 전에는 위에 보이는 바와 같이 정리할 수 있다. 그런데 이상한 점이 있다. 역량명과 역량순위 때문에 다른 칼럼들은 반복적으로 나오는 것을 볼 수 있다. 그래서 반복그룹을 제거하고 이렇게 2개의 테이블로 나눠 보겠다.

이렇게 해서 첫 번째 조건인 반복그룹은 제거하였다. 


그럼 두 번째인 “모든 행은 식별자로 완벽하게 구분되어야 한다.”는 무슨 말일까?


직무 테이블은 밑줄 친 직무코드로 모두 구분할 수 있다. 하지만


직무역량 테이블은 직무코드만으로 모두 구분될 수 없다. 그렇기에 이때는 식별자를 직무코드+역량순위로 바꿔 주어야 한다.


2차 정규화


부분함수 종속제거 (뭔 소리야?)

직무테이블을 살펴보겠다. 보다시피 직무코드만으로 직무 직렬은 구분할 수 있다. 하지만 자격증 필요여부는 직무별로 관련자격증이 2개 이상이 되면 직무코드만으로 구분할 수 없기에 직무코드+자격증이라는 식별자로 구분할 수 있다. 그런데 직무와 직렬은 자격증과는 무관해 보인다. 그렇다면 이걸 한번 더 나누도록 하겠다.

3차 정규화


이행적 함수 종속제거 (이번엔 또 뭔 소리야?)

이 직무테이블을 살펴보자 직무와 직렬은 어떤 관계일까? 경기도 안에 수원시가 있듯 직렬 안에 직무가 있다. 그렇기에 우리가 수원시만 알고 있으면 경기도 안에 있다는 것을 알 수 있듯 직무만 알면 직렬을 알 수 있는 상황이다. 그렇기에 직무 테이블을 한번 더 쪼개 보면 이러한 형태로 볼 수 있다.

자 이렇게 3차 정규화까지 마친 결과 처음 한 개의 테이블이 아래와 같이 4개로 나눠진 것을 볼 수 있다. 하지만 이렇게 칼로 무썰듯 정규화를 반드시 만족할 필요는 없다. 너무 과도한 정규화는 BI를 구축할 때 여러 차례 조인을 써야 하는 경우가 발생하기 때문에 (조인이란 엑셀을 예로 들어 vlookup이라고 이해하면 쉬울 듯) 적당한 선에서 정규화를 진행하는 것이 좋다. 즉, 예외 사항은 실전업무 효율성과 BI성능에 따라 발생하니 자신의 데이터를 가지고 직접 놀아보기를 권장한다.


실제로 본인의 조직에서는 수 백개의 직무기술서를 가지고 이러한 작업 이후에 BI를 구축하여 교육과 관련된 역량이나 스킬로 대상자를 선발하고 추천하는데 활용할 수 있도록 하였다. 뿐만 아니라 ‘직무기술서’를 통해 HRD와 HRM을 연결하는 징검다리를 만들어 교육과 임직원들의 역량평가를 함께 바라볼 수 있는 기반을 마련하였다. 이렇듯 PA는 전문가에 의해서만 이뤄지는 것이 아닌 구성원들이 전문가의 분석을 활용할 수 있을 때 더 큰 가치를 창출한다.


이러한 과정을 거쳐서 데이터를 관리하면 분석이 가능한 것 이외에 무엇이 좋을까? 일단 같은 정보를 여러 곳에 저장하는 중복성을 제거할 수 있으며 데이터를 사용 프로세스와 분리함으로써 사소한 업무변화에도 데이터 모델을 수시로 변경하는 비유연성을 제거할 수 있다. 이렇듯 데이터를 통해 좋은 가치를 창출하고 싶다면 지금부터라도 제대로 쌓아보면 어떨까? 오늘 제대로 쌓은 데이터는 내일이면 과거를 제대로 바라보는 창문이 될 것이다. 그러한 노력이 쌓인다면 현재를 객관적으로 파악할 수 있으며 나아가 미래를 보는 창문도 생겨날 것이다.

<성처럼 데이터도 어떻게 쌓는지가 중요하다. 출처 : 영화 안시성>


가끔 직장에서 보면 현재의 동료들보다 미래의 동료, 미래의 직장에 대해서만 신경을 쓰는 사람을 볼 수도 있다. 하지만 우리가 꼭 기억해야 할 것은 과거의 내가 쌓여서 현재의 내가 있는 것이다. 그렇기에 현재의 내가 바르게 쌓여야 미래의 나도 좋은 모습이지 않을까? 


과거, 현재, 미래 역사도 그렇고 데이터도 그렇다. 


- 이 글은 2021년 인살롱에서 작성되었습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari