강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

희선님의 프로필 이미지
희선

작성한 질문수

PM을 위한 데이터 리터러시(프로덕트 데이터 분석)

6-7. Foodie Express 데이터 로그 설계 연습 문제 : 꼭 풀어보세요!

6-7. 데이터 로그 설계 연습 문제 질문

해결된 질문

작성

·

69

0

안녕하세요 카일님! 6-7 데이터 로그 설계 연습 문제를 풀어봤습니다. 데이터 로그 설계 강의를 여러 번 반복해서 봤는데도 어려운 부분이 있어서 문제들에 대한 답변 이후로 질문 드리겠습니다.



문제 1

image.png

 문제 2

image.png


문제 3

image.png

질문 정리
1. event parameter에서 food_name, store_name이 들어가기 전에는 food_id, store_id가 들어가야할까요?
들어가야 한다면 이유가 무엇인지 알 수 있을까요?

  1. CTR에 대한 지표 작성 방법은 어느정도 알겠는데 CVR은 어떤 것을 기준으로 지표를 작성해야 할 지 잘모르겠습니다.. 6-6강의에서 CVR을 구할 때 event_name이 click_payment인것을 보고 전혀 예상하지 못했었는데 CVR은 CTR처럼 직관적으로 보이는게 아니라 예상을 하고 작성을 해야할까요? 어떻게 해결하면 좋을 지 궁금합니다.

  2. 수정해야 할 부분은 많은 것 같은데 전반적인 데이터 로그 작성 흐름은 맞는 지 궁금합니다.

     


    감사합니다.

답변 2

0

카일스쿨님의 프로필 이미지
카일스쿨
지식공유자

희선님 문제 푸시느라 고생하셨습니다! 열심히 공부하고 계시네요!!

 

우선 이미지를 보고 알려드리고 싶은 것들을 알려드리고 질문에 대해 답변을 드릴게요

1번

  • 정의해주신 것 중 click_home과 click_food_category의 차이는 무엇일까요? 컴포넌트 네임이 있다의 차이만 있는데 내용적으로 비슷한 것일까? 싶어 질문드려요

    • click_home이 어떤 것을 눌렀는지 같이 작성해주시면 더 좋을 것 같아요!

    • 글로 설명이 어려울 때는 이미지를 같이 첨부해서 이 버튼입니다!라고 명시하는 경우도 있어요

  • click만 기록되어 있는데, click 외에 view 이벤트도 정의하면 얼마나 봤는지를 알 수 있어요

    • screen_view 이벤트로 어떤 화면을 봤는지를 기록할 수 있어요

  • 나머지는 다 잘 해주셨어용

2번

  • click_order가 어떤걸까요? 주문?이라고 되어있는데 현재 검색 결과 화면에서는 바로 주문을 할 수 없어요

    • 다음 화면으로 가고, 장바구니까지 간 후에 결제를 하게 됩니다

    • 하나의 화면에서 결제를 할 수 있는지 생각해보시면 도움이 될 것 같아요

    • description도 조금 더 자세히 작성해야겠다!란 생각을 해보셔도 좋을 것 같아요

  • click_search와 click_search_result가 어떤 차이가 있을까요?

    • 검색 결과 클릭과 결과로 나온 음식 클릭과 차이가 있나? 싶어서요

    • 보통 검색하기를 누르면 검색이 되고 검색 완료된 창에서 완료된 것을 클릭하곤 하지요

      • 혹은 click_search가 검색하기 버튼 클릭이라면 request_search 같은 것으로 해도 좋아요. 서버에 요청(Request)를 하는 것이라서요

        • 만약 검색하기 버튼 클릭이라면 파라미터로 keyword(어떤 키워드로 검색을 했는가)를 추가해주면 나중에 어떤 키워드로 검색했는지 확인해서 결과를 볼 수도 있겠지요!

    • click_order와 order_complete가 나오는데 이 두개의 차이는 주문하기 클릭과 주문이 완료되었습니다 시점으로 나누려고 하신걸까요? page가 result/order_complete라서 다른 시점으로 정의하신 것 같네요..!

 

