데이터 처리하기
데이터를 처리하는 것은 착지점에 도달하기 위해 데이터 해석을 하는데 필요한 추출, 변환, 집약 처리 방식을 결정해서 실행해야 합니다. 어떤 수단을 동원해서 매출을 회복시켜야 할까요. 경영 과제를 서플라이 체인으로 결정하고 품절을 줄여나간다는 방향은 설정했습니다. 실제 시책으로 연결하려면 상세한 조사가 필요합니다. 프로젝트 리더는 경영과 관련된 숫자에 강한 직원과 영업 경험이 많은 직원을 중심으로 해서 발주 데이터의 분석부터 시작했습니다. 과거 3년간의 데이터를 입수하기 위해서 전국의 영업부에 데이터 제공을 요청했습니다. 제공 받은 데이터 자체를 직접 보고 확인하고자 했습니다. 데이터베이스를 열어 보았더니 모든 데이터가 정의대로 지정되고 구조화되어 있었습니다. 판매 채널의 테이블 정의를 보면 사용자가 수동 입력한 데이터이고 아무것도 들어있지 않은 빈 문자열을 허용하는 시스템 사양이었습니다. 과거 3년 동안의 데이터에 결손치가 0인것이 의심스러웠습니다. 그룹 바이를 써서 채널 코드별로 집계치를 계산 처리하도록 부탁했습니다. 판매 채널 컬럼은 핵심 정보이니 시간이 걸려도 확실히 확인을 했습니다. 데이터의 해당 부분에 무의미한 문자열이 전부 들어가 있었습니다. 지역의 영업부마다 입력 항목과 집계 규칙이 달랐습니다. 수동 입력 컬럼에도 결손과 오입력이 많이 발견되었습니다. 오입력과 관련된 에러율을 계산하니 모든 열에서 명백한 분포 에러가 발견되었습니다. 회귀 분석으로 결손을 메우는 보전 처리를 한다고 해도 시간이 엄청나게 걸릴 상황이었습니다. 회사 초기부터 있던 사원은 회사의 성장기에 경쟁사와 합병할 때 데이터 통합 처리를 했던 담당업체가 사양을 제대로 확인하지 않고 문자열을 세팅한 영향이 있을 거라고 했습니다. 현재의 데이터를 사용해서 분석 작업을 진전시킬 방법을 궁리했습니다. 결국엔 이용 범위를 좁혀도 모집단에서 추출한 표본이 올바른 결과를 내게 할 방법을 찾았습니다. 로켓을 발사하는 데만 신경을 쓰다가 발사 시점이 되서 발사대가 정상이 아니라는 걸 깨닫는 경우도 종종 있습니다. 누적 데이터에 누락이나 오류가 없는 경우가 오히려 적습니다. 그러니까 데이터가 부족해도 우울해할 필요는 없습니다. 데이터가 제대로 되지 않았으면 제대로 갖출 수 있는 시스템을 도입하면 됩니다. 데이터 분석을 잘 모르는 사람 중에는 데이터에 결손이 있으면 프로젝트를 아예 진행할 수 없다고 하는 사람도 있습니다. 어느 정도의 오류를 받아들이는 것도 허용되지 않는 프로젝트도 있습니다. 데이터의 정확성이 100퍼센트가 꼭 필요한가라는 질문에는 그렇지 않다라고 말할 수 있습니다. 정확성이 20퍼센트 정도라면 20퍼센트의 정확도로 가설이라던지 예측 모델을 만들면 됩니다. 각 지역 판매 데이터 기록이 제각각이고 정확도에도 문제가 적지 않은 상황에서 분석을 실행하는 것이 의미가 있을까란 질문을 했습니다. 이런 판단에는 기업 대표의 의향이나 기업의 환경이 많이 반영됩니다. 보완하지 않아도 되는 상태의 데이터 건수가 행렬 밀도를 지나치게 퇴색시키지 않을 정도의 데이터 세트 수를 확보하면서 무작위 추출을 감당할 수 있는 표본 수를 얻을 수 있는 수준이라면 지금 갖고 있는 데이터로 모델링을 하면 됩니다. 부분적으로 접근하는 분석을 퀵윈이라고 합니다. 규모는 작아도 결과에 따라서 장기적으로 확대가 가능한 잠재력을 보일 수 있기 때문에 사내에서 받아들여지기 쉽습니다. 퀵윈은 일반화 선형 모델에도 기준 변수를 두지 않는 탐색적 자료 분석에도 적용할 수 있습니다. 분석할 만큼 데이터가 충분하지 않더라도 결손 보완을 실시하거나 결손치의 존재를 허용할 수 있는 의사 결정 트리 분석 등의 알고리즘을 적용하면 분석할 수 있습니다. 에러의 원인을 찾아내서 백업 파일엥서 결손치를 보정하거나 변수 처리로 환원하면 분석이 가능할 수도 있습니다. 국내 기업의 경우엔 돌다리도 두들겨보고도 건너지 않으려하는 경향이 많이 있습니다. 데이터가 제대로 있지 않으니 포기하자는 선택을 하는 기업이 아직도 많이 있습니다. 작게 시작하는 것도 괜찮은 방법입니다. 현재의 데이터양과 정확도를 가지고 도착점으로 이어지는 작은 규모의 분석을 실시하고 효과를 보는 것입니다. 데모 데이터 분석이라고도 말할 수 있습니다. 데모 분석의 결과에서 유의성을 인정받으면 데이터의 양을 늘려서 장기적인 데이터 품질 향상을 위해 정확도를 본질적으로 높이기 위한 데이터를 수집하고 모으는 시스템을 정비하는 것입니다. 그렇게 에러 발생을 최소화하는 시스템이나 밸리데이션을 정비하고 프로젝트의 규모를 키워나갈 수도 있습니다. 벨리데이션이란 상정했던 데이터인지 아닌지 검증하는 시스템으로 예를 들어 금액 데이터 속에 문자가 섞여 있지는 않은지 검증하는 것입니다. 데이터의 벽에 다다를때 선택할 수 있는 옵션은 멈추거나 달려나가거나 두가지라고 생각하면 됩니다. 데이터의 양과 정확도가 부족하면 데이터의 정확성을 높이는 방법에 집중하고 가진 데이터를 이용해서 분석하는 동시에 필요한 데이터를 보충하면 됩니다. 도착점을 어디로 설정했는지에 따라서 선택지만 달라질 뿐입니다. 달려나가는 쪽을 선택했다면 동시에 부족한 데이터의 보충이나 데이터베이스의 고도화 같은 방법을 시도해야 합니다. 데이터 분석 프로젝트를 진행할 때 요구되는 노력 가운데 80퍼센트는 데이터 사전 처리에 들어갑니다. 이 프로세스를 무시하면 실패로 끝나는 경우가 많습니다. 달리면서 개선해 나가는 것을 선택했다면 주의해야 할점이 또 있습니다. 무엇을 위해 분석을 하는지에 대해서 경영자와 프로젝트팀이 사전에 의견이 맞아야 합니다. 데모로 분석한 결과에 대해서 프로젝트 멤버 이외의 구성원이 목적을 정확히 몰라서 기대보다 별로라고 생각하는 경우도 많이 발생합니다. 그렇기에 프로젝트 멤버는 분석의 목적과 결과의 타당성을 계속해서 설명하고 이해시켜야 합니다. 이를 하지 않으면 사내에서 데이터 분석을 믿지 않는 분위기가 생길 수 있습니다. 반드시 경영자에게 보고해서 승인을 받는것이 중요합니다.