SlideShare une entreprise Scribd logo
1  sur  43
왕밤빵 조
박기민, 이상운, 차나래, 장선우
고객 행동 데이터 기반 상품 추천
AIFFEL
01. Overview
02. Data EDA
05. Result
목차
04. Model
03. Data Preprocessing
01
고객 정보 및 온라인 행동을 기반으로 구매할 상품 카테고리 Top-k개를 추천
목표
Overview
A 고객의
DATA
Recommender
engine
추천된 아이템
01
고객 정보 및 온라인 행동을 기반으로 구매할 상품 카테고리 Top-k개를 추천
목표
Overview
A 고객의
DATA
Recommender
engine
추천된 아이템
=> 고객의 특성과 행동을 잘 반영한 데이터
01
고객 정보 및 온라인 행동을 기반으로 구매할 상품 카테고리 Top-k개를 추천
목표
Overview
A 고객의
DATA
Recommender
engine
추천된 아이템
=> 고객의 특성과 행동을 잘 반영한 데이터
=> 고객이 선호하는 제품을 잘 추천하는 모델
외부 데이터
LPOINT 데이터
01
Structure
Overview
온라인 행동 데이터
Input Data
거래 정보 데이터 고객 정보 데이터 상품 분류 정보 기상청 데이터
생성된 데이터
롯데홈쇼핑 크롤링
변수 생성: 누적행동 데이터, week day, 최근 활동 시간, 최근 서핑 속도...
DATA : 온라인 행동, 거래 정보, 고객 정보, 날짜 정보,
검색어...
LABEL : 카테고리 (구매상품, 검색상품)
Train Dataset
Validation Dataset
Test Dataset
Wide & Deep Model
Output
카테고리별 추천 점수 Top-k 추천 카테고리
평가지표
MAP Entropy-Diversity
고객 ID
거래 ID
날짜
고객 ID
거래 ID
구매상
품
구매상
품
날짜
KEY :
훈련
예측
평가 개선
01
L.POINT 데이터 파일 데이터 정보 (Columns name)
온라인 행동 데이터
거래 정보 데이터
고객 정보 데이터
상품 분류 정보
고객
ID
세션
ID
날짜 시각
세션 내
해당 행동
순서
행동
행동
소요시
간
거래 ID 판매처 검색어
총 조회
페이지 수
총 세션에
머무른 시간
고객
ID
거래
ID
날짜 시각 거래 내 해당 상품 구매 순서 판매처 구매 상품 코드 상품 금액 구매 개수
고객
ID
성별 나이
대분류 중분류 소분류 상품 코드 (소분류)
Raw 데이터
Label 생성
외부 데이터 : 일별 날씨 데이터 (온도, 습도) - 기상청
수집 데이터 : (1) 롯데홈쇼핑 크롤링 데이터 : 검색어에 해당하는 카테고리명 수집
(2) 홈쇼핑 크롤링 데이터 : 검색어(한글)와 중분류명(영어) 매칭
L.POINT 데이터 : L.POINT(롯데포인트)에서 제공한 온라인 쇼핑 구매 데이터
Overview
한 행마다 추천함
- 고객 ID, 거래 ID 등 개인을 특정 짓는 정보를
제외함
- 현재 생성된 행동 및 고객 특징 등을 활용하여
추천함
- 따라서, 처음 방문한 고객에게도 추천 가능
01
모델 Input & Output
Input Data
[Data]
[Label]
Wide & Deep
Model
Input
Data
입력 출력
One example
as test data
추천 결과
Overview
02
업종 단위별 온라인 행동 분포
◾ A03의 경우 결제 시도(27.7%)가 가장 많고 장바구니 추가(24.8%), 검색(17.0%)이 뒤따르며 대체로 고른 분포
◾ A02의 경우 세부정보(50.8%)가 과반수 넘는 분포이며, 목록이 16.4%, 결제 시도가 15.8%로 뒤따름
◾ A01의 경우 검색(94.2%)과 구매(5.8%)만 존재
Data EDA
02
업종 단위별 기기 유형 분포
◾ A03의 경우 unknown 데이터(78.4%)가 주로 분포
◾ A02의 경우 mobile_app(53.9%) 이 과반수 이상 분포, mobile_web이 34.4% 분포, 나머지 11.6%는 PC 가 차지
◾ A01의 경우 mobile_app 이 58.4%로 과반수 이상 분포, mobile_web과 PC가 각각 22.3%, 19.3%로 비슷하게 분포
Data EDA
02
업종 단위별 유입 채널 분포
◾ A01와 A02의 경우 결측치(Unknown)가 과반수 넘는 분포.
◾ A03의 DIRECT(72.9%)과 PUSH(22.4%) 존재
Data EDA
02
고객 성별 및 나이 분포
◾ 여성 고객(84.5%) 데이터가 대다수 차지
◾ 40대(40.4%) 및 30대(35.2%)가 대다수 차지
Data EDA
온라인 행동 정보와 연관 상품명 Matching
◾ 기존 문제점 : 기존 온라인 행동데이터에는 관련 상품에 대한 정보가 없으며, '구매' 행동(=6)에 대해서만
거래ID(trans_id)를 통해 구매 상품을 알수 있음
◾ 해결 방안 : 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추
03 Data Preprocessing
action_type : 온라인 행동
ex) 0 = ‘검색', 1 = '제품 목록 보기',
… , 5='결재시도', 6='구매 완료'
clac_nm2 : 상품명(중분류)
온라인 행동 정보와 연관 상품명 Matching
● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추
○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출
○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추
03 Data Preprocessing
온라인 행동 정보와 연관 상품명 Matching
● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추
○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출
○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추
03 Data Preprocessing
온라인 행동 정보와 연관 상품명 Matching
● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추
○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출
○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추
03 Data Preprocessing
온라인 행동 정보와 연관 상품명 Matching
● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추
○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출
○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추
03 Data Preprocessing
온라인 행동 정보와 연관 상품명 Matching
● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추
○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출
○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추
03 Data Preprocessing
온라인 행동 정보와 연관 상품명 Matching
2. 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추
2-1. 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출
2-2. 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추
카테고리 상 품
즉석/가공
식품
Chilled
Snacks
즉석/가공
식품
Chilled
Snacks
즉석/가공
식품
Hot Snacks
즉석/가공
식품
Bakery
03 Data Preprocessing
검색 키워드를 활용한 상품 라벨링
◾ 검색 키워드 연관 상품을 활용한 라벨링
● 구매 상품 수 : 약 9만 row
● 검색 키워드 연관 상품 + 구매 상품 수 : 약 76만 row
=> Labeling Data 8배 증가
고 객 시 간 행 동 검 색
구매
카테고
리
홍길동 16:01 검색 모자 NaN
홍길동 16:02 검색 모자 NaN
홍길동 16:02 구매 NaN 식품
홍길동 16:03 구매 NaN 의류
고 객 시 간 행 동 검 색
검색어
카테고
리
구매
카테고
리
홍길
동
16:01 검색 모자 의류 NaN
홍길
동
16:02 검색 모자 의류 NaN
홍길
동
16:02 구매 NaN NaN 수박
홍길
동
16:03 구매 NaN NaN 수박
검색어
카테고
리
구매
카테고
리
Label
의류 NaN 의류
의류 NaN 의류
NaN 수박 수박
NaN 수박 수박
03 Data Preprocessing
유입채널 결측치 처리
2. 매장별 유입채널을 기준으로 Unkown 데이터를 확률로 채움
2-1. A03과 A01의 유입채널 그래프가 비슷한 것으로 보아서 유의미한 결과라고 판단.
2-2. 결측치를 처리함에 따라 모델 성능 향상
03 Data Preprocessing
변수 생성1. 누적행동 데이터
◾ 'action_type'을 활용하여 누적 행동 정보 생성
⮚ 고객의 과거 이력을 반영
⮚ 고객 ID, 세션 ID를 기준으로 누적
세션 변경시 초기화
03 Data Preprocessing
생성 근거. 누적행동 데이터
03 Data Preprocessing
검색 활동 구매 시도 활동
-> 누적 활동 시간에 따라 구매 품목과의 관계가 다르게 나타남.
변수 생성2. weekday, holiday
◾ 날짜 데이터를 활용하여 `weekday` 변수 생성
⮚ `0:월 / 1:화 / 2:수 / 3:목 / 4:금 / 5:토 / 6:일` 로
맵핑
⮚ 주말, 광복절, 추석은 `holiday`로 생성
변수 생성3. hour
◾ `hit_tm`을 통해 'hour' 변수 추가
⮚ 00시: 00분에서 00분을 제거
⮚ 이후 외부데이터 추가를 위한 작업
(수)
(일)
03 Data Preprocessing
변수 생성4. 최근 행동 데이터
◾최근 서핑 속도를 나타내는 `latest_pv_hr`
⮚ `세션내총페이지뷰수/세션내총시간(ms)`
⮚ 단위 페이지당 머무른 시간을 나타내는
서핑속도
◾ 최근 활동 시간을 나타내는 `latest_act_hr`
⮚ 고객의 최근 활동 시간을 반영한 변수
⮚ 최근 세션 기준으로 반영
sess_id 기준으로 최근 활동 시간 적용
(57 / 786 = 0.72519)
03 Data Preprocessing
생성 근거. 페이지 서핑속도
03 Data Preprocessing
남성 옷, 식기
생성 근거. 구매 활동 시간
선물 카드, 헬스
-> 페이지 서핑 속도와 활동 시간에 따라 구매 품목이 다르게
나타남.
변수 생성5. 선호 채널과 기기
◾ 선호하는 유입 채널과 사용 기기 'prefer_dvc_trfc'
⮚ 기기와 유입 채널을 하나로 묶음
⮚ 같은 기기라도 유입채널에 따라서 선호 상품이 다름
03 Data Preprocessing
외부 데이터. 기상청 데이터
◾ 기상청 데이터를 활용하여 `기온`, `습도`, `강수형태`, `강수량` 변수 생성
⮚ 날짜별 기상 상황을 데이터에 반영
⮚ 날짜와 시간을 기준으로 정렬
강수형태(PTY) 코드 : 없음(0), 비(1), 비/눈(2), 눈(3)
요소 단위 변수 이름
기온 0.1 C temp
습도 1 % hum
강수형태 코드값 pty
강수량 0.1mm r06
(출처 : 기상청 동네예보 자료 설명)
03 Data Preprocessing
생성 근거
03 Data Preprocessing
아이스크림, 우유
-> 비교 결과 기온이 높을 수록 아이스크림을 구매할 확률이 높음
User2Vec (User ID Embedding vector)
User에서 나온 Item들은 각 User ID와 공유되기 때문에, User ID Vector는 훈련시, 각
User들의 고유한 ID를 잡아주는 Memory(중심축)역할을 할 수 있음.
쉽게 말하자면, User ID를 기준으로 구매한 아이템들의 Vector들이 모여있다고 할 수 있습니다.
03 Data Preprocessing
유의미한 feature 선택
03 Data Preprocessing
LGBM 모델을 통해 feature의 중요도
파악
Positive 변수
1. 최근 행동 데이터
2. 기상청 데이터 (기온, 습도)
3. User2Vec 변수
Negative 변수
1. 누적 행동 데이터
2. 공휴일 변수
3. 기상청 데이터(강수량, 강수 형태)
Wide & Deep Learning for Recommender Systems
◾ 구글 플레이스토어에서 실시간 모바일 앱 추천시스템에 사용되는 모델
● Wide model과 Deep Model이 결합된 형태로 구성
● 추천시스템이 가져야할 특성인 Memorizarion과 Generalization이 모두 반영됨
04 Model
Wide & Deep Learning for Recommender Systems
◾ Wide Model
● Categorical Feature에 대하여 Cross Product 수행하여 새로운 Feature 생성
● Linear Model 형태의 Wide Model에 적용
연령대
성 별
접속 기기
연령대
성 별
접속 기기
성별 & 연령대
연령대 & 접속기기
성별 & 접속기기
Categorical Feature Wide Model
Encoding &
Cross Product
Encoding
wide Input Data
04 Model
Wide & Deep Learning for Recommender Systems
◾ Deep Model
● Continuous Feature와 Categorical Feature를 Embedding 하여 복합 적용
● Deep Learning을 활용하여 적은 Feature Engineering으로 Generalization 수행
04 Model
Wide & Deep Learning for Recommender Systems
◾ System Overview
● 사용자 접속 시, Query를 발생하여 후보군 추출
● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적
● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용
04 Model
Wide & Deep Learning for Recommender Systems
◾ System Overview
● 사용자 접속 시, Query를 발생하여 후보군 추출
● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적
● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용
사용자 접속 시,
Query 발생
04 Model
Wide & Deep Learning for Recommender Systems
◾ System Overview
● 사용자 접속 시, Query를 발생하여 후보군 추출
● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적
● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용
사용자 접속 시,
Query 발생
후보군 검색
04 Model
Wide & Deep Learning for Recommender Systems
◾ System Overview
● 사용자 접속 시, Query를 발생하여 후보군 추출
● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적
● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용
사용자 접속 시,
Query 발생
후보군 검색
Logs 데이터
축적
04 Model
Wide & Deep Learning for Recommender Systems
◾ System Overview
● 사용자 접속 시, Query를 발생하여 후보군 추출
● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적
● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용
사용자 접속 시,
Query 발생
후보군 검색
Logs 데이터
축적
Logs 데이터를 입력받아
Items Ranking
04 Model
실제 구매한 상품들
학습 데이터에는 포함하지 않음
모든 상품에 대한 추천 점수
shape = (6155, 2)
shape = (6155, 288)
05 Result
◾ 사용 이유 : 추천 점수가 높은 순서로 top-k 개의 아이템을 추천할 때, 상위 추천 아이템을 구매한 것에 더
가중치를 주어서 추천 순서를 차등적으로 평가함
MAP (Mean Average Precision)
첫 번째 추천 상품 두 번째 추천 상품 세 번째 추천 상품 네 번째 추천 상품 다섯 번째 추천 상품
Body Care Yogurt Other Furniture korean Traditional Snacks Other Pets
실제 구매 상품:
Processed Dairy Products, Korean Traditional Snacks, Chilled Instant Foods, Leaf Vegetables, Fruit Vegetables, Mushrooms,
Dessert, Yogurt, Tofu / Bean Sprouts
모델 추천 상품:
AP:
비
교
MAP
05 Result
◾ 사용 이유 : 모든 사용자에게 비슷한 아이템을 추천하지 않고, 개인별 추천 아이템들이 다양하게
추천하였는지 평가함
Entropy-Diversity
모두에게 똑같은 상품들을 추천했을 때, Entropy-Diversity = 0
Entropy-Diversity:
참
고
05 Result
실제 결과
3개 추천했을 때 5개 추천했을 때 7개 추천했을 때 10개 추천했을 때
05 Result

