HEARTCOUNT를 처음 사용하는 분들을 위한 안내서

Sidney @HEARTCOUNT
HEARTCOUNT
Published in
13 min readAug 7, 2019

실무자가 주체적으로 데이터에 담겨있는 유용한 질서와 규칙을 찾아 문제해결에 활용하도록 도와주는 HEARTCOUNT를 처음 사용하시는 분들을 위한 안내서입니다. 아기자기한 기능들을 스스로 발견하는 기쁨을 누리시라고 본 안내서에는 굵직굵직한 기능들 중심으로 정리하였습니다.

가. HEARTCOUNT 로그인 하기

HEARTCOUNT 로그인 하기 (계정이 이미 생성된 경우)1. 로그인 페이지 (크롬 권장): https://www.heartcount.io/login?lang=kr
2. 비밀번호를 모르거나(최초 로그인) 재설정할 경우: [암호 재설정] -> 본인 이메일 주소 입력 -> [암호 재설정 메일 보내기] -> 메일 본문의 링크 클릭, 새로운 비밀번호 생성 후 HEARTCOUNT 서비스 로그인

나. 분석 캠페인 생성하기

업로드할 수 데이터는 테이블 형식의 엑셀 또는 csv 파일입니다. 당장 업로드할 데이터가 마땅치 않거나 샘플 데이터로 우선 사용해 보고 싶으시면 아래 링크(구글 드라이브 연결)에서 데이터셋을 다운 받으세요. (본 안내서에서는 의료 보험비 청구 데이터인 sample_insurance를 사용하겠습니다.)

최초 분석 캠페인 생성하기1. 분석 캠페인을 생성할 데이터셋(excel, csv)을 구름 이미지 위로 drag&drop하거나 [browse] 버튼을 사용하여 데이터셋 선택
2. 녹색으로 바뀐 구름 아이콘 클릭
3. (선택) 캠페인 이름 변경

최초 캠페인 등록 후 추가로 캠페인을 만들 때는 대시보드 페이지 우측 상단의 “신규 캠페인 생성" 버튼을 사용해서 데이터셋을 등록하면 됩니다.

[신규 캠페인 생성]

클라우드에 데이터를 전송하기 전에 데이터 난독화하기 박스를 체크하면 클라우드에 올리기 민감한 데이터가 브라우저 상에서 난독화(데이터의 내용을 알아볼 수 없도록 임의의 문자, 숫자로 치환하는 작업)된 후 난독화된 데이터가 클라우드에 전송되게 됩니다. 보다 자세한 내용이 궁금하면 클릭

다. KPI 설정

업로드한 데이터에 대한 전처리 작업이 끝나면 아래와 같은 화면이 나타나게 됩니다. 아래 화면은 개별 변수에 대한 기본 통계치(분포, 평균, 결측값 등)를 확인하고 주요한 변수를 비지니스 지표(KPI, Business Metrics)로 설정하는 화면입니다.

KPI를 설정하지 않고도 HEARTCOUNT의 기능 대부분을 사용할 수 있지만, 자동으로 패턴을 찾는 작업(Smart Discovery)은 사용자가 설정한 KPI에 대해서만 수행됩니다.

숫자형 변수와 범주형 변수에 대해 KPI를 하나씩 설정해 보겠습니다.

KPI 설정1. KPI를 설정할 변수 선택
2-a. 숫자형 변수의 경우, KPI의 단위와 icon 설정 후 [변경사항 저장]
2-b. 범주형 변수의 경우, 비율 KPI를 생성할 항목 선택후 [변경사항 저장] (아래 그림에서는 보험을 청구한(yes) 레코드의 비율 KPI 생성)
[1. KPI 설정할 변수 선택]
[2. 숫자형 변수(좌), 범주형 변수(우)로 KPI 생성]

실무자 관점에서 데이터 분석을 전략/운영과 관련한 주요 질문들에 대한 정량적이고 확률적인 답을 찾는 과정이라고 했을 때 질문의 종류에 따른 HEARTCOUNT의 주요 기능은 아래 그림과 같습니다.

주요 지표(KPI)의 차이가 어디서(What) 크게 발생했는지, 왜(Why) 차이가 발생했는지, 어떻게(How) 지표를 최적화할지 등 질문에 따라 적절한 기능을 사용하시면 됩니다.

