분석환경

언어 : python 3.9

환경 : ubuntu20.12, osx, virturenv

도구 : pycharm professional, jupiternotebook

데이터 분석 개요

1. 타겟 설정

포인트 적립 사용자가 1개월동안 적립한 포인트 데이터를 상관관계 분석(pearson)하여 A와 가장 유사성이 높은 활동을 찾는다. 푸시 메시지 발송의 목표는 A를 이용하는 사용자 수를 높이는 것이다.

2. 빈도 분석

상관관계 분석 결과 미션과 가장 상관관계가 높은 항목은 A(0.24)으로 분석되었다. 상관관계가 있다는 것은 각 서비스를 이용하는 사용자의 유사성이 있다는 것임으로 A 사용자에게 푸시메시지를 발송하여 미션을 수행할 수 있도록 안내한다면 불특정 다수의 사용자에게 메시지를 보내 미션으로 전환을 유도하는 것 보다 효과적일 것이다. 따라서 타겟 유저들의 개인 활동을 분석, 적합한 사용자를 선별하였다. 타겟 유저선별은 아래와 같이 1, 2번 유형에 모두 해당하는 사용자를 대상으로 진행하였다.

  1. A을 전체 유저 중, A로 한번도 적립하지 않은 사용자를 제외한 사용자의 평균 초과의 사용자
  2. B전체 유저 중, B를 한번도 적립하지 않은 사용자를 제외한 사용자의 평균 초과의 사용자

3. sckit-learn

개요 : python 3.10, sckit-learn 1.1.3

사용자들의 미션 수행 데이터를 클러스터링하여 고객군을 분리하는 기법을 이용합니다.

클러스터링은 특성이 비슷한 데이터 끼리 묶어주는 머신러닝 기법입니다. 비슷한 뉴스나 사용 패턴이 유사한 사용자를 묶어 주는것과 같은 패턴 인지나, 데이타 압축등에 널리 사용되는 학습 방법입니다.

클러스터링은 라벨링 되어 있지 않은 데이타를 묶는 경우가 일반적이기 때문에 비지도학습 (Unsupervised learning) 학습 방법이 사용됩니다.

데이터 전처리

데이터 전처리는 min-max 정규화와 z-score 정규화를 이용한 방법과 sckit-learn의 StandardScaler을 이용한 표준화 방식 두가지를 비교하였습니다. 세 가지 전처리 기법을 활용하여 k-군집분석 머신러닝을 실행하였을 때 아래와 같은 값을 얻을 수 있었습니다. 정규화 방식으로 기계학습을 한 결과 2개의 군집을 확인할 수 있었고 표준화를 이용한 결과 4개의 군집을 확인할 수 있었습니다. 각 그룹의 클러스터(군집)을 실 데이터의 샘플 데이터를 분석한 결과 정규화 기법을 이요한 군집화는 사용자를 단순히 전체 서비스를 많이 이용하는 집단과 그렇지 않은 집단 두 군집으로 분류한 반면 표준화 전처리를 한 기법은 4가지 케이스로 사용자를 구분하였습니다.

  1. A와 B를 많이 모두 사용하지 않는 집단
  2. A를 적게 이용하고 B를 많이 사용하는 집단
  3. B를 적게 이용하고 A를 많이 사용하는 집단
  4. A와 B를 모두 많이 사용하는 집단