SQL | 프로젝트 #3

소리·2024년 6월 20일
0

개선이 필요한 지점

데이터 이해

purchase, remove_from_cart 이벤트가 발생하기 전에 어떤 이벤트들이 발생하는지 살펴보고 서비스 이용 흐름을 파악해보세요.

데이터 정제

cart > remove_from_cart 와 같이 cart 로부터 시작하는 퍼널 전환율을 보고 싶다면 특정 item에 대해 cart 이벤트가 cart 이벤트 뒤에 따라올 수 있는 이벤트(예를 들면 purchase)보다 먼저 발생한 사용자의 데이터만 분석해야 합니다.

문제 정의

단순히 특정 이벤트가 많이 발생했다는 것으로 문제가 될 수 없습니다. 단순히 이용자가 많아져도 전반적으로 이벤트가 증가하는데, 비율로 진행한 점과 구매로 간 구매율과 비교한 것은 문제 정의를 잘한 것으로 보입니다. (이렇게 되면은 그 분석 내용도 그렇게 나와야 되거든요.) 그러나 비율, 카운트와 별개로 몇 퍼센트이기 때문에 무엇이 맞다라고 표현할 수 없다.

더 깊이 들어가서,
cart > remove_from_cart 비율이 36.13%라는 것도 문제가 될 수는 없습니다. 업계 전반적으로 봤을 때에 낮은 숫자가 아닐 수 있습니다. 만약 업계 평균이 50%라면 36.13%는 굉장히 잘 하고 있는 수치가 될거예요. 문제라고 정의하려면 업계 평균 데이터와 비교해서도 굉장히 높거나, 시간이 흐름에 따라 점차 높아지고 있는 것을 보여주는게 필요합니다.

기타 의견

서비스에서 cart > remove_from_cart 비율이 높다는 것만 잘 설명해도 모르던 문제를 드러낸 분석이 되므로 충분히 보고서로서 가치가 있을 수 있습니다.


고민 지점에 대한 답변

▶️ 고민 지점 확인

1. 가설 설정에 대한 고민

  • 처음 문제정의의 답을 찾는데 계속 분석할 수 있는 데이터가 있다면 계속 하는 것이 맞습니다.
    분석 과정이 다이렉트로 가지 않고 지금 느끼는 것처럼 돌아가는 경우가 많습니다.

2. 초기 테이블 풀이1과 2중 현재 상황에 적절한 것

  • 현재 상황에서는 funnel 분석인 2번이 더 적절해보이는데, 데이터를 다시 정제해서 진행해보세요.

  • 풀이 2번에서 값이 늘어난 점을 예로 생각해보면 같은 상품을 2번 보고, 2번 카트에 넣으면 4배로 늘어날 수 있습니다. 그렇기 때문에 데이터의 흐름을 파악해야 합니다.
    카트를 거치지 않는 구매도 있을 것입니다. cart > remove_from_cart 또는 cart > purchase로 가는 것을 분석할 거라면 지금 말씀하신대로 카트를 거친 데이터 안에서 해야하는 게 맞고, 그것을 떠나 단순히 구매율을 더 보고 싶다면 바로 구매하는 경로도 고려해야 합니다.

3. 보고서 결론 내는 방식

  • 실전반 자료에 있는 내용을 참고하세요.
  • 지정한 문제 해결을 어떤 방법으로 할 수 있는가를 정리해서 작성하면 됩니다.

가설 개별 피드백

가설 1

  • remove_from_cart / cart 비율만으로 문제가 있다없다 이야기하기 어렵다. 다른 브랜드에 비해서 어떤 것이 높다고 말할 수 있습니다만, 사실 카트에서 제거한다고 구매로 이어지는 게 아닐 수도 있고 제품의 특성에 따라 많이 다를 수 있어서 질문인 1에 가까운 브랜드에 대해서 문제가 있다고 판단해도 될까의 판단은 어렵습니다.
  • 브랜드 별로 나눠서 제거율, 구매율을 다 비교한 다음에 구매율이 더 높은 브랜드와 제거율이 더 높은 브랜드는 어떤 차이가 있는가 이런 식으로 분석이 가야 이 문제 정리한 것을 푸는 방향으로 갈 수 있을 것 같습니다.

  • 집계 시 단순히 count와 remove_from_cart cart 이벤트 수를 센 상황이다. 퍼널 전환율에 영향을 주는 변수를 알아보려면 변수를 추가해서 터널을 분석하는 방법을 실전반에서 배우는데, 그것을 적용해보세요
    데이터를 정제하고 퍼널 정의하는 쿼리를 짠 다음 거기에서 group by를 해서 이 브랜드를 추가해서 보는 게 사실 정확하다. (브랜드가 특정 퍼널 브랜드면 퍼널 전환율이 낮다는 것을 볼 수 있기 때문에, 만약 특정 브랜드만 퍼널 전환율이 너무 낮다면 그 브랜드에 뭔가 문제가 있을 수 있다.)

  • distinct user_id로 유저 하나 당 한번씩 카운트 하는 방향으로 할 수 있을 것

가설 2

  • 11월 데이터도 봐야할까? 질문에 대해서 최초의 카트에 넣는 이벤트가 있는 건에 대해서만 진행해야 정확한 분석을 할 수 있다고 생각 합니다.
    (view > cart > remove > purchase로 가는 퍼널이라면 view 이벤트부터 일어난 유저부터만 봐야한다.)

가설 3

  • 가설이 나온 이유가 있으면 괜찮은 가설, 아니라면 필요없는 가설

  • 현재 문제는 remove_from_cart로 제품을 삭제하는 고객이 많은 상황에서 시간이 왜 나왔는가 고민 필요


가설 4

  • category_id의 제품이 완전히 같지 않는 이상 그것을 대체할 수 있는 상품인지의 판단은 우리가 못할 수 없습니다. 그렇기 때문에 가설이 설득되지 않아요.

  • 문제를 해결하기 위해 필요한 데이터가 맞는지 다시 한번 생각하고,
    가설을 설정할 때 우리가 문제라고 생각하는 것을 해결하기 위해 어떤 분석이 필요한지를 생각해보세요


Next Step

  1. DISTINCT user_id, session을 수작업으로 구매로 가는 루트 전부 파악 (view > cart > remove > purchase 등)
  2. 문제정의 설정 > 진짜 문제인지 파악하는 과정 필요
  3. 가설 생성 및 검증 진행

(2-1. 최초의 카트에 넣는 이벤트가 있는 건에 대해서만 데이터 정제할 것인지 결정
2-2. 제거율(remove_from_cart/cart 비율)을 파악하기 위해 코드를 하나로 통일하고 월별 담당을 나눠서 제거율 파악 작업 진행)

profile
데이터로 경로를 탐색합니다.

0개의 댓글