기본 콘텐츠로 건너뛰기

[빅데이터] 빅 데이터란 가치를 찾는 것이다 – 문용준 빅데이터 아키텍처



[빅데이터] 빅 데이터란 가치를 찾는 것이다 – 문용준 빅데이터 아키텍처





문용준 빅데이터 아키텍처
- SK C&C 부장
금융 차세대 프로젝트 및 IFRS 프로젝트 수행
금융 Application Architect로 활동 중

빅 데이터란 가치를 찾는 것이다과연 누구의 가치를 찾아야 하는 것인가?
기업들이 자신들의 가치를 찾는 것일까 아니면 공공기관들이 자신들의 가치를 찾는 것일까?
무엇을 위한 가치인지를 첫 번째로 인식해야 한다기업이나 공공기관들 자신들을 위한 가치가 아니라 그들의 고객인 사람들의 가치를 찾는 것이 진정한 빅데이터이다.
국내에서는 뉴스나 소셜에 있는 데이터 즉 텍스트 데이터단어를 가지고 주가 가격 변동을 분석하고 있다주식가격은 주식시장 참여자들이 실제 행위를 분석해야지 뉴스나 소셜로 분석한다고 주식시장 참여자들이 매매행위를 분석할 수 있는 것이 아니다.
최근 CRM에 빅데이터를 반영하자고 하는데 왜 CRM이 빅데이터에 최우선 과제가 될까?
기업은 자신의 만든 물건 즉 상품을 팔아야 생존하기 때문이다자신들이 상품을 잘 만들었다고 판매되는 것도 아닌데 과연 무엇을 분석할 것인가?
여기서 기존 CRM의 문제점을 다시 집어보고 가자첫째, CRM은 IT 벤더사의 솔루션을 도입했다둘째컨설팅 결과를 그대로 수용했다셋째고객 세그멘테이션을 세분화할 수 없다넷째고객의 반응을 수집하지 않는다.
단순히 이 4가지만을 봐도 현재 도입된 CRM은 생명력이 없는 소프트웨어이다소프트웨어는 세상의 변화에 따라 살아 움직여야 되는데도입만 했지 변화할 수 없니 관리만 하고 있다.
CRM은 앞으로도 없어지는 개념이 아니다진정한 고객관계를 가지려면 우리가 해야 할 일이 무엇일까?
고객에게 기업의 가치가 아닌 고객의 이익이 되는 가치를 돌려줘야 한다는 것이다고객이 필요한 가치를 고객의 남긴 데이터를 가지고 찾아 줄 수 있을 때 빅 데이터 기법이 필요한 지를 정확히 느낄 것이다.
기업의 고객 수가 3천만 명, 1년간 활동하는 고객 수는 1500만 명, 1일 거래하는 고객수가 5백만 명일 경우 고객 가치를 돌려주려면 어떤 방식으로 분석해야 할까?
통계기법으로 샘플링 하여 분석한다면 고객에게 가치를 돌려줄 수 없다누가 지금 거래하러 올지도 모르는데 몇 가지 규칙만을 가지고 고객에게 가치를 줄 수 있을 것인가?
기업이 관리하는 모든 고객을 다 분석하고 고객 개개인들의 프로파일링을 하고 고객 군을 이룰 때 기준이 되는 대상을 찾아야 한다내부에 가진 데이터를 분석했지만 잠재고객에 대한 성향을 분석하려면 외부의 다양한 데이터를 수집해야 한다외부데이터 수집도 기업의 분석한 결과를 기준이 되어야 한다.
빅데이터를 분석을 다하면 과연 통찰력이 늘어날까이점도 미지수이다.
실제 고객과의 대화를 하지 않았는데 고객들이 분석한 결과대로 움직일지는 아무도 모른다.
빅데이터 활용을 위한 실시간 고객 접점 채널을 만들어서 실제 분석한 결과를 활용해야한다.
고객의 반응을 정확히 포착하여 빅데이터 분석에 포함되어야 빅데이터를 도입한 하나의 결과가 완성되는 것이다.
가끔 신문에 빅데이터 홍보 기사가 실린다과연 홍보해서 무엇을 얻을까질문을 해본다고객과의 대화 체계도 없고 고객의 가치도 돌려주지 않는데 어떻게 프로젝트가 성공했다는 것일까?
빅데이터를 투자할 경우 ROI를 측정할 수 없는 것은 맞는 말이다빅데이터는 기업들이 자신의 고객들에게 가치를 주는 일이므로 꼭 수행해야 하는 것이다고객과의 대화를 통해 수집된 데이터가 곧 기업의 자원이며 돈이라는 것을 인식해야 한다.
빅데이터는 일반적인 가치를 창출하는 게 아니라 기업과 고객이 상호대화를 나누면서 함께 살아가는 사회를 만드는 것이다수익창출만 바라보면 고객이 보이지 않으니 늦었지만 고객의 가치가 무엇인지를 잘 파악하는 전략을 수립하여 빅데이터 세상으로 들어와야 한다.

