이 논문의 핵심은 고객 마케팅 분석시 흔히 사용하는 RFM(Receny, Frequency, Monetary) 기반의 분석 방법과 Deep Learning 에서 시계열에 효과적이라고 알려진 RNN 을 접목하는 아이디어로 시작한다.
기존에도 마케팅 모델에 Deep Deep Learning을 적용하고자 하는 연구는 있었지만, Fully Connected Network 형태로 활용하여, 시간을 독립적인 인풋 데이터로 활용하였다는 한계가 있다. 그래서 RNN 을 적용해 보겠다는 이야기.
Iput 은 고객번호와 t타임에 R, F, M 이 전부이고, Output은 t+1타임의 R,F,M 이다. 물론 실무에 적용하려면 상품 별로 모델을 만들어야 할 것 처럼 보인다. (고객 정보는 모델 훈련시에 포함이 되어 있으니.. )
위의 그래프는 논문에서 고객이 발생시키는 데이터를 접근하는 시각을 보여주고 있다. 이건 기본적으로 Graph 를 사전에 정의하는 모든 형태의 Deep Learning Architeture 의 문제인데 Time Interval 을 1일로 할지, 3일로 할지 아니면 1주일로 할 것인지는 사전에 정의되어야 한다. 그리고 데이터로 사용하는 RFM 자체는 Interval Time 에 맞춰서 계산해 주면 되겠다.
위에서도 했던 이야기 인데, Interval 을 적당히 정하고 (비지니스에 맞게) 각 Interval Time 에 맞는 RFM 을 구해서 사용하면 된다는 이야기.
이 부분은 조금 특이한데, 결국 고객별로 구매 패턴이 다를 수 밖에 없기 때문에 어떻게든 고객 정보를 포함해야 하는데, 고객별로 모델을 만들기에는 데이터가 부족할 것이고, 고객정보를 포함하지 않으면, 특정 고객의 구매 패턴이 아니게 될 수 있는데, 여기서는 고객의 고유 번호를 Onehot 으로 바꿔서 RFM 과 Concat 하여AutoEncoder 를 통과 시켜서 매 Interval Time 에 Input 으로 사용한다. (t+1 타임에는 t 타임에 구한 RFM 을 사용하면 되겠지?)
당연히 실제 RFM 도 특정 Interval Time 에서 구할 수 있으니, 예측한 RFM 과 실제 RFM 의 Loss 를 가지고 모델을 훈련하면 된다. 그리고 파라메터 구성에 있어서는 LSTM 보다 RNN 의 활성 함수를 Relu 로 사용하는 것이 더 성능이 좋닸다고 이야기 하고 있다.
고객 행동 패턴 예측 쪽으로는 비교 연구가 없으니, 이게 좋은건지 나쁜건지 상품 ㅊ천 모델 만들어야 해서 하나 봤는데.. 뭐지 이건? 관련 연구 다 찾아서 보고 종합 결론을 내려야 겠다 싶다.