Data (21) 썸네일형 리스트형 데이터 분석 : AARRR 분석 프레임워크 그로스 해킹을 위한 프레임 워크, AARRR 그로스 해킹의 근간이 되는 AARRR 지표는 미국의 사업가이자 투자자인 데이브 맥클루어가 스타트업의 성장을 위해 개발한 분석 프레임워크입니다. AARRR의 단계는 다음과 같이 Acquisition(획득) → Activation(활성화) → Retention(유지) → Revenue(매출) → Referral(추천)으로 이루어져 있습니다. 쉽게 생각하면 사용자의 사용 흐름 순으로 정리를 했다고 생각하면 좋을 것 같습니다. 1. Acquisition (고객 유치) AARRR의 첫 번째 '고객 유치 단계'는 사용자가 우리 서비스를 처음 접하게 되는 활동입니다. 평상 시에 SNS, 유튜브 등을 통해 어떤 제품이나 서비스를 접하고 그 서비를 제공하는 앱을 다운로드하거나.. 데이터 분석 : 통계 없이 이해하는 A/B 테스트 1. A/B 테스트란? A/B 테스트는 앱 또는 웹 페이지에서 임의로 나눈 두 집단에게 동일한 기간 동안 서로 다른 컨텐츠를 제시한 뒤, 두 집단 중 어떤 집단에서 더 좋은 성과를 보이는지 평가하는 방법입니다. 2. A/B 테스트를 하는 이유는? 데이터 기반의 의사 결정을 통해 1) 기존 업무의 실패를 개선한다. 2) 객관적인 의사결정의 근거를 만들 수 있다. 3) 테스트를 통해 향후 발생할 리스크를 최소화할 수 있다. 3. A/B 테스트 프로세스 A/B 테스트는 실험을 위해 실험 전 목표설정, 실험 설계, 실험 진행, 결과 분석의 4단계로 이루어집니다. 1) 목표설정: 가설수립 & 지표정의 A/B 테스트를 진행하기 위해서는 사전에 반드시 목표를 명확하게 설정하고 시작해야 합니다. 내가 이 실험을 왜 진.. SQL 고급 : 윈도우 함수(분석 함수) - LAG(), LEAD() LAG(), LEAD() 함수란? LAG : 특정 로우(행)를 기준으로 이전(before) 로우(행)의 값을 반환 LEAD : 특정 로우(행)를 기준으로 다음(next) 로우(행)의 값을 반환 윈도우 함수(분석함수)인 LAG, LEAD 함수를 어떻게 활용하는지 사용자의 웹 행동 로그 데이터를 이용해 살펴보도록 하겠습니다. 아래와 같이 특정 사용자의 웹 행동 로그 데이터가 저장되어 있는 가상의 테이블이 있다고 가정해보겠습니다. user_id occurred_at event_type event_name location device 4 2014-05-20 9:31:30 engagement login India samsung galaxy s4 4 2014-05-20 9:31:55 engagement search.. SQL 고급 : PIVOT TABLE 아래의 왼쪽 그림과 같이 어느 백화점의 지역별 점포 리스트 현황 데이터가 있다고 가정해보겠습니다. 지역별로 점포 현황을 깔끔하게 정리해보려고 하는데요. 아래 오른쪽 그림과 같이 나타내주면 조금 더 직관적으로 지역별 점포가 몇개가 있고 어디에 있는지 이해하기 쉬울 것입니다. 이렇게 세로 기반의 테이블을 가로 기반의 테이블로 변경해주는 것을 Pivot 이라고 얘기 합니다. 오늘은 SQL 쿼리를 이용하여 Pivot Table을 만드는 방법에 대해 알아보겠습니다. 활용할 데이터는 위에 소개했던 데이터와 동일합니다. 우선 윈도우 함수인 순위 함수의 ROW_NUMBER()를 이용해서 먼저 각 지역별로 점포수가 몇 개인지 나열해보도록 하겠습니다. SELECT region, store, ROW_NUMBER() OVER.. SQL 고급 : 비등가 조인(Non-Equi Join) SQL을 어느 정도 공부해보신 분이라면 JOIN에 대해 많이 익숙해져 있으실텐데요. 일반적으로 조인 조건에는 동등 연산자(=)를 사용하지만 오늘은 테이블 간에 컬럼이 서로 정확하게 일치하지 않을 때 사용하는 비등가 조인(Non-Equi Join)에 대해서 알아보도록 하겠습니다. 우선 용어부터 생소한 비등가 조인(Non-Equi Join)에 대해서 간단하게 설명 후 어떻게 적용되는지 말씀 드리겠습니다. 비등가 조인(Non-Equi Join)이란? - 두 개이상의 테이블을 연결할 때 사용하는 조인 시에 테이블 간에 컬럼 값들이 서로 정확하게 일치하지 않는 경우 사용된다 - '=' 연산자가 아닌 다른 관계 연산자(>,>=, '2021-09-31' AND b.join_date < '2020-01-01' AND .. SQL 고급 : 윈도우 함수(순위 함수) - RANK(), DENSE_RANK(), ROW_NUMBER() 오늘은 윈도우 함수 중 하나인 순위 함수를 어떻게 사용하는 지에 대해서 야구 데이터를 활용하여 함께 알아보도록 하겠습니다. 이를 위해 국내 프로야구 통산 홈런 개수가 300개가 넘는 선수들의 데이터를 가지고 홈런 순위를 계산하는 방법을 순위 함수를 통해 살펴보겠는데요. 이름 포지션 홈런 박경완 포수 314 이승엽 내야수 467 최정 내야수 403 이대호 내야수 351 장종훈 내야수 340 이호준 내야수 337 이범호 내야수 329 박병호 내야수 327 김태균 내야수 311 최형우 외야수 342 심정수 외야수 328 송지만 외야수 311 박재홍 외야수 300 양준혁 지명타자 351 1. RANK() 함수 첫 번째로 살펴볼 순위 함수는 RANK() 함수입니다. RANK() 함수는 순위 함수 중에서도 일반적으.. SQL 고급 : 3개 이상의 테이블을 JOIN 하기 현실에서 데이터 분석을 하다 보면 경우에 따라서 3~4개의 테이블을 조인해야 하는 상황이 생길 수 있습니다. 하지만 JOIN과 관련된 기본 문법을 익히거나 일반적인 SQL 문제 풀이에서 3~4개 테이블을 조인해야 하는 경우를 찾기가 쉽지 않은데요. 다행스럽게도 최근 새롭게 풀어본 SQL 문제를 통해 어떻게 3개 이상의 테이블을 JOIN할 수 있는지 보여드리려고 합니다. 역대 올림픽 경기와 관련된 데이터가 들어가 있는 테이블을 가지고 문제를 풀어볼텐데요. 우리가 해결해야 할 문제는 복수 국적으로 메달을 수상한 선수를 찾는 문제입니다. 예를 들면 쇼트트랙의 안현수(빅토르 안) 선수와 같이 올림픽에서 한국 국적과 러시아 국적으로 모두 메달을 딴 선수를 찾아야 한다는 것이죠. 문제 내용에 대해서는 저작권 이슈가.. SQL 실무 : DAU 및 신규, 복귀, 기존 유저 구별하기 오늘은 고객의 로그인 기록을 통해 데이터 분석을 해보도록 하겠습니다. 아래와 같이 가상의 모바일 게임 로그인 기록 데이터를 가지고 우리는 DAU(Daily Active User)의 숫자와 고객이 신규 유저인지, 기존 유저인지, 아니면 복귀 유저인지 파악해보고, 마지막으로 고객 세그먼트별 DAU를 계산한 뒤 시각화까지 해보겠습니다. 데이터는 보시는 것처럼 일자별로 게임에 로그인 한 유저 ID 정보를 보여주고 있는 가상의 데이터 입니다. 데이터는 8월과 9월, 약 두달 간의 데이터가 있다고 가정하도록 하겠습니다. log_date app_name user_id 2013-08-01 game-01 33754 2013-08-01 game-01 28598 2013-08-01 game-01 117 2013-08-01 .. 이전 1 2 3 다음