LUA가 만들어진 배경

데이터 분석가는 늘 다른 조직으로부터 많은 과제를 요청 받고, 모든 요청을 다 처리할 수 없으니 우선순위를 따져가며 대응함. 하지만 요즘의 데이터 환경에서는 하나하나 대응하기엔 분석 요청이 너무 많고, 모든 요청에 대해 능숙하게 대처하기 위해 분석가들이 알아야할 데이터의 양이 너무나도 많음

이러한 문제를 해결하는 것이 바로 '데이터 제품'. 요약하면 '데이터 분석' 또한 사람의 역량이 아닌 '제품'으로 만들어서 다뤄야한다!

분석 지표를 바로 확인할 수 있는 제품을 만들자!

수십 가지 서비스에서 KPI 대시보드를 개별적으로 운영하고 있기 때문에 LINE의 서비스별 주요 지표를 한 눈에 비교하고 분석하고 싶다는 요청이 오랫동안 있었음. 개별 대시보드에서 제공하는 지표들은 공통적인 부분이 많음. 하지만 데이터의 출처도 다르고 로그 정의가 복잡해서 같은 지표로 두 가지 이상의 서비스를 비교 분석하려면 상당히 많은 과정을 거쳐야함. 또한 데이터 양이 상당해서 데이터 처리에도 시간이 많이 걸림.

LUA Analytics 는 데이터 분석에 필요한 기초적인 지식이 없더라도 '데이터로부터 인사이트를 얻을 수 있는 제품'을 목표로함.

예상되는 분석 요청에 자동화된 대시보드로 대응할 수 있어야 한다

예상 가능한 범위의 분석 요청에 대해서 선제적으로 결과를 제공할 수 있어야 합니다. 예를 들어 A 서비스는 성연령 분포에 대해 문의합니다. B 서비스는 신규 사용자의 규모에 대해 요청합니다. C 서비스는 특정 사용자 행동이 급증한 경우에 어뷰징(abusing)이 있는지에 대한 확인을 요청합니다. 하지만 상황에 따라 A 서비스도 신규 사용자 규모나 어뷰징 판별 분석을 요청할 수 있습니다. 즉, 각각의 분석 주제는 시기만 다를 뿐 어느 서비스든 문의할 수 있는 것입니다. 그래서 서비스 간 교집합을 찾기보다는 각 요청을 아우르는 공통분모를 커버할 수 있어야 합니다.

LUA Analytics 작동원리

LUA Analytics는 최초의 로그 데이터에서부터 대시보드에 서빙하기까지 아래와 같이 크게 세 단계를 거쳐 작동합니다.

그림 1. LUA Analytics 파이프라인

그림 1. LUA Analytics 파이프라인

Step 1 – ‘공통 데이터 포맷’으로 집계하기

각 서비스에서 수집하는 데이터는 범위와 칼럼명, 데이터 타입 등의 형태가 서로 다릅니다. 이를 하나의 분석 테이블로 통합하기 위해 공통 포맷으로 사용자별 특징을 1차 집계합니다. 각 서비스 공간에 쌓인 데이터는 LUA Analytics 데이터베이스에 월 단위로 통합합니다.

그림 2. 공통 데이터 포맷 예시
‘어느 국가의, 누가, 어느 기기로, 언제, 무엇을(activity), 몇 번 했는가?’의 방식으로 하루의 활동을 6가지 칼럼으로 집계

그림 2. 공통 데이터 포맷 예시 ‘어느 국가의, 누가, 어느 기기로, 언제, 무엇을(activity), 몇 번 했는가?’의 방식으로 하루의 활동을 6가지 칼럼으로 집계

액티비티를 정의하고 공통 테이블에 데이터를 쌓는 것은 각 서비스의 기획자와 데이터 엔지니어가 담당합니다. 반드시 추적해야 할 사용자 행동이 무엇인지 가장 잘 알고 있고, 간혹 발생하는 테이블 변경사항이나 신규 API 조건 추가 등의 서비스별 상황에 가장 정확하게 대응할 수 있기 때문입니다. 이렇게 공통화된 일별-사용자 테이블은 LUA Analytics가 작동하는 근간이 됩니다.

공통 테이블에서 ‘국가’와 ‘기기 정보’를 제거하면 ‘일별(언제)-사용자별(누가)-액티비티별(무엇을)-행동 횟수(얼마나)’ 형태가 남습니다. 이러한 테이블 구조는 모바일 앱 외에 다른 분야에서도 널리 쓰이는 범용적인 포맷입니다. 예를 들어, 신용 카드사는 ‘일별(언제)-회원별(누가)-카드 종류별(무엇을)-결제금액(얼마나)’, 커머스 회사는 ‘일별(언제)-고객별(누가)-상품 카테고리별(무엇을)-주문금액(얼마나)’ 형태로 사용자 특성 정보를 요약하여 저장합니다. LUA Analytics는 이런 범용적인 포맷을 사용하기 때문에 요구 사항을 단순하고 명료하게 전달할 수 있습니다. 또한 개별 사용자 단위로 데이터를 보존하기 때문에 다양하고 새로운 지표를 생성할 수 있는 확장성도 확보했습니다.

공통 데이터 포맷으로 수집된 데이터는 LUA Analytics 데이터베이스에 월 단위로 통합됩니다. ‘지표 생성 모듈’은 통합 테이블을 기준으로 모든 지표를 생성합니다. 즉, 각 서비스에 추가로 데이터 수집 요청을 하지 않더라도 새로운 지표를 개발하고 대시보드에 반영할 수 있습니다.