[데이터 분석 심화 개념] 프로덕트 데이터 로그 설계 1️⃣ (로그 설계와 사용자 행동 데이터 분석)프로그래밍/데이터 분석2024. 9. 9. 12:48
Table of Contents
이번 글은 코드잇 강의를 수강하면서 배운 내용을 주로 하여 정리되어 있습니다. (코드잇 스프린트 데이터 애널리스트 트랙 1기 훈련생)
로그 설계와 사용자 행동 데이터 분석
웹 서비스 운영에서 사용자 행동 데이터를 체계적으로 기록하고 분석하는 것은 프로덕트 개선에 필수적입니다.
로그 데이터는 미리 체계적으로 기록되지 않으면 나중에 분석할 때 사용할 수 없으므로, 초기 설계 단계에서부터 로그 설계가 중요합니다.
- 로그 설계의 중요성:
- 사용자 행동 데이터를 분석하려면 체계적으로 데이터를 기록하는 로그 설계가 필요합니다.
- 로그 설계는 데이터를 어떻게 기록할지 기준을 설정하는 과정으로, 프로덕트 개선을 위한 첫걸음입니다.
- 로그 설계의 비유:
- 로그 설계는 유치원 선생님이 아이들의 행동을 체계적으로 관찰 일지에 기록하는 것과 유사합니다.
- 형식과 가이드라인을 정해 기록하지 않으면 나중에 데이터를 분석하기 어렵기 때문에, 체계적인 로그 설계가 필요합니다.
로그 설계 이해하기
로그 설계란?
데이터의 종류
- 서비스 운영용 데이터:
- 고객 회원 가입 정보, 상품 이름 및 가격, 고객의 상품 구매 정보 등, 서비스 운영을 위해 필수적으로 기록되는 데이터입니다.
- 오프라인에서 가게의 운영에 필수적인 데이터가 자동으로 기록되는 것과 마찬가지로, 이 데이터는 서비스가 제대로 운영되기 위해 반드시 기록되어야 합니다.
- 사용자 행동 데이터:
- 고객의 페이지 방문 정보, 버튼 클릭 정보 등 사용자가 서비스 내에서 행동하며 남기는 데이터입니다.
- 오프라인 가게에서 고객이 어떤 상품을 구경했는지 기록하려면 누군가가 의도적으로 기록해야 하듯, 웹이나 앱에서의 사용자 행동 데이터도 의도적으로 기록해야 합니다.
- 이 데이터를 우리는 로그 데이터 또는 사용자 행동 로그라고 부릅니다.
로그 데이터의 필요성
- 서비스 운영용 데이터만으로도 회원가입자 수, 거래액 등의 비즈니스 현황은 분석할 수 있습니다.
- 그러나 웹이나 앱의 특정 화면과 기능을 개선하려면, 사용자의 구체적인 행동 데이터를 알아야 합니다.
- 이러한 행동 데이터를 통해 사용자 행동을 분석하여 더 나은 사용자 경험을 제공하기 위해 로그 데이터가 필요합니다.
로그 설계의 중요성
- 로그 설계는 로그 데이터를 기록하기 위한 사전 기획 과정입니다.
- 로그 설계 없이 로그 개발이 이루어지지 않으면, 사용자 행동 데이터가 전혀 전송되지 않기 때문에 기능에 대한 성과 평가가 불가능합니다.
- 로그 설계 없이 로그 개발을 바로 진행하는 경우, 설계 없이 개발이 이루어지면 혼란이 발생하고, 수집된 데이터가 분석에 부적합할 수 있습니다.
- 체계적으로 설계되지 않은 데이터는 분석에 활용되지 못하고, 오히려 공간만 차지하는 불필요한 데이터가 될 위험이 있습니다.
로그 설계 프로세스
로그 데이터 수집을 위한 전체 절차
- 지표 기획:
- 특정 기능의 성과를 확인하기 위해 필요한 지표를 기획하는 단계입니다.
- 어떤 로그를 어떻게 기록할지 결정하기 위해, 지표 기획이 가장 먼저 이루어집니다.
- 로그 설계:
- 지표 기획을 바탕으로 어떤 로그를 어떻게 찍을지 계획하고 구조를 설계합니다.
- 화면 디자인 파일 등을 참고하여 설계가 진행됩니다.
- 로깅(로그 개발):
- 설계된 형태대로 로그 데이터를 수집할 수 있도록 실제 개발을 진행하는 단계입니다.
- 개발자가 로그 데이터를 기록할 수 있도록 기능 개발 이후에 진행됩니다.
- 로그 QA:
- 로그 데이터가 설계 의도대로 잘 기록되는지 확인하는 과정입니다.
- 기능 QA가 완료된 후에 로그 QA가 진행되는 경우가 많습니다.
각 단계의 진행 시점
- 신규 기능 개발과 병렬적 진행:
- 로그 설계 관련 프로세스는 신규 기능 개발 프로세스와 병렬적으로 진행됩니다.
- 지표 기획:
- 신규 기능 기획 후, 제작이 시작될 때 지표 기획이 진행됩니다.
- 로그 설계:
- 개발이 시작되고, 화면 디자인이 거의 완료된 단계에서 로그 설계가 이루어집니다.
- 로깅:
- 기능 개발이 완료된 후, 로깅이 진행됩니다.
- 기능 QA와 로깅을 동시에 진행할 수도 있습니다.
- 로그 QA:
- 기능 QA가 끝난 후 로그 QA가 진행되며, 로그 데이터가 의도한 대로 기록되었는지 확인합니다.
각 단계별 주체
- 지표 기획:
- 주로 **프로덕트 매니저(PM)**가 담당하며, 회사에 따라 데이터 분석가와 협업하기도 합니다.
- 로그 설계:
- PM 또는 데이터 분석가가 담당하며, 이 단계에서는 디자이너와 개발자 등의 제작 과정이 병행됩니다.
- 로깅(로그 개발):
- 개발자가 담당하며, 기능 개발이 완료된 후 로깅 작업을 진행합니다.
- 로그 QA:
- 회사에 따라 QA 팀 또는 PM이 담당하며, 기능 QA 후에 로그 QA가 진행됩니다.
로그 설계의 중요성
- 로그 설계는 체계적으로 데이터를 기록하여 기능의 성과를 평가하고, 서비스를 개선하기 위한 필수적인 과정입니다.
- 로그 설계가 제대로 이루어지지 않으면 로그 데이터가 비효율적으로 기록되거나, 분석에 적합하지 않은 데이터가 생성될 수 있습니다.
로그 설계에 필요한 기초 지식
데이터 발생 위치와 담당 개발자
- 클라이언트(Client):
- 유저 인터페이스(UI)에서 발생하는 사용자 행동 데이터(예: 화면 진입, 버튼 클릭 등)를 수집합니다.
- 프론트엔드 개발자가 담당하며, 웹 개발자, 안드로이드 개발자, iOS 개발자 등으로 세분화됩니다.
- 서버(Server):
- 클라이언트의 요청을 받아 응답하는 역할을 합니다.
- 서버에서 발생하는 데이터는 보이지 않지만, 화면에 표시되는 정보(예: 상품의 실시간 할인가 등)를 관리합니다.
- 백엔드 개발자가 담당합니다.
클라이언트와 서버 데이터 구분의 중요성
- 어떤 데이터를 로깅할 때는 데이터가 발생하는 위치에 따라 적절한 개발자에게 요청해야 합니다.
- 웹과 앱의 구분:
- 웹과 앱은 쉽게 구분되지만, **웹뷰(WebView)**라는 개념은 앱 내에서 웹 페이지를 띄우는 방식으로, 앱과 웹의 경계를 모호하게 합니다.
- 앱 화면에서 발생하는 로그를 설계할 때는 해당 화면이 웹뷰로 구현되었는지 미리 확인해야 합니다. (이런 경우 일반적으로 웹 개발자가 담당)
데이터 발생 위치에 따른 로깅 이슈와 대응
- 웹과 서버:
- 재배포가 수월해 로그 이슈가 발생해도 비교적 빠르게 수정할 수 있습니다.
- 앱(iOS/안드로이드):
- 이슈 수정이 어렵고, 앱 스토어에서의 승인 절차와 사용자 업데이트 필요로 인해 시간이 오래 걸릴 수 있습니다.
- 특히 iOS는 승인이 엄격해 안드로이드보다 재배포에 더 많은 시간이 걸릴 수 있습니다.
- 앱에서의 로깅은 신중하게 진행해야 하며, 잘못된 로그 개발은 오랜 시간 수정되지 않을 위험이 있습니다.
실질적인 로깅 진행
- 프론트엔드 개발자는 클라이언트에서 발생하는 사용자 행동 데이터를 로깅합니다.
- 백엔드 개발자는 서버에서 발생하는 데이터와 관련된 로깅을 담당합니다.
- 데이터의 발생 위치를 이해함으로써, 적절한 개발자에게 로깅 작업을 요청하고, 이슈 발생 시 빠르게 대응할 수 있습니다.
데이터 저장 방식
- 데이터베이스:
- 체계적으로 구조화된 데이터 저장소로, 빠르게 데이터를 기록하고 읽어올 수 있는 장점을 가집니다.
- 주로 서비스 운영에 필요한 데이터가 저장됩니다.
- 파일 단위 저장:
- 데이터를 파일로 저장하는 방식으로, 데이터 레이크라는 개념이 자주 사용됩니다.
- 데이터 레이크: 구조화되지 않은 대량의 데이터 파일을 보관하는 창고 같은 개념입니다.
- 로그 데이터는 서비스 운영과 직접 관련되지 않기 때문에 파일 단위로 저장된 후, 필요에 따라 처리됩니다.
ETL 과정
- ETL(Extract, Transform, Load):
- 데이터를 추출(Extract)한 후, 변환(Transform)하여 적재(Load)하는 과정입니다.
- 로그 데이터는 데이터 레이크에 저장된 후 ETL 과정을 거쳐 데이터 웨어하우스에 저장될 수 있습니다.
- ETL 과정과 로그 데이터의 처리 업무는 주로 데이터 엔지니어가 담당합니다.
로그 데이터 처리 솔루션
- 구글 애널리틱스:
- 웹과 앱에서 발생하는 로그 데이터를 쉽게 수집하고 분석할 수 있는 솔루션입니다.
- 웹의 경우 구글 태그 매니저, 앱의 경우 파이어베이스 SDK를 통해 로그 데이터 전송이 가능합니다.
- 전송된 데이터는 구글 애널리틱스 홈페이지에서 확인할 수 있으며, 더 상세한 분석을 위해 구글 빅쿼리로 데이터를 내보낼 수 있습니다.
- 기타 유료 솔루션:
- 엠플리튜드와 믹스 패널 같은 프로덕트 애널리틱스 솔루션도 널리 사용됩니다.
- 이러한 서비스들은 API와 SDK를 제공하며, 공식 가이드를 통해 쉽게 로그 데이터를 전송하고 분석할 수 있습니다.
회사별 로깅 방식의 차이
- 각 회사는 로그 데이터를 처리하는 방식이 다를 수 있으며, 자체적인 개발로 로깅을 수행하거나, 특정 솔루션을 활용할 수 있습니다.
- 구글 애널리틱스를 사용하는 회사는 기본적으로 수집되는 로그 데이터가 있을 가능성이 높습니다.
- 자체 개발을 통해 로그를 관리하는 회사는 세세한 로그 설계가 필요할 수 있습니다.
이번 글에서는 웹 서비스 운영에서 로그 설계와 사용자 행동 데이터 분석의 중요성에 대해 살펴보았습니다. 체계적인 로그 설계는 서비스 개선의 핵심적인 단계이며, 데이터를 효율적으로 기록하고 분석하는 데 필수적입니다. 이를 통해 더 나은 사용자 경험을 제공하고, 기능의 성과를 객관적으로 평가할 수 있습니다.
감사합니다.
출처 및 참고자료 : 코드잇 사이트 강의 '프로덕트 데이터 로그 설계' https://www.codeit.kr/topics/product-data-logging?version=1
728x90
'프로그래밍 > 데이터 분석' 카테고리의 다른 글
[데이터 분석 심화 개념] 프로덕트 데이터 로그 설계 2️⃣ (로그 설계 시작하기) (3) | 2024.09.11 |
---|---|
[데이터 분석 심화 개념] A/B 테스트 3️⃣ (A/B 테스트 결과 분석하기) (0) | 2024.09.06 |
[데이터 분석 심화 개념] A/B 테스트 2️⃣ (A/B 테스트 시작하기) (11) | 2024.09.04 |
[데이터 분석 심화 개념] A/B 테스트 1️⃣ (A/B 테스트 이해하기) (4) | 2024.09.02 |
[데이터 분석 심화 개념] 지표 이해하기 2️⃣ (AARRR 프레임워크와 지표들에 대한 세부 설명) (3) | 2024.08.30 |
@ourkofe's story :: ourkofe
데이터 분석을 공부하고 카페를 열심히 돌아다니는 이야기
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!