인기글
-
SQL
SQL 고급 : 3개 이상의 테이블을 JOIN 하기
현실에서 데이터 분석을 하다 보면 경우에 따라서 3~4개의 테이블을 조인해야 하는 상황이 생길 수 있습니다. 하지만 JOIN과 관련된 기본 문법을 익히거나 일반적인 SQL 문제 풀이에서 3~4개 테이블을 조인해야 하는 경우를 찾기가 쉽지 않은데요. 다행스럽게도 최근 새롭게 풀어본 SQL 문제를 통해 어떻게 3개 이상의 테이블을 JOIN할 수 있는지 보여드리려고 합니다. 역대 올림픽 경기와 관련된 데이터가 들어가 있는 테이블을 가지고 문제를 풀어볼텐데요. 우리가 해결해야 할 문제는 복수 국적으로 메달을 수상한 선수를 찾는 문제입니다. 예를 들면 쇼트트랙의 안현수(빅토르 안) 선수와 같이 올림픽에서 한국 국적과 러시아 국적으로 모두 메달을 딴 선수를 찾아야 한다는 것이죠. 문제 내용에 대해서는 저작권 이슈가..
-
SQL
SQL 실무 : 나이, 연령대, 연령대별 회원수 계산
오늘 살펴볼 내용은 CRM 업무를 담당하거나 고객 데이터를 분석해야 할 때 자주 쓰이는 고객의 나이, 연령대, 연령대별 인원 계산입니다. 기본적인 SQL 문법과 간단한 서브쿼리를 이용하면 매우 간단하게 계산할 수 있고, 연령대별 분석은 실무에서 매우 자주 사용되는 만큼 알아두면 굉장히 유익할 것 입니다. 아래와 같이 고객의 ID, 성별, 생년월일, 회원가입일, 가입경로의 정보가 포함되어 있는 고객 데이터가 있다고 가정하겠습니다. 우리는 여기서 생년월일(birth_date) 컬럼을 이용해 나이, 연령대 분석을 해보도록 하겠습니다. 고객 데이터(예제) user_id sex birth_date register_date register_device U001 M 1977-06-17 2016-10-01 pc U00..
-
Statistics
통계 실습 : t-검정 (t-test)이란 무엇인가? (with 파이썬)
안녕하세요. 데이터 분석에 필요한 통계를 주제로도 포스팅을 해보려 합니다. 첫 번째 주제는 데이터 분석 결과에 대한 유의성을 판단하기 위한 t-검정(t-test)에 대해서 이야기 해보도록 하겠습니다. 1. t-test을 해야 하는 이유? t-test은 2개 집단의 평균 값의 차이가 통계적으로 같은 집단인지, 다른 집단인지 비교하기 위해 사용하는 검정 방법입니다. 두 집단의 평균을 비교하는 분석 방법은 t-test 외에도 z-test가 있는데, z-test는 모집단의 분산을 알고 있는 경우에 사용됩니다. 하지만 우리는 일상에서 모집단의 분산을 알고 있는 경우는 거의 없기 때문에 t-test를 주로 사용합니다. 2. t-test의 종류 t-test는 아래와 같이 3가지 방법으로 구분 됩니다. 구분 정의 일표..
-
Data Analysis
데이터 분석 : 통계 없이 이해하는 A/B 테스트
1. A/B 테스트란? A/B 테스트는 앱 또는 웹 페이지에서 임의로 나눈 두 집단에게 동일한 기간 동안 서로 다른 컨텐츠를 제시한 뒤, 두 집단 중 어떤 집단에서 더 좋은 성과를 보이는지 평가하는 방법입니다. 2. A/B 테스트를 하는 이유는? 데이터 기반의 의사 결정을 통해 1) 기존 업무의 실패를 개선한다. 2) 객관적인 의사결정의 근거를 만들 수 있다. 3) 테스트를 통해 향후 발생할 리스크를 최소화할 수 있다. 3. A/B 테스트 프로세스 A/B 테스트는 실험을 위해 실험 전 목표설정, 실험 설계, 실험 진행, 결과 분석의 4단계로 이루어집니다. 1) 목표설정: 가설수립 & 지표정의 A/B 테스트를 진행하기 위해서는 사전에 반드시 목표를 명확하게 설정하고 시작해야 합니다. 내가 이 실험을 왜 진..
-
SQL
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..
리스트 예시: 게시물이 존재할 경우 3건을 노출합니다.