Contenu connexe

Similaire à Aiffel 해커톤 최종 발표

[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저Amazon Web Services Korea
 
AWS Finance Symposum_AWS 로 빅데이터 분석을 쉽고 간단하게 시작하기
AWS Finance Symposum_AWS 로 빅데이터 분석을 쉽고 간단하게 시작하기AWS Finance Symposum_AWS 로 빅데이터 분석을 쉽고 간단하게 시작하기
AWS Finance Symposum_AWS 로 빅데이터 분석을 쉽고 간단하게 시작하기Amazon Web Services Korea
 
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)Amazon Web Services Korea
 
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...Amazon Web Services Korea
 
How to Make Money from Data - Global Cases
How to Make Money from Data - Global CasesHow to Make Money from Data - Global Cases
How to Make Money from Data - Global CasesDataya Nolja
 
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)Treasure Data, Inc.
 
UNUS BEANs 소개서 20141015
UNUS BEANs 소개서 20141015UNUS BEANs 소개서 20141015
UNUS BEANs 소개서 20141015YoungMin Jeon
 
취향기반의 개인화 서비스를 통한 이커머스 혁신 – 소성운 ZIGZAG 데이터사이언티스트, 강상원 마이셀럽스 대표:: AWS Cloud We...
취향기반의 개인화 서비스를 통한 이커머스 혁신 – 소성운 ZIGZAG 데이터사이언티스트, 강상원 마이셀럽스 대표:: AWS Cloud We...취향기반의 개인화 서비스를 통한 이커머스 혁신 – 소성운 ZIGZAG 데이터사이언티스트, 강상원 마이셀럽스 대표:: AWS Cloud We...
취향기반의 개인화 서비스를 통한 이커머스 혁신 – 소성운 ZIGZAG 데이터사이언티스트, 강상원 마이셀럽스 대표:: AWS Cloud We...Amazon Web Services Korea
 