댓글

이 블로그의 인기 게시물

golang overload 처럼 처리하기

go 언어에서는 함수명이 같을 경우 재선언 오류를 발생시킨다. 다른 메소드를 만들고 오버로드 처리하도록 설계해서 구현해야 한다. 오버로드 처리를 위해 type switch를 사용해서 들어오는 타입에 따라 메소드 호출하는 처리를 사용한다. 함수나 메소드 인자를 다양하게 처리하려면 []interface{} 로 정의해서 다양한 인자를 받아서 오버로딩 처리하면된다. package main import (  "fmt" ) func main() {  var p Person  p = Person{"dahl"}  var s string = "moon"  fmt.Println(" overloading  ", p.Overload(s))  fmt.Println(" overloading", p.Overload(nil)) } type Person struct {  name string } func (this *Person) Overload(args interface{}) string {  switch args.(type) {  case string:   return this.GetName2("moon")  case nil:   return this.GetName1()  default:   return " no match"  } } func (this *Person) GetName1() string {  return this.name } func (this *Person) GetName2(s string) string {  return this.name }

Python으로 julian date 산출하기

줄리안 일수 산출을 위해서는 윤년여부 체크를 하여 실제 그 해의 해당 일자에 대한 일수를 365 나 366 일수에 해당 일자로 전환하여 산출한다. 현재 일자를 줄리안 즉 시퀀스 일자대로 수정하는 로직이다 #일자 산출 함수 def dayconvert(month) :      convertDay = 0      dayDict = {'01':0, '02':31, '03':59, '04':90, '05':120,      '06':151, '07':181, '08':212, '09':243, '10':273,      '11':304, '12':334}      convertDay = dayDict[month]      return convertDay #줄리안데이 산출 함수 def julian(date):     year = int(date[0:4])    month = date[4:6]    day = int(date[6:8])    #윤년여부 호출   yuncheck = yunyear(year)   # 일자산출   Dday = dayconvert(month)   # 줄리안 데이 산출   Dday = Dday + day   # 유년여부 체크 및 윤년일 경우 일수조정   if yuncheck == 1:       if int(month) > 2 :            Dday = Dday + 1   # 100일 미만일 경우 포맷조정   if Dday < 100 :          Dday = '0' + str(Dday)   else :         pass   #줄리안 일자를 스트링으로 포맷 조정

Understanding golang Type . 타입이해하기...

Pre-declared Types   go 언어에서 빌드인으로 정의된 데이터 타입들.   string, number(int, uint, float...), boolean 타입들 Named vs Unnamed Type    go언어에서는 사용자 정의(type T_Int int 등)는 기본적으로 named type 으로 인식한다.   그리고  pre-declared types도 named type으로 인식한다.    unnamed type은 composited 타입들로 []int, *int 등을 별도로 인식한다.    named type 들은 메소드 정의가 가능하지만 unnamed type은 메소드를 만들 수 없다.    type Map map[string]string //this is valid func (m Map) Set(key string, value string){ m[key] = value } //this is invalid func (m map[string]string) Set(key string, value string){ m[key] = value } Underlying Type     모든 타입은 underlying type 을 가집니다.  리터럴과 declared type들은 자신의 타입을  underlying type으로 처리한다.     새로 생성되는 타입들에는 기존의 타입들이 있어야 하고 이 타입들도 항상 underlying type 을 가진다.      type Map map[string]string type SpecialMap Map SpecialMap과 Map이 underlying type은 map[string]string 이다. Assignability      //사용자 정의 타입 type Mystring string // pre-de