[데이터 분석] 쇼핑몰 웹 로그 분석 프로젝트-3
사이트 체류 시간
사이트 체류 시간은 사용자가 웹 혹은 앱을 얼마나 머물렀는 지를 나타내는 지표입니다.
만약 한 고객이 첫 페이지 방문을 10시에 했다고 가정 해 봅시다. 첫 페이지를 방문하고 나서 두 번째 페이지를 10시 3분에 방문을 했다면 이 고객의 첫 번째 페이지 체류 시간은 3분이 됩니다.
이번에는 3개의 페이지를 한 고객이 방문했다고 가정해보겠습니다. 위와 같은 방식으로 첫 번째 페이지 체류 시간은 3분입니다.
두 번째 페이지 방문 시간은 10시 3분, 세 번째 페이지 방문 시간은 10시 7분이므로 고객의 두 번째 페이지 체류 시간은 4분입니다.
세 번째 페이지 방문 시간은 10시 7분, 그리고 3분을 머물다가 10시 10분쯤 고객이 이탈을 했다고 생각해봅시다. 세 번째 페이지 체류 시간은 몇 분일까요?
3분일까요? 기본적으로 고객이 이탈하게 되면 이탈한 기록은 남지 않습니다. 따라서 사실상 고객이 언제 이탈했는지 알기가 어려워 세 번째 페이지 체류 시간은 구할 수 없는 것이 정답입니다!
따라서 이 고객의 웹 혹은 앱의 총 체류 시간은 10분이 아닌 7분이 되는 것입니다. (구글 애널리틱스360은 이탈 기록이 남지 않았지만, 버전4 부터는 기록이 된다고 합니다..!!)
체류 시간 정의를 알았으니, 고객의 접속 기록을 통해 체류 시간을 구해보겠습니다.
WHERE 절을 통해 17일 데이터만 가져왔습니다. 또한 한 고객이 여러 페이지를 방문했으니, 중복된 고객 아이디가 있습니다.
따라서 고객별로 group을 만들어서 첫 페이지 방문 시간은 MIN 함수, 마지막 방문 시간은 MAX 함수를 통해서 구했습니다.
MAX 시간과 MIN 시간을 뺀 session_time 컬럼을 새로 정의했습니다.
추출된 쿼리를 보면 최대 체류 시간이 21시간인 고객이 있습니다. 21시간을 있었던 고객들은 어떤 특징을 가지고 있을까요?
조금 더 고객 행동 관련 데이터가 있었다면 군집 분석 및 구체적인 데이터 탐색을 진행할 수 있을텐데 아쉬운 마음이 있습니다..
이렇게 고객의 방문 시간을 활용해 체류 시간을 구해보았는데요, 체류 시간을 통해 특정 페이지 UI/UX의 문제를 찾을 수도 있고, 다양한 문제를 발견할 수 있습니다.
이처럼 DAU, 체류 시간을 구하면서 빅쿼리를 능숙하게 사용하는 데 도움이 된 것 같습니다.