3번

  • apply_filter에서 filter_name, value 잘 해주셨네요! 관련 설명만 추가하면 더 좋을 것 같네요

  • 위에서 말씀드린 내용(1-2번 피드백)이 중복되면 따로 말씀드리진 않을게요..! 다시 생각해보셔요

  • click_search가 search_home, search_result에서 2번 발생한다고 해주셨는데 홈에서 바로 검색을 하진 않고 홈에서 검색하는 칸을 클릭하면 검색 페이지로 이동하고 거기서 검색을 하게 되어요. 그리고 나서 검색 버튼을 누르면 검색이 되지요. 아마 이 흐름을 생각해서 페이지 2개로 생각하신 것 같아요. 잘 생각해주셨고, 저라면 조금 더 명시적으로 작성할 것 같아요

    • click_search_area(서치 영역을 클릭한 경우) : 이 경우엔 이어서 screen_view 이벤트가 발생하면서 search 페이지로 이동하게 될 거예요(이중으로 로그를 기록해도 괜찮고, view만 있어도 괜찮긴 합니다) 그리고 click_search라는 것은 명시적으로 서치 버튼을 클릭한 경우로 하면 명확하게 두 이벤트가 구분이 될 거예요.

    • 같은 버튼을 클릭하는데 페이지가 나뉠 때만 이벤트 이름을 공유한다고 생각해주시면 될 것 같아요

 

 

작성해주신 질문

1. event parameter에서 food_name, store_name이 들어가기 전에는 food_id, store_id가 들어가야할까요?
들어가야 한다면 이유가 무엇인지 알 수 있을까요?

  • 이건 순서에 대한 질문이시죠? 제가 이해한 것이 다른 것 같으면 대댓글을 달아주셔요

    • 어떤 이벤트냐에 따라서도 다를 것 같은데, 일단 이벤트가 작성되어 있지 않으니 전반적인 내용으로 말씀드릴게요

  • food_id, food_name, store_name, price 에서 순서는 상관이 없습니다. 동시에 기록된다고 보시면 되어요

  • 어떤 이벤트인지에 따라 food_id, store_id가 들어갈지가 결정됩니다

    • 음식을 클릭하는 이벤트라고 하면 food_id나 store_id가 있어야 "유저가 어떤 음식점의 음식을 클릭했다"라고 알 수 있겠죠. 그렇기 때문에 이 경우엔 food_id, store_id가 필요합니다

    • 반면에 view_search_result_food 이벤트에는 검색 결과가 보일텐데, 검색 결과가 보일 때는 여러가지 결과들이 보이게 됩니다. food_id가 하나가 아니라 여러 검색 결과가 보이지요. 따라서 이 때는 목적에 맞게 취하면 됩니다

      • 예를 들어 food_id가 노출이 되었고, 그 노출 중에 뭘 클릭했는지 알고 싶다면 노출되었다는 이벤트(여기서는 view와 유사)에 food_ids라고 기록하고 노출된 음식 id를 여러개 기록할 수 있겠지요

      • 다만 VIEW 이벤트에서는 보통 파라미터를 적게 유지하곤 합니다. 뭘 봤다 정도만 기록해요. 이 때는 store_name 정보는 꼭 필수는 아닐거고 그렇다면 로그를 기록하지 않는 경우도 있어요

      • 로그 설계에서 어려운 점은 상황이나 목적에 따라 다를 수 있다는 점이에요. 그래서 희선님이 목적이나 상황을 가정하고 연습하셔도 좋을 것 같아요. 그거에 따라 여러가지가 나올 수 있어요.

      • 회사에서는 view는 페이지를 봤을 때 발생시키고, 별도로 impression이란 이벤트를 만들기도 해요. impression은 요소가 진짜 나타났을 때를 의미하는데 우리가 스크롤을 내리면서 새로운 요소가 생기잖아요? 그 요소가 보일 때마다 이벤트를 발생시킵니다. 그러면 어떤 유저가 얼마나 봤는지를 알 수 있고 그거랑 click 이벤트를 조합해서 CTR을 계산할 수 있지요

         

 

  1. CTR에 대한 지표 작성 방법은 어느정도 알겠는데 CVR은 어떤 것을 기준으로 지표를 작성해야 할 지 잘모르겠습니다.. 6-6강의에서 CVR을 구할 때 event_name이 click_payment인것을 보고 전혀 예상하지 못했었는데 CVR은 CTR처럼 직관적으로 보이는게 아니라 예상을 하고 작성을 해야할까요? 어떻게 해결하면 좋을 지 궁금합니다.

  • CTR은 그 화면에 보이는 것 중 클릭한 것을 의미하고, CVR은 어떤 이벤트를 한 사람이 컨버전 이벤트(전환)을 하는지를 확인하는 지표입니다. 그래서 그 화면이 아니라 다음 화면 또는 다다음, 다다다음 화면을 보는 경우가 많아요. 그래서 이럴 때는 화면 기획서나 피그마를 보면서 이후에 어떤 이벤트가 있을지 생각해보시면 됩니다

    • 여기서 전환 이벤트를 먼저 정의하고(지금 어떤 것을 목표로 하는 것이지?) 그 이벤트가 해당 화면이 아닌 어디서 발생할까? 생각해보시고 이후에 발생한다면 이후의 화면에 정의하시면 됩니다

    • 하나의 화면에서 발생할 수 있는 이벤트는 관련된 내용이어야 합니다. 그래서 특정 화면에서 바로 주문을 할 수 없다면 주문 이벤트가 발생할 수 없는 것이지요

  • 정리하면 예상을 하는 것보단 1) 먼저 전환 이벤트를 정의한 후에 2) 기획서나 피그마를 보면서 어디서 발생할지 고민하고 3) 로그 설계를 하시면 됩니다. 로그 설계도 제품 관련으로 생각하는 과정이기에 기획서나 피그마를 계속 보게 되어요

 

  1. 수정해야 할 부분은 많은 것 같은데 전반적인 데이터 로그 작성 흐름은 맞는 지 궁금합니다.

     

  • 네 처음 이렇게 작성하셨다면 잘 작성하셨다고 생각해요. 제가 말씀드린 피드백을 보고 한번 더 생각해보셔요

 

