'통계'에 해당되는 글 9건

  1. 2014.11.30 머니볼 - 불리한 게임을 승리로 이끄는 기술
  2. 2013.11.04 R 예제: 연관성 측정
  3. 2012.12.14 통계를 왜 배워야 하는가?
  4. 2012.10.18 [SDK 적용] - 모바일 분석 서비스 Fingra.ph 100% 활용하기 #2
  5. 2012.10.16 [회원가입] - 모바일 분석 서비스 Fingra.ph 100% 활용하기 #1
  6. 2012.06.25 웹에서 사용할 수 있는 무료 그래프 툴에 대하여
  7. 2012.01.17 2011년 디지털미디어 트랜드 보고서와 2012년 소매 유통 쇼핑몰 전망 자료
  8. 2012.01.04 모바일 어플리케이션 분석 툴이면서 (실제로는 광고 플랫폼인) Flurry
  9. 2011.12.31 2011년 미니의 프로그래밍 이야기 블로그 결산

머니볼 - 불리한 게임을 승리로 이끄는 기술

|



미니 서평

약팀이 강팀을 이기는 드라마 같은 스토리…

데이터에 기반해 문제를 해결해나가는 흥미진진함에 단숨에 읽어버렸다. 

등장하는 선수들의 실제 메이저리그 성적을 확인해 볼 수 있다는 것도 하나의 재미요소다.


브래드 피트 주연의 영화로도 만들어진 이 책은 

오클랜드 애슬레틱스의 빌리 빈 단장이 재정이 악화되어 트레이드를 할 수 밖에 없는 상황에서

통계 기반 세이버매트릭스를 활용하여 2002년 시즌을 성공적으로 만들어낸 실화를 바탕으로 하고 있다. 


책을 보고 나면 야구에 대한 이해도가 높아진다. 

예를 들면, 국내 프로야구도 2000년대 부터 OPS를 도입하기 시작했었다. 

단순히 OPS가 "출루율 + 장타율"인 것만 알았다. 

그러나 타율과 타점 보다 타자를 평가하는데, 

정확하게는 경기를 승리하는데 기여하는 정도를 볼 때는 OPS가 더 적절한 것이라고 한다. 

특히 타점 같은 경우, 선행 주자가 없다면 홈런 이외에는 타점을 올리기 어렵기 때문에 운이 많이 작용하는 지표인 것이다. 


이렇듯 야구의 모든 지표에 대해 단순히 숫자를 알기 보다는 

그 언어적 의미를 이해해야 한다는 것이다.


위클리 스탠다드의 "마크 거슨"은 다음과 같이 말했다. 

"머니볼"은 마이클 루이스가 쓴 최고의 경영서이다. 어쩌면 모든 경영서 가운데 최고일지도 모른다. 


보통 우리는 문제에 봉착할 때 "너무 불공평합니다!" 라고 이야기 한다. 

원래 삶 자체가 불공평한거다. 

"불리한 게임을 승리로 이끄는 기술" 이것이 바로 "머니볼"의 핵심이다. 


단순히 운을 기다려서는 안된다. 

우리가 가진 정보를 최대한 활용해 최소의 비용으로 최선의 선택을 해야 한다. 

그러기 위해서 

우리가 앞으로 해야 할 일은 바로 "왜"라는 질문에 답하는 것이다. 

라고 이야기 한다. 


내가 보는 머니볼의 핵심은 다음과 같다.

가설을 세우고 (왜 라는 질문에 답변)

증명을 하고 (수집할 수 있는 정보를 활용)

적용하면 된다. (실생활에 반영)


바로 통계학이다. 


밑줄 긋기

그는 이 바닥에서 일하며 몇 가지 사실을 깨달았다. 

첫째로 선수 출신들은 하나같이 자신의 경험을 일반화하는 경향이 있었다. 

그들은 자신이 겪은 일을 전형적인 것이라고 생각하지만 사실은 그렇지 않다. 

둘째로 사람들은 최근의 성적을 과도하게 신뢰하는 경향이 있었다. 

그러나 최근 성적이 반드시 미래의 성적으로 연결되는 것은 아니다. 

셋째로 사람들이 자기 눈으로 직접 보았거나 보았다고 생각하는 사실에도 편견이 작용한다. 

자신이 본 것에만 전적으로 의존할 때 사람들은 환상 속에 같히게 된다. 

반대로 그런 환상을 뚫고 현실을 올바로 본 누군가한테는 돈을 벌 기회가 될 수도 있다. 

게다가 야구에는 눈으로 직접 볼 수 없는 것도 많다. 


오클랜드 애슬레틱스에 초빙된 심리상담사 하비 도프먼은 심리학을 전공한 고등학교 교사로 카리스마가 넘치는 인물이었다. 

그 당시 도프먼은 빌리에 대해 이렇게 판단했다. 

"야구팀이라는 조직은 재능이 뛰어난 선수가 부진을 겪을 때 그 상황을 받아들이고 이겨내도록 도와줘야 한다는 점을 이해하지 못한다. 

부진한 선수를 지나치게 몰아세워서는 안 된다.

성적 부진은 결코 굴욕이나 수치스러운 일이 아니므로 여유를 갖고 신중하게 대처하도록 해야 한다. 

