레이블이 상품인 게시물을 표시합니다. 모든 게시물 표시
레이블이 상품인 게시물을 표시합니다. 모든 게시물 표시

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년 2월 5일 금요일

전자 상거래 상품 이름 분석 I

전자 상거래에 사용되는 상품 이름이 가지는 특징을 알아본다.
상품 이름은 단어(의미) 조각들로 이루어져 있고 조각들은 관계가 있을 것이다.

온라인 마켓 상품 이름을 수집한다.
상품 이름
아이스 트레이(미니)
볼메이슨 와이드 자_946ML
클레어 패브릭 액자_10CMx15CM
아동용 버드 욕실화_블루
스타 미니 바스켓_3P
* 상품 이름이 친절하지 않으면 형태소 분석기를 활용하자.

상품 이름을 단어 단위로 쪼개고 태그를 부여한다.
단어
빈도
분류
단어 길이
유리 89 형질 2
세트 86 - 2
사각 86 형태 2
베이지 72 칼라 3
핑크 72 칼라 2

단어에 대한 분포이다.

빈도
단어 길이
count 1491.000000 1491.000000
mean 6.332663 3.099262
std 12.872295 1.735401
min 1.000000 1.000000
25% 1.000000 2.000000
50% 2.000000 3.000000
75% 6.000000 4.000000
max 142.000000 12.000000
* 2196 건의 상품 이름을 단어로 분리 했더니,
단어의 종류는 1491건이고 빈도는 9442 건 이었다.
* 평균 빈도와 중위 빈도의 차이를 볼 때, 일부 단어에 대한 편중이 크다.
(마치 HKR의 빈부 격차 처럼 ... )

단어 분류에 따라 흥미로운 성질들을 보인다.
분류
단어 개수
단어 빈도
빈도/개수
- 1215 6961 6
수치 258 987 4
칼라 9 764 85
사이즈 3 271 90
형질 2 231 116
형태 2 194 97
성별 2 34 17
* 상품 이름에는 상품을 분류 할 수 있는 단어들의 출현이 빈번하다.

바이그램(bi-gram)으로 빈도를 조사했다. (상위 5개)
단어 이웃
빈도
담는 아카시아 35
자주 담는 35
식탁 매트 35
원형 접시 34
동물 친구들 33

단어 바이그램에 대한 분포이다.

빈도
count 3706.000000
mean 1.955208
std 2.315853
min 1.000000
25% 1.000000
50% 1.000000
75% 2.000000
max 35.000000

빈도가 낮아서 트리그램(tri-gram) 이상은 불 필요해 보인다.
N Gram 보다는 조합 방식을 사용하면 연관성을 찾을 수 있지 않을까?

To Be Continue ...
Happy New Year 2016 with bright moon

참고

* D1 : DataFrame on Pandas Library

# 강조 컬럼에 그라디언트 적용하기
D1.style.background_gradient(cmap='magma', subset=['times'], low=1)

# 분포 명세 보기
D1.describe()

# Dict 타입 빈도 사전으로 활용하기
corpus = {}
for word in words:
    if word not in corpus:
        corpus.setdefault(word,0)
    corpus[word] += 1

# N-gram 라이브러리
from nltk.util import ngrams

# 비 문자 정규 패턴
[\W|_]+

# 수치 정규 패턴
^(\d+\D+)+