2014년 10월 29일 수요일

R을 사용하여 동적 대시보드 만들기(Shiny 활용)


웹 분석 툴의 양대 강자로는 Adobe Analytics와 Google Analytics가 있습니다. 두 솔루션 모두 훌륭한 기능을 제공하고, 다양한 보고서 형태로 원하는 데이터를 손쉽게 확인 할 수 있습니다. 그럼에도 아쉬운 점은 대시보드에서 데이터를 보는 데에 한계가 있으며, 조금 더 동적으로 유연하게 데이터를 볼 수 있으면 좋겠다는 생각을 했습니다. excel형식으로 데이터를 다운로드 받아 분석을 하거나 다른 형태로 표현 할 수 있지만, 원하는 데이터를 매번 다운로드 받아서 변형하고 분석하기에는 번거롭습니다. (Adobe Analytics는 Excel 연동 프로그램을 제공하여, Excel에서 직접 데이터를 불러와서 활용 가능)



이와 같은 번거로움을 해결하고, 데이터를 불러와서 바로 반영할 수 있는 방안들이 있습니다. R을 활용하여, Adobe Analytics와 Google Analytics에 연동하는 방식을 사용 할 수 있습니다. 훌륭한 R 개발자 분들이 만들어 놓은 패키지를 활용하는 방법입니다. Adobe Analytics와 Google Analytics 모두 R 패키지를 이용해, API에 연동하고 데이터를 불러 올 수 있습니다.

Adobe Analytics 는 RSiteCatalyst 패키지를 활용하고, Google Analytics는ganalyticsRGoogleAnalyticsrga를 활용 할 수 있습니다. (패키지를 사용하여 데이터를 불러 오는 방식은 추후에 포스팅 예정)

위의 패키지를 사용하여 R에서 데이터를 불러와서, 솔루션에서 제공하는 기능 이상의 분석과 대시보드를 구현 할 수 있습니다. R의 Shiny 패키지는 웹 어플리케이션을 개발 할 수 있도록 만들어진 패키지 인데, Shiny를 활용해 웹 페이지에서 분석결과를 동적으로 활용 할 수 있습니다.

R에서 사용하는 시각화 패키지 및 데이터 분석 패키지를 사용하여, 웹 프로그래밍 언어기반의 UI를 구성하여 브라우저에서 표현이 가능합니다.

다음은 특정기업의 데이터 예를 사용하여 레퍼러 유형의 트랜드를 확인한 결과 입니다.


레퍼러 유형을 사전에 설정하고 동적으로 데이터를 확인 할 수 있습니다. 레퍼러 외에도 다양한 지표를 설정할 수 있고, 기간 등도 동적으로 확인 할 수 있도록 UI를 수정할 수 있습니다.

또한, 솔루션에서 일반적으로 제공하지 않은 다양한 통계 분석을 시도해 볼 수 있습니다. 다음은 K-means 군집분석을 웹 지표들을 활용하여 분석 한 결과 입니다.


PC, Mobile Web, Mobile App으로 차원을 구분하여 트래픽 지표들의 군집관계를 볼 수 있도록 설정해 놓았습니다. 군집의 개수를 선택하여 원하는 형태로 트래픽 지표들의 관계를 확인 할 수 있습니다.


이와 같이 솔루션에서 제공하는 기능 외에, API를 연동하여 데이터를 불러오고 통계분석을 진행한 뒤, R의 Shiny 패키지를 활용하면 동적인 대시보드로 데이터를 확인 할 수 있습니다.

웹 분석 솔루션은 손쉽게 디지털 데이터를 수집하는 기능을 제공합니다. 이렇게 수집한 자사의 데이터를 분석 솔루션 내에서만 활용하는 것이 아니라, 원하는 결과를 얻기 위한 목적 지향적인 방법으로 사용한다면 더 많은 가치를 얻을 수 있을 것입니다.

2014년 10월 2일 목요일

UX의 20%는 기술, 80%는 심리학


vdlab.co.kr

UX 디자인은 테크놀로지 보다는 심리학이다.

웹 사이트를 구축할 때, 테크놀로지가 중요한 것은 의심의 여지가 없습니다. 그러나 사용자 경험은 오히려 심리학에 더 기반해야 하며, 심리학은 방문자의 정서와 감정을 활용하여 원하는 결과를 얻을 수 있도록 도움을 줄 수 있습니다.

