머신러닝은 일반적으로 빅데이터를 분석하여 추정된 패턴을 토대로 미래 결과를 예측하는 데에 쓰입니다. 예를 들어 금융분야에서는 과거 고객 재무정보를 토대로 심사를 고도화하고 리스크를 관리하는 데에 쓰일 수 있고, 마케팅과 세일즈 업무에서는 이벤트의 성공률이나 제품의 구매율을 예측하여 타겟 고객을 엄밀히 세그먼팅할 수 있으며, 제조분야에서는 불량품을 자동으로 검출하고 공정 프로세스를 최적화하는 데에 쓰일 수 있겠죠.
유통/물류 분야에서는 대표적으로 수요예측(Demand Forecast)을 정교화하는 데에 머신러닝을 활용하고 있습니다. 제품의 적정 생산량 또는 납품량을 예측하여 결품이나 초과품을 최소화하는 데에 목적이 있는 것이죠. 수요예측은 비단 유통이나 물류 분야 뿐만 아니라 제품을 생산하고 판매하는 모든 비즈니스에서 필요한 업무이기도 합니다. 어떤 제품이 얼마나 팔릴 것인지 예측이 가능하면 그에 따라 비즈니스 전략과 타겟 고객 설정이 수반될 수 있기 때문입니다.
그런데 수요예측의 방법론은 일반적인 머신러닝 예측 방법론보다 고려해야할 사항이 많고, 모델성능을 확보하기가 쉽지 않습니다. 그래서 이번 글에서는 아일리스가 진행한 수요예측 모델링 사례들을 소개드리면서 아래와 같은 질문을 해결해보도록 하겠습니다.
- 머신러닝에서 수요예측을 하기 위해서는 어떤 특성의 데이터를 준비해야 할까요?
- 수요예측을 하기 위한 방법론은 다른 무언가를 예측하는 방법론과 어떤 차이가 있을까요?
- 수요예측 모델의 정확도를 높이기 위해서는 어떤 작업이 필요할까요?
- 수요예측 모델은 어떤 KPI를 기준으로 평가해야 할까요?
1. 머신러닝 학습 방법론을 잠깐 정리하고 갑시다 : 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 시계열분석(Time-Series Analysis)
지도학습은 예측하고 싶은 타겟이 무엇인지 가르쳐준다(Supervise)는 뜻으로써 타겟을 지정하지 않는 비지도학습(Unsupervised Learning)과 구별되는 용어로 사용됩니다. 즉 A라는 상품이 몇 개가 팔릴 것인지 예측하고 싶은 경우, 과거 판매 데이터 중 A라는 변수를 타겟으로 지정할 것이기에 이를 지도학습이라고 부를 수 있습니다. 반면에 비지도학습은 별도로 타겟을 지정하지 않기 때문에 무언가를 예측하기보다는 데이터의 특성을 고려하여 밀접한 관계가 있는 샘플끼리 묶어주는 결과로 나타납니다. 그래서 이를 클러스터링(Clustering)이라고 부르기도 합니다. 클러스터라는 용어가 생소하실 수도 있는데, 묶음 또는 군집이라는 의미입니다. 비지도학습은 어떤 기준을 묶는지 가르쳐주지 않고 컴퓨터에게 알아서 묶어보라고 하는 셈입니다.
그런데 A라는 상품의 최종 판매량보다 5월 3째주의 판매량 예측이 더 중요하다고 가정해봅시다. 이 경우 날짜의 흐름에 따른 판매량의 변동 예측이 필요해집니다. 이렇게 시간의 흐름에 따른 과거 데이터의 패턴을 학습하고 미래의 예측도 시간에 따라 추정하는 방법론을 시계열 분석(Time-Series Analysis)이라고 합니다. 시간 변수를 고려하지 않는 지도학습과 달리 시간 변수를 고려하여 학습하게 되는 것이죠.
각 방법론별로 어떤 사례가 있는지에 대해서는 아래 글을 참조하시면 좋습니다.
머신러닝 방법론별 대표 사례 보기
2. 수요예측을 지도학습으로 할까, 시계열분석으로 할까, 그것이 문제로다.
위에서 설명 드린 내용대로라면, 시간의 흐름에 따라 판매량을 추적해보고 싶은 경우에는 시계열분석으로 진행하고 시간과 상관없이 최종적인 판매량을 예측하고 싶은 경우에는 지도학습으로 진행하면 된다는 결론이 유추됩니다. 그런데 실제 프로젝트에서는 시간의 흐름에 따라 판매량을 추적하는 경우에도 시계열분석과 함께 지도학습을 병행해서 모델링을 하기도 합니다. 왜 그럴까요?
시계열분석에 사용되는 데이터는 기본적으로 시간 축에 따라 예측 타겟이 기록되어 있습니다. 즉 아래 그림처럼 시간의 경과에 따라 상품의 판매량이나 가격의 추이가 연속적으로 기록되어 있죠.