또한 야구가 중요하긴 하지만 그렇다고 인생의 전부가 아니라는 사실도 깨닫게 해야 한다. 

정말 중요한 것은 삼진을 당했는지가 아니라 후회 없이 경기를 펼쳤는가 하는 것이다. 

빌리는 자신의 재능은 믿었지만, 자신에 대한 믿음이 없었다. 

그는 자신을 야구 성적에 따라서만 평가했다. 

그렇다 보니 성적이 나쁘면 자신감 역시 사라졌다. 

또한 그는 무슨 일이든 제대로 대처한 경험이 없었으므로 대응기제도 발달하지 못했다."

 

미 항공우주국의 엔지니어에서 야구 작가로 변신한 에릭 워커는 "야구선수의 어떤 면에 돈을 쓰는게 가장 효율적인 방법인가 에 대한" 소책자를 썼다. 

워커에 따르면 수비는 야구에서 기껏해야 5퍼센트밖에 차지하지 않으며, 나머지는 피칭과 공격에 달려 있다. 

문제는 훌륭한 투수는 제대로 된 평가를 받지만 훌륭한 타자는 그렇지 못하다는 것이다. 

워커는 다음과 같이 설명했다. 

"야구를 분석해보면 흥미롭고도 중요한 여러 숫자가 등장한다. 

하지만 가장 중요한 숫자는 3이다. 

아웃이 세 번이면 한 이닝이 끝난다. 

세 번째 아웃을 당하기 전까지는 어떤 플레이도 가능하지만 그 이후로는 모든 게 끝이다. 

따라서 공격 팀의 경우 아웃 확률을 높이는 모든 시도는 해가 되고, 

반대로 아웃 확률을 낮추는 모든 시도는 이롭다. 

그렇다면 출루율은 무엇인가?

간단하고 정확히 말하면 타자가 아웃당하지 않을 확률이다. 

이렇게 놓고 보면 출루율은 공격 부문의 통계 가운데서 가장 중요한 수치라는게 분명해진다. 

출루율은 타자가 아웃되지 않고 공격할 기회를 늘리겠다는 의지를 보여주는 수치다."


통계 분석의 힘은 표본의 크기에 달려 있다. 

분석가가 다뤄야 할 자료 분량이 많을수록 그와 관련된 특정한 결론을 더 확실하게 이끌어낼 수 있다. 

좌완투수를 상대로 해서 10타수 2안타를 기록한 우타자를 놓고 1,000타수 200안타를 기록한 타자와 마찬가지로 

좌완투수를 상대로 꾸준히 2할을 기록할 것이라는 식의 예측은 불가능하다. 


야구 개요를 쓴 제임스의 광범위한 독자층은 통계가 핵심이 아니라는 사실을 이해하지 못했다. 

제임스가 주장한 핵심은 야구에 대한 올바른 이해였는데도 말이다. 

또한 이 세상의 삶을 좀 더 이해할 수 있게 만드는 데 있었다. 

"우리는 모두 숫자에 너무나 무감각해져 숫자를 통해 만들어진 그 어떤 지식도 진정으로 받아들일 수 없게 되어버렸다."


실력을 인정받는 마무리 투수는 '세이브'라는 기록 덕분에 선수시장에서 실제 가치보다 과도하게 책정되는 경향이 있다. 

물론 '위기에서 구해낸다'는 뜻을 지닌 세이브라는 용어만 놓고 보면, 세이브를 달성한 선수는 매우 중요한 존재라는 느낌이 든다. 

하지만 세이브로 묘사되는 전형적인 경우, 예를 들어 팀이 이기는 가운데 9회에 상대팀 주자가 없는 상황은 

투수가 직면하는 수많은 다른 상황과 비교할 때 특별히 더 위태롭지는 않다. 

제임스식으로 말하자면 마무리 투수의 기록은 그저 숫자일 뿐 언어의 힘을 가지고 있지 않다. 


오클랜드 애슬래틱스의 단장인 빌리 빈은 선수 트레이드에 앞서 다음과 같은 다섯 가지 규칙을 마음에 새겨두었다. 

1. 현재 아무리 성공적이라고 해도 변화는 언제나 필요하다. 

영원한 현상유지는 없다. 항상 업그레이드를 추구하라. 그렇지 않으면 끝장이다. 

2. 뭔가를 꼭 해야 한다고 말하는 순간 이미 끝장난 것과 다름없다. 

형펀없는 거래를 하고 말 것이기 때문이다. 

3. 모든 선수가 정확히 어떤 가치를 지녔는지 정확하게 알아야 한다. 

그래야만 선수의 가격을 제대로 매길 수 있다. 

4. 어떤 선수가 필요한지 정확하게 파악하고 그 선수를 붇잡아라. 

다른 팀이 어떤 선수를 트레이드로 보내고 싶어 하는지는 신경 쓰지 마라. 

5. 내가 하는 모든 거래는 대중의 주관적인 판단에 따라 집중공격을 당할 것이다. 

내가 만일 IBM의 사장이라면, 자신이 내리는 인사결정이 신문 경제면의 첫 페이지에 나온다고 해도 전혀 개의치 않을 것이다. 

모든 사람이 자신이 PC에 관해 모든 것을 안다고 생각하지 않는다. 

그러나 방망이를 한 번이라도 잡아본 사람은 모두 자신이 야구를 잘 안다고 생각한다. 

