Tableau vs 다른 시각화툴 비교 및 적용사례를 중심으로
Tableau는 데이터 시각화에 사용되고 있는 BI(Business Intelligence) 툴이며, 많은 기업들에서도 실무에 점차 적용하고 있는 듯 보입니다. Tableau가 무엇인지 궁금하시다면 아래의 Tableau 사례연구 및 갤러리를 참고해주세요.
저는 반년 전만 하더라도 Tableau를 사용해본 경험이 전혀 없었습니다. 이직 이후 본의 아니게 사내에 Tableau 개발을 선도하는 입장이 되어버리면서 Tableau를 본격적으로 사용하게 되었습니다.
저 같은 경우에는 제조공정에서 생산 중에 발생하는 여러 데이터가 있는데 이러한 트렌드와 품질에 필수적인 데이터를 시각화하는 역할로 Tableau를 사용하고 있습니다. 그리고 사내의 다양한 조직들 간에 데이터 사일로(Data Silo)를 제거하는 목적으로도 사용하고 있습니다. 또한 Python으로 개발한 예측모델의 결과를 Tableau와 연계하여 예측된 생산품에 대한 품질 정보를 유관부서와 공유할 수 있는 방법도 계획 중에 있습니다. 따라서 제조현장에서 6개월 정도 Tableau를 사용하면서 느낀 점을 공유해보고자 합니다.
원하는 시각화 뷰를 드래그 앤 드롭 방식으로 제작할 수 있기 때문에 코딩에 대한 지식이 없는 사람이라도 조금만 노력하면 원하는 디자인의 그래프 결과물을 제작할 수 있는 것이 가장 큰 장점입니다.
Python의 라이브러리인 matplotlib나 seaborn으로 그래프를 만들어 본 경험이 있으시면 공감하실 수 있을 건데, 사용에 익숙해지지 전까지는 생각보다 원하는 시각화 결과물을 얻어내기 어렵습니다. Dataframe 형태나 Input Parameter를 Library 형태에 맞지 않게 입력해서 오류가 발생하기도 하고, subplots를 생성하는 경우에는 각 plot에 중첩이 발생했을 때 이를 해결하는 것도 쉽지 않습니다. 그리고 Seaborn Gallary에 있는 화려한 결과물들을 염두에 두고 그래프를 만들어도, 막상 내가 만든 결과물은 예상과 다를 때 큰 괴리를 경험하기도 합니다.
Tableau는 오픈소스 Dashboard 인 Grafana, Kibana에 비해서는 초급자가 진입하기에는 확실히 허들이 낮고, 사용자에게 시각화 전용으로 지원하는 기능이 다양하다고 느껴집니다. 특히 다양한 Data source에 대한 연동을 제공하기 때문에, 보유하고 있는 legacy data에 쉽고 빠르게 데이터에 접근 가능하다는 것이 큰 장점이라고 할 수 있겠습니다.
물론 Kibana나 Grafana가 Tableau에 비해 제공하는 다른 장점들도 있기 때문에 상황에 맞춰서 사용할 필요가 있을 것입니다.
보통 어떠한 시계열 트렌드의 그래프를 구성한다고 가정해보면, 트렌드에 평균이나 분산 정보를 같이 넣어주면 효과적입니다. 보통 평균, 최대, 최소, 분산을 구하는 함수를 집계(Aggregation) 함수라고 하는데, Tableau에서는 기본적으로 집계 기능과 더불어 시각화를 제공하기 때문에 별도의 집계 과정만을 위한 전처리 작업이 굳이 필요하지 않습니다. 시각화 값에 평균, 중앙값 등의 라인을 그리기 위해 별도의 평균 함수를 사용한 값을 넣을 필요 없이 드래그 앤 드롭으로 바로 삽입 가능합니다.
또한, 간단한 시계열 예측에 대한 모델 기능도 제공하나, 사실 이 부분은 어느 정도의 성능을 가지고 있는지 잘 모르겠습니다. Python Library인 prophet 수준이지 않을까 예상해봅니다. 따라서 수준 높은 예측 결과를 얻기 위해서는 별도의 모델을 생성 후 연동시키는 과정이 필요해 보입니다.
그리고 Tableau는 필터링 기능이 우수하고, 이를 Dashboard 상 표현할 수 있기 때문에 다양한 항목에 대해서 개발자(creator)가 아니더라도 사용자(user)가 쉽게 원하는 조건에 맞는 필터링 기능을 제공할 수 있습니다. 무엇보다도 여러 시트(Sheet) 간에 인터랙티브 기능은 원하는 문제를 파악하고 인사이트를 얻는데 큰 도움을 제공합니다.
앞서 언급한 것처럼 Tableau는 여러 커넥터 기능을 제공하기 때문에 다양한 데이터 저장소에 상대적으로 쉬운 연결을 제공합니다. 일반적으로 사내에는 다양한 조직과 부서가 있고 다양한 데이터 저장소가 있습니다. 그리고 기본적으로 부서별로 데이터 저장소에 접근할 수 있는 권한이 별도로 있을 것입니다.
이 경우 유관부서에 공유가 필요한 데이터 매출 현황, 납기 현황 등에 대한 정보들도 특정 부서의 실무자를 통해서만 확인이 가능한 경우가 종종 발생합니다. 따라서 부서별로 데이터 사일로가 있기 때문에 정보를 확인하기 어려운 부분들이 있을 수 있습니다.
만약 이런 정보들을 Tableau를 통해서 구성원들과 공유할 수 있다면 업무의 효율성이 증가할 수 있습니다. 필요한 정보가 연동된 대시보드 하나 잘 만들어 놓고 필요한 내용은 대시보드를 통해서 확인하면 되기 때문에 이메일, 채팅, 전화 등의 방법을 통해서 유관부서에 연락해야 하는 행정력을 감소시켜줍니다. 따라서 구성원들 간에 손쉽게 KPI, 공정 내 상태, 납기 현황 등 각종 지표들에 대한 내용을 대시보드로 만든 후 내용을 공유해서 사용하면 효율성을 증대시켜줄 수 있는 툴로 아주 적합할 것입니다.
월별 과금 형태로 라이선스 비용이 발생합니다. Tableau 대시보드를 개발하는 Creator 라이선스 외에도, 조직 내의 대시보드에 접근하기 위해서는 각 사용자마다 Viewer 라이선스가 필요합니다. 큰 조직의 경우 다수의 인원에게 라이선스를 발행하기에는 생각보다 큰 규모의 라이선스 구매를 해야 할 수도 있고, 작은 조직의 경우에는 그만큼의 Tableau를 통해서 분석하고자 하는 데이터의 양이 적을 수 도 있습니다. 뿐만 아니라 국내의 제조업 특성상 보안 이슈로 사내에 있는 ERP, SAP, 공정 DB 등의 데이터 저장소에 접근을 하기가 상당히 까다롭습니다. 따라서 대리, 과장 급에서 Bottom up 형태로 전사적인 Tableau 도입을 제안하기에는 여러 난관이 있을 것 같아 보입니다.
과금 정책에 대해서는 공식 홈페이지 내용을 참고하시길 바랍니다.
또한, 구성원들이 Tableau 개발된 대시보드를 잘 활용할 수 있도록 독려하는 것도 중요하다고 할 수 있습니다. 왜냐하면 사용자가 활용하지 않으면 아무리 좋은 시스템이라도 의미가 없기 때문이죠.
위에서 Tableau의 사용이 쉽다고 제가 적어놓았지만, 다른 시각화 툴에 비해서 상대적으로 쉽다고 말한 의미이지 바로 사용하기에는 무리가 있을 수 있습니다. 데이 터전 처리에 대한 개념과 기초 스킬은 가지고 있어야 활용해볼 만할 것입니다. 그리고 기본적인 SQL 문법과, DB 연결 등에 대한 개념도 알고 있어야 합니다.
또한, Tableau 자체에서 아주 간단한 전처리 기능을 제공하긴 하지만, 그것 만으로는 부족할 때가 있어서 다른 툴의 도움을 받아야 합니다. 따라서 Python, R, Excel (+Alteryx, Brightics AI, Azaure 등)로 전처리할 수 있는 툴을 함께 사용하여 자동화된 프로세스를 만든다면 멋진 조합이 될 수 있겠습니다.
따라서 초기에 어느 정도(약 20~30시간)의 연습은 필요해 보입니다. 만약 기회가 된다면 Tableau Korea에서 가끔씩 개최하는 2주짜리 Tableau 부트캠프가 있는데, 참석해보는 것도 좋은 기회라 생각합니다. 매일 과제가 나오고 매 과제를 Slack에 업로드하는 형태로 진행되는데 생각보다 난이도가 있습니다. 제가 참석한 기수의 경우에는 약 1/3에 해당하는 인원만 수료를 했는데, 그래도 한번 경험해보니, Tableau를 다루는 실력은 꽤나 향상되었던 것 같습니다.
이상으로 Tableau를 사용해보고 느낀 점을 공유드렸습니다. 도입을 고민하고 있는 어느 실무자분에게 조금이나마 도움이 되었으면 좋겠습니다.
감사합니다.