[시계열분석 데이터 예시]
이때 시간에 따라 패턴을 학습하기 위해서는 시간이라는 변수와 타겟의 관계에 일종의 규칙성이 존재해야 합니다. 예를 들어 매주 월요일에 판매량이 높아지든지, 매년 겨울에 판매량이 감소하든지, 일정한 주기에 따른 감소와 증가 추세가 뚜렷할수록 시계열분석 모델의 성능은 높아집니다.
그런데 시간이라는 변수보다 다른 특정 변수가 타겟에 영향을 크게 끼치는 경우가 있습니다. 예를 들어 몇 주, 몇 월이라는 시간보다 기온과 날씨라는 변수가 아이스크림의 판매량에 더 직접적인 경우가 있죠. 또한 상품을 홍보하는 이벤트를 중간에 진행한 경우 이벤트 여부라는 변수가 시간 변수보다 중요하게 작용할 것입니다. 이렇게 시간에 따른 규칙성보다 기타 변수의 값이 타겟 예측에 큰 영향을 끼치는 경우 지도학습으로 진행하는 게 더욱 좋은 모델이 될 수도 있습니다.

[시계열분석 또는 지도학습 활용 데이터의 차이]
물론 시계열분석에서 기타 변수를 고려하지 못한다는 뜻은 아닙니다. 시계열분석에서도 기온, 날씨, 이벤트 유무, 상품 범주 등의 변수를 데이터에 포함하여 모델링이 가능하죠. 그러나 시계열분석에서 쓰이는 알고리즘(대표적으로 ARIMA, LSTM, GRU 등)은 기본적으로 시간 변수를 기반으로 패턴을 추적하며, 다른 변수는 부가적인 영향으로 고려됩니다. 그래서 시간의 규칙성이 뚜렷하게 보이는 경우 시계열분석으로 접근하는 게 좋다고 한 것입니다. 반면에 이를 지도학습으로 풀어낼 때에는 단순 시간 변수는 의미가 없어지고, 일정 시간 이전의 타겟값을 새로운 변수로 가공하여 다른 변수를 종합적으로(또는 사용자의 설정에 따라) 고려할 수 있습니다. 아래 그림은 지도학습으로 상품 판매를 예측할 때 쓰이는 데이터의 예시입니다.
[수요예측을 위한 지도학습 데이터 예시]
3. 실제 사례에서는 시계열분석과 지도학습을 어떻게 활용했을까?
아일리스의 고객사 사례를 하나 소개드리려고 합니다. 식품 유통 업체에서 그동안 담당자의 경험과 직관적인 판단으로 출하량을 계산해왔던 방식을 바꿔서, 새롭게 머신러닝을 활용해서 정교하게 예측해본 사례입니다. 일반적으로 유통 분야에서는 제품을 초과 생산하는 것보다 부족하게 생산하는 것이 더 큰 손해를 끼칩니다. 보통은 충분히 생산하는 게 안전하다는 뜻이죠. 그런데 만약 냉동식품이라면 초과 생산품의 보관 비용이 발생할 것이고 신선식품의 경우 폐기 비용이 발생하므로 결품에 의한 손해비용과 보관/폐기비용을 함께 고려하여 적절한 재고의 유지가 매우 중요하게 됩니다. 머신러닝을 활용하여 예측 정확도를 높이려는 이유가 여기에 있습니다.
이 업체의 식품 데이터에는 날짜에 따른 과거의 출하량이 적혀져 있었기 때문에 시계열분석이 가능하였으며, 이를 토대로 향후 10일간의 적정 출하량을 예측하는 것을 목표로 정했습니다. 그 결과 아래 그림과 같이 10일동안의 예측 오차율이 0.9% 이내로 들어오게 되었죠.
[식품데이터 수요예측 시계열분석 결과]
그런데 기존 식품과 더불어, 새롭게 출시된 식품도 얼마나 수요가 발생할지 예측을 시도해보려고 합니다. 신상품은 과거 시계열 데이터가 없는데 무엇으로 패턴을 학습해야 할까요?
“신상품의 경우에는 과거 데이터가 없는데 머신러닝 모델링이 가능할까?”
이 경우 신상품의 특성을 변수로 만들어 지도학습으로 접근하는 방법을 사용하였습니다. 즉 과거 상품들의 판매 데이터를 학습할 때 상품의 범주, 진행했던 행사의 정보, 판매 가격, 기온, 날씨, 요일 등의 변수를 고려하였고 이에 대한 패턴은 신상품에도 적용이 가능했습니다. 지도학습 예측 결과는 만족스러웠습니다. 기존의 예측 방법보다 결품율과 초과 재고율을 0.5%~4%가량 줄일 수 있었죠.

