데이터 분석 33

논문 리뷰: 넷플릭스의 추천시스템(2015. 12)

요약: 스토리텔링의 중요성, 고객 리텐션 높은 서비스 구축을 위한 넷플릭스의 추천 시스템 구축 노력 해당 논문에선, 수학적인 알고리즘보단, 넷플릭스가 추천시스템을 바라보는 관점에 대해 주로 언급 주요 내용 1. 90초 내 고객이 원하는 것을 제공 10~20개의 타이틀을 짧은 시간 내에 보고, 3개 정도를 자세히 리뷰한다. 그 중 고객이 관심있는 콘텐츠가 있을 시, 시청을 지속하게 되고 그렇지 않으면 시청을 포기하여 이탈 위험이 증가한다. 다양한 콘텐츠 추천 방식으로 고객이 관심있는 콘텐츠를 시청하도록 유도하며, 왜 선택했는 지 분석을 통해 지속적으로 추천 시스템을 개선해 나간다. 2. 사용자 케이스별 다양한 알고리즘 제공 기기에 의존적이지만 행 별로 40개, 75개정도의 비디오를 제공하며, 각 행 마다 ..

RS(5): 잠재요인 분석, MF

1. Latent Factor Model -부트스트랩을 통한 랜덤 중복추출 실행 시, train data에 속하지 않는 데이터 -같은 공간 안에 각각의 유저와 아이템을 뿌려놓고 그것들을 배치하여 거리(로스)값을 계산하여 비교, 학습 특이값분해(SVD): 이것과 저것 A(mxn)=U(mxm)* sigma(mxn) * V.T (nxn) /U: user 기반 latent factor, V.T: item 기반 latent Factor -데이터 차원 축소(노이즈 제거, Spase matrix 형태로 큰 데이터를 축소) -True rating - predicted rating: 근사값 추론, predicted rating을 활용해 sparse(빈 값)을 채우기 위한 -SGD, ALS를 사용, Explicit, Im..

ST(1): 튜토리얼

1. Streamlit -파이썬 기반 UI 웹 구축 프로그램 -ML, Pandas, Numpy, Markdown 등 라이브러리 호환성이 높아 프로토타입 모델을 구현하는 용도로 적합 1)설치: pip install streamlit 2)실행: 터미널 입력(streamlit run '파일.py') 2. 주요 명령어 st.write() #df, text, matplotlib figure, altair charts etc st.dataframe() / st.table() #동적, 정적인 테이블 구성 st.line_chart / st.map #라인 차트, 맵 차트 구성 widgets 명령어 st.slider(), st.button(), st.selectbox() x = st.slider('x') # 👈 this ..

LTV, 로그 데이터 개념

1. LTV -고객 생애 가치(유저가 서비스를 사용하는 기간동안 창출하는 매출) -LTV = ARPU * 리텐션(ARPU = 유저당 주문금액(매출/유저 수, 그룹을 코호트로 쪼개여 LTV 비교 분석) 2. 로그 데이터 -고객이 서비스에 유입되어 남기는 행동 데이터, 유입, 노출, 클릭 등 데이터가 이벤트 단위로 적재 -활용사례: 서비스/프로덕트 개선, 고객 행동기반 데이터 분석

RS(4): TF-IDF, 페르소나

1. Term Vector Representation -TF-IDF: 빈번한게 등장하는 단어는 중요하지 않은 단어, 각 단어에 가중치를 부여해서 키워드 추출 등 활용 -TF: 단어(Word) w가 문서 d에 등장한 빈도수 / DF: 단어 w가 등장한 문서 d의 수 / N: 전체 문서의 수 TF(w, d) = 문서 내 단어 w의 수 / 문서 내 모든 단어의 수 --> 해당 단어가 해당 문서에 얼마나 자주 등장하는 지 IDF(w) = log(전체 문서 수(N) / 단어 w가 포함된 문서 수 (DF(w)) --> 해당 단어가 다른 문서에 비해 문서에서 특별한지 ex) if 단어 w가 포함된 문서 수 = 전체 문서 수, then TF-IDF(w,d) = 0, 단어 w의 정보력은 없음 -문서에서 특정 단어의 등장..

코호트 분석

1. 코호트 분석 -코호트(특정 기간 동안 공통된 특성이나 경험을 갖는 사용자 집단으로 묶는 방안) -시간을 두고 비슷한 그룹을 비교 -목적: 고객의 이탈률, 리텐션(재구매율)을 파악하여 문제 진단 및 해결 전략 도출을 위한 대시보드로 사용 2. AARRR(해적지표) -사업의 핵심지표를 발굴하고, 성장시키는 방법을 찾는 활동(그로스 해킹) -1)사용자 유치 2)사용자 활성화 3)사용자 유지 4)추천 5)매출 3. 리텐션 -고객 유지율, 서비스의 성공을 예측할 수 있는 가장 기본적인 핵심지표 -측정방법: 특정 기간 내 이벤트를 발생시킨 유저의 비율 -기간 내 1번 이상의 이벤트 관측 = 한 번으로 카운트 -Retention = 측정 Week 기간 내 서비스 이용 고객수 / week1 서비스 이용 고객수 e..

