본문 바로가기
Data driven UX

Data driven UX #2. 왜 쿼리를 사용하게 되었나...

by Joe.Jo 2021. 4. 30.

데이터 수집 관련해서 앞글에서 정리한 내용으로 개발 반영이 되고, 본격적으로 데이터가 쌓이게 됩니다.

 

앞에 글은 아래 링크에서 확인

marimba.tistory.com/6?category=850890

 

Data driven UX 시작하기

오전에 하는 스탠드업에서 매주 월요일마다 내가 스티키 노트에 쓰는 할 일은 정해져 있다. 'Weekly Marimba' 'Weekly Marimba'란 주 단위로 마림바의 주요 지표들과 사용 관련, 신규/개선 건에 대한 효과

marimba.tistory.com

 

 

 

Data driven UX 시작하기

오전에 하는 스탠드업에서 매주 월요일마다 내가 스티키 노트에 쓰는 할 일은 정해져 있다.'Weekly ...

blog.naver.com

제목 '왜 쿼리를 짜게 되었나'를 보면 알 수 있듯이, 여러 가지 이유로 데이터의 꽃이자 늪이라고 할 수 있는 '쿼리'를 다루게 됩니다.

데이터 분석 단계


원하는 형태로 데이터 변환 (데이터 전처리)

데이터 전처리는 데이터를 필요한 형태로 변환하는 과정이다.

보통 데이터는 히스토리처럼 시간 순으로 쌓이거나, 특정 키값 (ex, 사용자 ID, 보드 ID 등..)을 기준으로 속성값을 갖는 형태로 저장되어 있다.

이런 데이터를 다음과 같은 모습으로 변환해야 한다.

. 원하는 값 도출 (ex, 개수, 유니크한 개수, 합, 최댓값 등..)

. 특정 기준으로 데이터를 추출 (ex, 주/월단위, 사용자 그룹, 보드 속성 등)

. 횡으로 (row)로 되어있는 데이터를 종(column)으로 정리 (엑셀의 피벗처럼)

예를 들면

1) id 기준으로 저장된 사용자 정보를

블로그용 데이터

2) 가입일자 기준으로 숫자를 세서 일별 가입자를 보거나

블로그용 데이터

3) 가입 주차별로 정리하여 주차별 가입자 숫자로 데이터의 형태를 변경

블로그용 데이터


데이터 시작 후에 시간을 좀 낭비하면서 2가지 깨달음을 얻었다.

. 필요한 데이터의 형태를 알아야 한다.

. 필요한 형태대로 데이터를 추출/변형할 수 있어야 한다.

필요한 데이터의 형태를 알아야 한다.

개발이나 데이터 관련 같은 내용에 익숙하지 않다 보니

그래프나 UI를 보고 싶은 형태대로 만들려면 데이터가 어떤 식으로 구성해야 되는지 실제 부딪혀 보기 전까지는 감이 잘 오지 않았다.

예 1) 아래와 같이 시계열 형태로 보여주려면 특정 컬럼값을 기준으로 row 별로 하나의 그래프가 된다. (이해하기 어려울 듯)

. Week (가로축) : 엑셀의 week 컬럼 -> 같은 컬럼을 기준으로 시간순으로 보임

. Signup, WAU (범례 & 값) : 엑셀의 각각 값별로 별도 컬럼

 

(왼) 시계열 그래프, (오) 데이터 형태

예 2) 고정된 가로축 값으로 범례가 늘어나는 형태를 보여주려면, 가로축이 되는 row 값은 고정이고, 범례가 되는 컬럼을 계속 추가해야 한다.

. Week (가로축) : 각 범례 주차별로 10주 차까지의 retention을 보기 위해 11개로 고정 --> week 컬럼의 값은 11개로 고정

. 가입 주차 (범례) : 사용자가 가입한 주차는 계속 범례로 늘어나므로, 컬럼값으로 추가

 

(왼) 고정 축 그래프, (오) 데이터 형태

위의 예시처럼 보여주고자 하는 가치 (시간에 따른 변화, 비율, 주차별 변화 등)에 따라 데이터의 형태가 달라져야 한다.

네이버나 구글을 검색하면 나름 좋은 레퍼런스들이 나오니 미리 공부를 하는 것도 좋을 것 같다.

 

필요한 형태대로 데이터를 추출/변형할 수 있어야 한다.

보통 데이터 담당자가 있거나 체계가 잡혀서 안정적으로 운영되고 있다면,