오늘 답변드린 내용(지표 정의나 로그 설계) 관련해서 궁금한 것이 있다면 또 댓글 주셔요!

공부하느라 넘 고생하시네요. 파이팅입니다!!

 

 

 

희선님의 프로필 이미지
희선
질문자

안녕하세요 카일님! 피드백 덕분에 도움이 많이 되었습니다. 정말 감사합니다.
말씀하신 부분을 참고로 수정해서 다시 진행해봤습니다.



문제 1번

image.png
  • 답변을 2가지 타입으로 준비한 것을 실수로 구분을 하지 않아서 오해가 생긴 것 같습니다. 파란색 박스가 답변 a타입이고, 그 밑이 b타입인데 이 부분을 합쳐서 다시 작성했습니다.

  • 제가 사용한 click_home의 원하던 의미가 view_home이 맞아서 수정했습니다.

     

문제 2번

image.png
  • search, search_result에서 지표를 작성해야하는데 다른 page를 가져와서 데이터 로그를 잘못 작성한 것 같아서 다시 작성했습니다..!

  • requet_search의 trigger는 클릭과 컴포넌트 보기 중 어떤게 맞을까요? 둘 다 적어야 할까요?

  • 그럼 데이터 로그를 작성할 때 CVR을 작성하려면 해당 page를 벗어나지 않고 작성해야하나요?

     

문제 3번

image.png

 

  • 피드백을 반영해서 apply_filter에도 설명을 추가했습니다.

  • 위에 문제 1, 2를 반영해 수정했습니다.

  • 3번째 피드백을 바탕으로 재작성 했을때 view_click_area는 없애는게 맞을 지 아니면 그대로 둬도 될까요?view_click_area가 view_search_result와 같은 내용인 것 같아서 고민이 됩니다..


질문

  • 제가 착각했던 부분이 CVR이 현재 화면이 아닌 이후 화면들까지 고려해야 한다는 점에서 데이터 로그를 작성할 때도 CVR의 데이터 로그를 작성할 때는 다음 액션까지 고려해서 데이터 로그를 작성해야 한다고 착각했던 것 같습니다. 그렇다면 로그 작성 시에는 해당 페이지에 대한 내용만 작성하는게 맞을까요?

