실습 | JOIN/ GROUP BY/ 서브쿼리/ 순번 지정 윈도우 함수
·
SQL
📂SQL 실전 문제풀이 (LV4. 단골 고객 찾기)문제1 : 고객별 주문 건수와 총 주문 금액 조회 하기 (주문 안한 고객도 포함) ▶ POINT.  그룹바이 하고 집계 & 테이블 조인후 매칭 컬럼 출력    [테이블 정보][풀이 과정]고객별 집계 :  고객id 그룹바이 후 주문수 카운팅 / 주문 금액 합 집계   (users 테이블 내에서 집계 가능) 서브쿼리 : 가독성을 위해 with 문으로 뺴줌 Left join  : orders 테이블에 없는 customerID & customername 출력에 포함 (만족한 조건에 대해 orders 테이블에 있는 컬럼 추가 반환)  null 처리 : 주문내역이 없는 customer 의 주문건수/주문계 는 null 로 연결 → coalesce함수로 0으로 반환 ..
실습 | LEFT JOIN / NULL 값 처리법 / 서브쿼리 / MAX WINDOW
·
SQL
1. SQL 실전 문제풀이 ( Lv3. 이용자의 포인트 조회하기 )- 문제 : 전체 유저 ID별 토탈 포인트 출력 (user_id, email, point 컬럼) ( 단, 포인트 획득 내역이 없는 유저의 포인트값은 0으로 처리, 포인트 내림차순 정렬) - 포인트 : 두 테이블 조인 방식 확인 & NULL 값 0 으로 치환더보기TABLE 1. users  : user 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블. TABLE 2. point_ users : point_ users 테이블은 스파르타코딩클럽 가입 유저들의 포인트에 대한 정보를 기록한 테이블.- 풀이 과정 (문제풀이 & 피드백)더보기1. 문제풀이집계 : point_users 테이블에서 user_id 별 토탈 포인트 ..
실습 | EDA / 특정 문자 필터링 / 날짜별 평균 값 구하기
·
SQL
1. SQL 실전 문제풀이 ( Lv1. 데이터 속 김서방 찾기 )- 문제 :  '김'씨 성을 가진 유저 수 구하기더보기TABLE  : user 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블.user_id: 익명화된 유저들의 아이디(varchar255)created_at: 아이디 생성 날짜(timestamp)updated_at: 정보 업데이트 날짜(timestamp)name: 익명화된 유저들의 이름(varchar255)email: 이메일(varchar255)- 풀이 과정 (EDA & 문제 풀이)더보기1. EDA  user 테이블 전체 null 행/값 허용 하지 않음 (즉, 모든 컬럼의 정보를 입력해야 가입 완료)user_id 컬럼이 PK,  중복없이 id 부여 됨.  user_..
SQLD | 그룹 함수와 계층형 질의
·
SQL
1.  그룹 함수- GROUPING SETS(A,B) : A 와 B 각각을 집계- ROLLUP(A,B) : A집계/ (A,B) 집계/ 전체 집계  → 롤업 함수는 인수의 순서 고려 해야함- CUBE(A,B) : A집계/B 집계/ (A,B) 집계/ 전체 집계 GROUP BY ROLLUP (A,B) -- GROUPING SETS (A,(A,B),()) 와 동일GROUP BY CUBE (A,B) -- GROUPING SETS (A,B,(A,B),()) 와 동일-- 오답노트 --GROUP BY A, ROLLUP(B) -- A 가 그룹바이 된 상황에서 ROLLUP(B)가 들어감 -- 즉, 출력 값은 A,B,() 가 아닌 A,(A,B) 가 된다 TIP)  출력된 테이블을 주고, 어떤 그룹바이 함수를 썼는지..
세미나 후기 | 데이터를 근거로 내 기획안 효과적으로 설득하기
·
데이터 분석
데이터리안 SQL 데이터 분석 캠프 수강 중, 10월 월간 세미나에 참여하게 되어 간단한 후기를 남겨본다.    10월 세미나 1부에서는 스픽 브랜드 마케터 정두현 연사님이 "데이터 없는 스타트업에서 데이터로 설득하기" 라는 주제로 강연을 진행하셨다. 이번 강연에서 정두현 연사님은 스픽에서 옥외광고를 성공적으로 진행한 사례를 중심으로, '내부 설득'이라는 문제를 데이터로 어떻게 해결할 수 있었는지를 이야기한다. 그 중 인상 깊게 들었던 두 가지를 이야기 하자면, 1. 실패도 근거가 된다첫째는 '과거 실패 사례는 하지 말아야 할 근거 일 뿐, 그 자체를 하지 말아야 하는건 아니다' 라는 생각의 전환이다.   연사님은 '이거 작년에 잘 안되지 않았어?' 라는 리더의 브레이크에 실패 사례를 분석하여 하지 말아..
분석 기법 | 퍼널 분석(FUNNEL)과 SQL 쿼리
·
데이터 분석
1. 퍼널 분석( Funnel Analysis)사용자들이 우리가 설계한 사용자 경험 루트를 따라 잘 도착하는지 확인할 때 사용하는 분석법. 최초 유입부터 최종 목적지까지 단계를 나누어서 살펴 볼 수 있다. - 각 단계를 통과할 때마다 유저 수가 줄어들게 되는데 그림으로 그려보면 아래 그림처럼 점점 좁아지는 형태의 깔대기(Funnel) 모양이라 퍼널 분석 이라고 한다.- 각 단계를 넘어가는 것을 전환(Conversion)이라 하고, 그 비율은 전환율 (Conversion rate)이라 한다  - 퍼널은 유저들의 주요 행동 기준으로 쪼갤수 있다. 처음에는 전환율에 큰 영향을 줄 만한 굵직한 단위로 나누고 그 이후에 추가 분석이 필요한 부분을 더 세세하게 나눠 볼 수 있다. 2. 퍼널 개선 법유입을 늘린다각 ..
분석 기법 | 활성 사용자 수와 사용자 고착도DAU, WAU, MAU, STICKINESS (+ SQL 쿼리 구현)
·
데이터 분석
1. DAU, WAU, MAU 해당 기간 동안 활동한 사용자 수를 의미하는 지표이다. - DAU(Daily Active User): 일간 활성 사용자 수- WAU(Weekly Active User): 주간 활성 사용자 수- MAU(Monthly Active User): 월간 활성 사용자 수 - 서비스 마다 활성 사용자수를 정의 하는 기준이 다를 수 있다. 일반적으로는 방문을 기준으로 한다.  2. DAU, WAU와의 관계DAU의 일주일치 합산이 WAU와 비슷하다면, 매일매일 새로운 유저가 접속했다는 말이다.​- 아래처럼 한 고객이 재방문 했을때, DAU는 매일 집계 되지만, WAU는 유저 1명으로 집계 된다. DAU와 WAU를 함께 본다면, 고객 들의 방문 패턴을 알수있다. - 신규 방문 : DAU*7 ..
분석 기법 | 리텐션(Retention) 분석 (+ SQL 쿼리 구현)
·
데이터 분석
1. RETENTION 사용자들이 서비스를 지속적이고 만족스럽게 사용하고 있는가? - 사용자 분석 프레임워크 'AARRR'의 단계중 하나로 사용자 유지(retention) 를 의미한다. AARRR 이란 유저의 서비스 이용 사이클을 체계화 한 대표적인 프레임 워크이다. 사용자 획득 (서비스 인지) → 사용자 활성화(서비스 이용 시작) → 사용자 유지(지속적으로 서비스 사용) → 구매 → 다른 사용자에게 추천으로 이어지며 아래와 같이 깔대기 구조를 가진다.- 그 중 리텐션(사용자 유지)은 사용자들이 서비스를 1회성이 아니라 지속적으로 사용하는지, 서비스의 핵심 가치를 꾸준히 경험하는지에 대한 지표이다. - 리텐션은 높은 중요도를 가지며, 각 단계 중 가장 먼저 개선되어야 하기도 하다. ( 아무리 사용자..
분석 기법 | RFM 고객 세분화
·
데이터 분석
1. RFM 분석 Recency : 얼마나 최근에 구매했는가Frequency : 얼마나 자주 구매했는가Monetary : 얼마나 많은 금액을 지출했는가 - 사용자들의 행동 패턴을 통해 타겟팅 하는 방식(CRM)중 가장 범용적으로 사용 할수 있는 기법- 사용자별로 얼마나 최근에,자주,많은 금액을 지출했는지에 따라 사용자들의 분포를 확인하거나 사용자 그룹을 나눠 분류하는 분석법2. RFM 고객 세분화 활용- RFM 분석을 통해 사용자를 분류 하고 상황과 목적에 맞게 사용자 그룹을 뽑아 마케팅 및 기획에 활용 할 수있음 1. ROW DATA 준비 : 사용자 구매 내역 데이터가 아래와 같다고 가정사용자최근 구매일총 구매 횟수총 구매 금액12020-12-281290322020-12-26746232020-12-14..