27
모바일 게임의 데이터 설계 및 분석을 위한 엔지니어링 5Rocks 문성익

244 5rocks-deview

Embed Size (px)

Citation preview

Page 1: 244 5rocks-deview

모바일����������� ������������������  게임의����������� ������������������  데이터����������� ������������������  설계����������� ������������������  및����������� ������������������  분석을����������� ������������������  위한����������� ������������������  엔지니어링����������� ������������������  

5Rocks����������� ������������������  문성익����������� ������������������  

Page 2: 244 5rocks-deview

About����������� ������������������  Us����������� ������������������  

http://www.5rocks.io����������� ������������������  

게임/앱����������� ������������������  각종����������� ������������������  지표����������� ������������������  분석����������� ������������������  

분석+운영����������� ������������������  (캠페인,����������� ������������������  푸쉬)����������� ������������������  

Android/iOS,����������� ������������������  Cocos2D,����������� ������������������  Unity����������� ������������������  (and����������� ������������������  more)����������� ������������������  

Page 3: 244 5rocks-deview

Agenda����������� ������������������  

왜����������� ������������������  데이터를����������� ������������������  모아야����������� ������������������  하나����������� ������������������  

어떻게����������� ������������������  처리할����������� ������������������  것인가����������� ������������������  

어떤����������� ������������������  데이터를����������� ������������������  모을����������� ������������������  것인가����������� ������������������  

어떻게����������� ������������������  분석할����������� ������������������  것인가����������� ������������������  

Page 4: 244 5rocks-deview

사라지는����������� ������������������  기회들����������� ������������������  

80%����������� ������������������  

15%����������� ������������������  

Target����������� ������������������  Customer����������� ������������������  

Install����������� ������������������   Loading/Tutorial����������� ������������������   Retention����������� ������������������   PU����������� ������������������  

Page 5: 244 5rocks-deview

가격����������� ������������������  할인����������� ������������������  이벤트����������� ������������������  

20%����������� ������������������  할인����������� ������������������  이벤트����������� ������������������  1000원에����������� ������������������  100골드����������� ������������������  아이템을����������� ������������������  800원으로����������� ������������������  할인����������� ������������������  

����������� ������������������  ����������� ������������������  ����������� ������������������  

ARPU����������� ������������������  떨어짐����������� ������������������  ����������� ������������������  ����������� ������������������  

왜??����������� ������������������  

Page 6: 244 5rocks-deview

마케팅����������� ������������������  활동����������� ������������������  분석����������� ������������������   수익성����������� ������������������  관점의����������� ������������������  마케팅����������� ������������������  분석����������� ������������������  

20%����������� ������������������  추가����������� ������������������  이벤트����������� ������������������  

1000원에����������� ������������������  120골드����������� ������������������  효과����������� ������������������  지급����������� ������������������  

20%����������� ������������������  할인����������� ������������������  이벤트����������� ������������������  1000원에����������� ������������������  100골드����������� ������������������  아이템을����������� ������������������  800원으로����������� ������������������  할인����������� ������������������  

����������� ������������������  ����������� ������������������  ����������� ������������������  

ARPU����������� ������������������  떨어짐����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  

Why?����������� ������������������  BuyClick이����������� ������������������  동일����������� ������������������  200원에����������� ������������������  민감하지����������� ������������������  않은����������� ������������������  고객들

Page 7: 244 5rocks-deview

데이터����������� ������������������  수집����������� ������������������   게임DB����������� ������������������  에����������� ������������������  다����������� ������������������  있는거����������� ������������������  아니에요?����������� ������������������  

게임����������� ������������������  서버����������� ������������������  DB:����������� ������������������  사용자들의����������� ������������������  현재����������� ������������������  상태����������� ������������������  

과거����������� ������������������  이력,����������� ������������������  시간별����������� ������������������  추이����������� ������������������  

게임����������� ������������������  플레이와는����������� ������������������  관계없는����������� ������������������  데이타:����������� ������������������  “어디서”����������� ������������������  구매했나����������� ������������������  등����������� ������������������  