내 일을 잘해내려면 신문 기사 따위는 무시 해야 한다. 





Trackback 0 And Comment 0

R 예제: 연관성 측정

|



두 변수 간의 통계적인 관계 측정 방식으로 사용하는 상관관계 측정으로 피어슨 상관계수, 스피어만 상관계수 등이 있다고 합니다. 

피어슨 상관계수는 두 변수 X와 Y가 함께 변하는지와 따로 변하는지의 비율로 계산하는 것으로 가장 많이 사용된다고 합니다. 

X와 Y가 완전히 동일하면 +1, 완전히 다르면 0, 반대방향으로 동일하면 -1 값을 가진다고 하네요. 


스피어만 상관계수는 자료의 값 대신 순위(랭킹)을 기준으로 상관관계를 계산하는 방식이라고 합니다. 

이 값은 -1과 1 사이의 값을 가지는데, 두 변수의 순위가 완전히 일치하면 +1, 완전히 반대면 -1이 된다고 합니다. 

스피어만 상관계수와 같이 순위를 기준으로 값을 측정하는 캔달의 타우도 있다고 하네요. 


이번에 살펴볼 R 예제는 기온과 기압과 같은 시계열 벡터 x, y에 대해 각 값이 증가하고 감소하는 것에 대한 상관관계를 살펴보는 것입니다. 

먼저 코드를 살펴보도록 하죠. 



findud는 시계열 벡터 v에 대해 뒤에 값에서 바로 앞의 값을 뺀 값을 계산하고, 

그 값이 증가하고 있으면 1, 감소하고 있으면 0을 리턴하는 함수입니다. 


연속된 값의 차이를 계산하기 위해 v[-1]으로 맨 앞의 값을 제거한 벡터를 먼저 구하고, 

v[-length(v)]으로 맨 뒤의 값을 제거한 벡터를 구한 다음, 두 값을 빼서 계산한 것을 확인할 수 있습니다. 


udcorr 함수에서는 상관관계 계수를 정하기 위해서 x 벡터와 y 벡터의 증감이 동일한지 먼저 비교합니다. 

증감이 동일하다면 1이 나올 것이고, 다르면 0이 나올 것이므로

그 평균을 구하면 증감이 동일한 상관관계의 비율이 나오게 되는 것이죠. 


실제 값을 넣고 테스트를 해 봤습니다. 



그런데 책에서는 udcorr 함수를 다음과 같이 계산했습니다. 



lapply()함수를 사용한 것이고 결과는 동일하게 나옵니다. 

findud를 두번 호출하지 않는 장점이 있어, 코드를 짧고 명확하게 작성하는데 도움이 된다고 하는데요. 

저는 첫번째 방식이 보다 직관적이고 읽기 쉬울 것 같다는 생각이 들었습니다. 

어쨌든 lapply()를 통해 리스트에 있는 벡터에 대해 동일한 함수를 호출할 수 있다는 점은 기억해 둬야 겠네요. 


마지막으로 R은 다양한 고급 함수를 제공하고 있습니다. 

연속된 값의 차이를 구해주는 diff() 함수와 

현재 값이 양수인지, 0인지, 음수인지에 따라 1, 0, -1을 리턴하는 sign() 함수를 사용할 수도 있다고 합니다. 



정말 소스가 간단해 지는군요.. ^^ 

하지만 코드가 더 읽기 힘들어질 수도 있으므로 개인적으로는 첫번째 방식을 가장 추천합니다. 


미니의 R 주요 강좌...

데이터 통계 분석을 위한 R 설치와 활용

R 실행을 위한 기본적인 내용들~

R 데이터 구조에 대한 정리

R 패키지 설치하기

R 데이터셋 처리 함수들에 대한 간단한 정리~

R 데이터셋 정렬하기~

R 데이터셋의 일부 데이터 가져오기

R의 lapply, sapply, vapply를 이해하자~

R의 apply, tapply의 활용법을 알아보자~

R의 split 활용

R의 함수 작성 및 활용~

R 시뮬레이션 - 랜덤 변수 샘플링

R 함수에서 캐시 활용하기~

R 디버깅 툴 활용하기~





Trackback 0 And Comment 0

통계를 왜 배워야 하는가?

|



미분적분, 수치해석, 확률통계~ 고등학교 때부터 대학교 초기까지 배웠던 통계 관련 과목들입니다. 

그동안 별로 관심을 가지지 않고 지냈었는데.. 최근 프로젝트와 맞물려서 다시 공부를 해야 겠다는 생각을 했네요. 

역시 사람은 뭐든지 필요할 때가 되어야 비로소 진정한 의미를 알고 다시 시작하는 건가 봅니다. ^^


앞으로 꾸준히 통계 부분에 대해서는 공부를 하면서 가끔 정리해 볼 계획입니다. 

제가 뭐 통계학자도 아니고, 수학을 전공한 사람도 아니기에 제가 이해하는 수준에서 나중에 참고할 수 있도록 부담없이 정리하려고 합니다. 

혹시 제가 잘못 이해하고 있는 것을 본 전문가들은 가감없이 댓글 달아주시면 좋겠습니다. 


통계의 중요성

먼저 통계가 무엇인지부터 정리를 해야 할 것 같네요. 

