실무에서 당신이 모른 채 지나가고 싶은 일
분석과 예측은 직장 생활에서 꼭 만날 수밖에 없는 기술입니다. 무슨 일을 하든 분석과 예측은 할 수밖에 없죠. 다음 주 매출을 예측할 일도, 이번 달 마감 때 비용이 얼마나 지출될지도, 때로는 누가 어떤 메시지에 반응할지도 굳이 데이터 과학자가 아니더라도 예측해야 할 일이 벌어집니다. 하지만 분석도 어려운데 예측은 두 눈을 감고 싶어 집니다.
분석은 한 일을 정리해서 말하면, 더 잘하기 위해 더 세부적으로 나누어서 말하면 어느 정도 넘어갈 수준은 됩니다. 매출이 안 좋은 이유는 어떤 아이템이나 어떤 지역이나 어떤 브랜드나 이렇게 설명하고 나름의 대안을 말한다면 분석을 잘하는 것처럼 보일 수 있습니다. 이런 각도로 쪼개고 저런 각도로 나누어 분석을 하는 게 개인의 역량이 되죠.
하지만 회사에서 보는 예측과 관련된 문서는 분석과 달리 천차만별입니다. 아예 예측과 관련된 일을 하지 않아 그런 종류의 문서가 없는 일도 많죠. 몇 개 있는 과거의 참고 자료들을 보면 그저 오늘까지의 실적을 이번 달 지나간 일수 대비 비례식으로 계산해 월말 실적을 계산한 것부터, 엑셀 함수를 조금 하는 수준이라면 forecast 같은 함수를 놓고 늘려서 미래 날짜에 값을 넣기도 합니다. 예측만큼 논리와 가정이 많은 부분도 없는데 그런 친절함이 있는 예측 관련 문서는 별로 없죠.
이상치(outlier)는 과거 잔잔한 숫자 패턴 속에서 갑자기 한 순간 크거나 작은 숫자가 뾰족하게 있는 걸 말합니다. 1월 판매량 100, 2월 판매량 130, 3월 판매량 125, 4월 판매량 110, 5월 판매량 450, 6월 판매량 120,… 5월에 무슨 일이 있었던 것일까요? 5월은 이상치입니다. 이상치가 예측에 중요한 이유는 미래 예측에 이 숫자를 반영할지 반영하지 않을지 결정해야 하는 데 있습니다.
5월에 발생한 450이란 숫자가 내년 5월에도 발생할 일이라고 생각해 보죠. 5월마다 가정의 달 행사를 하고 있고 이 데이터에는 포함되어 있지 않지만 작년 5월, 재작년 5월에도 이 정도의 배수로 다른 달 대비 5월 판매량만 이렇게 잘 나온다면 당연히 내년 5월까지 판매량을 예측할 때 이 숫자를 반영해야 합니다. 우리가 흔히 프로모션을 하거나 시즌성이 있는 시계열 데이터를 다룰 때 생각할 수 있는 부분입니다. 이상치를 놓고 ‘얘는 이상하니까 날려버리고 가자‘라고 마냥 하기보다는 ‘왜 이렇게 나왔는지 찾아보자‘가 되어야 하는 이유죠.
하지만 5월에 나온 판매량이 재연될 확률이 극히 드문 일회성 이벤트라고 하면 어떨까요? 어떤 이유로 팔지 못하고 남게 된 몇 년치의 재고를 5월에 그저 90%의 할인된 가격으로 하는 행사를 진행한 숫자라면 이것도 내년 5월이나 올해 어딘가에 반영되어야 할까요? 당연히 그렇지 않습니다. 5월에 나온 450이라는 판매량은 미래 예측에 지워야 할 숫자입니다. 5월에 엄청난 할인이 많은 집객을 해서 할인 상품뿐 아니라 다른 정상적인 상품 판매에도 영향을 미칠 수도 있죠. 물론 이런 부분까지 세부적으로 나누어 5월의 제대로 된 판매량을 예측하는 것도 방법입니다. 하지만 보통은 5월 판매량 자리에 4월과 6월의 평균치를 내거나 전체적으로 연간으로 월별 판매량이 일정하게 움직이는 사업이라면 작년 월별 판매량 비중치를 가져와서 5월 비중만큼 기준이 되는 연간 숫자에 곱하는 것으로 5월 판매량을 대신할 것입니다.
예측하는 알고리즘보다 예측의 기반이 되는 학습하는 숫자가 더 중요합니다. 이상치를 어떻게 바라보느냐에 따라 그 숫자가 가치가 있기도 하고 쓸모 없어서 다른 숫자로 대체되어야 할 수도 있죠. 더 나아가서 이 숫자가 정말 이상치인지 정확히 알 방법은 데이터 수집의 과거 기간을 최대한 길게 가져가 보는 것입니다. 짧은 순간 이 숫자는 이상치일 수 있지만 몇 년을 들여다보면 가끔 한 번 특정 주기에 발생하는 일일 수도 있기 때문이죠. 때로는 사업의 변곡점이 어느 순간 생겨서 전체의 기간이 아닌 변곡점 이후의 기간만 예측을 하는 학습 기간에 포함시켜야 할 때도 있습니다.
대부분의 시계열 예측 정확도는 사실 사람이 예측할 수 있는 수준의 파동을 그리며 나아갈 때 컴퓨터도 예측의 정확도가 높아지는 것이 사실입니다. 그렇다면 경영지표와 같은 숫자의 예측은 사람도 추세를 알 수 있지만 다만 그 숫자의 절댓값이 얼마인지 적어야 하니까 굳이 하는 수준에 머물게 됩니다. 하지만 이렇게 시즌을 타는 숫자나 이상치를 어떻게 다룰 수 있느냐에 따라 당연한 패턴이, 당연하지 않았던 깨달음을 주기도 하죠.
이제 곧 여름이 지나고 가을이 되면 많은 회사들이 경영 계획을 시작할 것이고 몇 개 안 되는 과거 기간으로 미래를 뭐라도 예측해야 하는 상황을 맞게 됩니다. 물론 부장님, 이사님의 ‘그게 맞아?’를 피해 갈 여력은 없지만 적어도 실무를 하는 사람은 제대로 잘해보면 좋지 않을까요?
PETER님이 브런치에 게재한 글을 편집한 뒤 모비인사이드에서 한 번 더 소개합니다.