데이타����������� ������������������  발생����������� ������������������  “이벤트”����������� ������������������  

����������� ������������������  

세션����������� ������������������  이벤트:����������� ������������������  앱����������� ������������������  시작,����������� ������������������  종료����������� ������������������  

구매����������� ������������������  이벤트����������� ������������������  

그외����������� ������������������  커스텀����������� ������������������  이벤트����������� ������������������  

Page 8: 244 5rocks-deview

데이터����������� ������������������  특성����������� ������������������   Spiky����������� ������������������  Big����������� ������������������  Data����������� ������������������  

~10만����������� ������������������  User����������� ������������������  가����������� ������������������  하루에����������� ������������������  한번����������� ������������������  플레이����������� ������������������  ����������� ������������������  

세션,����������� ������������������  각����������� ������������������  게임����������� ������������������  화면,����������� ������������������  아이템����������� ������������������  획득…⋯����������� ������������������  

주로����������� ������������������  플레이하는����������� ������������������  시각����������� ������������������  비슷:����������� ������������������  “소셜”����������� ������������������  로����������� ������������������  강화����������� ������������������  

1M+����������� ������������������  이벤트����������� ������������������  데이터가����������� ������������������  비슷한����������� ������������������  시간대에����������� ������������������  몰림����������� ������������������  

Page 9: 244 5rocks-deview

데이터����������� ������������������  특성����������� ������������������   개발����������� ������������������  중����������� ������������������  변경이����������� ������������������  잦음����������� ������������������  

각종����������� ������������������  이벤트:����������� ������������������  비정형����������� ������������������  데이터����������� ������������������  

세션����������� ������������������  :����������� ������������������  시작시간+끝����������� ������������������  시간����������� ������������������  

구매:����������� ������������������  아이템ID,����������� ������������������  액수����������� ������������������  

커스텀����������� ������������������  이벤트����������� ������������������  

Page 10: 244 5rocks-deview

일반적����������� ������������������  처리����������� ������������������  구조����������� ������������������   Bird����������� ������������������  Eye����������� ������������������  View����������� ������������������  

Event����������� ������������������  Sources����������� ������������������  

Buffer����������� ������������������  

Event����������� ������������������  DB����������� ������������������  

Analysis����������� ������������������  

Web����������� ������������������  Service����������� ������������������  DB����������� ������������������  

Web����������� ������������������  Server����������� ������������������  

Devs����������� ������������������  &����������� ������������������  Directors����������� ������������������  

Page 11: 244 5rocks-deview

이벤트����������� ������������������  전송����������� ������������������  프로토콜����������� ������������������   Serialize����������� ������������������  Options����������� ������������������  

JSON,����������� ������������������  Thrift,����������� ������������������  ProtoBuf…⋯����������� ������������������  

스키마����������� ������������������  없으면����������� ������������������  변경이����������� ������������������  쉬움����������� ������������������  ����������� ������������������  

서버에서����������� ������������������  정합성����������� ������������������  체크����������� ������������������  필요����������� ������������������  

느슨한����������� ������������������  스키마:����������� ������������������  JSON-schema����������� ������������������  

프로토콜����������� ������������������  버전별����������� ������������������  정합성����������� ������������������  체크����������� ������������������  방법����������� ������������������  

모바일����������� ������������������  플랫폼����������� ������������������  별����������� ������������������  개발����������� ������������������  편의성����������� ������������������  

Page 12: 244 5rocks-deview

이벤트����������� ������������������  저장����������� ������������������  

버퍼링:����������� ������������������  순간적����������� ������������������  트래픽����������� ������������������  증가에����������� ������������������  대비����������� ������������������  

Redis����������� ������������������  등����������� ������������������  Memory����������� ������������������  DB����������� ������������������  가����������� ������������������  적합����������� ������������������  

Event����������� ������������������  DB:����������� ������������������  처리����������� ������������������  클러스터의����������� ������������������  데이타����������� ������������������  소스����������� ������������������  역할����������� ������������������  