Head First Statistics 책을 보면 다음과 같이 나와 있습니다. (일단 Head First 책으로 시작해서 관련 내용을 많이 참조했습니다.)

Statistics are numbers that summarize raw facts and figures in some meaningful way. 

They present key ideas that may not be immediately apparent by just looking at the raw data.


즉, 통계도 하나의 숫자라는 것인데요. 의미있는 핵심적인 내용을 보여주는 숫자라는 것입니다. 


그럼 통계를 왜 배워야 할까요? 

통계를 제대로 배운다면 객관적인 결정을 내릴 수 있게 되고, 뛰어난 직관처럼 보이는 정확한 예측을 할 수 있게 되며, 원하는 메시지를 가장 효과적인 방식으로 전달할 수 있게 됩니다. 


또한 통계는 사실에 기초를 두고 있지만 간혹 사실과 다른 내용으로 보여지도록 만들 수도 있다고 합니다. 

다음 그림을 보면 이해가 빠를 것 같습니다. 



위 그림을 보면 동일한 회사의 월별 수익 변화를 나타내고 있습니다. 

그런데 첫번째 그림을 보면 이익의 변화가 거의 없어 보이고, 두번째는 이익이 증가하고 있는 것으로 보입니다. 

당연히 눈치채셨겠지만, 바로 수직축의 값이 다르기 때문입니다. 

즉, 아래 그래프에서 보면 0부터 시작하지 않고 2.0부터 시작한 걸 확인할 수 있습니다. 


그러나 그래프를 자세히 살펴보지 않는다면 이런 부분을 정확하게 확인하지 못하고 직관적으로 이익이 증가하고 있다는 잘못된 판단을 할 수도 있는 것이겠죠.. 

그래서 통계에 대한 공부가 필요한 것 같습니다. (물론 위 그림은 초등학생도 파악할 수 있는 것이긴 하지만.. ^^)

통계라는 숫자를 정확하게 읽고 분석하고 예측할 수 있도록 앞으로 기초부터 꾸준히 스터디를 해보려고 합니다. 


기본 용어

도수(Frequency): 도수는 어떤 특정한 그룹이나 범위 안에 얼마나 많은 항목이 들어 있는지 나타내는 값입니다. 항목의 수를 센 값이라고 하네요. 

범주적 데이터(Categorical data): 일정한 범주로 나눈 다음 각 범주의 성질이나 특징을 묘사하는 데이터입니다. 정성적 데이터라고도 한다고 합니다. 

수치적 데이터(Numerical data): 숫자를 다루는 데이터로서 값의 측정이나 개수처럼 숫자로서의 의미를 갖는다고 합니다. 정량적 데이터라고도 합니다. 

도수밀도(Frequency density): 그룹으로 묶인 데이터의 도수가 얼마나 집중되어 있는지 나타냅니다. "Frequency / Group width"로 계산합니다.

히스토그램(Histogram): 그룹으로 묶인 데이터를 위한 차트로 각 막대의 높이는 도수가 아니라 도수밀도의 값을 나타냅니다. (막대 사이의 빈 공간이 없는 막대그래프를 생각하면 됩니다.)

누적도수(Cumulative frequency): 특정 값에 이르기까지의 도수의 합을 의미합니다. 즉 누적도수는 도수의 누적 합계입니다. 





Trackback 0 And Comment 0

[SDK 적용] - 모바일 분석 서비스 Fingra.ph 100% 활용하기 #2

|



Fingra.ph 활용 강좌를 진행하고 있는 미니입니다.~

오늘은 지난번 회원가입에 이어서 모바일 앱에 Fingra.ph SDK를 적용하는 방법을 살펴보도록 하겠습니다.


Fingra.ph SDK를 적용하기 위해서 회원가입이 반드시 되어 있어야 하므로 혹시 계정이 필요하신 분은 

다음의 회원 가입 글에 댓글로 이메일을 작성해 주시면 초청장을 발송해 드리도록 하겠습니다.


모바일 분석 서비스 Fingra.ph 100% 활용하기 #1 - 회원가입


그럼.. Fingra.ph 에 로그인을 하고 난 후 앱을 등록하고, SDK를 적용하는 방법을 순서대로 살펴보도록 하죠~


모바일 앱 등록하기

Fingra.ph 사이트에 처음 로그인을 하면 다음과 같은 화면이 나오는데요. 

아직까지 등록된 앱이 없기 때문에 가장 먼저 보유하고 있는 앱을 등록해야 합니다.


아래 화면에서 "Add a New Application" 버튼을 클릭해서 앱을 등록합니다.



신규 앱을 등록하는 화면은 다음과 같습니다.


Platform은 아이폰 또는 안드로이드 앱 중 선택하면 됩니다. 

선택한 OS에 따라 SDK가 제공되므로 정확하게 설정해 주셔야 합니다. 

향후 윈도우 모바일용 SDK도 제공할 예정입니다.


App Name에서는 사용하는 앱 이름을 넣어주시면 됩니다. 

만약 동일한 앱 이름으로 아이폰, 안드로이드 모두 서비스하고 있다면 App Name에 해당 OS를 구분할 수 있도록 "앱이름(Android)"와 같은 형태로 넣어주면 좋습니다.


Category는 등록할 앱의 카테고리를 선택하는 것인데요. 