웹 사이트에 유입한 방문자는 잠재의식에서 “괜찮다”, “불편함이 없다” 의 정서를 느끼고, 사이트에서 활동을 계속 진행 할 것인지 아닌지의 의사결정은 8초 이내에 이루어 진다고 합니다.


quotient.net

UX 디자인에 영향을 미치는 심리적 요소 10가지


       1. 사람은 해야 할 것 이상의 것을 생각하거나 행동하지 않으려 한다.

이 주제에 대해서 대부분은 동의 할거라 생각합니다. 사람들은 열심히 일하고, 열정적으로 살아가지만, 키보드 뒤에 개인은 궁극적으로 게으르고 싶어합니다.


       2. 사람의 능력에는 한계가 있다.

사람들은 특히 집에 있을 때, 미디어로 둘러싸인 환경 속에서 다양한 경험을 합니다. TV를 보면서 웹사이트를 접속하기도 하고, 동시에 휴대폰으로 친구에게 메시지를 보내기도 합니다. 이러한 행동들은 현대 우리 사회에서 일상적이고 흔한 일이며, 사람들은 동시에 다양한 일을 하는 멀티 태스킹 능력을 고수하려 할 것입니다. 하지만 멀티 태스킹의 한계는 존재하고, 사람들은 잘 하지 못합니다.


ksup.com

       3. 사람은 비이성적인 실수를 한다.

우리는 모두 때때로 실수를 합니다. 하지만 실수라는 것은 원해서 하는 일은 아닙니다. 알람을 여러 개 맞춰 놓고, 스누즈 버튼을 계속 누르거나, 해서는 안될 일에 충동적으로 돈을 쓰기도 합니다. 그러나 디지털 세계에서 실수는 어떨까요? 사용자가 컴퓨터 상에서 실수를 했을 때는 어떤 일이 발생할까요? 그리고 실수에 대한 경험은 어떻게 작용할까요?


       4. 사람의 기억 체계는 복잡하다.

사람은 정보를 획득할 때 감각 메모리에서 단기 메모리로 이어지는 두 가지 프로세스를 거쳐 정보를 저장합니다. 첫 번째는 자극의 패턴을 인식하여, 새로운 정보를 기존의 패턴과 일치 시켜 보기 위해 장기 기억을 탐색하는 과정입니다. 두 번째 프로세스는 단기 기억에 자극이 도달할 때까지 주의를 집중하는 과정이며, 이 단기 기억은 청각과 시각에 의해 정보가 입력됩니다. 사람의 단기 기억은 전두엽에서 처리되므로 일반적으로 30초 정도 지속이 되며 정보 저장능력에 한계가 있습니다.


       5. 사람은 사회적 동물이다.

사람은 기본적으로 어딘가에 소속되길 원하고 타인의 동의를 얻고 싶어합니다. 그리고 타인과의 연결은 사회(환경)에서 살아남을 기회를 높여주는 능력이기 때문에 매우 중요합니다. 공동체 안에서 서로 신뢰하고 규율을 지키는 행위는 각자의 목표를 달성하는데 도움을 주며, 안정된 삶을 유지하는데 가장 중요한 요소입니다. 과거 수렵-채집 시절, 큰 집단에서 서로가 함께 사냥하고 조직의 체계를 따르는 것은 자신의 가족을 지킬 수 있는 가장 빠른 방법이며, 굶주림과 죽음을 피할 수 있는 효율적인 방안이었습니다.


       6. 사람의 주위(attention)는 쉽게 흐트러진다.

사람은 “변화 맹시(Change Blindness-앞뒤 장면 사이에 명백히 보이는 변화를 포착하지 못하는 현상)”라고 부르는 현상에 빠져들기 쉽습니다. 자신이 집중하는 것에만 몰입되기 때문에, 주변에서 발생하는 변화를 의식하기 어렵습니다. 사람들이 무언가에 집중하고 있을 때, 실제로 변화의 차이를 알아채는 방식을 아는 것은 흥미로운 일입니다. “변화 맹시” 현상을 웹 페이지에 대입해보겠습니다. 디자이너는 페이지에 작은 변화를 주었다고 하지만 방문자는 알아채지 못할 수도 있습니다. 하지만 변화를 인지하는 특정 시점이나 변수는 존재합니다. 예를 들어, 분명하게 다른 컨텐츠를 노출하거나, 글자의 굵기를 바꾸는 등 사이트 변화의 차이를 인지시키는 요소를 찾는 것은 중요합니다.