라-a. What: Analytical Dashboard-수동 분석

KPI 설정이 끝났으면 KPI 설정 창 외부의 흐릿한 공간 아무데나 클릭하여 대시보드 화면으로 빠져 나옵니다.

What: Analytical Dashboard-수동 분석1. 화면 중앙의 창[KPI 구성을 살펴볼 변수를 선택하세요]을 통해 KPI를 드릴다운(엑셀 피벗처럼 주요 지표를 다양한 변수들로 요약, 비교하는 기능)할 변수(차원, 관점) 선택
2. 대시보드 화면에서는 최대 두개의 변수 조합(아래 그림에서는 age_bin과 smoker)으로 드릴다운을 수행할 수 있으며, 드릴다운에 사용했던 변수를 제거하려면 화면 상단 변수이름 옆의 x 표시를 클릭.
* age_bin의 bin이 뭔지 궁금하면 클릭
[KPI 수동 드릴다운]
대시보드 페이지는 KPI 중심의 드릴다운을 수행하는 화면이고 임의의 변수에 대해 드릴다운을 하려면 좌측 메뉴에서 드릴다운 페이지를 선택하면 된다.
드릴다운한 결과를 트리맵 형태로 시각화하는 기능은 여기 클릭

라-b. What: Analytical Dashboard-자동 패턴 발견

KPI를 쪼갤(drill-down) 수 있는 변수가 많은 경우 모든 변수의 조합으로 드릴다운해 보는 것은 현실적으로 불가능합니다. (변수가 50개인 경우, 변수 두개로 조합할 수 있는 총 경우의 수: 1,225개)

HEARTCOUNT는 자체 SMART DISCOVERY 엔진을 통해 사용자가 설정한 KPI에 대해 모든 경우의 수로 분석한 후 주어진 KPI를 최대화할 수 있는 조건을 자동으로 제시합니다.

What: Analytical Dashboard-자동 패턴 발견1. 화면 상단 우측의 [SMART DISCOVERY] 버튼을 클릭 (변수 갯수와 데이터 크기에 따라 분석 결과가 나오기까지 최대 수분이 걸릴 수 있으며, 결과가 나오면 버튼이 파랑색으로 활성화됨)
2. "드릴다운 I"에는 변수 하나로 분석한 결과, "드릴다운 II"에는 변수 두개의 조합으로 분석한 결과가 담기게 됨
3. KPI 목록에서 특정 KPI 선택 후 일렬로 나열된 원 아이콘을 클릭하여 패턴들을 살펴볼 수 있음
4. 특정 패턴을 자세히 보고 싶으면 우측 상단의 드릴다운 아이콘(아래 그림 파랑색)을 클릭

마-a. IMAGINE: 시각화-스마트 플롯(Smart Plot)

데이터 시각화는 개별 관측값(엑셀의 레코드)이나 요약값(평균, 총합)을 점, 선, 면(도형)과 같은 시각적 요소를 사용해서 크기, 위치, 색상에 변화를 주어 표현하는 일입니다.

데이터를 시각(미학)적으로 풀어내는 일은 그 과정을 통해 데이터에 대한 호기심을 키울 수 있고 데이터에 담긴 패턴에 대한 보다 직관적인 이해를 가능하게 해준다는 순기능도 있지만 몇 가지 주의할 점도 있습니다.

특히, 수동 분석의 한계(시간과 가설의 제약)로 인해 제한된 시간 안에 몇가지 뻔할 수도 있는 가설들을 시각적으로 살펴본 후 해당 가설을 검증하는 수준에서 그치기 쉽고, 동일한 시각화 결과에 대해 다양하고 분분한 해석이 가능하여 의사결정에 실질적인 도움이 되지 못한다는 단점도 있습니다.

하트카운트의 대표적인 데이터 시각화 기능인 스마트플롯은 데이터 시각화의 보편적인 문법을 따르고 있고, 데이터에 담겨 있는 질서를 찾고자 하는 호기심만 있다면 어렵지 않게 스스로 사용법을 익힐 수 있습니다. 필요하면 아래 사용법 정도를 참고하면서 직접 사용해 보시면 좋겠습니다.