Fingra.ph에서 제공하는 통계 중 Benchmark 기능이 있습니다.  앱이 등록된 카테고리의 평균과 비교해서 통계를 보여줄 때 사용하게 됩니다.


위 세가지 항목은 반드시 입력해야 하는 부분이구요. 

마지막으로 있는 Market ID는 필수항목은 아닙니다. 

그러나 이미 구글플레이나 애플 앱스토어에 등록된 앱은 해당 마켓 아이디를 입력하면 됩니다.



모든 입력을 완료하고 "Create App" 버튼을 클릭하면 앱 등록이 완료됩니다. 

이어서 SDK를 다운로드하는 부분에 대해서 설명하도록 할께요~


SDK 다운로드

모바일 앱 등록이 완료되면 다음과 같은 초기 화면을 볼 수 있습니다.

SDK를 다운로드 하기 위해서는 "Download SDK" 버튼을 클릭하면 됩니다.



SDK 다운로드 화면은 등록한 앱에 대해 다음과 같이 "Application Key"와 "SDK 다운로드 링크"를 보여줍니다.


Application Key는 Fingra.ph SDK를 호출할 때 사용하는 앱의 식별자입니다. 

"fin00000" 형태로 구성되어 있구요. 앱에 SDK를 적용할 때 Application Key를 반드시 정확하게 입력하셔야 합니다.


Download SDK를 클릭하면, 해당 OS의 SDK 파일을 다운로드 할 수 있습니다. zip 파일로 압축되어 있구요. 해당 OS에 적합한 SDK 파일과 설명 문서가 포함되어 있습니다.



이제 Application Key와 SDK를 다운로드 했으니 실제 앱에 적용하는 부분에 대해서 간략하게 살펴보기로 하죠~


SDK 적용하기

SDK 파일을 다운로드해서 압축을 해제하면 SDK 적용을 위한 설명서 파일이 있습니다. 

Fingra.ph 서비스에서 현재 유일하게 한글 버전을 함께 제공하고 있는 부분입니다. ^^

"Fingraph-README_KOREAN.pdf"파일을 참고하면 아이폰 또는 안드로이드 앱에 Fingra.ph SDK를 쉽게 적용할 수 있습니다.


여기에서는 해당 문서에 없는 몇가지 주요한 특징들을 설명하려고 합니다.


먼저 Fingra.ph SDK를 적용하더라도 기존 앱에는 영향이 거의 없습니다. 

즉, 어떤 환경에서도 Fingra.ph SDK 때문에 앱 동작에 문제가 발생하지 않습니다. 

오히려 추후 Fingra.ph에서 제공하는 Log를 통해 실제 앱이 비정상적으로 동작하는 경우를 확인할 수 있을 것입니다.


안드로이드 앱의 경우에는 onStartSessiononEndSession이 반드시 쌍으로 호출되어야 합니다. 

가끔 onStartSession만 호출하는 경우나 onEndSession을 실제 종료할 때 실행되지 않는 부분에서 호출하는 분들이 있는데요. 

정확한 통계가 생성되지 않기 때문에 주의하셔야 합니다. (물론 이런 경우도 Fingra.ph의 Log 통계에서 확인할 수 있습니다.)


아이폰의 경우에는 onStartSession만 호출하면 됩니다. 

다만 Background 모드에서 다시 실행되는 경우에도 (즉, applicationDidBecomeActive() 호출시) onStartSession을 호출해 줘야 합니다.


혹시 앱 내의 전체 페이지 뷰를 알고 싶을 경우, 초기 실행하는 화면 이외에 중간중간 페이지마다 onPageView 메소드를 호출하면 Fingra.ph 통계의 PageView에 해당 통계가 추가됩니다.


마지막으로 나이/성별에 따른 통계를 확인하고자 할 경우, setAge / setGender 메소드로 호출하면 됩니다. 

물론 나이/성별을 가지고 있지 않은 앱에 대해서는 Fingra.ph 자체 알고리즘으로 추출된 사용자에 한해 해당 통계를 제공하고 있습니다.


추가로 Fingra.ph는 개인정보보호를 위해 개인을 식별할 수 있는 전화번호, 이름, 디바이스 ID, 위치 등의 정보를 사용하지 않습니다. 

그러므로 앱 개발사분들은 안심하고 사용하면 됩니다.


마치면서

오늘까지 회원가입부터 모바일 앱에 SDK를 적용하는 부분까지 살펴봤습니다. 

앞으로는 Fingra.ph가 제공하는 통계 서비스 내용에 대해서 하나씩 살펴보려고 합니다. 

실제 적용된 Demo App을 통해 각 통계의 의미 분석을 해보려고 합니다.


감사합니다.





Trackback 0 And Comment 0

[회원가입] - 모바일 분석 서비스 Fingra.ph 100% 활용하기 #1

|



모바일 어플리케이션을 서비스하면서 가장 궁금한 점이 누가 얼마나 사용하고 있는가 하는 정보가 아닐까 합니다. 

이제는 다운로드 숫자보다는 App의 실제 활용여부가 더 중요한 정보가 되었는데요. 


오늘부터 소개할 모바일 분석 서비스인 Fingra.ph는 Hadoop MapReduce를 활용해서 제작한 서비스입니다. 

사용자의 순방문자수, 방문자수, 세션, 세션시간, 페이지뷰, 시간대별방문자 등의 기본적인 정보 뿐만 아니라 

