레이블이 추천인 게시물을 표시합니다. 모든 게시물 표시
레이블이 추천인 게시물을 표시합니다. 모든 게시물 표시

2016년 11월 3일 목요일

구글 애널리틱스 전자상거래 - 관련 상품 가져오기

GA 전자상거래 기능인 "관련 상품" 기능을 알아 본다.
아마존 성공 사례인 상품 기반 추천의 “같이 구매한 상품들”과 유사한 기능이다.

목차
  • GA에서 기능 활성화
  • API로 데이터 가져오기
    • UI 조회 도구
    • 파이썬 도구
  • 샘플 데이터

1. GA에서 기능 활성화 하기
“관리” -> “보기” -> “전자상거래  설정” 의 관련 상품을 체크한다.


2. API 로 데이터 가져오기

가. UI 조회 도구로 확인 및 가져오기
UI 조회 도구 <- 클릭
https://ga-dev-tools.appspot.com/query-explorer/?
dimensions=ga:queryProductId,ga:relatedProductId
&metrics=ga:correlationScore,ga:queryProductQuantity,ga:relatedProductQuantity
&filters=ga:queryProductId==A
**
GA 계정으로 로그인 후에 원하는 보기를 선택한다.

나. 파이썬 도구로 확인하기
import pandas.io.ga as ga
df = ga.read_ga(
    account_id=“<계정 ID>“,
    profile_id=“<보기 ID>",
    property_id=“<속성 ID>”,
    metrics=['correlationScore','queryProductQuantity','relatedProductQuantity'],
    dimensions=['queryproductid','relatedproductid'],
    #filters=['queryproductid==A'],
    start_date="2016-10-01",
    end_date="2016-11-03",
    index_col=0
)
**
측정 기준/항목 선택은 여기를 클릭 한다.
연동 방법은 판다스에서 구글 애널리틱스 API 연동 을 참고 할 수 있다.

3. 샘플 데이터 보기


**
correlationScore 는 0 에서 1 사이의 값을 가진다.
queryproductid -> relatedproductid 의 신뢰도로 추정되고 1에 가까울 수록 연관성이 높다.
가이드에서 공식을 찾을 수 없었지만, 연관 규칙과 흡사한 것으로 보인다.

2016년 1월 28일 목요일

협업적 여과 방법

전자상거래 추천 자주 사용되고 있는 협업적 여과 방법을 이해하고, 관련한 주요 알고리즘을 알아 본다.

협업적 여과 방법

(Collaborative Filtering, CP)
사용자로 부터 얻은 기호 정보에 따라 관심사를 자동적으로 예측하게 해주는 방법이다.
널리 애용되는 방식이며 데이터가 풍부할 수록 정확한 예측에 유리하다.

사용자 기반의 유사 기호 군집 나누기
인구통계학적인 접근
 - 연령대, 성별, 지역 …
고객 세분화 기법
 - RFM (Recency, Frequency, Monetary)

아이탬 기반의 연관 상품 찾기
연관 규칙
 - 하나의 트랜잭션 내에서 동시 발생되는 항목간의 연관성을 발견한다.
순차 패턴
 - 트랜잭션 간에 순차 관계 연관성을 발견한다.

상품 추천 예시
 - 같은 연령대가 자주 구매하는 상품 목록을 제공한다.
 - 선택한 상품과 같이 자주 구매하는 상품 목록을 제공한다.
 - 같은 연령대가 선택한 상품과 같이 자주 구매하는 상품 목록을 제공한다.

* 선택 요소
차원 별로 추천 항목을 관리하고, 구매자가 여과해서 볼 것인가?
판매자가 위치에 가장 적합한 항목을 구매자에게 노출할 것인가?

관련 알고리즘

RFM (Recency, Frequency, Monetary)
수익에 기여하는 주요 영향인자인 RFM(최근, 빈도, 금액)에 가중치를 둬서 고객을 세분화하는 기법이다.

연관 규칙 (Association Rule)
하나의 트랜잭션 내에서 동시 발생되는 항목간의 연관성을 발견한다.
{a,b}, {a,b,c,d},{d}

순차 패턴 (Sequential Pattern)
트랜잭션 간에 순차 관계를 통해 향후 구매될 상품을 예측한다.
{a,b,c} -> {b,d} -> {a,c,e}

연관 규칙을 찾기 위한 Apriori 알고리즘 
데이터 처리 시에 방대한 자료 구조 비용을 해소 하고자, 바톰/업 방식으로 빈번하지 않은 부분 집합을 제거해가는 방식이다. 포인트는 집합의 빈도는 집합의 부분 집합의 빈도보다 많을 수 없다는 사실에서 시작한다.

빈번하지 않다는 것은 지지도가 낮은 것을 의미하는데, 공식을 통해서 알아보자.
순차 패턴에서 방향성을 표현한다고 할때 지지도와 신뢰도이다.

A -> B

지지도(support)
A와 B를 동시에 포함하는 트랜잭션 수 / 전체 트랜잭션 수

신뢰도(confidence)
A와 B를 동시에 포함하는 트랜잭션 수 / A를 포함하는 트랜잭션 수
= 지지도 (A and B) / 지지도 A

지지도와 신뢰도를 충족하는 목록을 추출하는 것이 목적이다.


커버사진
출저: 아마존 상품 추천 화면

전자상거래에서 상품 추천 방법들

본문은 영감을 얻을 수 있는 다양한 추천 방법들을 정리한다.

협업적 여과 (Collaborative Filtering) 추천
사용자로 부터 얻은 기호 정보에 따라 관심사를 자동적으로 예측하게 해주는 방법이다.

관점에 따라 다음 두 가지로 나뉜다.

사용자 기반
사용자의 유사도를 기반으로 선호 아이템을 추천하는 기법이다.
예) 비슷한 성향을 가진 A 그룹에 속해 있는 사람에게 A 그룹에서 선호하는 아이템을 추천한다.

아이템 기반
아이템의 유사도를 기반으로 연관 아이템을 추천하는 기법이다.
예) A 아이템 구매 고객에게 같이 팔리는 빈도가 높은 아이템을 추천한다.


아이템 계층 기반 추천
아이템의 계층 구조를 기반으로 하는 추천이다.
예) 필름 카메라를 샀다면, 필름이 필요할 것이다.


소셜 기반 추천
소셜 관계를 기반으로 한다.
예) 구작가 계정을 팔로우 하고 있다면, 베니 로고 제품을 선호할 것이다.


속성 기반 추천 
아이템 중요 속성과 연관성을 기반으로 하는 추천이다.
예) A 영화 좋아하는 사람에게 같은 장르나 배우의 영화를 추천한다.


차원 축소 추천
아이템의 공통 분모를 기반으로 하는 추천이다.
예) 사자를 좋아한다면, 육식 동물인 호랑이도 좋아할 것이다.

모델 기반 추천
복합적인 차원 모델을 기반으로 한다.