MongoDB,����������� ������������������  Cassandra����������� ������������������  등의����������� ������������������  Document����������� ������������������  DB����������� ������������������  가����������� ������������������  편리����������� ������������������  

Hbase����������� ������������������  나����������� ������������������  S3����������� ������������������  등의����������� ������������������  옵션도����������� ������������������  고려해����������� ������������������  볼만����������� ������������������  

����������� ������������������  

Page 13: 244 5rocks-deview

Redis����������� ������������������   Buffering����������� ������������������  

비슷한����������� ������������������  시간대에����������� ������������������  플레이:����������� ������������������  친구����������� ������������������  관계����������� ������������������  등����������� ������������������  

특정����������� ������������������  시간대에����������� ������������������  이벤트가����������� ������������������  몰리는����������� ������������������  특성����������� ������������������  

Redis:����������� ������������������  Memory����������� ������������������  DB����������� ������������������  (http://redis.io)����������� ������������������  

이벤트들을����������� ������������������  버퍼링해����������� ������������������  두고����������� ������������������  백그라운드에서����������� ������������������  DB에����������� ������������������  저장����������� ������������������  

Page 14: 244 5rocks-deview

MongoDB����������� ������������������   특징����������� ������������������  

http://www.mongodb.org����������� ������������������  

Schema����������� ������������������  없음:����������� ������������������  JSON����������� ������������������  형태����������� ������������������  레코드����������� ������������������  

Schema����������� ������������������  변경에����������� ������������������  따른����������� ������������������  migration����������� ������������������  등의����������� ������������������  부담����������� ������������������  없음����������� ������������������  

Replication,����������� ������������������  Sharding����������� ������������������  

Page 15: 244 5rocks-deview

MongoDB����������� ������������������   RDB����������� ������������������  와����������� ������������������  비교����������� ������������������  

ID category name value start_time end_time

1 app session NULL 2013-08-16 13:55 2013-08-16 13:55

2 custom hitting 4 NULL NULL

서브����������� ������������������  필드����������� ������������������  필드����������� ������������������  추가가����������� ������������������  자유로움����������� ������������������  JSON����������� ������������������  데이타����������� ������������������  다루기����������� ������������������  편리����������� ������������������  

Page 16: 244 5rocks-deview

분석����������� ������������������   Big����������� ������������������  Data����������� ������������������  처리����������� ������������������  

대박����������� ������������������  게임들:����������� ������������������  10M+����������� ������������������  유저����������� ������������������  

정해진����������� ������������������  시간����������� ������������������  안에����������� ������������������  데이터����������� ������������������  처리해야����������� ������������������  

Hadoop:����������� ������������������  Map����������� ������������������  Reduce����������� ������������������  형태로����������� ������������������  데이터����������� ������������������  처리����������� ������������������  병렬화����������� ������������������  

Hadoop-MongoDB����������� ������������������  connector����������� ������������������  도����������� ������������������  있음����������� ������������������  

그외:����������� ������������������  HBase,����������� ������������������  Pig,����������� ������������������  Hive,����������� ������������������  컬럼DB����������� ������������������  솔루션����������� ������������������  

Page 17: 244 5rocks-deview

REDUCE����������� ������������������  MAP����������� ������������������  

Hadoop����������� ������������������   MapReduce����������� ������������������  

User Event

U1 E1

U3 E2

U2 E2

U1 E1

U2 E1

User Event

U1 E1

U3 E2

User Event

U2 E2

U1 E1

U2 E1

Event Count

E2 1

E1 2

Event Count

E1 1

E2 1

Event Count

E1 3

E2 2

Page 18: 244 5rocks-deview

웹����������� ������������������  DB,����������� ������������������  웹����������� ������������������  서버����������� ������������������   더����������� ������������������  이상����������� ������������������  자세한����������� ������������������  설명은����������� ������������������  생략한다����������� ������������������  

LAMP,����������� ������������������  RoR,����������� ������������������  …⋯����������� ������������������  

많은����������� ������������������  솔루션들����������� ������������������  

요구사항도����������� ������������������  높지����������� ������������������  않음����������� ������������������  

쉽게����������� ������������������  개발할����������� ������������������  수����������� ������������������  있는����������� ������������������  것이����������� ������������������  최고����������� ������������������  

Page 19: 244 5rocks-deview

무엇을����������� ������������������  분석할����������� ������������������  것인가?����������� ������������������  

Page 20: 244 5rocks-deview

게임����������� ������������������  개발시����������� ������������������  고려����������� ������������������  사항����������� ������������������   미뤘다가����������� ������������������  애로사항이����������� ������������������  꽃피는����������� ������������������  것들����������� ������������������  

“이����������� ������������������  화면����������� ������������������  떴을때����������� ������������������  이벤트는����������� ������������������  없나요?”����������� ������������������  

분석을����������� ������������������  위해����������� ������������������  앱����������� ������������������  업데이트를����������� ������������������  자주����������� ������������������  할����������� ������������������  순����������� ������������������  없는����������� ������������������  노릇����������� ������������������  

게임����������� ������������������  데이터����������� ������������������  업데이트����������� ������������������  :����������� ������������������  스크립트/로직����������� ������������������  변경����������� ������������������  

앱스토어����������� ������������������  심사,����������� ������������������  강제����������� ������������������  업데이트…⋯����������� ������������������  

Plan����������� ������������������  Ahead!����������� ������������������  

Page 21: 244 5rocks-deview

데이터의����������� ������������������  종류����������� ������������������   예제:����������� ������������������  야구한판����������� ������������������  

속성����������� ������������������   설명����������� ������������������  

승패����������� ������������������   현����������� ������������������  경기의����������� ������������������  승패����������� ������������������  여부����������� ������������������  (“승”,����������� ������������������  “패”)����������� ������������������  

판수����������� ������������������   한����������� ������������������  경기가����������� ������������������  종료된����������� ������������������  직후����������� ������������������  보냄����������� ������������������  

안타수����������� ������������������   현����������� ������������������  경기에서����������� ������������������  나만의����������� ������������������  타자가����������� ������������������  만든����������� ������������������  안타수����������� ������������������  

타석수����������� ������������������  현����������� ������������������  경기에서����������� ������������������  나만의����������� ������������������  타자가����������� ������������������  타석에����������� ������������������  들어선����������� ������������������  횟수����������� ������������������  

레벨����������� ������������������   현재����������� ������������������  나만의����������� ������������������  선수의����������� ������������������  현재����������� ������������������  레벨����������� ������������������  

타자/투수����������� ������������������   현재����������� ������������������  나만의����������� ������������������  선수����������� ������������������  모드����������� ������������������  (“타자”,”투수”)����������� ������������������  

팀레벨����������� ������������������   현재����������� ������������������  나만의����������� ������������������  선수가����������� ������������������  소속된����������� ������������������  팀의����������� ������������������  레벨����������� ������������������  

년차����������� ������������������   현재����������� ������������������  나만의����������� ������������������  선수의����������� ������������������  년차����������� ������������������  

컵이름����������� ������������������   현재����������� ������������������  나만의����������� ������������������  선수가����������� ������������������  소속된����������� ������������������  컵����������� ������������������  이름����������� ������������������  

Page 22: 244 5rocks-deview

“데이터는����������� ������������������  음식과����������� ������������������  같아요.����������� ������������������  ����������� ������������������  

전에는����������� ������������������  항상����������� ������������������  영양실조에����������� ������������������  시달려����������� ������������������  왔지만,����������� ������������������  ����������� ������������������  

지금은����������� ������������������  영양과잉으로����������� ������������������  고생하는����������� ������������������  사람들이����������� ������������������  많잖아요?����������� ������������������  ����������� ������������������  

마찬가지로����������� ������������������  전에는����������� ������������������  데이터가����������� ������������������  항상����������� ������������������  부족했지만,����������� ������������������  ����������� ������������������  

이제는����������� ������������������  데이터����������� ������������������  과잉이����������� ������������������  문제예요.”����������� ������������������  

����������� ������������������  

-����������� ������������������  Hal����������� ������������������  Varian,����������� ������������������  Google����������� ������������������  수석����������� ������������������  경제학자����������� ������������������  ����������� ������������������  

Page 23: 244 5rocks-deview

무엇을����������� ������������������  기록할����������� ������������������  것인가����������� ������������������   데이터����������� ������������������  수집����������� ������������������  원칙����������� ������������������  

“웹����������� ������������������  페이지����������� ������������������  트래픽����������� ������������������  분석할때����������� ������������������  처럼����������� ������������������  하면����������� ������������������  안되나요?”����������� ������������������  

사용자의����������� ������������������  모든����������� ������������������  행동마다����������� ������������������  커스텀����������� ������������������  이벤트����������� ������������������  보내기����������� ������������������  

화면����������� ������������������  전환,����������� ������������������  액션,����������� ������������������  아이템����������� ������������������  사용,…⋯����������� ������������������  

네트웍����������� ������������������  트래픽����������� ������������������  증가:����������� ������������������  해외����������� ������������������  진출����������� ������������������  시����������� ������������������  장애물����������� ������������������  

분석����������� ������������������  결과를����������� ������������������  해석하기����������� ������������������  어려움����������� ������������������  

Page 24: 244 5rocks-deview

데이터의����������� ������������������  종류����������� ������������������  

Activity,����������� ������������������  40%����������� ������������������  

Character,����������� ������������������  20%����������� ������������������  

캐릭터����������� ������������������  선호도,����������� ������������������  레벨별����������� ������������������  성장����������� ������������������  속도,����������� ������������������  구간별����������� ������������������  Play����������� ������������������  패턴����������� ������������������  

Play����������� ������������������  소요시간,����������� ������������������  승패,����������� ������������������  점수,����������� ������������������  ����������� ������������������  획득/소비����������� ������������������  게임머니����������� ������������������  

친구수,����������� ������������������  invite����������� ������������������  수,����������� ������������������  Life����������� ������������������  요청����������� ������������������  수����������� ������������������  

아이템����������� ������������������  구매����������� ������������������  현황,����������� ������������������  선호����������� ������������������  아이템����������� ������������������  

Promotion/Event,����������� ������������������  10%����������� ������������������  

Social,����������� ������������������  10%����������� ������������������  

Item,����������� ������������������  20%����������� ������������������  

중요한����������� ������������������  게임����������� ������������������  데이터����������� ������������������  

Page 25: 244 5rocks-deview

데이터의����������� ������������������  형태����������� ������������������   Custom����������� ������������������  Event����������� ������������������  ­–����������� ������������������  TCR����������� ������������������  측정하기����������� ������������������  

Tutorial����������� ������������������  start����������� ������������������  Tutorial����������� ������������������  

평균값����������� ������������������  

승����������� ������������������   패����������� ������������������   안타수����������� ������������������   타석수����������� ������������������  타자����������� ������������������  Lv.����������� ������������������  

팀����������� ������������������  Lv.����������� ������������������  

1판����������� ������������������  

2판����������� ������������������  

3판����������� ������������������  

4판����������� ������������������  

예제����������� ������������������  Data����������� ������������������  요청����������� ������������������  (Tutorial만����������� ������������������  24종)

타석수>4

승수>2

타자Lv.>5

팀Lv.>3 Tutorial����������� ������������������  end����������� ������������������  

TCR타석

TCR승수

TCR타자Lv

TCR팀Lv

숫자����������� ������������������  4개면����������� ������������������  OK

Page 26: 244 5rocks-deview

성공을����������� ������������������  더욱����������� ������������������  값지게����������� ������������������  

문화의����������� ������������������  미래는����������� ������������������  우리����������� ������������������  손에����������� ������������������  달려����������� ������������������  있습니다����������� ������������������  

열성����������� ������������������  플레이어들과����������� ������������������  윈윈합시다����������� ������������������  

대박만����������� ������������������  매출����������� ������������������  내는건����������� ������������������  아니다����������� ������������������  

Page 27: 244 5rocks-deview

Thank����������� ������������������  You����������� ������������������