지역별, 언어별, 성별, 나이별 접속자와 OS별, 해상도별, App버전별 다양한 통계를 제공하고 있습니다. 


Fingra.ph 공식 블로그와 함께 해당 서비스에 대해 앞으로 정리해 보려고 합니다. 

아래 글은 첫번째로 회원 가입과 관련되어 작성한 글입니다. (여기에도 댓글 달아 주시면 회원가입 초청장을 보내드리도록 하겠습니다.)


------------------------------

안녕하세요!! Fingra.ph 서비스 100% 활용하기를 진행할 미니~ 입니다. ^^

앞으로 저와 함께 모바일 분석 서비스인 Fingra.ph를 기본적으로 활용하는 방법과 향후 모바일 비즈니스에 적용하는 방법까지 알아보기로 하죠.


오늘은 첫번째로 회원가입부터 살펴보기로 하겠습니다.


현재 Fingra.ph 서비스는 open beta로 초청장이 있어야 회원가입이 가능합니다. 

App 개발사나 제작자로서 초청장이 필요한 분들은 댓글로 이메일을 알려주시면 초청장을 발급해 드리도록 하겠습니다.

추후 정식 서비스가 진행되면 유료화 정책등이 진행될 수 있으나 open beta에서 가입한 분들에게는 가능한 무료로 제공하려고 하고 있으니 많은 가입과 적용 바랍니다. ^^



초청장

초청장은 신청한 이메일 주소로 전송되는데요. 

다음과 같은 형태의 초청장을 받을 수 있으며 Invitation Code가 회원 가입할 수 있는 코드값입니다.

회원 가입이 완료되면 다른 10분의 회원에게 초청장을 발송할 수 있는데요. 

이 부분은 다음 기회에 잠깐 설명하도록 하겠습니다.

아래 초청장 이메일에서 ”Go to Fingra.ph” 버튼을 클릭하면 이제 회원가입 화면으로 이동합니다.



회원 가입 이전에 먼저 코드 유효성 검사를 수행합니다. 보내드린 초청장 코드로는 한분만 회원가입할 수 있습니다.

초청장 이메일에서 “Go to Fingra.ph”를 이용해서 접속한 경우, 해당 코드를 직접 입력하지 않으셔도 됩니다.

코드 입력 확인 후 “Next” 버튼을 클릭하면, 유효성 검사 후 회원가입 입력 화면으로 이동합니다.



회원 가입

회원 가입은 필요한 최소한의 정보만을 입력하도록 구성되어 있습니다. 

그러나 Email address는 Fingra.ph 서비스에서 로그인 아이디로 사용되므로 오타없이 잘 입력해 주셔야 합니다.

입력 완료 후 “Create Account”를 클릭하면 회원 가입이 완료되고 해당 결과가 입력한 메일로 전송됩니다.

회원 가입시 입력하는 이메일과 초청장 발급 요청 이메일이 반드시 동일할 필요는 없습니다.



이메일은 다음과 같은 형태로 발송됩니다.



이제 회원 가입이 완료되었습니다. 

메인 화면이나 우측 상단의 “Sign in to Fingra.ph”를 클릭해서 로그인해서 Fingra.ph 서비스를 자유롭게 활용해 보시기 바랍니다.


초청장 발송

회원 가입을 마치고 난 후, 로그인을 하면 다음과 같은 화면이 나옵니다.

이 화면에서 우측 하단의 “Send Fingra.ph service invitation” 링크를 클릭하면, 다른 10분에게 별도로 초청장을 발송할 수 있습니다.



“Send Fingra.ph service invitation”을 클릭한 화면은 다음과 같습니다.

해당 화면에서 초대할 Email 주소를 입력하고 우측의 메일 아이콘을 클릭하면 자동으로 초청장이 발송됩니다.



마치면서

만약 Fingra.ph 서비스의 실제 내용을 미리 살펴보고 싶으시다면 Demo 메뉴를 통해 신청해 보시기 바랍니다. 

이메일로 전송된 Demo 계정을 통해 Fingra.ph에서 서비스하는 분석 내용을 살펴볼 수 있습니다.


다음에는 Fingra.ph에서 Application을 등록하고 사용하는 방법에 대해서 진행하도록 하겠습니다.

감사합니다.






Trackback 0 And Comment 0

웹에서 사용할 수 있는 무료 그래프 툴에 대하여

|



웹 사이트를 개발하다보면 통계나 각종 차트에 대해서 그래프를 출력해야 하는 경우가 있습니다. 

Flash나 Ajax를 이용해서 그래프를 출력할 수 있는 툴 들이 있어서 소개하도록 하겠습니다. 

제가 직접 사용해 본 그래프 툴을 소개할 예정인데요. 

Fotographer INNO 님의 웹 디자인에 유용한 차트 & 그래프를 보니 정말 다양한 툴이 있는 것 같습니다. 

좀 더 다양한 그래프를 보고 싶으신 분은 위 링크를 한번 방문해 보시기 바랍니다. 


Highcharts - Ajax로 모바일까지 지원하는 그래프 툴

Highcharts는 Ajax로 되어 있는 그래프 툴로서 상용이 아닌 경우, 무료로 사용할 수 있구요. 

