판다스 기초 - 10minutes to Pandas 따라하기

|

아래 내용들을 따라해보면서, 데이터 분석을 공부해보려고 한다!

그 전에 우선 문법을 간단히 리마인드할 목적으로 판다스를 공부하고, 나중에 새로 배운 것들을 계속 추가하자!!

실습파일보기

10 Minutes to pandas 1

1. Object Creation

  • list() 함수는 텍스트 데이터를 하나씩 리스트로 만들어줌
  • list('abcd')['A', 'B', 'C', 'D']와 같음

2. 데이터 확인하기

해당 데이터를 간단하게 확인할 때 사용하기 유용하다.

  • 속성(Attributes)
    • .탭 (“데이터 이름”. 입력하고 탭 누름) : 속성값 알 수 있음
    • dir("데이터 이름") : 해당 데이터의 속성 출력하여 확인 가능
    • .shape : 행,열을 출력해 데이터의 크기를 알 수 있음
    • .index
    • .columns
    • .value
  • 함수(Methods)
    • .head() : 앞쪽 데이터를 확인할 수 있음, 기본 5행이며 ()안에 행 수 입력 가능
    • .tail(): 마지막쪽 데이터를 확인할 수 있음. 기본 5행이며 ()안에 행 수 입력 가능
    • .info()
    • .describe() : 컬럼별 간단한 통계 정보, count, mean, std, min, 25%, 50% 75%, max
    • .sort_index(axi=1, ascending=TRUE) : 인덱스 정렬
    • .sort_values(by='') : 특정 컬럼의 정보로 정렬
  • 속성과 함수의 차이
    • 속성은 데이터를 갖게되면서 동시에 미리 계산되어 저장되어 있는 정보들
    • 함수는 함수로 해당 데이터 타입에 따라 미리 지정되어 있는 함수(class 내 function을 method라고 함) 참고 : https://www.slideshare.net/dahlmoon/pythonnumpy-pandas-1

    나중에 날짜형 데이터 다루는 ‘date_range’ 간단하게 알아보자