A/B Test, 이중차분법

1. A/B Test -A와 B를 대조하여 가설을 검정하는 실험법 -ex)배너위치 변경은 클릭전환율이 증가할 것이다 / 5%할인쿠폰보다 5천원 할인쿠폰이 주문이 더 많을 것 2. 이중차분법 -독립변수와 종속변수 간 인과효과를 측정하기 위한 인과 추론법(처치 전후 지표와 시계열 데이터 비교) 처치 전 처치 후 실험군 a A 대조군 b B 실험군: 실험자가 종속변수와 상관성이 높아 보이는 독립변수에 변화를 주는 그룹 대조군: 실험군과 대조하기 위해 처치를 하지 않는 그룹 이중차분: (A-a) - (B-b) 3. 개요 1)가설: 정액이 기재된 할인쿠폰의 주문 전환율이 더 높을 것이다 2)데이터 -종속변수: 주문전환율(1: 실험기간 중 주문이 1번이라도 있는 경우 / 0: 실험기간 중 주문이 없는 경우) -독립..

RS(3): Cold start

1. Cold start: 유저의 선호도나 행동에 대한 기록이 전혀 없을 때 유저에 대한 추천이 어려운 상황 -ex)신규 유저에게 어떤것을 추천할 지? 1. User 콜드 스타트: 새로운 유저가 플랫폼에 가입한 경우 추천 시스템이 사용자의 선호도, 과거 행동에 대한 충분한 정보X ex) 뉴비에게 어떤 게임을 추천할 지 2. Item 콜드 스타트: 새로운 아이템이 시스템/서비스에 추가되었을 때 해당 아이템에 대한 유저 데이터가 충분하지 않은 경우 ex) 상품 출시 시 누구에게 추천할 지? or 뉴스 추천 3. System 콜드 스타트: 추천 시스템을 처음 시작할 때 user 및 item 모두에 대한 상호 데이터가 전혀 없을 때 ex) 신규 출시 앱이 서비스 초반에 어떤 추천을 해줄 지 파레토 법칙: 80%..

RFM 분석

RFM: 고객 분류 기법 Recency: 얼마나 최근에 구매했는지 Frequency: 얼마나 자주 구매했는지 Monetary: 얼마만큼의 규모로 구매했는지 코드 구현: 1. 데이터: 1000명의 RFM 데이터 활용, is_back을 타깃으로한 로지스틱 회귀 모델 생성 2. 구간별 데이터 구분, 점수 환산 함수 생성, 상관계수를 곱해주는 RFM SCORE, TOTAL 피쳐 생성 3. TOTAL 함수를 구간화, 점수 산출(level col 생성) 4. level별 리텐션(1-리텐션) X = df.drop(['mem_no', 'last_ord_dt','is_back'], axis=1) y = df['is_back'] X_train, X_test, y_train, y_test = sklearn.model_sel..

RS(2): 추천시스템 평가 지표 정리

1. 추천시스템 평가 지표 MRR(Mean Reciprocal Rank): 관련 있는게 언제 처음 나왔는지, 이진적으로 좋은 추천인지 나쁜 추천인지 평가 MAP(Mean Average Precision): 리스트 내 유관상품이 등장할 때 마다 정밀도를 구하고 평균. 이진적으로 좋은지 나쁜지 평가 NDCG(Normalized Discounted Cumulative Gain): DCG를 IDCG로 나누어 표준화해준 값 -CG: i번째 포지션의 평가된 유관도의 누적합(추천된 총 p번까지의 추천 상품들의) -DCG: CG의 각 항을 log(i+1)로 나누어줌(덜 중요한 뒤쪽 추천 리스트에 패널티 부여) -IDCG: 코퍼스 내 p번 자리까지의 유관한 문서들의 목록에 대한 총 누적 이득(도달할 수 있는 최고값) -..