요청에 의해 추출된 데이터를 받아서 엑셀을 통해 피벗 같은 걸로 확인해 보는 정도만 할 것이다.

하지만 마림바의 경우는 앞서 말했듯이 데이터 담당자(전문 인력) 없는 상황에서

개발자에게 데이터 추출을 요청하는 한정된 HR 상황에서 업무 효율을 떨어뜨리게 되었다.

특히 초기에 위에서 말한 '필요한 데이터의 형태'를 모른 상태로 개발자에게 동일한 데이터를 이렇게, 저렇게 바꿔서 달라고 수정 요청을 하는 일이 빈번했다. (하물며 기간만 바꿔서 2~3번을 요청하기도 했음 😱) )

디자인/개발하기도 바쁜데 계속 이렇게 하는 게 비효율적이라 데이터를 직접 추출할 수 있도록 업무 프로세스 변경했다.

그래서 앞에서 작성한 엑셀에 개발자들이 쿼리를 넣어주고, 직접 DB 툴을 사용하여 데이터를 추출하게 되었다.

수집 데이터 엑셀 요건에 개발자가 SQL 붙여둔 예시 (블로그용 샘플)

데이터를 직접 추출하는 것의 장/단점

단점 :

. 쿼리 및 대략적인 DB 구조를 알아야 함. 그래서 시간이 오래 걸림. (나머지 공부 필요)

. 초기에 툴 설치하고 세팅하는 것에도 시간 소요되고 도움 필요함.

. 쿼리가 제대로 안 되어 있을 수 있으므로, 새로운 데이터 추출 시마다 검증 필요.

장점 :

. 정말 새로운 것 아니고서는 원하는 대로 바로 데이터를 확인할 수 있음. (삽질도 혼자 할 수 있으니까 ... 덜 부끄럽기도 함)

. 특히 인터뷰 대상자 등 디자인 업무에 필요한 데이터들도 혼자서 뽑을 수 있음.

. 데이터를 직접 만져보다 보면 필요한 데이터 형태를 구체화할 수 있게 됨.


 

컬럼 사이의 관계에 의해서 결정되거나, 여러 디테일한 조건에 의해서 변경되는 것들은

DB에서 쿼리를 통해 가져오기 어렵기 때문에, 구글 시트에서 함수를 사용하여 데이터 전처리함.

구글 시트는 돌려보고, 검증하고, 틀리면 쉽게 되돌려서 다시 할 수 있는 장점이 있다.

또한 정말 엑셀 신, 구글 신의 힘으로 어마어마한 함수를 활용하여 웬만한 데이터 전처리를 할 수 있다.

=IFS(AND(I3920=1,J3920=1),"aaa", AND(J3920=2, I3920=2),"ttt", AND(I3920>2, K3920>=50),"sss",AND(I3920>2, L3920>=3),"zzz",AND (I3920>2,F3920>N3920-7),"xxx", TRUE,"-")

=round(VLOOKUP(if($A4+Q$1>53, $A4+Q$1-53, $A4+Q$1),SumTTT!$4:965,MATCH(Q$1,SumTTT!$A$1:$AB$1,0),false)/VLOOKUP($A$2+Q$1,SumTTT!$4:965,MATCH(Q$1,SumTTT!$A$1:$AB$1,0),false) *100,1)

게다가 구글 시트에서도 쿼리로 데이터를 추출할 수 있다는 사실!! 👍

현재는

DB에서 쿼리로 Raw data / 전처리된 data 추출 -> 구글 시트에서 추가로 필요한 경우 함수/쿼리 사용해서 정제

과정으로 데이터 전처리를 하고,

이렇게 처리된 데이터는 Google Data studio를 활용하여 대시보드 형태로 Visualization 한다.

물론 디자인도 열심히...


다음은 '구글 시트와 데이터 스튜디오를 활용한 Dashboard 만들기'에 대해 설명하겠다

 

 

 

 

온라인 화이트보드 마림바

https://www.marimba.team/kr

 

Marimba 마림바 | 실시간 온라인 화이트보드 협업툴

실시간 협업를 위한 더 쉽고 편리한, 최고의 온라인 화이트보드 협업툴 마림바(Marimba)를 통해 플로우차트, 마인드맵, 조직도, 다이어그램을 지금 바로 무료 체험을 통해 만들어보세요!

www.marimba.team

 

 

'Data driven UX' 카테고리의 다른 글

번외) 데이터 시각화 툴 선택  (0) 2021.05.11
Data driven UX #1.데이터 수집  (0) 2021.04.02

댓글