레코픽 설명회 15회-개인화 추천(with DMC미디어)
레코픽 설명회 15회-개인화 추천(with DMC미디어)레코픽 설명회 15회-개인화 추천(with DMC미디어)
레코픽 설명회 15회-개인화 추천(with DMC미디어)recopick
 
[비즈스프링] BizSpring Insight™ - 엔터프라이즈 웹로그분석 솔루션
[비즈스프링] BizSpring Insight™ - 엔터프라이즈 웹로그분석 솔루션[비즈스프링] BizSpring Insight™ - 엔터프라이즈 웹로그분석 솔루션
[비즈스프링] BizSpring Insight™ - 엔터프라이즈 웹로그분석 솔루션BizSpring Inc.
 
구매 기록 데이터 기반 솔루션 제공
구매 기록 데이터 기반 솔루션 제공구매 기록 데이터 기반 솔루션 제공
구매 기록 데이터 기반 솔루션 제공정재 전
 
시스템종합설계2조 큐피트
시스템종합설계2조 큐피트시스템종합설계2조 큐피트
시스템종합설계2조 큐피트다정 임
 
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture상래 노
 
서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석YOO SE KYUN
 
데이터 분석 동향과 비즈스프링이 제공하는 데이터
데이터 분석 동향과 비즈스프링이 제공하는 데이터데이터 분석 동향과 비즈스프링이 제공하는 데이터
데이터 분석 동향과 비즈스프링이 제공하는 데이터BizSpring Inc.
 