3. 데이터 선택하기

  • object[‘칼럼’] , object[시작인덱스:끝인덱스+1], object[시작인덱스명:끝인덱스명]
  • .loc :이름 이용해서 선택하기
    • .loc[인덱스명]
    • .loc[:, [칼럼명1,칼럼명2]
    • .loc[시작인덱스명:끝인덱스명, [칼럼명1, 칼럼명2]]
    • .loc[[인덱스명1, 인덱스명2],[칼럼명1, 칼럼명2]] : 인덱스와 칼럼 모두 원하는 값만 골라서 뽑아낼 수 있음
  • .iloc[] : 행렬 위치를 이용하여 선택하기
  • .ix[] : 숫자와 이름 섞어서 사용할 때
    • .ix[숫자, '칼럼명] : 해당 칼럼값을 하나씩 확인하면서 작업하는 경우 유용하게 사용할 수 있다.
# datatime의 형식일때 고르는 코드

df.loc[pd.to_datetime(['20181003', '20181005']), ['A','B']]

#                   A	        B
# 2018-10-03	0.208921	0.240602
# 2018-10-05	-0.393728	-1.232693
# 특정 칼럼값을 하나씩 확인하면서 정보 저장하는 코드

for i in range(len(df)-1):
    
    if df.ix[i, 'sessionid'] == df.ix[i+1, 'sessionid']:
        s.append(j)
    else:
        s.append(j)
        j += 1

3-1. 조건을 이용하여 선택하기

  • 데이터 각 값을 기준으로 : object>0
    • 조건만 사용하면 조건이 맞는 값은 TRUE, 아닌 값은 FAlSE로 출력됨
    • ojbject[조건] : 조건에 맞는 위치의 값이 나오고 그 외는 NaN으로 나옴
  • 행의 값을 기준으로 : object.칼럼명 >0
    • 조건만 사용하면 조건이 맞는 행은 TRUE, 아닌 행은 FAlSE로 출력됨
    • ojbject[조건] : 조건에 맞는 행의 모든 칼럼 값이 노출됨
  • .isin([a,b]) : 특정 값이 해당 데이터에 있는지 확인할 수 있다.
df[df>0]
df[df.A>0]

df2[df2['E'].isin(['two','four'])]

3-2. 데이터 선택하여 변경하기

  • 레이블 이용해서 변경하기 : df.at[dates[0],'A'] = 0
  • 위치 이용해서 변경하기 :df.iat[0,1] = 0
  • array를 아예 변경하기 : df.loc[:,'D'] = np.array([5] * len(df))
  • .loc[]도 특정 하나의 값을 지정할 수 있어서, 레이블/위치 이용해서 값을 바꾸는 것이 가능하다.

4. 결측값 (Missing data)

데이터 탐색을 하며 중요한 것 중 하나가 결측값의 여부를 확인하는 것이다. 그 결측값이 있는 데이터를 버릴지, 특정값으로 일괄적으로 넣을지 고민해야 한다.

  • .isna() : 결측값이면 TRUE를, 결측값이 아니면 FALSE를 출력하는 함수
    • isna().sum() 이렇게 사용해서 결측값의 갯수를 알아낼 수 있다.
  • .dropna() : 샘플수가 많다면 결측값이 있는 행을 삭제하는 것이 가능하다.
    • .dropna() : 결측치가 하나라도 있으면 버리는 코드
    • .dropna(axis=1): col 중심으로 NA값 있으면 지운다. (default는 0, idex 기준으로 NA있는 row 지움)
    • .dropna(how='all') : 모든 값이 Null일 경우만 버리는 코드
    • .dropna(thresh=2) : 결측치가 두개 이상인 경우 버리는 코드
    • .dropna(subset=['name', 'born']) : 해당 column의 결측치가 있는 것을 선택하여 버리는 코드
    • df[df.isnull().any(axis=1)] : 결측치가 하나 이상 있는 Case만 선택하는 코드

5. 운영(operation)

  • 통계 정보 확인하기
    • .describe()
    • .mean()
    • .sub()를 이용해서 두 다른 데이터를 맞추기 위한 전 작업을 진행할 수 있음 ..(?)
  • 함수 적용하기
    • .apply(np.cumsum) : 누적합 계산
    • .apply(lambda x: x.max()- x.min()) : 새로운 함수 적용

5-1. Apply 함수 적용하기

데이터에 함수를 바로 적용하는 함수

  • df.apply(np.cumsum) : 데이터 누적으로 계속 더해가는 코드
  • df.apply(lambda x: x.max() - x.min()) : 바로 적용하고 싶은 함수를 간단하게 만들어 적용함

5-2. 빈도(Histogramming)

  • s.value_counts() : 해당 값의 갯수를 구하는 코드, 가장 빈도가 높은 것부터 차근차근 나온다.

6. 합치기(Merge)

  • df['F'] = Series : 기존 데이터에 ‘F’ 칼럼이 없는 경우, 새로 지정하고 데이터를 넣으면 합치기 처럼 들어간다.

  • pd.concat([A, B], axis= 0 or 1)
    • 다양한 타입 의 object를 합치는 기능
    • aixis 0(default)이면 칼럼 중심으로, 1이면 인덱스 중심으로 합쳐짐
  • pd.merge(A, B, key=" ")
    • sql의 join과 비슷한 합치기 기능
    • 특정 칼럼을 기준으로 두 데이터를 붙일 수 있음
  • A.append(B, ignore_index=TRUE or FALSE)
    • 열을 붙이는 기능

7. 그룹핑(Grouping)

그룹핑은 아래 절차를 포함하여 진행한다.

  • 쪼개기(Splitting) : 데이터를 특정 기준에 의해 쪼개기
  • 함수 적용하기(Applying) : 그룹별로 함수를 적용키기
  • 결합하기(Combining) : 함수 적용한 결과를 결합하기

  • df.groupby('A').sum()
    • 해당 내용 항목별로 카테고리 묶음,숫자데이터 다른 칼럼 값끼리 더함
  • df.groupby('A').size()
    • 해당 내용 항목별로 카테고리 묶음, 그 사이즈 확인
    • Series의 .value_counts()와 비슷
  • df.groupby('A')['B'].nunique()
    • ‘A’ 내용 항목별로 카테고리 묶고, 거기의 ‘B’ 유니크한 값 숫자 확인
  • df.groupby(['A', 'B')['C'].nunique().unstack()
    • ‘A’ 내용 항목별로 카테고리 묶고, ‘B’별로 ‘C’ 유니크한 값 숫자 확인

8. 변형하기(reshape)

  • stact
  • pivot_table

9. 시간 데이터(Time Series)

  • pd.to_datetime('A') : ‘A’값을 시간 데이터로 바꾸는 함수
  • .resample('기준').함수() : 시간 간격 조절
    • 시간 구간이 작아지면 데이터 양이 증가한다고 해서 업-샘플링(up-sampling)이라 하고
    • 시간 구간이 커지면 데이터 양이 감소한다고 해서 다운-샘플링(down-sampling)이라 함
    • ts.resample('5S').sum() :5초 간격으로 값을 합치는 코드 -참고
  • .to_period() :년/월, 년의 데이터로 변경
  • .to_timestamp() : 년/월/시 데이터로 변경

10. 카테고리(Category)

11. 그래프 그리기(Plotting)

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns

서비스기획을 위한 IT지식 - 딥링크와 스키마

|

SUMMARY

  • 앱 내부 콘텐츠로 연결하는 바로 링크는 딥 링크
  • 딥 링크 중 하나의 기술이 URI 스킴, 앱 스키마 커스텀 설정 후 사용
  • URI 스킴에는 앱이 설치 안되어 있는 경우 에러가 뜨고, 다른 스킴과 겹쳐 충돌이 일어날 수 있음
  • 그래서 iOS와 android에서는 요즘 유니버셜 링크앱 링크를 주로 활용함
  • 근데 링크 실행 전에 바로 앱으로 연결되어 마케팅 추적이 어렵다는 단점이 있음
    • 앗. 그런데 충분히 추적할 수 있다고 한다. 여기 읽어볼 것

딥 링크란?

  • 사용자가 앱 내부 콘텐츠에 직접 도달하도록 해주는 모든 링크를 의미한다.
  • 유니버설 링크, URI 스킴 및 앱 링크는 모바일 딥 링크가 작동하도록 하는 기술들이다.

딥 링크는 단순히 개념일 뿐입니다. 우리는 사실 딥 링크를 매일 이용하는데, 아마 이 블로그 포스트를 읽기 위해 클릭하셨을 수도 있습니다. 이 용어는 단지 특정 콘텐츠에 직접 도달하는 모든 링크를 뜻할 뿐입니다. 사람들이 http://example.com/my-awesome-content-page URL을 클릭할 때 http://example.com/ 으로 이동하여 다시 웹사이트를 뒤져서 my-awesome-content-page로 이동하는 것을 예상하지는 않습니다. 달리 말해서, 웹의 대다수 링크는 사실상 딥링크이며 단지 그렇게 부르고 있지 않을 뿐입니다. 우리에게 이는 단지 링크일 뿐입니다.

모바일 앱의 딥 링크는 훨씬 더 복잡하지만, 모바일 딥 링크는 여전히 앱 사용자에게 만족스런 콘텐츠 경험을 제공하는 가장 좋은 방법입니다. 유니버설 링크, URI 스킴 및 앱 링크는 모바일 딥 링크가 작동하도록 하는 다양한 기술 표준으로 사용자가 앱 내부 콘텐츠에 직접 도달하도록 해줍니다. 모바일 앱 내부 페이지를 친구와 공유하려 한다면, 딥 링크는 친구를 해당 페이지로 인도합니다. 딥 링크가 없다면, 친구는 스스로 정확한 페이지를 찾으려 발버둥 칠 것이며, 때때로 앱스토어에 있거나(심지어 앱이 이미 설치되어 있는데도) 모바일 웹에 있는 자신을 발견하게 될 것입니다.

출처 : 유니버설 링크, URI 스킴, 앱 링크 및 딥 링크: 무슨 차이가 있을까요?

스키마란?

외부에서 자신의 앱에 접근할 수 있도록 해주는 하나의 통로1이다. URI 스킴을 활용한 것으로, 우리가 평소에 웹 사이트 주소로 활용하는 URL(URI 하위개념)와 비슷한 활용이라고 보면 된다.

웹사이트를 통해 앱을 실행시킬 수 있도록, 사전에 URI 스킴을 만들고 애플리케이션에서 스키마 설정 해줄 수 있다.

# 페이스북과 카카오의 커스텀 스키마
fb://
kakaotalk://

URI 스킴이란?

통합 자원 식별자(Uniform Resource Identifier, URI)는 인터넷에 있는 원을 나타내는 유일한 주소이다. URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어 다닌다. 스킴은 프로토콜을 지정하는 부분을 의미한다.

URI의 하위 개념으로 URL

  • URL(Uniform Resource Locator)
    • (우리가 아는 URL이 맞다. 즉 모든 URL이 URI이다.)
    • 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약
    • 웹 사이트 주소로 알고 있지만, URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크상의 자원을 모두 나타낼 수 있다
    • 그 주소에 접속하려면 해당 URL에 맞는 프로토콜을 알아야 하고, 그와 동일한 프로토콜로 접속해야 한다.
    • URL은 제일 앞에 자원에 접근할 방법을 정의해 둔 프로토콜 이름을 적고, 그를 구분하기 위한 구분자인 :을 적는다.
    • 예를 들어 우리가 웹사이트 주소로 자주 활용하는 HTTP인 경우에는 웹 브라우저를 이용해야 하는 URL이다.

URI 문법

일반 URI는 다음과 같은 형태를 나타낸다. 프로토콜을 구분하는 구분자 : 앞 부분을 scheme이다.

 scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

URI 스킴의 단점2

URI 스킴에 있어서 다음 두 가지 상황을 쉽게 처리할 수 없는 심각한 단점이 존재한다.

  1. 앱이 설치되지 않은 경우 : 앱이 설치되어 있지 않은 경우 에러가 발생
  2. 두 개 이상의 앱이 myapp://에 응답하려 하는 경우 : 중앙 등록 시스템이 없어 막을 수 있는 방법이 없음

이러한 한계로 iOS와 안드로이드는 각각 유니버설 링크와 앱 링크로 알려진 2세대 딥 링크 표준을 개발하였다.

유니버설 링크와 앱 링크2

  • 앱 고유 콘텐츠 유형의 URI 스킴과 달리 유니버설 앱과 앱 링크는 웹 페이지와 앱 내부의 특정 콘텐츠를 가리키는 단순한 표준 웹 링크이다.
  • 유니버설 링크 혹은 앱 링크가 열리면 장치는 해당 도메인에 등록된 설치된 장치가 있는지 확인한다. 만약 있다면 웹 페이지를 구동하지 않고 해당 앱을 즉시 시작하고, 앱이 없다면 기본 웹 브라우저로 해당 웹 URL을(앱 혹은 플레이 스토어로의 간단한 재설정일 수 있음) 시작한다.

마케팅 참고

앱이 즉시 시작된다는 것은 재설정 체인에 기반을 둔 전통적인 웹과 이메일 마케팅 추적 방법이 더는 동작하지 않음을 뜻합니다. 이는 심각한 문제일 수 있는데 현재로는 유니버설 링크와 앱 링크 표준 모두 해결책이 부족합니다. 유일한 옵션은 앱이 구동된 후 소급하여 클릭을 측정하는 것입니다.

2018-10-29 추가 내용

  • 딥링크 클릭시, 앱이 없어 앱 다운로드로 연결되는 경우 셜치 후 바로 원하는 페이지로도 이동하게 설정이 가능하다고 한다.
  • (나중에 알아볼 것)

2018년 10월 18일 목요일 - 프롬텍크

|

프롭테크

  • 중개 및 임대
  • 부동산 관리
  • 프로젝트 개발
  • 투자 및 자금조달

해외 프롭테크 업체

trulia

  • 부동산 중개 서비스
    • 기존 부돗안 포털의 정보 한계 극복
    • 범죄 빈도수, 이웃 정보, 통근 시간 등을 구글과 협업하여 인포그래픽 지도로 제공
  • 기타
    • 2015년 35억달러에 질로우에 인수됨

Howsy

  • ‘No agent’가 이름을 바꿈
  • 건물주와 임차인 간 중개, 임대, 부동산 관리 서비스
  • 임대인 월 운영비
      • 임대인에겐 집을 맡기면, 임차인모집-뷰잉-계약(중개비x)-청구-관리까지
    • We’ll find great renters, fully manage your property, and keep you compliant to all regulation.
  • 임차인
    • 중개수수료 무료
    • 좋은 렌트 경험을 가진(자기들이 운영하는) 하우스를 소개
    • 보증금을 낮출 수 있는 멤버십을 제공(월 비용)
  • 임차인 모집하는 채널은 사용자가 많은 플랫폼에 우선적으로 노출함
    • Howsy app이 곧 출시 예정, 그때부터는 앱에서 하우스 소개할 듯

Goodlord

  • 영국 스타트업, 2014년 설립됨
  • 주택 계약 단순화 서비스 제공 (Transform the way you rent)
    • Goodlord’s software platform allows letting agents to streamline the tenancy application process in one place and includes digital contract generation and signing, comprehensive referencing, and further products and services such as landlord and tenant insurances, utility and media-switching services.
    • 온라인 계약 제공
    • 집 관련 문서 제공
    • 보험 가입
    • 임차임 서비스
  • 2018년 10월 12일 Series B, £7m 투자 유치 발표
    • Finch Capital, Rocket Internet and Global Founders Capital
    • 투명한 임대인/중개/임차인 서비스를 위해 기술 투자 예정
    • Open Banking
      • TrueLayer는 금융 데이터(금융 기관 제공) 비즈니스 간의 연결 인터페이스를 제공
      • 실시간으로 확인이 가능한 임차인 금융 레퍼런스
      • 계약까지 걸리는 시간을 단축하며, 집주인에게 안도감을 제공함
    • Peer-to-peer,

직방 빅데이터랩

  • 전국의 100세대 이상 아파트 및 주상복합 시세변동과 학군 역세권 정보, 인구흐름 등 다양한 데이터를 제공하는 서비스
    • 기간별/지역별 시세 변동 : 최대 5년까지의 아파트 시세 화긴
    • 교통에 따른 시세 변동 : 지하철역별로 인근의 시세 확인
    • 학군에 따른 시세 변동 : 학교별 학교 배정되는 단지 시세 확인

참고 사이트

2018년 9월 6일 목요일 - 파이어베이스 개념 가이드

|

파이어베이스 애널리틱스를 통한 유저 인사이트 도출

모비아카데미의 파이어베이스 관련 강의를 듣고 왔다. 저녁 7시30분부터 시작해서 10시까지 진행된 빡센 강의였다. GA만 알았지 Firebase에 대해 지식이 전무했던 나에게는 너무 좋은 강의였다. 강의가 길어서 오늘 강의 내용을 정리하는 것은 어려울 것 같고, 간단하게 기억하고 싶은 것만 정리한다.

파이어베이스(Firebase)

  • 모바일 사용성 분석에 맞춰진 툴
    • GA는 웹 사용자 분석에 맞춰진 것, 그래서 모바일 사용에는 Firebase가 더 많은 기능을 지원한다.
    • Firebase의 분석 기능은 여러 기능 중 일부이다. 모바일 앱을 만들고, 성능을 강화하고, 사용성을 분석하는 세가지 파트가 있다.
  • 파이어 베이스 기본 지식
    • 이벤트 Event
      • 이벤트 값을 설정하면서 파라미터 값을 설정할 수 있음(무슨 아이템, 얼마짜리 등등), 필터해서 조회도 가능
      • 사전에 가이드가 된 이벤트들이 있어 가져다 쓰는 것도 가능
    • 사용자 속성 User Property
      • 유저를 정의하는 용도로 사용되는데, 이 설정을 필터로 넣어 리포트값 넣을 수 있음
    • 잠재고객 Audience
      • 이벤트와 사용자 속성을 조합하여 구성된 유저들의 그룹
      • 그룹별로 필터 리포팅
      • 그룹별로 Push 날릴 수 있음 Push Notification
      • 그룹별로 A/B 테스트 처럼 화면 다르게 보여줄 수 있음 Remote Config
  • 파이어베이스 장점
    • GA처럼 집계된 정보만 보는 것이 아니라, 사용자별로 데이터가 있어서 속성에 따라 액션이 가능함
      • 잠재고객별 Push Notification, Remote Config 가능
      • BigQuery를 통해 rawdata를 받을 수 있음
    • Predictions를 이용하여 사용자의 행동을 예측할 수 있다.
      • 저렴한 비용으로 ML을 이용할 수 있다.
      • 데이터 쌓고 분류하는데 2주 정도 소요된다고 한다.
      • 기본적으로 4가지 분류를 제공한다
        • 설정한 이벤트에 도달할 수 있는지 (Who will make it to level 25?)
        • 곧 이탈할 고객인지 (Who will churn?)
        • 구매를 일으킬지 (Who will spend money?)
        • 친구에게 앱을 추천할지 (Who will share my app with friends?)
      • 그 고객 타겟으로 액션도 취할 수 있다. 심지어 타겟 정확도 범위도 설정 가능함
        • Push Notification 앱 푸시
        • In-App Messaging 앱 내에서 팝업처럼 나오는 것
        • Remote Config 타겟별로 다른 화면을 보여주는 것
    • Push Notification
      • 앱 푸시 후 Conversion 측정도 가능
    • Remote Config
      • 한번 설정하면 마케터가 Firebase console을 이용해 간단하게 A/B 테스트를 진행하고 결과값을 확인할 수 있음.
      • 테스트를 위한 타겟을 설정할 수도 있고, precition을 통해 행동을 예측하고 그 타겟별로 다르게 보내줄 수 도 있음

마케팅 지식

  • 목표 중심의 마케팅 집행, 그리고 자동 타겟팅
    • 요즘은 회원가입, 레벨달성, 구매 등 목표 설정이 우선시 되고 있음
    • 목표 설정하면 거기에 맞춰서 자동으로 설정해주며 마케팅 최적화하는 것이 트렌드

First time user experience가 중요, 출처

  • 요즘 마케팅은 UA보다 Retention과 Engagement가 중요
    • UA(User Acquisition) : 사용자 모객
    • 요즘은 앱을 딱 열었을 때, 첫 경험에 따라 리텐션에 많은 영향을 준다.
    • 아주 잘만든 앱의 2일째 리텐션도 52%정도. 일반적인 앱 리텐션은 28%~46%정도
    • 그러니까 열심히 모객한 고객의 48%~78%가 떠나가는 것은 일반적인 이야기

앞으로 고객이 얼마나 가치를 창출할까 출처

  • LTV보다 CLV를 보기 시작
    • LTV(Life Time Value) : 일반적으로 앱에서는 Total Revenue/Install로 계산함
      • 단점! 평균 값이다보니 높은 가치를 발생시키는 사람과 낮은 가치를 발생시키는 사람 따로 보지를 못함
    • CLV(Customer Lifetime Value) : 고객의 미래를 예측해서, 앞으로 발생시킬 가치까지 포함시킨 것으로 pLTV(predictive LTV)라고도 함
      • 과거에 가치를 많이 일으킨 고객이 앞으로도 그럴 보장은 없다. (Customers who were valuable in the past may not always be valuable in th future.)
      • 고객이 떠날 것인지, 아닐 것인지 고려후 앞으로 구매 패턴을 예측함
      • 고객의 행동/상태에 따라 고객별로 매겨지는 가치가 다 다르다는 것을 기본 전제로 함
      • 이걸 위해서 많은 회사들이 Data Scientist를 비싼 돈을 내고 채용하는 것임
      • Firebase의 Prediction을 이용하면 이런 분석도 가능하다고 함

2018년 9월 4일 화요일 - 서비스 기획자를 위한 데이터 분석(1)

|

서비스 기획 내에서 데이터 분석을 위한 지식을 쌓는데, 중요한 가이드라인을 줄 만한 슬라이드를 찾았다. 서비스 기획자를 위한 데이터분석 시작하기인데, 데이터 분석라는 넓은 분야에서 서비스와 관련되어 의미있는 데이터를 분석하기 위한 사고방식을 안내해준다. 이 슬라이드와 더 궁금한 것들 찾아보며 정리하면 도움이 많이 될 것 같다!!

목표

서비스를 운영해 나가면서 User Data를 바탕으로 서비스를 지속적으로 개선해 나가는 것

프로세스

  1. Operation Framework 만들기
  2. Log를 Metric으로
  3. OMTM 설정하기
  4. 데이터 들여다보기

프로세스 역할 분류

  • (프로세스 1,2) 무슨 데이터를 어떻게 쌓아야 하나.
  • (프로세스 3,4) 어떤 시점에, 어떤 방식으로 데이터를 분석해야 하나.

1. Operation Framework 만들기

1-1. 질문부터 시작

데이터 분석이 아니고 , 궁금한걸 배우는 것이다 (서비스를 분석하기 위한 틀 만들기, 여기에 하나씩 답변을 해보자)

  • 이 도메인에 속한 서비스들이 가지는 공통적인 특징은?
  • 우리 서비스 사용자들은 우리를 어떻게 발견하지?
  • 우리 서비스 사용자들은 어떤 사람들이지?
  • 사용자들은 우리 서비스를 어떻게 사용하고 있지?
  • 우리는 사용자들이 서비스를 이용하는 어떤 과정에 어떻게 개입하지?

1-2. 유명한 프레이웜, AARRR

mattyford.com

1-3. 각 서비스에 맞는 프레임워크

  • 어떤 단계를 funnel로 볼 것인가
  • 즉, 사용자의 어떤 log를 볼 것인가
  • Get User, Drive Usage, Make money 세 단계 포함시킬 것

업무에 적용

  • 우리 서비스는 어떤 지표가 중요한가? : 최종 전환율
    • 최종 전환율에 기여하는 요소가 있을까? : 검색소요시간, 상담까지 걸린 시간, 디바이스 (확인해보자!)