[신상품의 경우 시계열데이터가 없으므로 상품 특징 변수를 지도학습으로 활용한다]
정리하자면 이 고객사의 경우 시계열 데이터가 존재하는 기존 상품의 예측에는 시계열분석을 활용하였으며 시계열데이터가 존재하지 않는 신상품의 경우 상품의 특징을 최대한 많이 반영할 수 있는 지도학습을 활용하였습니다. 물론 이것은 하나의 노하우이자 운용 사례에 해당하기 때문에 모든 프로젝트에 적용할 수 있는 방법론은 아닙니다. 다른 고객사의 경우에는 기존 상품이었음에도 불구하고 시계열 분석의 예측 정확도를 더 높이기 위해 해당 데이터를 지도학습으로 시도하기도 하였습니다. 특정 상품에 한해서는 시계열분석 결과가 만족스러웠고, 또다른 상품에 한해서는 지도학습이 만족스럽기도 하였습니다. 이처럼 정답이란 없어서 사용자가 다양한 시도를 해보는 게 필요할 때도 있습니다.
4. 비즈니스 성과 지표를 기반한 모델링 : KPI-Driven Modeling
앞서 말했듯이 수요예측에서는 초과 재고품보다 결품을 방지하는 예측 모델이 더 유효할 때가 많습니다. 예를 들어 A라는 모델은 실제보다 10% 많게 예측을 하였고 B라는 모델은 실제보다 10% 적게 예측을 한 경우, 같은 오차더라도 결품을 방지한 A 모델이 수요예측에서는 더 좋은 평가를 받게 되죠. 그런데 일반적인 머신러닝에서는 이러한 성과 지표를 고려하지 못하고 있습니다. 모델을 평가하는 지표가 절대오차(MAE, MSE, MAPE 등)와 같이 기존에 쓰이던 통계 지표를 그대로 적용하고 있기 때문입니다. 이에 아일리스는 실제로 비즈니스 성과에 기반한 KPI 달성을 목표로 모델을 개발하고 있습니다. 이를 KPI-Driven Modeling이라고 합니다.
KPI-Driven Modeling이 적용된 고객사와 진행했던 사례를 살펴볼까요? 음료수 가공 업체에서 수요예측을 통해 비즈니스 성과를 극대화하였던 사례입니다. 우선 개발된 모델의 예측량과 실제량의 비율로 계산된 적중률을 정량목표 중 하나로 정의하였습니다. 이 때 음료수 제품의 특성 상 동절기 대비 성수기의 성과가 더욱 중요하므로 상대적인 중요도를 감안하여 적중률에 가중치를 부여하였습니다. 마지막으로 예측과 실제의 오차로 인해 발생하는 결품량과 재고량에 의해 어떤 손해액이 발생하는 지 업체의 지표에 따라 계산해보았습니다. 그 결과 아래 그림과 같이 일반적인 AutoML(자동화 머신러닝)의 통계 지표로 개발된 모델에 비해 KPI 지표로 개발된 모델의 개선효과가 뚜렷하였으며, 이 개선은 약 80억원의 손실액 감축 효과가 있는 것으로 드러났습니다. 모델 개발 방법론의 차이가 비즈니스 성과를 극대화할 수 있었던 것이죠.

