데이터 분석 프로젝트를 진행한 REC 팀에서는 아래와 같은 프로젝트를 진행했습니다.
캠핏 데이터를 활용한 캠핑장 추천 시스템 구현
20기 김민혜 한양대학교 경영대학원 비즈니스 인포메틱스
20기 송여진 이화여자대학교 휴먼기계바이오공학부
20기 이은효 이화여자대학교 대학원 통계학과
20기 임세은 숙명여자대학교 사회심리학과
5. 캠핏 소개 < 원스톱 캠핑 플랫폼 ‘캠핏‘ >
✓ 다양한 테마별 (체험, 키즈, 애견동반) 캠핑장 확인 및 예약 가능
✓ 실시간 정보 업데이트
✓ 실시간 빈자리 확인 및 예약 가능
✓ 실시간 캠핑 로그를 통해 실시간 리뷰 제공
✓ 캠핑 용품 공동구매를 통한 가격 경쟁력 확보
User journey
캠핑장
정보 탐색
인지 가입
정보
탐색
이용
Action
앱 설치
프로필 정보
등록
리뷰 탐색
캠핑장 정보
탐색
리뷰/
재이용
캠핑장 북마크
캠핑장 예약/취소
캠핑용품 구매
Touch Point
앱 초기 화면
사용자 프로필
검색 화면
캠핑 로그(리뷰)
캠핑장별 화면
빈자리 알림
결제 화면
SNS
언론
앱스토어 리뷰
리뷰 작성
리뷰 작성 화면
4
01. 서론
8. 분석 방향성
프로젝트 목적
▪ 실제 기업 데이터 핸들링 및 분석
▪ 기업에 도움이 될 수 있는 인사이트 도출
사용자
사용자 세그먼트 분석
사용자 타입별 가입 건수 예측
캠핑장
캠핑장 유사도 분석
LDA 기반 콘텐츠 필터링
추천시스템
사용자 X 캠핑장
추천시스템 모델링
: 사용자에게 적합한 캠핑장 추천
비즈니스
Tableau 대시보드
7
01. 서론
9. 데이터 요약
고객
성별, 연령, 북마크 정보 등
캠핑장 위치, 캠핑 이용객 구성 등
※ 회원 프로필, 예약, 리뷰 정보는 2022.10.17 ~ 2023.10.17에 해당하는 데이터만 추출하여 사용
※ 사용하는 변수, 데이터는 과제에 따라 세부적으로 다름
캠핑장
캠핑장 이름, 주소, 타입 등
캠핑장 위치, 캠핑 이용객 구성 등
캠핑장 리뷰, 피드백 등
회원 프로필
예약 정보
캠핑장 프로필
예약 정보
리뷰 정보
8
01. 서론
10. 데이터 EDA
63%
37%
성별
여성
남성
13%
56%
29%
2%
60대
0.2%
70 & 80대
0.1%
연령
20대
30대
40대
50대
60대
70&80대
38%
21%
21%
15%
5% 0.1%
지역
경기/인천
강원
충남/충북/대전/세종
경남/경북/대구/울산
전남/전북
제주
2%
38%
3%
57%
0.27%
0.05% 기간
0일
1일
2일
3일
4일
5일 이상
9
01. 서론
11. 데이터 EDA
63%
37%
성별
여성
남성
13%
56%
29%
2%
60대
0.2%
70 & 80대
0.1%
연령
20대
30대
40대
50대
60대
70&80대
38%
21%
21%
15%
5% 0.1%
지역
경기/인천
강원
충남/충북/대전/세종
경남/경북/대구/울산
전남/전북
제주
2%
38%
3%
57%
0.27%
0.05% 기간
0일
1일
2일
3일
4일
5일 이상
10
01. 서론
▪ 여성 고객의 비중이 높은 편이며, 주로 3박 4일 혹은 1박 2일로 이용하는 양상을 보임
▪ 서울과의 접근성이 높은 경기/인천/강원 지역 캠핑장이 절반 이상
12. 데이터 EDA
userType별 자주 방문하는 캠핑장
type 구분
company 회사 동료
couple 커플
family 가족
friend 친구
married 부부
none 입력하지 않음
solo 혼자
family
53%
married
15%
couple
12%
friend
7%
none
6%
solo
5%
company
2%
userType
주로 가족 단위의 이용객이 많았으며, 부부, 커플 순으로 많았음
11
01. 서론
13. 캠핑장 리뷰 데이터를 활용해 각 userType별로 리뷰가 가장 많은 상위 5개 캠핑장 추출
Ex) userType ‘couple’ 이 많이 방문한 캠핑장
데이터 EDA
userType별 자주 방문하는 캠핑장
12
01. 서론
14. 2
1
1
4
4
2
2
1
1
1
1
1
2
1
1
2
1
1
0 2 4 6
company
couple
family
friend
married
solo
지역 분포
강원
경기
경남
경북
충북
전남
충남
전북
추출한 상위 5개 캠핑장의 지역 분포 시각화
• 부부/단독 이용자들은 강원도를 압도적으로 선호
• 가족 이용자들은 서울 근교보다 비교적 먼 지역을 선호
데이터 EDA
userType별 자주 방문하는 캠핑장
13
01. 서론
15. • 경기/강원도의 비율이 높음
• 부부 이용객들은 특히 강원도의 비율이 높음
• 인천은 서울 근교임에도 캠핑장의 수가 적어 상대적으로 적은 이용률을 보임
데이터 EDA
userType별 자주 방문하는 캠핑장
14
01. 서론
16. • 대부분의 방문 상위권 군·구들은 강원·경기에 포진해 있음
• 경주시는 경상북도임에도 상위권에 위치해 있고, 가족 이용객의 비율이 높음
데이터 EDA
userType별 자주 방문하는 캠핑장
15
01. 서론
17. • 가족과 함께 가는 경우에는 레저와 부가 시설의 유무를 중요하게 생각
• 6개의 userType 중 4개의 Type에서 반려동물 동반 캠핑장을 선택, 반려동물 캠핑장의 선호도가 높음
User Type Types Location Types Leisure Types Additional Facilities
Company autoCamping mountain valley, fishing, hiking, etc
trail, trampoline,
swimmingpool, trailer,
caravan
Couple autoCamping flat valley pet, caravan
Family autoCamping flat
beach, fishing, waterLeisure,
mud, valley
trampoline, trail, pet, trailer,
caravan, activity, rent
Friend autoCamping mountain, forest etc, hiking, golf, valley, fishing
swimmingPool, trail,
trampoline
Married autoCamping mountain, forest, flat valley,hiking pet
Solo autoCamping mountain valley pet
데이터 EDA
userType별 자주 방문하는 캠핑장
16
01. 서론
18. 01
사용자
사용자 세그먼트 분석 & 가입 건수 예측
고객
성별, 연령, 북마크 등
캠핑장 위치, 캠핑 이용객 구성 등
캠핑장
캠핑장 이름, 주소, 타입 등
캠핑장 위치, 캠핑 이용객 구성 등
캠핑장 리뷰, 피드백 등
회원 프로필
예약 정보
캠핑장 프로필
예약 정보
리뷰 정보
17
02. 사용자
※ 회원 프로필, 예약, 리뷰 정보는 2022.10.17 ~ 2023.10.17에 해당하는 데이터만 추출하여 사용
19. Step 1
변수 선택
Step 2
모델링 선택
Step 3
결과 비교
Step 4
최종 모델 선택
변수선택1 : 범주형 변수 위주
변수선택2 : 연속형 변수 위주
변수선택3 : pca 이용
전체 과정
사용자 세그먼트 분석 ①
18
02. 사용자
20. ▪ 대다수 범주형인 파생 변수로 구성
▪ 범주형 변수를 더미 변수로 변환
(변수 총 27개)
▪ 차원의 저주 문제
⇒ 파생 변수가 아닌 원래 변수(이산형)
위주의 선택 고안
범주형
성별, 연령대, 이용객 구성,
차 소유 여부, 지역
이산형 머문 기간
범주형 성별, 지역
이산형
연령, 반려견 수, 차 대수,
어른/10대/어린이 인원수
▪ 대다수 이산형인 원래 변수로 구성
범주형 성별, 지역
이산형 pca1~5
▪ 2번째 변수 선택 방법에서
이산형 변수에 대해 PCA 적용
▪ 7개의 이산형 변수를 5개로 축소
▪ 총 82%의 설명력을 가짐
변수 선택
사용자 세그먼트 분석 ① 전체 사용자
19
02. 사용자
21. 변수선택1 : 범주형 변수 위주
변수선택2 : 연속형 변수 위주
변수선택3 : pca 이용
최대한 전체 실루엣 계수가 크고,
개별 집단의 실루엣 계수가 적어도
0.3 이상이 되는 모델 선택
더미 + K-means
더미 + DBSCAN
더미 + GMM
더미 + 병합군집
K-prototypes
K-modes
gower distance + DBSCAN
gower distance + 병합군집
8가지 모델링 + 튜닝
※ 더미 : 범주형 변수(성별, 연령대, 이용객 구성, 차 소유 여부, 지역)를 연속형 변수로 변환
사용자 세그먼트 분석 ① 전체 사용자
분석 과정
Step 1
변수 선택
Step 2
모델링 선택
Step 3
결과 비교
Step 4
최종 모델 선택
20
02. 사용자
22. 최종 모델
K-prototypes : 수치형 데이터와 범주형 데이터 모두 사용 가능
(cluster 개수 = 6, 초기화 방법 = Cao)
사용한 변수
범주형 : 성별, 지역
이산형 : 연령, 반려견 수, 차 대수, 어른/10대/어린이 인원 수
전체 실루엣 계수 0.40313
집단별 실루엣 계수 / 개수
0 : 0.3692 (4076) 1 : 0.3597 (4323)
2 : 0.3922 (2213) 3 : 0.3278 (585)
4 : 0.4695 (3127) 5 : 0.4741 (2625)
• 전체 실루엣 계수에 비해 군집별 실루엣 계수가 낮은 편
• 다른 모델에 비해 전체 실루엣 계수가 높은 편
• 군집별 실루엣 계수가 0이거나 한 군집에 속하는 데이터 개수가 많은 경우 존재
• 현업 데이터에서는 이상치가 뚜렷하게 구분되지 않음
• 군집 개수가 자동으로 결정되어 필요 이상의 많은 군집이 생성되기도 함
* Gower distance 사용 시, 모두 성능이 개선되지 않았으며 시간이 오래 걸린다는 한계 존재
사용자 세그먼트 분석 ① 전체 사용자
분석 결과
DBSCAN
K-means
병합군집
…
… 21
02. 사용자
23. 클러스터 0 클러스터 1 클러스터 2
성별 & 연령
여(70%) > 남(30%)
모두 30대
여(59%) > 남(41%)
30대, 40대
여(67%) > 남(33%)
대부분 20대
기타
이용객이 ‘성인+10대+아동’이 3명인
구성 외에 성인 2명인 구성도 30%를
차지함
▪ ‘성인+10대+아동‘ 이용객 구성이
대부분을 차지함
▪ 캠핑 이용 기간이 평균 169일로
타 클러스터들보다 근소하게 더 높음
▪ 반려견 동반 이용객이 8.3%으로
타 클러스터보다 비율이 높음
▪ 타클러스터들은 보통 머문 기간이
2일인 반면, 해당 클러스터는 1일
이용률이 가장 높음
클러스터 3 클러스터 4 클러스터 5
성별 & 연령
남(54%) > 여(46%)
대부분 4-50대, 그 외 60대 이상
여(70%) > 남(30%)
모두 30대
여(51%) > 남(49%)
30대, 40대
기타 모든 이용객들이 차를 보유
성인 2명인 이용객 구성이
62%로 가장 높음
▪ 성인+10대+아동 이용객 구성이
대부분을 차지함
▪ 캠핑 이용 기간이 평균 1.68일로
대 부 분 다 른 클 러 스 터 들 보 다
근소하게 높은 편임
사용자 세그먼트 분석 ① 전체 사용자
클러스터별 특징
22
02. 사용자
24. ▪ 가입기간 (기준 : 23.12.31)
▪ 사용자별 리뷰/예약/북마크 횟수
▪ Active score 점수
- 리뷰 + 예약 + 북마크 횟수를 의미
- 최근 가입자는 각 건수 당 1.5배 부여
▪ Active User 판단
- Active score가 상위 25%인 사용자
• 더미 + K-means
• 계층군집
• K-prototypes
전체 실루엣 계수와 개별 집단의
실루엣 계수 모두가 0.5이상인
모델 선택
※ 사용자별 리뷰, 예약, 북마크 횟수는 가입 후 6개월 이내 데이터에 한해 계산함
※ 데이터는 전체 데이터에서 2만개를 랜덤 추출함
※ 더미 : Active User 여부 변수만 더미 변수로 변환
최종 모델
K-prototypes
(cluster 개수 = 6,
초기화 방법 = Cao)
전체
실루엣
계수
0.5507
집단별
실루엣
계수 /
개수
0 : 0.5078 (2873)
1 : 0.5352 (2946)
2 : 0.6276 (1500)
3 : 0.6127 (4927)
4 : 0.5302 (3587)
5 : 0.5079 (4167)
사용자 세그먼트 분석 ② Active user
분석 과정
Step 1
변수 선택
Step 2
모델링 선택
Step 3
결과 비교
Step 4
최종 모델 선택
23
02. 사용자
25. 클러스터 0 클러스터 1 클러스터 2
성별 & 연령
& 가입기간
여성 : 53%(1518) > 남성 : 47%(1355)
평균 38.9세
154일
여성 : 53%(1558) > 남성 : 47%(1388)
평균 37.8세
307일
남성 : 50.4%(756) > 여성 : 49.6%(744)
평균 37.3세
387일
active 점수
사분위수
(0, 1.5, 1.5, 25.5) (0, 1, 2, 41) (0, 1, 2, 50)
클러스터 3 클러스터 4 클러스터 5
성별 & 연령
& 가입기간
여성 : 54%(2672) > 남성 : 46%(2255)
평균 37.7세
102일
여성 : 55%(1960) > 남성 : 45%(1627)
평균 38.6세
211일
여성 : 53%(2215) > 남성 : 47%(1952)
평균 38.2세
259일
active 점수
사분위수
(0, 1.5, 1.5, 18) (0, 1, 2, 24) (0, 1, 2, 24)
사용자 세그먼트 분석 ② Active user
클러스터별 특징
클러스터별 뚜렷한 특징을 보이지 않고, 가입기간에서 약간의 차이를 보임 (클러스터0 vs 클러스터2)
24
02. 사용자
26. 사용자 타입별 가입건수 예측
▪ 성장곡선 모형은 일반적으로 S자 형태의 비선형 곡선을 가지면서 실제 상황을
매우 가깝게 표현하기 때문에 수요 예측을 위한 방법으로 비교적 오래 사용됨
▪ 성장 모형을 확산 연구에 도입하는 아이디어는 Rogers (1962)에 의해 제안
▪ Rogers는 확산을 사회적 시스템의 구성원들 간에 시간에 따라 의사소통
경로를 통해 전파되어가는 과정이라고 정의
▪ 확산 연구에서 많이 사용되는 성장 모형
: 바스 모형, 곰페르츠 모형, 로지스틱 모형
Bass model
▪ 최초구매자의 성장을 모형화할 때 흔히 사용되는 모형
▪ 잠재시장과 현재 시장의 두 가지 세그먼트만을 고려하고 있으며, 혁신 효과와
모방 효과의 두 가지 요소가 확산에 가장 크게 영향을 주는 것으로 가정
▪ 혁신 효과 : 소비자가 대중매체 등을 통해 얻은 정보를 바탕으로
자발적으로 혁신을 채택하는 효과
▪ 모방 효과 : 기존 수요자들의 구전에 의해 혁신을 채택하는 효과
⇒ 모방효과가 클수록 입소문의 영향이 크다고 해석
25
02. 사용자
27. 30대 가입건수(월)
Predict!
* 비밀유지 서약으로 인해 자세한 결과 생략
※ 모형별 평균 mape : 38.126
실제 값과 예측 값의 차를 줄이기 위해, 가능한 mape가 작게 나올 수 있게끔 초기 모형 설정
사용자 타입별 가입건수 예측 ① 연령대
26
02. 사용자
※ Bass model - 혁신계수(p) : 0.0121 < 모방계수(q) : 0.3633
Predict!
28. * 비밀유지 서약으로 인해 자세한 결과 생략
사용자 타입별 가입건수 예측 ② 성별(남)
27
02. 사용자
※ 모형별 평균 mape : 37.155
실제 값과 예측 값의 차를 줄이기 위해, 가능한 mape가 작게 나올 수 있게끔 초기 모형 설정
※ Bass model - 혁신계수(p) : 0.0037 < 모방계수(q) : 0.2343
Predict!
Predict!
29. * 비밀유지 서약으로 인해 자세한 결과 생략
사용자 타입별 가입건수 예측 ② 성별(여)
28
02. 사용자
※ 모형별 평균 mape : 39.378
실제 값과 예측 값의 차를 줄이기 위해, 가능한 mape가 작게 나올 수 있게끔 초기 모형 설정
※ Bass model - 혁신계수(p) : 0.0032 < 모방계수(q) : 0.2503
Predict!
Predict!
30. 02
캠핑장
고객
성별, 연령, 북마크 등
캠핑장 위치, 캠핑 이용객 구성 등
회원 프로필
예약 정보
캠핑장
캠핑장 이름, 주소, 타입 등
캠핑장 프로필
캠핑장 위치, 캠핑 이용객 구성 등
캠핑장 리뷰, 피드백 등
예약 정보
리뷰 정보
※ 회원 프로필, 예약, 리뷰 정보는 2022.10.17 ~ 2023.10.17에 해당하는 데이터만 추출하여 사용
캠핑장 유사도 분석 & 추천시스템
29
03. 캠핑장
31. 캠핑장 ID Types Location ... Facilities
캠핑장 1 autoCamping valley ... storage
캠핑장 2
autoCamping
, bungalow
valley,
mountain
... zoo, garden
캠핑장 3
bungalow,
caravan
mountain
, etc
... zoo
캠핑장 ID autoCamping bungalow caravan ... zoo
캠핑장 1 1 0 0 ... 0
캠핑장 2 1 1 0 ... 1
캠핑장 3 0 1 1 ... 1
▪ 데이터 : 캠핑장 프로필
▪ 보유 캠핑존 타입, 캠핑존 바닥 타입, 인근 레저 시설, 입지 형태, 보유 시설, 부가 시설 변수는 범주형이나,
복수의 값이 존재하여 더미 변수로 변환
캠핑장 유사도 분석
전처리 과정
30
03. 캠핑장
32. 캠핑장 유사도 분석
유사도 지표
코사인 유사도
• 캠핑장 벡터의 코사인 각도를
기반으로 측정
• 범위 : -1 ~ +1
자카드 유사도
• 캠핑장 간 속성이 일치하는
비율을 기반으로 측정
• 범위 : 0 ~ 1
• 캠핑장 간 속성을 나타내는
행(데이터) 간 차이를 측정
• 값이 작을수록 유사함
• 범위 : 0 ~ Inf
해밍 거리
01 02 03
31
03. 캠핑장
33. 캠핑장 유사도 분석
분석 결과 코사인 유사도 자카드 유사도 해밍 거리
최솟값 0.1380 0.0313 0.0135
평균 0.6473 0.4455 0.2276
중앙값 0.6482 0.4444 0.2297
최댓값 0.9903 0.9444 0.8514
전반적으로 유사성이 높게 나옴 코사인 유사도에 비해 고른 분포를 보임 ▪ 자카드 유사도와 고른 분포를 보임
▪ 라이브러리 내부 계산으로 범위가 0~1로 축소
32
03. 캠핑장
34. 03. 캠핑장
캠핑장 유사도 분석
분석 결과 코사인 유사도 자카드 유사도 해밍 거리
최솟값 0.1380 0.0313 0.0135
평균 0.6473 0.4455 0.2276
중앙값 0.6482 0.4444 0.2297
최댓값 0.9903 0.9444 0.8514
전반적으로 유사성이 높게 나옴 코사인 유사도에 비해 고른 분포를 보임 ▪ 자카드 유사도와 고른 분포를 보임
▪ 라이브러리 내부 계산으로 범위가 0~1로 축소
유사도 계산을 통해 각 캠핑장 간의 유사성이 높음을 알 수 있음
캠핑장 시설, 위치가 상향 평준화인 상황을 시사
⇒ 사용자와 캠핑장의 상호작용이 캠핑장 특색을 명확화하는 것으로 사료
33
35. 캠핑장 ID Types Location ... Facilities
캠핑장 1 autoCamping valley ... storage
캠핑장 2
autoCamping
, bungalow
valley,
mountain
... zoo, garden
캠핑장 3
bungalow,
caravan
mountain
, etc
... zoo
캠핑장 ID 유저 ID 평점 Types ... Facilities
캠핑장 1 유저 1 10 [autoCamping] ... [storage]
캠핑장 2 유저 2 5
[autoCamping,
bungalow]
... [zoo, garden]
캠핑장 3 유저 3 7.5
[bungalow,
caravan]
... [zoo]
LDA 기반 콘텐츠 필터링 추천시스템
데이터 및 전처리 과정
▪ 캠핑장 데이터와 유저별 평가 데이터를 통합 (총 3061개)
▪ 지역(캠핑장 위치 정보)을 제외한 속성을 이용해 LDA 토픽 모델링 수행
▪ LDA 토픽 모델링을 위해 부가적인 전처리를 거침
Ex) autoCamping, bungalow ⇒ [autoCamping, bungalow]
▪ 성능 지표 : Precision, Recall
※ 캠핑장에 대한 유저 평점 부여는 추천시스템 explicit data 참고
34
03. 캠핑장
36. LDA 기반 콘텐츠 필터링 추천시스템
모델링 결과
Topic_Number = 5 Topic_Number = 10
추천개수 Precision Recall Precision Recall
1 0 0 0 0
2 0.0053 0.0089 0.0035 0.0071
3 0.0035 0.0089 0.0023 0.0071
4 0.0026 0.0089 0.0044 0.016
5 0.0021 0.0089 0.0035 0.016
6 0.0017 0.008 0.0029 0.16
▪ 전체적으로 낮은 수치를 보여 정확도가 높지 않음
▪ Topic Number가 10인 경우 상대적으로 높은 수치를 보임
• 특히 캠핑장 4개의 추천을 했을 때 상대적으로 안정된
수치를 보임
35
03. 캠핑장
37. 03
고객
성별, 연령, 북마크 정보 등
캠핑장 위치, 캠핑 이용객 구성 등
캠핑장 리뷰, 피드백 등
회원 프로필
예약 정보
리뷰 정보
캠핑장
캠핑장 이름, 주소, 타입 등
캠핑장 프로필
캠핑장 위치, 캠핑 이용객 구성 등
예약 정보
사용자 X 캠핑장
사용자 정보에 따른 캠핑장 추천시스템
36
04. 사용자 X 캠핑장
※ 회원 프로필, 예약, 리뷰 정보는 2022.10.17 ~ 2023.10.17에 해당하는 데이터만 추출하여 사용
38. 사용자 X 캠핑장 추천시스템
데이터 및 전처리 과정
10점 만점
깨끗해요 친절해요
매너타임이
잘 지켜져요
편의시설이
좋아요
2.5 2.5 2.5 2.5
▪ 예약/북마크한 캠핑장 = 1,
그렇지 않은 경우 = 0
▪ OCCF Problem 완화를 위해
Interaction feedback 생성
가입 및 예약 정보, 리뷰 정보를 통해 평점 데이터 생성
▪ 리뷰 데이터의 태그 기반
▪ 태그 1회 시 2.5점 부여, 10점 만점
▪ Implicit feedback에 비해 작은 규모
Explicit
feedback
Implicit
feedback
37
04. 사용자 X 캠핑장
39. 사용자 X 캠핑장 추천시스템
데이터 및 전처리 과정
OCCF Problem (One Class Collaborative Filtering)
해결 방법
▪ All Missing As Negative : 모든 결측치를 부정적 example로 간주, 0으로 매핑
• All Missing As Unknown 보다 좋은 성능을 보인다고 알려져 있음
• 타 이커머스에 비해 캠핑장 개수(약 700개)가 비교적 적음
⇒ Binary data 대신 선호도를 나타내는 interaction feedback 사용
원인
▪ user-item 상호작용 여부를 나타내는 binary data
▪ 긍정 example만 있는 Collaborative Filtering
정의
▪ non-positive data(unobserved data)에 대해 해석이 어려운 문제
▪ 해당 상품에 대한 비선호로 인한 것인지, 낮은 인지도 때문인지 알 수 없음
38
04. 사용자 X 캠핑장
40. 사용자 X 캠핑장 추천시스템
데이터 및 전처리 과정
캠핑장 이용 O
사용자 평점 O 사용자 평점 X
북마크 O 북마크 X 북마크 O 북마크 X
7점 6점 5점 4점
캠핑장 이용 X
예약 후 취소 북마크만
북마크 O 북마크 X
3점 2점
1점
Interaction feedback • 북마크/이용/리뷰 여부에 따라 차등적으로 점수 부여
• Interaction이 많을수록 높은 점수를 가지게 됨
39
04. 사용자 X 캠핑장
41. 사용자 X 캠핑장 추천시스템
Model
Matrix Factorization
▪ 전체 사용자 행동 패턴에 집중
→ 개별 사용자 수준에서 잘 드러나지 않는 행동 패턴을 잡아낼 수 있음
▪ implicit feedback 데이터에 적합
▪ 소비 패턴이 유사한 소비자가 구매한 제품을 추천
▪ 개별 사용자 행동 패턴에 집중
▪ explicit feedback 데이터에 적합
Collaborative Filtering
• 파라미터를 순차적으로 업데이트해야 함 → 학습 시간이 오래 소요됨
• 병렬 처리가 불가능하다는 SGD의 단점을 보완
: 파라미터 중 하나를 고정하고 교대로 계산 & 분산처리 환경에서 빠른 연산 가능
• SGD에 비해 sparse한 데이터에 robust
SGD
ALS
BPR • 점수를 비교하지 않고, 순위를 비교하여 최적화 진행
Matrix Factorization
Optimizer
40
04. 사용자 X 캠핑장
42. 사용자 X 캠핑장 추천시스템
평가 지표
NDCG
• 예측한 추천 목록을 사용자의 선호도 순으로 정렬
• 각 상품의 평점/상호작용 점수와 해당 상품의 순위에 따라 가중치를 부여하여 최종 점수 계산
• 최종 점수가 0~1 사이의 값을 가지도록 정규화
The bigger is better
41
04. 사용자 X 캠핑장
43. 사용자 X 캠핑장 추천시스템
결과 : Collaborative Filtering
0.9616 0.9552 0.9523 0.9526
Best seller Gender Age Gender&Age
Explicit data
▪ Best-seller가 가장 좋은 성능을 보임
▪ Best-seller > 성별 > 성별 & 연령대 > 연령대 순
▪ 성별, 연령대 등 인구통계학적 변수에 따라
캠핑장에 대한 평가가 달라지지 않음
0.9588 0.9595 0.9587 0.9586
Best seller Gender Age Gender&Age
Implicit data
※ 수치 : NDCG
▪ 성별에 따른 추천이 가장 좋은 성능을 보임
▪ 성별 > best-seller > 연령대 > 성별 & 연령대 순
▪ 성별에 따라 캠핑장과의 interaction 정도가 달라짐
42
04. 사용자 X 캠핑장
44. 사용자 X 캠핑장 추천시스템
결과 : Matrix Factorization
※ 수치 : NDCG
0.9442 0.9542 0.9551
SGD ALS BPR
Implicit data
0.912 0.944 0.9616
SGD ALS BPR
Explicit data
▪ 개별 사용자의 행동 패턴 포착 시 성능 개선의 효과가 있는지 확인하기 위해 MF 적용
▪ 세 Optimizer 중 BPR이 가장 좋은 성능을 보임
• 점수보다 순위에 초점을 둘 때 성능이 개선됨
• Explicit data : BPR은 Best-seller와 동일한 성능을 보임
• Implicit data : best-seller 방식보다는 낮은 성능을 보임
* Microsoft의 recommender 라이브러리 사용
43
04. 사용자 X 캠핑장
45. 사용자 X 캠핑장 추천시스템
결과 정리
Model
• Best-seller, MF with BPR의 성능이 가장 높음
• 연산 비용을 고려했을 때,
best-seller 모델이 더 적합하다고 할 수 있음
NDCG
Model
CF MF(BPR)
Data
Explicit
0.9616
(best-seller)
0.9616
interaction
0.9595
(gender)
0.9551
Data
• Collaborative Filtering, Matrix Factorization 모두
Explicit feedback을 사용했을 때 성능이 높음
• Explicit feedback이 사용자의 선호도를 명확하게 표현
44
04. 사용자 X 캠핑장
46. 04
고객
성별, 연령,
북마크 정보 등
캠핑장 위치, 캠핑
이용객 구성 등
※ 회원 프로필, 예약, 리뷰 정보는 2022.10.17 ~ 2023.10.17에 해당하는 데이터만 추출하여 사용
캠핑장
캠핑장 이름,
주소, 타입 등
캠핑장 위치, 캠핑
이용객 구성 등
캠핑장 리뷰, 피드백 등
회원 프로필 예약 정보
캠핑장
프로필 예약 정보
리뷰 정보
Join 기준 컬럼
userId
campId
userId
user
profile
booking
info
camp
profile
review
info
Data 종류
Tableau 대시보드
45
05. 비즈니스
47. ▪ 전반적인 가입 및 예약 추세
▪ 사용자 성별 및 연령대
▪ Active User (p. 23 참고)
• 가입 및 예약 추세
• 평가 점수 비교
분류 고객 수
Not Active 124,906명
Active 79,089명
※ Active User 분포
가입자 및 예약 대시보드
46
05. 비즈니스
48. 반려견 대시보드
▪ 반려견 등록 사용자 성별 및 연령대
▪ 반려견 동반 캠핑 비율
• 증감 추세
• Active User 비교
▪ 반려견 등록 비율
• 증감 추세
• Active User 비교
47
05. 비즈니스
49. 추천시스템
• 사용자의 선호를 보다 명확하게 나타낼 수 있도록 전처리한 implicit feedback 필요
• 컴퓨팅 리소스의 문제로 다양한 모델을 사용하지 못함
결론 및 한계점
사용자 세그먼트 분석
• 군집 분석 방법과 변수들에 따라 결과가 매우 달라지기 때문에 조정하는 데에 어려움이 따름
• 실제 데이터에 대해 뚜렷한 특징을 가진 클러스터를 발견하기 어려움
48
05. 비즈니스
캠핑장 유사도 분석
• 뚜렷한 특색을 발굴하기 위해선 캠핑 속성과 함께 가격, 방문 고객 유형 등 다양한 데이터 통합이 필요
• 유사도 계산 후 검토 방향을 정하는 데에 어려움이 따라 계산 결과에 대한 해석 난항을 겪음
가입건수 예측
• 모형의 초기값 설정이 추후 성능에 영향을 미침
• 데이터, 상황에 따라 적절한 모형이 달라짐
50. 감사합니다
REC | 김민혜 송여진 이은효 임세은
캠핏 데이터를 활용한 캠핑장 추천시스템 구현
― 기업 연계 프로젝트
Q&A
51. Reference
• 캠핑족 '500만' 시대…전국 야영장 3천600개로 사상 최대 . (2024.01.19). https://stock.mk.co.kr/news/view/280207.
• R. Pan et al., "One-Class Collaborative Filtering," 2008 Eighth IEEE International Conference on Data Mining, Pisa, Italy,
2008, pp. 502-511, doi: 10.1109/ICDM.2008.16.
• Steffen Rendle, Christoph Freudenthaler, Zeno Gantner, Lars Schmidt-Thieme. BPR: Bayesian Personalized Ranking
from Implicit Feedback. n.p.: UAI, 2019.
• 이군희, 이층근. (2002). 성장곡선 모형을 이용한 수요예측 기법의 예측타당성 비교 연구. 서강경영논총, 13(2), 195-228.
Reference
50