본문 바로가기

Data

(21)
solvesql 정답 공유 페이지 데이터 분석가 취업을 준비하는 분들이라면 최근 SQL 테스트를 보는 IT 기업들이 상당히 많아졌다는 것을 아실 수가 있는데요. 혹은 데이터 분석가가 아니더라도 SQL 공부하시는 분들이 내 실력이 어느 정도 되는지 테스트 해보고 싶으실 수 있습니다. 이럴때 활용할 수 있는 것들이 바로 HackerRank, LeetCode, 프로그래머스 등의 코딩 테스트 문제들이 있는 플랫폼인데요. 최근에 유사한 플랫폼으로 solvesql 이라는 SQL 전문 플랫폼(베타버전)이 나왔습니다. 아직 만들어진지 얼마되지 않아 정답 공유 기능이 없고, 구글링을 통해서도 정답을 올려놓은 분들이 없어 아래와 같이 노션 페이지를 통해 정답을 공유할 수 있는 페이지를 만들어 봤습니다. 문제를 풀어보시고 정답을 공유해주시거나, 막히는 부분..
SQL 실무 : RFM 분석 RFM 분석은 Recency, Frequency, Monetary라는 3개의 앞 글자를 따와서 RFM 분석이라고 부르며, CRM 업무 시 고객을 분류하기 위해 사용하는 방법론입니다. RFM 분석을 통해 고객을 분류하게 되면 얼마나 우리 상품을 자주, 많이, 최근에 구매했는지 빠르게 파악할 수 있게 됩니다. - Recency : 최근 구매일자 (고객이 얼마나 최근에 우리 상품을 구매 했는지) - Frequency : 구매횟수 (고객이 특정 기간 동안 얼마나 자주 우리 상품을 구매 했는지) - Monetary : 구매금액 합계 (고객이 특정 기간 동안 우리 상품을 구매한 총액은 얼마인지) RFM 분석을 위해 사용할 데이터셋은 UCI 대학교의 Online Retail Data Set을 사용할 것입니다. 아래 ..
SQL 실무 : 이커머스 주문 데이터 분석하기 오늘은 가상의 이커머스 데이터를 활용해 여러 테이블을 join해보면서 이커머스 주문 데이터를 분석해보고자 합니다. 살펴볼 데이터는 아래와 같은 구조도를 가집니다. 주문정보가 들어가 있는 orders 테이블을 기준으로 주문ID, 고객ID, 사원ID 등을 join해 필요한 정보를 가지고 올 수 있는 다양한 테이블들이 있습니다. ■ e-commerce 데이터 스키마 그럼 해당 테이블 정보들을 통해 몇가지 이커머스 주문 데이터 분석을 해보도록 하겠습니다. 1. 상품(product) 카테고리별로 상품 수와 평균 가격대가 궁금한 경우 SELECT category, COUNT(*) AS quantity, AVG(list_price) AS avg_price FROM products GROUP BY category --..
통계 실습 : 다양한 통계분석 방법, 언제 사용할까? 독학으로 통계를 공부하다 보니 개념만 이해하고 다양한 분석 기법들이 어떻게 활용되는지는 잘 모르는 경우가 많습니다. 저 또한 그렇습니다. 오늘은 다양한 통계분석 방법들이 언제 어떻게 사용되는지 간단한 예시를 통해 살펴보도록 하겠습니다. 설명하는 예제는 어느 정도 통계분석 방법에 대한 개념은 이해하고 있다고 가정하고 있기 때문에 해당 분석 방법의 개념을 전혀 모른다면 왜 이런 분석방법을 사용하는지 이해하기 어려울 수도 있으니 개념을 먼저 이해하시고 보시면 좋을 것입니다. 가상의 표본 30대 남성 100명과 여성 100명이 있다고 가정해봅니다. 1. 독립표본 t 검정 남성과 여성의 평균 키를 비교했을 때, 두 집단의 신장 차이가 유의한지 비교하고 싶은 경우 2. 대응표본 t 검정 여성 100명을 대상으로 다..
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..
통계 실습 : One-way ANOVA (with 파이썬) t-test에 이어서 이번 시간에는 ANOVA(분산분석)에 대해 이야기 해보려고 합니다. ANOVA는 크게 One-way ANOVA(일원배치 분산분석)과 Two-way ANOVA(이원배치 분산분석)로 분류 되는데요. 오늘은 One-way ANOVA를 먼저 설명하고 다음 시간에 Two-way ANOVA를 별도로 다루도록 하겠습니다. 우선 앞 부분에서는 간략하게 ANOVA에 대한 개념을 다룬 뒤에 파이썬을 통해 실습을 해보도록 하겠습니다. ANOVA(분산분석)이란? ANOVA(분산분석)은 Analysis Of Varience을 줄여서 표현한 것인데요. t-test의 경우에는 두 집단의 평균 값의 차이가 통계적으로 유의한지 비교하였다면, ANOVA(분산분석)는 '세 개 이상의 집단 평균 값의 차이가 통계적으로..
통계 실습 : 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가지 방법으로 구분 됩니다. 구분 정의 일표..
SQL 실무 : 매출 누계, 전년동기 증감율(YoY) 계산 오늘 살펴볼 내용은 매출 데이터를 SQL로 어떻게 핸들링하는지에 대한 부분 입니다. 사실 회사에서는 SQL, Python 등과 같은 프로그래밍 언어가 아닌 엑셀을 이용해서도 매출 관련 데이터 지표를 관리하고 분석을 많이 하곤 합니다. 그렇지만 엑셀의 경우 분석할 수 있는 데이터의 양이 제한되어 있기 때문에 대용량 데이터를 분석할 때 적합하지 못합니다. 그렇기 때문에 지금부터는 SQL을 활용해 데이터를 추출하는 방법을 알아보도록 하겠습니다. 오늘 우리가 살펴볼 주제는 다음과 같습니다. 1. 매출 누계 구하기 2. 월별 매출의 전년대비 증감율(YoY) 구하기 해당 주제들은 실제 현업에서 매출 데이터를 관리하는 담당자라면 굉장히 자주 마주치게 되는 데이터이니 유심히 봐주시기 바랍니다! 1. 매출 누계 구하기 ..