상용 버전도 1개발자에 약 40만원 정도로 그리 비싸지 않습니다. 

일단 Ajax로 구성되어 있어서 모바일에서도 똑같이 보여진다는 것이 가장 큰 장점입니다. 

그래프 이미지도 상당히 깔끔하게 나옵니다. 



JQuery, MooTools, Prototype과 같은 Javascript를 사용해서 동작할 수 있기 때문에 생각보다 쉽게 적용할 수 있습니다. 

데이터는 컴마(,)로 구분된 텍스트나 JSON 형태로 전달해 주면 되구요. 

CSV, XML, 또는 php/jsp와 같은 프로그래밍에서 제공할 수도 있는 형태로 되어 있습니다. 



특히 재미있는 기능은 확대/축소를 지정해 두면 일부 영역을 드래그 하면서 확장할 수 있다는 것입니다. 

데이터가 많은 것을 한눈에 보여주고 확장 기능을 주고 싶을 때 유용하게 활용할 수 있을 것 같습니다. 


추가로 Highchart를 웹에서 직접 테스트할 수 있는 URL을 제공해 줍니다. 

아래 사이트에 들어가시면 위의 두번째 차트에 대한 내용을 직접 편집하면서 볼 수 있습니다. 

http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/column-basic/


Open Flash Chart - Flash를 기반으로 한 오픈 소스

Flash 기반으로 만들어진 오픈 소스입니다. 

개발자가 유료 버전의 그래프를 튜닝해서 쓰다가 수정 사항들을 이야기 했는데 

대응이 너무 화나게 해서 아예 새롭게 만들어서 Open Flash Chart를 오픈 소스로 제공했다는 스토리가 있는 소스입니다. ^^


플래시 기반이기 때문에 모바일에서는 제대로 동작하지 않습니다만 

웹만 사용할 때는 유용하게 활용할 수 있는 툴입니다. 

OFC와 OFC2가 있으며 데이터를 출력하기 위해서는 JSON을 활용하고 있습니다. 



그림에서 보이는 것처럼 Highchart 보다 덜 세련되어 있지만 나름 웬만한 그래프는 모두 처리할 수 있습니다. 


Fusion Charts Free

Fusion Charts Free는 플래시 기반의 그래프를 표출하는 오픈 소스로서 다양하고 예쁜 그래프를 제공해 주고 있습니다. 

다음 그림을 참고해 보시죠.. 


참고로 유료로 판매하는 Fusion Charts XT와는 다른 것이라고 하네요. 

Fusion Chart XT는 플래시가 아닌 Javascript/HTML5 기반으로 구성되어 있다고 합니다. 

실제로 통계 사이트들 중에서 그래프도 다양하고 디자인도 상당히 괜찮아서 Fusion Chart XT를 사용하는 곳이 꽤 되는 것 같습니다. 










Trackback 1 And Comment 0

2011년 디지털미디어 트랜드 보고서와 2012년 소매 유통 쇼핑몰 전망 자료

|



항상 새로운 기획이나 사업계획을 할 때 통계 자료를 찾아 헤매던 기억이 있네요. 

트위터를 보다가 이런 자료들을 올려 놓은 분들이 계셔서 나중에 활용할 수 있을까 해서 올려봅니다.

1.  2011년 디지털미디어 트랜드 보고서
http://www.dmcmedia.co.kr/marketinginsight/2012/01/2011_digitalmedia_trendreport.pdf 

광고 플랫폼과 관련된 업무를 하시는 분들에게는 도움이 될 것 같습니다.
광고나 트래픽 관련 각종 통계자료가 잘 나와 있구요
디지털 미디어의 이슈에 대해서도 모바일이나 SNS, 스마트 TV까지 정리되어 있습니다.

특히 요즘 Hot Issue인 모바일 광고에 대해서도 플랫폼이나 광고 업체별로 정리되어 있네요. 
가장 도움이 되는 자료인 것 같습니다. ^^

2. 2012년 유통업 전망
http://mepay.co.kr/889

국내외 경제전망을 서두에 이야기 하고 있구요.
유통 소매업에 대한 각종 전망과 통계들을 다루고 있습니다.
백화점, 대형마트, 슈퍼마켓, 편의점, 무점포판매로 나누어서 잘 정리되어 있는 것 같네요. 

이외에도 여러가지 자료들이 위 블로그에 포함되어 있습니다. 
꼭 한번씩 살펴보시기 바랍니다.

이런 통계 자료들은 나중에 필요할 때 찾으면 꼭 없더라구요.. ^^


 



Trackback 0 And Comment 0

모바일 어플리케이션 분석 툴이면서 (실제로는 광고 플랫폼인) Flurry

|



모바일 앱을 서비스하다 보면 다양한 통계 데이터를 보고 싶은 경우가 많습니다. 
앱스토어에서는 단순히 다운로드 숫자만 볼 수 있는데요.
다운로드 이외의 사용자 접속이나 PV, UV 등의 데이터를 보고 싶은 경우가 있죠.