AD fresca 서비스 소개서
AD fresca 서비스 소개서AD fresca 서비스 소개서
AD fresca 서비스 소개서Uichong Dano Lee
 
빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)동학 노
 
[BizSpring] Data Consulting_사례집.pdf
[BizSpring] Data Consulting_사례집.pdf[BizSpring] Data Consulting_사례집.pdf
[BizSpring] Data Consulting_사례집.pdfBizSpring Inc.
 

Similaire à Aiffel 해커톤 최종 발표 (20)

[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
 
AWS Finance Symposum_AWS 로 빅데이터 분석을 쉽고 간단하게 시작하기
AWS Finance Symposum_AWS 로 빅데이터 분석을 쉽고 간단하게 시작하기AWS Finance Symposum_AWS 로 빅데이터 분석을 쉽고 간단하게 시작하기
AWS Finance Symposum_AWS 로 빅데이터 분석을 쉽고 간단하게 시작하기
 
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
 
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...
 
How to Make Money from Data - Global Cases
How to Make Money from Data - Global CasesHow to Make Money from Data - Global Cases
How to Make Money from Data - Global Cases
 
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
 
UNUS BEANs 소개서 20141015
UNUS BEANs 소개서 20141015UNUS BEANs 소개서 20141015
UNUS BEANs 소개서 20141015
 
취향기반의 개인화 서비스를 통한 이커머스 혁신 – 소성운 ZIGZAG 데이터사이언티스트, 강상원 마이셀럽스 대표:: AWS Cloud We...
취향기반의 개인화 서비스를 통한 이커머스 혁신 – 소성운 ZIGZAG 데이터사이언티스트, 강상원 마이셀럽스 대표:: AWS Cloud We...취향기반의 개인화 서비스를 통한 이커머스 혁신 – 소성운 ZIGZAG 데이터사이언티스트, 강상원 마이셀럽스 대표:: AWS Cloud We...
취향기반의 개인화 서비스를 통한 이커머스 혁신 – 소성운 ZIGZAG 데이터사이언티스트, 강상원 마이셀럽스 대표:: AWS Cloud We...
 
레코픽 설명회 15회-개인화 추천(with DMC미디어)
레코픽 설명회 15회-개인화 추천(with DMC미디어)레코픽 설명회 15회-개인화 추천(with DMC미디어)
레코픽 설명회 15회-개인화 추천(with DMC미디어)
 
[비즈스프링] BizSpring Insight™ - 엔터프라이즈 웹로그분석 솔루션
[비즈스프링] BizSpring Insight™ - 엔터프라이즈 웹로그분석 솔루션[비즈스프링] BizSpring Insight™ - 엔터프라이즈 웹로그분석 솔루션
[비즈스프링] BizSpring Insight™ - 엔터프라이즈 웹로그분석 솔루션
 
구매 기록 데이터 기반 솔루션 제공
구매 기록 데이터 기반 솔루션 제공구매 기록 데이터 기반 솔루션 제공
구매 기록 데이터 기반 솔루션 제공
 
수정수정
수정수정수정수정
수정수정
 
시스템종합설계2조 큐피트
시스템종합설계2조 큐피트시스템종합설계2조 큐피트
시스템종합설계2조 큐피트
 
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
 
20140320_private
20140320_private20140320_private
20140320_private
 
서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석
 
데이터 분석 동향과 비즈스프링이 제공하는 데이터
데이터 분석 동향과 비즈스프링이 제공하는 데이터데이터 분석 동향과 비즈스프링이 제공하는 데이터
데이터 분석 동향과 비즈스프링이 제공하는 데이터
 
AD fresca 서비스 소개서
AD fresca 서비스 소개서AD fresca 서비스 소개서
AD fresca 서비스 소개서
 
빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)
 