IMAGINE: 스마트 플롯 사용법- 스마트 플롯 사용법 상세 (영어)
- 데이터의 분포를 보는 법
- 바차트 사용법
- 변수명_bin, 변수명_percentile이 뭔가요?

마-b. IMAGINE: 데이터 시각화-기타 기능들

데이터 시각화와 관련한 추가 기능들(좌측 메뉴, 시각적 발견의 하부 메뉴들)은 아래 상자안의 링크를 참고하세요.

IMAGINE: 데이터 시각화-기타 기능들

- 스몰 멀티플즈
- 스마트 랭킹
- 다면 분석

바. Why가 궁금할 때: 요인 분석 + 익스플레이너

요인 분석 화면에서는 선택된 KPI(medical_cost)에 대해 변수 하나(단순회귀), 변수 두개의 조합(다중회귀)으로 회귀분석을 각각 수행하여 통계적으로 유의미한 결과를 중요도(Adjusted R²) 순으로 보여 드립니다.

  • 선형회귀 분석에 대해 보다 자세히 알고 싶으면 여기 클릭
참고) 표에 나온 통계 개념
• R²(결정계수): 종속변수(KPI)의 차이를 설명하는 정도를 나타내는 통계치; 아래 그림에서는 흡연여부(smoker)와 나이(age_bin)가 의료비 청구금액(medical cost) 차이 중 72% 설명할 수 있다는 의미.
• Adjusted R²: R²값을 변수의 갯수와 분석 대상 레코드 갯수 등을 반영하여 조정한 값
• P-Value: 해당 분석 결과가 우연에 의한 결과일 확률 (통상 0.05보다 낮으면 우연히 해당 패턴이 나왔을 확률이 5%보다 작으므로 통계적으로 유의미하다고 봄)

만약 통계적 수치가 아직은 부담스럽다면 익스플레이너 기능을 활용하시면 좋습니다. 익스플레이너는 요인 분석 결과를 어려운 통계적 개념을 걷어 내고 일상의 언어로 KPI의 차이를 가져오는 주요 요인을 설명해 드립니다.

익스플레이너 (Explainer)1. 설명(narrative)가 담긴 창 상단의 화살표를 통해 원하는 패턴(요인)으로 바로 이동
2. [Generate New Narrative] 클릭하면 주어진 요인에 대한 다른 관점의 설명 제공
3. [Change Visualization] 클릭하면 다른 시각화 방식으로 데이터 표혐
* 익스플레이너 동영상을 보려면 클릭

사. Why가 궁금할 때: 비교 분석

좋은 성과를 내는 집단(매장, 고객, 직원 등)과 그렇지 못한 집단이 있고, 두 집단의 차이를 개별 변수 수준에서 이해하는 것은 집중하고 개선해야 할 변수를 알 수 있다는 점에서 중요합니다.

임의의 두집단의 통계적 특성차이가 궁금할 때는 비교분석 기능을 활용하면 됩니다.

비교 분석1. 좌우에 있는 두 개의 깔때기(filter) 아이콘을 각각 클릭하여 통계적 특성을 비교할 임의의 두 집단을(그룹A와 그룹B) 설정 (아래 그림에서는 "보험청구=no"인 그룹과 "보험청구=yes"인 그룹을 비교하는 조건 설정)
2. [비교] 버튼 클릭
3. 분석 조건에서 설정된 두 그룹 간 가장 큰 통계적 특성 차이를 보이는 변수부터 내림차순으로 표시됨
테이블 설명• 변수 이름: 두 그룹의 특성 차이를 설명하는 변수의 이름과 통계적 특성의 차이가 %로 나
타남 (아래 그림의 세번째 변수인 bmi가 25.96%라는 의미는 두 그룹의 bmi 분포를 비교했을 때 전체 분포의 면적을 100이라고 했을 때 겹치지 않는 분포의 면적이 25.96이라는 이야기임)
• 차트: 통계적 특성 차이를 시각화한 것으로 그룹B(claim=yes, 붉은색)이 그룹A(claim=no, 푸른색)보다 상대적으로 높은 bmi 분포를 보임
• 그룹 A/B 통계적 특성: 특정 그룹의 비율이 다른 그룹보다 상대적으로 높은 변수의 값(구간)이 표시됨 (bmi값이 16~26인 구간에서 "claim=no"인 집단이 "claim=yes"인 집단보다 상대적으로 더 높은 비율로 존재)