이럴 때 개별적으로 통계를 구축하기에는 서버도 필요하고 개발을 추가해야 하는 부분도 있습니다.
그러나 Flurry(http://www.flurry.com)라는 SDK를 이용하면 이런 문제를 해결할 수 있게 됩니다.  


안드로이드의 경우, 특정 이벤트마다 OnStartSession()을 호출하고 종료될 때 OnEndSession()을 호출하면 쉽게 통계를 쌓을 수 있습니다. 
특히 사용자가 빠르게 이벤트들을 지나가는 것을 체크하기 위해 10초 이내에 이어지는 것은 Start Session을 유지하기로 한 것은 
나름 정확한 통계 데이터를 확보하기 위한 방안으로 보이고 괜찮은 것 같았습니다.  
설정에 따라 사용자의 접속 위치 정보도 포함할 수도 있도록 되어 있더군요. 

특히 loeEvent() 메소드를 통해서 특정 이벤트만을 저장해서 따로 분석 결과를 볼 수 있는 부분도 상당히 괜찮은 것 같습니다. 

국내에도 이와 유사한 서비스가 있기는 하지만 유료이더군요..  
Flurry는 이런 서비스를 왜 무료로 하고 있을까요?

사이트를 살펴보니 이렇게 수집한 세션별, 지역별, 성별에 따른 페이지뷰를 활용하여 타게팅된 광고 서비스를 하고 있더군요.
즉, AppCircle이라는 광고 플랫폼을 통해 App 개발자에게 분석 데이터 뿐만 아니라 광고 노출까지도 유도하고 있습니다. 
사용자에게는 보다 타게팅된 광고 효과를 제공하겠다고 이야기 하고 있구요.

광고 형태도 기존의 배너와 카달로그 뿐만 아니라, 광고 데이터만 받아서 사용자가 원하는 형태로 노출하는 API도 제공하고 있습니다. 

예전에 광고 플랫폼을 적용하면서 페이지뷰를 해당 광고의 노출을 토대로 체크했던 점을 생각하면
이를 반영해 분석 데이터를 무료로 제공하고 광고 플랫폼을 추가로 활용하도록 하는 전략이 좋은 것 같습니다.

국내의 많은 모바일 광고 플랫폼 업체들도 한번 고려해 볼 만한 전략이 아닌가 합니다. 

한발 더 나아가서 광고를 동영상 부분으로 확장한 AppCircle Clip 이라는 것도 있습니다.
Flurry에서 배포한 다음 동영상을 살펴보면 조금 이해가 쉬울 수 있겠네요.  

Wistia


사용자의 데이터를 어떻게 수집하고 이를 잘 분석해서 서비스 할 수 있는가 하는 점이 모바일 서비스에서는 상당히 중요하다고 생각하는데요. 
일반적인 모바일 광고 플랫폼에서 벗어나 그런 측면을 잘 활용한 점이 돋보이는 서비스가 아닌가 생각합니다. 
 



Trackback 0 And Comment 0

2011년 미니의 프로그래밍 이야기 블로그 결산

|



2011년 한 해가 저물어 가네요~
항상 끝은 새로운 시작을 의미한다고 내일부터는 2012년 새해가 시작되네요. 

올 한해 프로젝트를 정리해 보면서 1월에 계획했던 자료를 보니 느낌이 새로웠습니다.
또 다시 한해를 기획하고 내년 말에도 똑같은 감정을 느끼게 되겠죠.

이번에는 블로그도 한번 정래 보려고 합니다.
올 9월 부터는 블로그에 내가 생각하는 점이나 궁금해서 찾아본 자료들을 정리해서 올리는 형태로 운영을 꾸준히 해 봤습니다. 

꾸준이 글을 올리니 아주 조용했던 블로그가 오히려 제 홈페이지보다 더 활성화가 되더군요. 
그 어떤 것보다 꾸준히 노력하는 것이 중요하다는 점을 다시 한번 생각해 보게 되었습니다. 


현재까지의 총 방문자 수가 26만명을 넘었네요.. 
특히 10월부터는 방문자 수가 1만명 이상을 넘어서고 있는 것이 보입니다. ^^
2007년에도 1만명을 넘은 때가 딱 한 번 있었는데 그 이후로는 처음이네요. 




그런데 제 블로그의 접속 동향을 살펴보면 일정 주기가 있습니다. 


월요일 ~ 금요일까지는 꾸준히 유지하다가 토, 일요일에 반절 정도 뚝 떨어집니다. 
아무래도 IT 관련 블로그라서 평일에는 학생, 직장인들을 기반으로 많이 접속하지만
주말에는 관련 내용을 찾아보지 않아서 그런 것 같습니다. 

구글의 Analytics를 통해 지난 한 달 사이의 통계를 보니 방문당 페이지 수가 1.22 이며
평균 사이트에 머문 시간이 45초네요. 
아마도 검색으로 들어와서 해당 페이지만 빨리 살펴보고 나가는 형태인 것 같습니다. 


그래서 인지 재방문자 보다는 새로운 방문자의 비율이 85% 정도로 높네요.. 
 


마지막으로 어떤 검색을 통해서 많이 들어오는지 살펴봤습니다. 
네이버와 구글의 검색을 통해서 들어오는 경우가 대부분인 것 같습니다. 
제 홈페이지를 통해서 들어온 것도 조금 보이네요.. ^^


2012년 내년에는 어떤 통계가 나올지 궁금합니다. 
꾸준히 운영해서 월 2만 이상의 페이지뷰가 나오는 블로그가 되면 좋겠네요. ^^

 



Trackback 0 And Comment 0
prev | 1 | next