[BizSpring] Data Consulting_사례집.pdf
[BizSpring] Data Consulting_사례집.pdf[BizSpring] Data Consulting_사례집.pdf
[BizSpring] Data Consulting_사례집.pdf
 

Aiffel 해커톤 최종 발표

  • 1. 왕밤빵 조 박기민, 이상운, 차나래, 장선우 고객 행동 데이터 기반 상품 추천 AIFFEL
  • 2. 01. Overview 02. Data EDA 05. Result 목차 04. Model 03. Data Preprocessing
  • 3. 01 고객 정보 및 온라인 행동을 기반으로 구매할 상품 카테고리 Top-k개를 추천 목표 Overview A 고객의 DATA Recommender engine 추천된 아이템
  • 4. 01 고객 정보 및 온라인 행동을 기반으로 구매할 상품 카테고리 Top-k개를 추천 목표 Overview A 고객의 DATA Recommender engine 추천된 아이템 => 고객의 특성과 행동을 잘 반영한 데이터
  • 5. 01 고객 정보 및 온라인 행동을 기반으로 구매할 상품 카테고리 Top-k개를 추천 목표 Overview A 고객의 DATA Recommender engine 추천된 아이템 => 고객의 특성과 행동을 잘 반영한 데이터 => 고객이 선호하는 제품을 잘 추천하는 모델
  • 6. 외부 데이터 LPOINT 데이터 01 Structure Overview 온라인 행동 데이터 Input Data 거래 정보 데이터 고객 정보 데이터 상품 분류 정보 기상청 데이터 생성된 데이터 롯데홈쇼핑 크롤링 변수 생성: 누적행동 데이터, week day, 최근 활동 시간, 최근 서핑 속도... DATA : 온라인 행동, 거래 정보, 고객 정보, 날짜 정보, 검색어... LABEL : 카테고리 (구매상품, 검색상품) Train Dataset Validation Dataset Test Dataset Wide & Deep Model Output 카테고리별 추천 점수 Top-k 추천 카테고리 평가지표 MAP Entropy-Diversity 고객 ID 거래 ID 날짜 고객 ID 거래 ID 구매상 품 구매상 품 날짜 KEY : 훈련 예측 평가 개선
  • 7. 01 L.POINT 데이터 파일 데이터 정보 (Columns name) 온라인 행동 데이터 거래 정보 데이터 고객 정보 데이터 상품 분류 정보 고객 ID 세션 ID 날짜 시각 세션 내 해당 행동 순서 행동 행동 소요시 간 거래 ID 판매처 검색어 총 조회 페이지 수 총 세션에 머무른 시간 고객 ID 거래 ID 날짜 시각 거래 내 해당 상품 구매 순서 판매처 구매 상품 코드 상품 금액 구매 개수 고객 ID 성별 나이 대분류 중분류 소분류 상품 코드 (소분류) Raw 데이터 Label 생성 외부 데이터 : 일별 날씨 데이터 (온도, 습도) - 기상청 수집 데이터 : (1) 롯데홈쇼핑 크롤링 데이터 : 검색어에 해당하는 카테고리명 수집 (2) 홈쇼핑 크롤링 데이터 : 검색어(한글)와 중분류명(영어) 매칭 L.POINT 데이터 : L.POINT(롯데포인트)에서 제공한 온라인 쇼핑 구매 데이터 Overview
  • 8. 한 행마다 추천함 - 고객 ID, 거래 ID 등 개인을 특정 짓는 정보를 제외함 - 현재 생성된 행동 및 고객 특징 등을 활용하여 추천함 - 따라서, 처음 방문한 고객에게도 추천 가능 01 모델 Input & Output Input Data [Data] [Label] Wide & Deep Model Input Data 입력 출력 One example as test data 추천 결과 Overview
  • 9. 02 업종 단위별 온라인 행동 분포 ◾ A03의 경우 결제 시도(27.7%)가 가장 많고 장바구니 추가(24.8%), 검색(17.0%)이 뒤따르며 대체로 고른 분포 ◾ A02의 경우 세부정보(50.8%)가 과반수 넘는 분포이며, 목록이 16.4%, 결제 시도가 15.8%로 뒤따름 ◾ A01의 경우 검색(94.2%)과 구매(5.8%)만 존재 Data EDA
  • 10. 02 업종 단위별 기기 유형 분포 ◾ A03의 경우 unknown 데이터(78.4%)가 주로 분포 ◾ A02의 경우 mobile_app(53.9%) 이 과반수 이상 분포, mobile_web이 34.4% 분포, 나머지 11.6%는 PC 가 차지 ◾ A01의 경우 mobile_app 이 58.4%로 과반수 이상 분포, mobile_web과 PC가 각각 22.3%, 19.3%로 비슷하게 분포 Data EDA
  • 11. 02 업종 단위별 유입 채널 분포 ◾ A01와 A02의 경우 결측치(Unknown)가 과반수 넘는 분포. ◾ A03의 DIRECT(72.9%)과 PUSH(22.4%) 존재 Data EDA
  • 12. 02 고객 성별 및 나이 분포 ◾ 여성 고객(84.5%) 데이터가 대다수 차지 ◾ 40대(40.4%) 및 30대(35.2%)가 대다수 차지 Data EDA
  • 13. 온라인 행동 정보와 연관 상품명 Matching ◾ 기존 문제점 : 기존 온라인 행동데이터에는 관련 상품에 대한 정보가 없으며, '구매' 행동(=6)에 대해서만 거래ID(trans_id)를 통해 구매 상품을 알수 있음 ◾ 해결 방안 : 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추 03 Data Preprocessing action_type : 온라인 행동 ex) 0 = ‘검색', 1 = '제품 목록 보기', … , 5='결재시도', 6='구매 완료' clac_nm2 : 상품명(중분류)
  • 14. 온라인 행동 정보와 연관 상품명 Matching ● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추 ○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출 ○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추 03 Data Preprocessing
  • 15. 온라인 행동 정보와 연관 상품명 Matching ● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추 ○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출 ○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추 03 Data Preprocessing
  • 16. 온라인 행동 정보와 연관 상품명 Matching ● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추 ○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출 ○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추 03 Data Preprocessing
  • 17. 온라인 행동 정보와 연관 상품명 Matching ● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추 ○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출 ○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추 03 Data Preprocessing
  • 18. 온라인 행동 정보와 연관 상품명 Matching ● 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추 ○ 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출 ○ 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추 03 Data Preprocessing
  • 19. 온라인 행동 정보와 연관 상품명 Matching 2. 온라인 행동 데이터의 검색 키워드를 통해 상품 분류를 예측하여 상품명을 유추 2-1. 웹 크롤링을 활용하여 검색 키워드를 롯데 홈쇼핑에 검색한 후, 상품 카테고리 추출 2-2. 추출한 상품 카테고리에 속한 상품을 구매 비율에 맞추어 연관 상품명 유추 카테고리 상 품 즉석/가공 식품 Chilled Snacks 즉석/가공 식품 Chilled Snacks 즉석/가공 식품 Hot Snacks 즉석/가공 식품 Bakery 03 Data Preprocessing
  • 20. 검색 키워드를 활용한 상품 라벨링 ◾ 검색 키워드 연관 상품을 활용한 라벨링 ● 구매 상품 수 : 약 9만 row ● 검색 키워드 연관 상품 + 구매 상품 수 : 약 76만 row => Labeling Data 8배 증가 고 객 시 간 행 동 검 색 구매 카테고 리 홍길동 16:01 검색 모자 NaN 홍길동 16:02 검색 모자 NaN 홍길동 16:02 구매 NaN 식품 홍길동 16:03 구매 NaN 의류 고 객 시 간 행 동 검 색 검색어 카테고 리 구매 카테고 리 홍길 동 16:01 검색 모자 의류 NaN 홍길 동 16:02 검색 모자 의류 NaN 홍길 동 16:02 구매 NaN NaN 수박 홍길 동 16:03 구매 NaN NaN 수박 검색어 카테고 리 구매 카테고 리 Label 의류 NaN 의류 의류 NaN 의류 NaN 수박 수박 NaN 수박 수박 03 Data Preprocessing
  • 21. 유입채널 결측치 처리 2. 매장별 유입채널을 기준으로 Unkown 데이터를 확률로 채움 2-1. A03과 A01의 유입채널 그래프가 비슷한 것으로 보아서 유의미한 결과라고 판단. 2-2. 결측치를 처리함에 따라 모델 성능 향상 03 Data Preprocessing
  • 22. 변수 생성1. 누적행동 데이터 ◾ 'action_type'을 활용하여 누적 행동 정보 생성 ⮚ 고객의 과거 이력을 반영 ⮚ 고객 ID, 세션 ID를 기준으로 누적 세션 변경시 초기화 03 Data Preprocessing
  • 23. 생성 근거. 누적행동 데이터 03 Data Preprocessing 검색 활동 구매 시도 활동 -> 누적 활동 시간에 따라 구매 품목과의 관계가 다르게 나타남.
  • 24. 변수 생성2. weekday, holiday ◾ 날짜 데이터를 활용하여 `weekday` 변수 생성 ⮚ `0:월 / 1:화 / 2:수 / 3:목 / 4:금 / 5:토 / 6:일` 로 맵핑 ⮚ 주말, 광복절, 추석은 `holiday`로 생성 변수 생성3. hour ◾ `hit_tm`을 통해 'hour' 변수 추가 ⮚ 00시: 00분에서 00분을 제거 ⮚ 이후 외부데이터 추가를 위한 작업 (수) (일) 03 Data Preprocessing
  • 25. 변수 생성4. 최근 행동 데이터 ◾최근 서핑 속도를 나타내는 `latest_pv_hr` ⮚ `세션내총페이지뷰수/세션내총시간(ms)` ⮚ 단위 페이지당 머무른 시간을 나타내는 서핑속도 ◾ 최근 활동 시간을 나타내는 `latest_act_hr` ⮚ 고객의 최근 활동 시간을 반영한 변수 ⮚ 최근 세션 기준으로 반영 sess_id 기준으로 최근 활동 시간 적용 (57 / 786 = 0.72519) 03 Data Preprocessing
  • 26. 생성 근거. 페이지 서핑속도 03 Data Preprocessing 남성 옷, 식기 생성 근거. 구매 활동 시간 선물 카드, 헬스 -> 페이지 서핑 속도와 활동 시간에 따라 구매 품목이 다르게 나타남.
  • 27. 변수 생성5. 선호 채널과 기기 ◾ 선호하는 유입 채널과 사용 기기 'prefer_dvc_trfc' ⮚ 기기와 유입 채널을 하나로 묶음 ⮚ 같은 기기라도 유입채널에 따라서 선호 상품이 다름 03 Data Preprocessing
  • 28. 외부 데이터. 기상청 데이터 ◾ 기상청 데이터를 활용하여 `기온`, `습도`, `강수형태`, `강수량` 변수 생성 ⮚ 날짜별 기상 상황을 데이터에 반영 ⮚ 날짜와 시간을 기준으로 정렬 강수형태(PTY) 코드 : 없음(0), 비(1), 비/눈(2), 눈(3) 요소 단위 변수 이름 기온 0.1 C temp 습도 1 % hum 강수형태 코드값 pty 강수량 0.1mm r06 (출처 : 기상청 동네예보 자료 설명) 03 Data Preprocessing
  • 29. 생성 근거 03 Data Preprocessing 아이스크림, 우유 -> 비교 결과 기온이 높을 수록 아이스크림을 구매할 확률이 높음
  • 30. User2Vec (User ID Embedding vector) User에서 나온 Item들은 각 User ID와 공유되기 때문에, User ID Vector는 훈련시, 각 User들의 고유한 ID를 잡아주는 Memory(중심축)역할을 할 수 있음. 쉽게 말하자면, User ID를 기준으로 구매한 아이템들의 Vector들이 모여있다고 할 수 있습니다. 03 Data Preprocessing
  • 31. 유의미한 feature 선택 03 Data Preprocessing LGBM 모델을 통해 feature의 중요도 파악 Positive 변수 1. 최근 행동 데이터 2. 기상청 데이터 (기온, 습도) 3. User2Vec 변수 Negative 변수 1. 누적 행동 데이터 2. 공휴일 변수 3. 기상청 데이터(강수량, 강수 형태)
  • 32. Wide & Deep Learning for Recommender Systems ◾ 구글 플레이스토어에서 실시간 모바일 앱 추천시스템에 사용되는 모델 ● Wide model과 Deep Model이 결합된 형태로 구성 ● 추천시스템이 가져야할 특성인 Memorizarion과 Generalization이 모두 반영됨 04 Model
  • 33. Wide & Deep Learning for Recommender Systems ◾ Wide Model ● Categorical Feature에 대하여 Cross Product 수행하여 새로운 Feature 생성 ● Linear Model 형태의 Wide Model에 적용 연령대 성 별 접속 기기 연령대 성 별 접속 기기 성별 & 연령대 연령대 & 접속기기 성별 & 접속기기 Categorical Feature Wide Model Encoding & Cross Product Encoding wide Input Data 04 Model
  • 34. Wide & Deep Learning for Recommender Systems ◾ Deep Model ● Continuous Feature와 Categorical Feature를 Embedding 하여 복합 적용 ● Deep Learning을 활용하여 적은 Feature Engineering으로 Generalization 수행 04 Model
  • 35. Wide & Deep Learning for Recommender Systems ◾ System Overview ● 사용자 접속 시, Query를 발생하여 후보군 추출 ● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적 ● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용 04 Model
  • 36. Wide & Deep Learning for Recommender Systems ◾ System Overview ● 사용자 접속 시, Query를 발생하여 후보군 추출 ● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적 ● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용 사용자 접속 시, Query 발생 04 Model
  • 37. Wide & Deep Learning for Recommender Systems ◾ System Overview ● 사용자 접속 시, Query를 발생하여 후보군 추출 ● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적 ● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용 사용자 접속 시, Query 발생 후보군 검색 04 Model
  • 38. Wide & Deep Learning for Recommender Systems ◾ System Overview ● 사용자 접속 시, Query를 발생하여 후보군 추출 ● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적 ● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용 사용자 접속 시, Query 발생 후보군 검색 Logs 데이터 축적 04 Model
  • 39. Wide & Deep Learning for Recommender Systems ◾ System Overview ● 사용자 접속 시, Query를 발생하여 후보군 추출 ● 사용자 데이터(Query), 상품 데이터(Items), 사용자 행동(User Action)는 지속적으로 Logs 에 축적 ● Logs에 축적된 데이터는 추천 Model의 입력 데이터로 사용 사용자 접속 시, Query 발생 후보군 검색 Logs 데이터 축적 Logs 데이터를 입력받아 Items Ranking 04 Model
  • 40. 실제 구매한 상품들 학습 데이터에는 포함하지 않음 모든 상품에 대한 추천 점수 shape = (6155, 2) shape = (6155, 288) 05 Result
  • 41. ◾ 사용 이유 : 추천 점수가 높은 순서로 top-k 개의 아이템을 추천할 때, 상위 추천 아이템을 구매한 것에 더 가중치를 주어서 추천 순서를 차등적으로 평가함 MAP (Mean Average Precision) 첫 번째 추천 상품 두 번째 추천 상품 세 번째 추천 상품 네 번째 추천 상품 다섯 번째 추천 상품 Body Care Yogurt Other Furniture korean Traditional Snacks Other Pets 실제 구매 상품: Processed Dairy Products, Korean Traditional Snacks, Chilled Instant Foods, Leaf Vegetables, Fruit Vegetables, Mushrooms, Dessert, Yogurt, Tofu / Bean Sprouts 모델 추천 상품: AP: 비 교 MAP 05 Result
  • 42. ◾ 사용 이유 : 모든 사용자에게 비슷한 아이템을 추천하지 않고, 개인별 추천 아이템들이 다양하게 추천하였는지 평가함 Entropy-Diversity 모두에게 똑같은 상품들을 추천했을 때, Entropy-Diversity = 0 Entropy-Diversity: 참 고 05 Result
  • 43. 실제 결과 3개 추천했을 때 5개 추천했을 때 7개 추천했을 때 10개 추천했을 때 05 Result