[일반적인 머신러닝과 KPI-Driven Modeling의 비즈니스 성과 차이]
1편 금융분야 심사 고도화 업무에 이어 두번째 편으로 수요예측 업무에 대해 다루어봤습니다. 세번째 편에서는 마케팅과 CRM 업무에서 머신러닝을 활용하는 방법에 대해 다룰 예정입니다.
머신러닝은 일반적으로 빅데이터를 분석하여 추정된 패턴을 토대로 미래 결과를 예측하는 데에 쓰입니다. 예를 들어 금융분야에서는 과거 고객 재무정보를 토대로 심사를 고도화하고 리스크를 관리하는 데에 쓰일 수 있고, 마케팅과 세일즈 업무에서는 이벤트의 성공률이나 제품의 구매율을 예측하여 타겟 고객을 엄밀히 세그먼팅할 수 있으며, 제조분야에서는 불량품을 자동으로 검출하고 공정 프로세스를 최적화하는 데에 쓰일 수 있겠죠.
유통/물류 분야에서는 대표적으로 수요예측(Demand Forecast)을 정교화하는 데에 머신러닝을 활용하고 있습니다. 제품의 적정 생산량 또는 납품량을 예측하여 결품이나 초과품을 최소화하는 데에 목적이 있는 것이죠. 수요예측은 비단 유통이나 물류 분야 뿐만 아니라 제품을 생산하고 판매하는 모든 비즈니스에서 필요한 업무이기도 합니다. 어떤 제품이 얼마나 팔릴 것인지 예측이 가능하면 그에 따라 비즈니스 전략과 타겟 고객 설정이 수반될 수 있기 때문입니다.
그런데 수요예측의 방법론은 일반적인 머신러닝 예측 방법론보다 고려해야할 사항이 많고, 모델성능을 확보하기가 쉽지 않습니다. 그래서 이번 글에서는 아일리스가 진행한 수요예측 모델링 사례들을 소개드리면서 아래와 같은 질문을 해결해보도록 하겠습니다.
1. 머신러닝 학습 방법론을 잠깐 정리하고 갑시다 : 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 시계열분석(Time-Series Analysis)
지도학습은 예측하고 싶은 타겟이 무엇인지 가르쳐준다(Supervise)는 뜻으로써 타겟을 지정하지 않는 비지도학습(Unsupervised Learning)과 구별되는 용어로 사용됩니다. 즉 A라는 상품이 몇 개가 팔릴 것인지 예측하고 싶은 경우, 과거 판매 데이터 중 A라는 변수를 타겟으로 지정할 것이기에 이를 지도학습이라고 부를 수 있습니다. 반면에 비지도학습은 별도로 타겟을 지정하지 않기 때문에 무언가를 예측하기보다는 데이터의 특성을 고려하여 밀접한 관계가 있는 샘플끼리 묶어주는 결과로 나타납니다. 그래서 이를 클러스터링(Clustering)이라고 부르기도 합니다. 클러스터라는 용어가 생소하실 수도 있는데, 묶음 또는 군집이라는 의미입니다. 비지도학습은 어떤 기준을 묶는지 가르쳐주지 않고 컴퓨터에게 알아서 묶어보라고 하는 셈입니다.
그런데 A라는 상품의 최종 판매량보다 5월 3째주의 판매량 예측이 더 중요하다고 가정해봅시다. 이 경우 날짜의 흐름에 따른 판매량의 변동 예측이 필요해집니다. 이렇게 시간의 흐름에 따른 과거 데이터의 패턴을 학습하고 미래의 예측도 시간에 따라 추정하는 방법론을 시계열 분석(Time-Series Analysis)이라고 합니다. 시간 변수를 고려하지 않는 지도학습과 달리 시간 변수를 고려하여 학습하게 되는 것이죠.
각 방법론별로 어떤 사례가 있는지에 대해서는 아래 글을 참조하시면 좋습니다.
머신러닝 방법론별 대표 사례 보기
2. 수요예측을 지도학습으로 할까, 시계열분석으로 할까, 그것이 문제로다.
위에서 설명 드린 내용대로라면, 시간의 흐름에 따라 판매량을 추적해보고 싶은 경우에는 시계열분석으로 진행하고 시간과 상관없이 최종적인 판매량을 예측하고 싶은 경우에는 지도학습으로 진행하면 된다는 결론이 유추됩니다. 그런데 실제 프로젝트에서는 시간의 흐름에 따라 판매량을 추적하는 경우에도 시계열분석과 함께 지도학습을 병행해서 모델링을 하기도 합니다. 왜 그럴까요?
시계열분석에 사용되는 데이터는 기본적으로 시간 축에 따라 예측 타겟이 기록되어 있습니다. 즉 아래 그림처럼 시간의 경과에 따라 상품의 판매량이나 가격의 추이가 연속적으로 기록되어 있죠.
[시계열분석 데이터 예시]
이때 시간에 따라 패턴을 학습하기 위해서는 시간이라는 변수와 타겟의 관계에 일종의 규칙성이 존재해야 합니다. 예를 들어 매주 월요일에 판매량이 높아지든지, 매년 겨울에 판매량이 감소하든지, 일정한 주기에 따른 감소와 증가 추세가 뚜렷할수록 시계열분석 모델의 성능은 높아집니다.
그런데 시간이라는 변수보다 다른 특정 변수가 타겟에 영향을 크게 끼치는 경우가 있습니다. 예를 들어 몇 주, 몇 월이라는 시간보다 기온과 날씨라는 변수가 아이스크림의 판매량에 더 직접적인 경우가 있죠. 또한 상품을 홍보하는 이벤트를 중간에 진행한 경우 이벤트 여부라는 변수가 시간 변수보다 중요하게 작용할 것입니다. 이렇게 시간에 따른 규칙성보다 기타 변수의 값이 타겟 예측에 큰 영향을 끼치는 경우 지도학습으로 진행하는 게 더욱 좋은 모델이 될 수도 있습니다.
[시계열분석 또는 지도학습 활용 데이터의 차이]
물론 시계열분석에서 기타 변수를 고려하지 못한다는 뜻은 아닙니다. 시계열분석에서도 기온, 날씨, 이벤트 유무, 상품 범주 등의 변수를 데이터에 포함하여 모델링이 가능하죠. 그러나 시계열분석에서 쓰이는 알고리즘(대표적으로 ARIMA, LSTM, GRU 등)은 기본적으로 시간 변수를 기반으로 패턴을 추적하며, 다른 변수는 부가적인 영향으로 고려됩니다. 그래서 시간의 규칙성이 뚜렷하게 보이는 경우 시계열분석으로 접근하는 게 좋다고 한 것입니다. 반면에 이를 지도학습으로 풀어낼 때에는 단순 시간 변수는 의미가 없어지고, 일정 시간 이전의 타겟값을 새로운 변수로 가공하여 다른 변수를 종합적으로(또는 사용자의 설정에 따라) 고려할 수 있습니다. 아래 그림은 지도학습으로 상품 판매를 예측할 때 쓰이는 데이터의 예시입니다.
3. 실제 사례에서는 시계열분석과 지도학습을 어떻게 활용했을까?
아일리스의 고객사 사례를 하나 소개드리려고 합니다. 식품 유통 업체에서 그동안 담당자의 경험과 직관적인 판단으로 출하량을 계산해왔던 방식을 바꿔서, 새롭게 머신러닝을 활용해서 정교하게 예측해본 사례입니다. 일반적으로 유통 분야에서는 제품을 초과 생산하는 것보다 부족하게 생산하는 것이 더 큰 손해를 끼칩니다. 보통은 충분히 생산하는 게 안전하다는 뜻이죠. 그런데 만약 냉동식품이라면 초과 생산품의 보관 비용이 발생할 것이고 신선식품의 경우 폐기 비용이 발생하므로 결품에 의한 손해비용과 보관/폐기비용을 함께 고려하여 적절한 재고의 유지가 매우 중요하게 됩니다. 머신러닝을 활용하여 예측 정확도를 높이려는 이유가 여기에 있습니다.
이 업체의 식품 데이터에는 날짜에 따른 과거의 출하량이 적혀져 있었기 때문에 시계열분석이 가능하였으며, 이를 토대로 향후 10일간의 적정 출하량을 예측하는 것을 목표로 정했습니다. 그 결과 아래 그림과 같이 10일동안의 예측 오차율이 0.9% 이내로 들어오게 되었죠.
그런데 기존 식품과 더불어, 새롭게 출시된 식품도 얼마나 수요가 발생할지 예측을 시도해보려고 합니다. 신상품은 과거 시계열 데이터가 없는데 무엇으로 패턴을 학습해야 할까요?
이 경우 신상품의 특성을 변수로 만들어 지도학습으로 접근하는 방법을 사용하였습니다. 즉 과거 상품들의 판매 데이터를 학습할 때 상품의 범주, 진행했던 행사의 정보, 판매 가격, 기온, 날씨, 요일 등의 변수를 고려하였고 이에 대한 패턴은 신상품에도 적용이 가능했습니다. 지도학습 예측 결과는 만족스러웠습니다. 기존의 예측 방법보다 결품율과 초과 재고율을 0.5%~4%가량 줄일 수 있었죠.
[신상품의 경우 시계열데이터가 없으므로 상품 특징 변수를 지도학습으로 활용한다]
정리하자면 이 고객사의 경우 시계열 데이터가 존재하는 기존 상품의 예측에는 시계열분석을 활용하였으며 시계열데이터가 존재하지 않는 신상품의 경우 상품의 특징을 최대한 많이 반영할 수 있는 지도학습을 활용하였습니다. 물론 이것은 하나의 노하우이자 운용 사례에 해당하기 때문에 모든 프로젝트에 적용할 수 있는 방법론은 아닙니다. 다른 고객사의 경우에는 기존 상품이었음에도 불구하고 시계열 분석의 예측 정확도를 더 높이기 위해 해당 데이터를 지도학습으로 시도하기도 하였습니다. 특정 상품에 한해서는 시계열분석 결과가 만족스러웠고, 또다른 상품에 한해서는 지도학습이 만족스럽기도 하였습니다. 이처럼 정답이란 없어서 사용자가 다양한 시도를 해보는 게 필요할 때도 있습니다.
4. 비즈니스 성과 지표를 기반한 모델링 : KPI-Driven Modeling
앞서 말했듯이 수요예측에서는 초과 재고품보다 결품을 방지하는 예측 모델이 더 유효할 때가 많습니다. 예를 들어 A라는 모델은 실제보다 10% 많게 예측을 하였고 B라는 모델은 실제보다 10% 적게 예측을 한 경우, 같은 오차더라도 결품을 방지한 A 모델이 수요예측에서는 더 좋은 평가를 받게 되죠. 그런데 일반적인 머신러닝에서는 이러한 성과 지표를 고려하지 못하고 있습니다. 모델을 평가하는 지표가 절대오차(MAE, MSE, MAPE 등)와 같이 기존에 쓰이던 통계 지표를 그대로 적용하고 있기 때문입니다. 이에 아일리스는 실제로 비즈니스 성과에 기반한 KPI 달성을 목표로 모델을 개발하고 있습니다. 이를 KPI-Driven Modeling이라고 합니다.
KPI-Driven Modeling이 적용된 고객사와 진행했던 사례를 살펴볼까요? 음료수 가공 업체에서 수요예측을 통해 비즈니스 성과를 극대화하였던 사례입니다. 우선 개발된 모델의 예측량과 실제량의 비율로 계산된 적중률을 정량목표 중 하나로 정의하였습니다. 이 때 음료수 제품의 특성 상 동절기 대비 성수기의 성과가 더욱 중요하므로 상대적인 중요도를 감안하여 적중률에 가중치를 부여하였습니다. 마지막으로 예측과 실제의 오차로 인해 발생하는 결품량과 재고량에 의해 어떤 손해액이 발생하는 지 업체의 지표에 따라 계산해보았습니다. 그 결과 아래 그림과 같이 일반적인 AutoML(자동화 머신러닝)의 통계 지표로 개발된 모델에 비해 KPI 지표로 개발된 모델의 개선효과가 뚜렷하였으며, 이 개선은 약 80억원의 손실액 감축 효과가 있는 것으로 드러났습니다. 모델 개발 방법론의 차이가 비즈니스 성과를 극대화할 수 있었던 것이죠.
[일반적인 머신러닝과 KPI-Driven Modeling의 비즈니스 성과 차이]
1편 금융분야 심사 고도화 업무에 이어 두번째 편으로 수요예측 업무에 대해 다루어봤습니다. 세번째 편에서는 마케팅과 CRM 업무에서 머신러닝을 활용하는 방법에 대해 다룰 예정입니다.