관리 메뉴

블로그

[그로스해킹] 분석 환경 구축 Firebase BigQuery GoogleAnalytics 본문

공부

[그로스해킹] 분석 환경 구축 Firebase BigQuery GoogleAnalytics

beenu 2024. 12. 9. 04:42
반응형

데이터 파이프라인 만들기

  • Data Source 가져오고 -> Warehouse 만들고 -> 분석하기 편하게 전처리 해서 Data Mart 만들고 -> 데이터 활용
  • 데이터가 흐르는 Flow 만들기 => 데이터 파이프라인 구축 과정 
    • 데이터 파이프라인도 기획과 설계가 필요함 
    • 데이터 엔지니어와 데이터 분석가의 긴밀한 협업이 필요함 
      • 어떤 데이터가 필요한 지
      • 어떻게 수집할 지
      • 배치와 스트리밍을 어떻게 활용할 지(실시간 처리가 필요한 지)
      • 분석하기 편한 형태로 만들려면 어떤 전처리를 해야할 지
      • 대시보드 등 데이터 사용자를 위한 Visualization은 어떻게 할 지
      • 파이프라인 설계/구축을 위해 어느 정도의 리소스와 비용을 투자할 지 
    •  기술 Stack 선택은 개발자의 몫이지만, 데이터 사용자의 의견이 반영되어야 하는 것들이 훨씬 많음
      • 어떤 데이터를 쌓을 것인가?
      • 어떤 형태로 쌓을 것인가?
      • 어디에 쌓을 것인가? << 개발자 선택 
      • 어떻게 꺼내서 볼 것인가?

 

데이터 파이프라인의 출발점

  • 어떤 데이터를 쌓을 것인가?
  • 어떤 형태로 쌓을 것인가?
  • 의외로(?) 많은 회사들이 위 두 단계에서부터 어려움을 겪음

 

데이터 소스

  • 어떤 데이터를 가져와서 쌓을 것인지?
  • 행동 로그(Event log)
    • 사용자들이 서비스 내에서 어떤 action을 했는지 기록한 데이터(클릭, 검색, 스와이프....)
    • 다른 데이터와 연계해서 분석하는 경우 굉장히 풍부한 인사이트를 얻을 수 있음
    • 하지만 잘 관리되지 않는 곳이 많음
      • 일반적으로 데이터 구조가 복잡하고 양이 많은 편  
      • 누가 어느 페이지에 진입했는지, 어떤 링크를 통해 접속했는지는 있으면 좋지만 없다고 해서 서비스를 못하는 건 아니기 때문 

 

  • 행동 로그 설계하기
    • 잘 쌓아둬야 하는 다른 데이터들도 많지만, 행동 로그를 예시로 분석 환경 구축 예시 설명 
    • 어디에 쌓을 것인가에 따라 설계 방식이 조금씩 다르지만, 큰 틀은 동일함 
    • Firebase를 통해 Google BigQuery 데이터베이스에 쌓는 경로를 알아보자 
    • 모바일 앱 로그의 경우 위 경로를 사용하는 게 굉장히 좋음 
    • 빅쿼리는 속도가 굉장히 빠르고 안정성이 높으며 유지보수를 위해 딱히 할 게 없는 것에 비해 가격이 굉장히 쌈
    • Firebase와 빅쿼리는 연동이 굉장히 편리하게 되어있음 

>> 빅쿼리 관련 참고 문서

https://cloud.google.com/bigquery/docs/

 

BigQuery 문서  |  Google Cloud

대규모 데이터세트를 양방향으로 분석합니다.

cloud.google.com

https://github.com/zzsza/bigquery-tutorial

 

GitHub - zzsza/bigquery-tutorial: Google BigQuery Tutorial for Data Analyst

Google BigQuery Tutorial for Data Analyst. Contribute to zzsza/bigquery-tutorial development by creating an account on GitHub.

github.com

https://brunch.co.kr/@minwoo/15

 

Bigquery 시작하기