하. How가 궁금할 때: 마이크로세그멘테이션

KPI를 최적화하기 위해 실행 가능한 패턴을 찾아야하는 경우, 마이크로세그멘테이션 기능을 사용하면 좋습니다. 사용하는 알고리즘은 의사결정나무(decision tree)이고, decision tree는 서로 다른 두 집단을 분류(classify)하는 규칙을 만들기 위해 사용되는 대표적 기계학습 알고리즘 중 하나입니다.

예를 들면, 특정 마케팅 캠페인에 반응을 한 집단(response=yes)과 반응하지 않은 집단(response=no)을 구분하는 규칙을 만들어 반응할 확률이 높은 집단을 타게팅하는 일에 사용할 수 있습니다.

이익을 최적화하고자 하는 경우 이익 기준으로 상위 20%와 하위 20% 두 집단으로 나누어 두 집단을 분리하는 규칙을 만든 후 상위 20% 분류 규칙을 활용하여 이익을 최대화할 수 있습니다.

우선, 숫자형 KPI인 medical_cost를 최적화하는 규칙을 함께 찾아보도록 하겠습니다.

숫자형 변수 최적화 규칙 찾기1. 최적화하고자 하는 숫자형 변수 선택 -> 분석
2. 아래 테이블에 top 20%와 bottom 20%를 분류하는 규칙이 나옴. 아래 그림에서는 의료비 청구금액 기준 상위 20%인 집단을 구분하는 규칙이 아래 두개로 나옴
3. (선택 사항) 분류 규칙을 만들고자 하는 두 집단을 구분하는 range를 톱니 아이콘을 클릭하여 조정할 수 있음 (default는 상위 20%와 하위 20%)
4. 테이블의 각 항목을 클릭하거나 우측 하단의 차트(sunburst chart)를 통해 규칙을 탐색
테이블 설명• 클래스: 해당 규칙(smoker=yes)로 분류되는 레코드의 다수가 의료비 기준 상위20%(top 20%)에 해당한다는 의미
• 크기: 해당 조건을 만족하는 레코드 갯수: 208개
• 순도: 해당 조건을 만족하는 세그먼트 크기 208개 중 208개 모두(100%) 의료비가 상위20%(top 20%)에 해당했다는 의미; 해당 분류규칙의 예측 정확도로도 생각할 수 있음
• 타겟 비율: 의료비 상위 20%에 속하는 총 레코드 숫자(268개) 중 208개(77.6%)가 해당 세그먼트에 속한다는 의미 (recall/재현률이라고도 함)
• 평균 KPI 차이: 해당 세그먼트에 속한 레코드의 평균 KPI와 분석대상 전체 평균 KPI의 차이

이번엔, 범주형 변수인 claim(보험금 청구) 여부 변수를 사용하여 보험금을 청구한 집단과 그렇지 않은 집단을 분류하는 규칙을 찾아 보겠습니다.

범주형 변수(특히 yes/no처럼 두개의 class를 갖는 변수) 최적화 규칙 찾기1. 최적화하고자 하는 범주형 변수 선택 -> 분석
2. 테이블에 "claim=yes"와 "claim=no"인 집단을 분류하는 규칙이 나옴.
3. (선택 사항) 톱니 아이콘을 클릭하여 분류규칙을 만들고자 하는 두 집단을 조정할 수 있음
4. 테이블의 각 항목을 클릭하거나 우측 하단의 차트(sunburst chart)를 통해 규칙을 탐색

sunburst 차트 우측 상단에 있는 가지가 분기되어 나가는 형상의 아이콘을 클릭하면 아래 그림과 같이 분류 규칙이 트리 형태로 표현됩니다.

지속적으로 HEARTCOUNT 활용 안내서를 업데이트 하겠습니다. 어렵거나 부족한 내용이 있으면 연락주세요. (sidney.yang@idk2.co.kr)

기타 참고할 만한 내용들- HEARTCOUNT 유튜브 사이트
- HEARTCOUNT 블로그 사이트
- 데이터 활용 강의 교재

--

--