ohnnyholland.org

       7. 사람들은 정보를 갈망한다.

정보를 갈망하는 심리적 요인은 단순하게 신경 전달 물질인 도파민에 의한 작용입니다. 도파민은 뇌에서 분비되는 화학 물질로, 사랑, 음식, 섹스 심지어 정보를 추구하는 행위를 만드는 작용을 합니다. 이와 같은 행동들을 하거나, 할 것이라고 기대하는 사고 조차도 도파민 분비를 촉발시켜 기분 좋은 정신상태를 만들어 줍니다. 사람들은 웹사이트에서 정보를 얻길 원합니다. 그리고 이는 도파민의 영향이며, 사랑, 음식, 섹스와 연관짓어 보면 흥미로운 아이디어를 도출 할 수 있을 것입니다.


       8. 대부분의 정신과정은 무의식적으로 처리된다.

정서에 관련된 일들은 뇌의 특정 영역에서 모두 처리되며, 이 영역은 정서적 충동이 발생하는 핵심입니다. 즉, 사람의 의사결정에 가장 큰 영향을 미치는 곳입니다. 구뇌(old-brain: 생존과 관련이 있는 정보를 처리하는 곳)와 정서뇌는 외부 자극에 대한 감각작용에 있어서 매우 밀접하게 연결되어 있으며, 만약 구뇌가 두려움이나 욕구와 같은 정서에 반응한다면, 정서뇌는 이 정보를 의미 있게 처리하여 기억에 각인 시킵니다.

사람은 자연스럽게 시각적으로 정보를 처리하기 때문에, 그림이나 사진에 가장 먼저 반응합니다. 따라서 시각적인 변화는 쉽게 알아챌 수 있습니다. 이야기를 듣거나 책을 읽을 때, 사람의 뇌는 이를 이미지로 형상화합니다. 형상화된 이미지는 내재적으로 정서를 불러 일으킵니다. 비행기의 날개가 부서져 불타는 뉴스를 들었다고 상상해보겠습니다. 이 뉴스의 이야기는 빠르게 정서뇌에 영향을 미칠 것입니다. 포르노 사진, 음식 사진, 잠재적 위험성이 가미된 이야기는 우리의 주의를 집중 시키고 구뇌는 중뇌와 함께 정서에 영향을 미칩니다.


       9. 사람은 정신모델을 만들어낸다.

사람은 자신의 정신모델과 개념모델이 조화가 이루어 지지 않을 때(예상과 실제가 부조화를 이룰 때), 부정적인 사용자 경험을 겪게 됩니다. 방문자의 기대(정신모델)와 다르게 어긋난 감각 활동(사용자 경험)은 익숙해지기 어렵고, 개념모델은 지속 될 수 없을 것입니다.


       10. 사람의 시각 시스템을 이해하라.

사람은 자극을 받아 들일 때, 먼저 전체 형태를 지각하고 구체적이고 작은 변화를 알아챕니다. 만약 여러분의 웹 사이트가 “방문자의 기분을 좋게 하지 못하는” 형태라면, 그 디자인은 절대 수용되지 않을 것입니다. 일반적인 디자인 과정처럼 네비게이션을 설계하고, side bar를 설계한 후, 버튼을 설계하는 방식은 효율적이지 못합니다. 사람의 시각시스템 프로세스처럼, 전체적인 프레임을 구성한 후, 내용을 채워 넣어야 합니다. 사이트의 웹 페이지 설계 시, 방문자가 지속적으로 활동하고 사이트와 좋은 관계를 갖도록 하기 위해서는 각 페이지 디자인의 전체적인 형태는 동일하게 유지시켜야 합니다. 그렇지 않다면 전체적으로 웹사이트의 일관성이 없다는 느낌을 심어 줄 것입니다. 보통은 동일한 테마의 웹페이지를 설계하지만, 시각 시스템의 처리 방식으로 디자인을 한다면 미쳐 놓치고 있던 부분을 발견 할 수 있을 것입니다.


jessicavallance.co.uk

사용자의 행동과 사용자 자체를 이해하기 위해서는 기술을 이해하는 것 뿐만 아니라, 사람의 마음을 완벽하게 이해하는 것이 무엇보다 중요합니다.

참고: pixelrevival.com