with Firebase Analytics | # 글의 개요 최근 Firebase 쪽의 제품들이 굉장한 기세로 퀄리티를 올리고 있는데 트렌드에 맞춰 Firebase Analytics와 Bigquery를 사용해보려는 분들을 위해 간단하게 그동안 사용하며

brunch.co.kr

 


 

BigQueury 기본 설정

  • Blaze 요금제 사용
    • 대부분의 회사에서 Firebase로 앱개발을 하고 있다면 Blaze 요금제를 사용하고 있을 것

  • 다음과 같은 순서로 진행한 후 Firebase에 연결된 앱들의 원시 데이터를 내보낸다는 옵션을 선택해주면 BigQuery에 데이터가 차곡차곡 쌓이게 됨!
  • 기술 문서에 자동으로 수집하는 이벤트와 사용자 속성, 수집 및 구성 한도, 이벤트 로깅하는 전반적인 방식이 상세하게 나와있음

 


 

이벤트 설계

  • 행동 로그 설계의 핵심은 Property 설계
    • Property : 이벤트가 발생할 때, 이 이벤트가 구체적으로 어떤 속성을 가지고 있는지를 함께 남기는 것 
    • Property는 Key - Value로 구성되어 있음
  • Property를 정의해두면 이벤트에 관한 굉장히 디테일한 정보들을 알 수 있게 됨

 

이벤트 설계 - Firebase

  • 이벤트 발생 시점 : 언제 이 이벤트가 발생했는가? - 사람이 알아보기 위해 정의
  • event_name : 이 이벤트가 발생했을 때 정의할 이름
  • 녹색 영역 : 이 이벤트의 속성들
    • Firebase는 value의 자료형에 따라 구분해서 전송하도록 되어있음 

 

이벤트 설계 - BigQuery 적재구조

  • Firebase에서 설계한 구조와 똑같음!!
  • Firebase를 통해서 적재하는 앱에서의 사례 

 

이벤트 설계 - Google Analytics

  • 가장 널리 사용되는 웹에서 이벤트를 집계하는 툴 
  • Event Property가 이미 정해져있음
    • eventCategory, eventAction, eventLabel, eventValue 4가지
  • Firebase 보다는 덜 자세하지만 이 정도로만 정리해도 이벤트 속성을 구분해서 표시하는 건 크게 어렵지 않음 

 

이벤트 대시보드 - Firebase

  • Firebase 콘솔에서 확인할 수 있음
  • 정의한 이벤트 네임에 따라 몇 번 발생했고 유저가 몇 명이었고 property 별로 값이 어땠는지 확인할 수 있음 
  • BigQuery 테이블에서 쿼리를 사용해서 분석해보는게 일반적임
    • 데이터에서 찾을 수 있는 모든 부분을 찾을 수 있음 => 자유도가 높다 

 

이벤트 대시보드 - Google Analytics 

  • GA > 행동 메뉴 > 이벤트 > 인기 이벤트

 


 

이벤트 로그 설계

  • Labeling을 1시간 더 고민하면, 나중에 100시간이 편해진다
    • 얼마나 일관성 있게, 어떤 규칙에 따라서 지을건지 확실히 하자 
  • QA의 퀄리티가 데이터셋의 퀄리티를 결정한다 
    • 다른 형태의 데이터가 들어오거나 누락되거나 중복되는 경우가 왕왕 발생함
    • 이벤트로그가 정의한대로 정상적으로 잘 들어오는지 하나하나 검증해야함 
  • 전체를 갈아엎고 새로 싹 만드는 일의 난이도가 10이라면, 이후 서비스가 업데이트 될 때 꾸준히 잘 챙기는 일의 난이도는 100이다 
  • 로깅 작업을 잘 도와주는 개발자는 있지만, 좋아하는 개발자는 없다
    • 굉장히 단순하고 반복적이고 번거롭고 시간이 엄청 오래걸림
    • 잘 활용하는 것이 개발자를 도와주는 것...,,,
728x90
반응형