카일스쿨님의 프로필 이미지
카일스쿨
지식공유자

  • requet_search의 trigger는 클릭과 컴포넌트 보기 중 어떤게 맞을까요? 둘 다 적어야 할까요?

    • 트리거를 언제로 잡는지에 따라 선택할 수 있을 것 같은데 보통은 컴포넌트 보기만 했을 때 검색 요청이 가지 않기 때문에 클릭을 할 때로 설정할 것 같네요

  • 그럼 데이터 로그를 작성할 때 CVR을 작성하려면 해당 page를 벗어나지 않고 작성해야하나요?

     

    • 제가 착각했던 부분이 CVR이 현재 화면이 아닌 이후 화면들까지 고려해야 한다는 점에서 데이터 로그를 작성할 때도 CVR의 데이터 로그를 작성할 때는 다음 액션까지 고려해서 데이터 로그를 작성해야 한다고 착각했던 것 같습니다. 그렇다면 로그 작성 시에는 해당 페이지에 대한 내용만 작성하는게 맞을까요?

      • 지금 하신 것은 "로그 설계"입니다. 생성된 로그를 조합해서 "지표"를 만들게 되는 것이구요. CVR을 구하기 위해서 필요한 로그가 있을텐데, 그건 page 종속적으로 생각하지 않아도 됩니다.

      • 로그와 지표를 같은 레벨에서 생각하신건가? 싶은데 두개는 구분된다고 생각하시면 될 것 같아요

      • 로그는 하나의 페이지에서 발생하는 이벤트를 기록합니다. 그리고 그런 로그들을 가지고 지표로 만듭니다.

  • 3번째 피드백을 바탕으로 재작성 했을때 view_click_area는 없애는게 맞을 지 아니면 그대로 둬도 될까요?view_click_area가 view_search_result와 같은 내용인 것 같아서 고민이 됩니다

    • 상황에 따라 판단하는 것인데 동일한 이벤트라면 굳이 더 만들 필요는 없습니다. 중복된 이벤트가 이름이 다르면 그것도 혼란을 만들거든요

     

0

안녕하세요, 인프런 AI 인턴입니다. 희선님. 질문 주셔서 감사합니다!

질문 1: food_id, store_id 필요 여부

  • food_idstore_id가 중요한 이유는 데이터의 유일성과 식별성을 확보하는 데 있습니다. food_name이나 store_name은 변경될 수 있거나 중복될 가능성이 있기 때문에, 이를 식별할 수 있는 고유한 id로 대체하는 것이 좋습니다. 따라서 이벤트 로그에 ID값을 포함시키면 데이터의 변경에도 안정적으로 추적이 가능해집니다.

질문 2: CVR 지표 작성

  • CTR(Click-Through Rate)은 비교적 직접적으로 클릭 수를 기준으로 지표를 수립할 수 있는 반면, CVR(Conversion Rate)은 목표 달성(예: 구매 완료)의 비율을 구하는 지표입니다. 따라서 CVR을 설정할 때는 최종 목표 지점이 어디인지를 명확히 해야 합니다.

  • 예를 들면, click_payment 이벤트는 결제 페이지에 도달하는 사용자 수를 나타내며, purchase_complete와 연관될 수 있습니다. CVR을 계산할 때는 목표 달성 시점(예: 구매 완료)이 기준이 되어야 합니다.

    • 예시: CVR = 구매 완료 수 / 결제 페이지 클릭 수
  • 이 시점들을 파악하기 위해, 전환 프로세스에서 각 중요한 단계의 이벤트를 추적할 필요가 있습니다. 이를 통해 프로세스 내에서 문제 발생 지점 및 개선점을 파악할 수 있습니다.

질문 3: 데이터 로그 작성 흐름

  • 흐름 자체는 잘 따라가고 계신 것으로 보입니다! 다만, 구체적인 파라미터의 정의 및 이벤트의 유일성 확보(각 이벤트에 대해 다시 확인해 보기)을 통해 좀 더 정교하게 설계할 수 있습니다.

  • : 데이터 로그 설계 시에는 단순히 이벤트 및 파라미터를 나열하는 것보다 “어떤 문제를 해결하고자 하는가?”, “이를 통해 무엇을 알 수 있는가?“를 항상 염두에 두는 것이 중요합니다.

각 질문에 대해서 참고할 수 있는 기존 게시글 링크를 아래에 첨부드립니다. 보다 직접적인 비교와 연습을 통해 자신감을 얻으실 수 있습니다:

  1. 6-7. 데이터 로그 설계 연습 문제
  2. 6-7 데이터 로그 설계 연습

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

희선님의 프로필 이미지
희선

작성한 질문수

질문하기