본문 바로가기
반응형

Language/SQL10

『SQL로 시작하는 데이터 분석』 후기 추천 독자SQL 초급자: 전반적인 내용을 훑어보기에 좋습니다.SQL 중/상급자: 알고 있는 내용을 정리하기에 좋았고, 개인적으로 몰랐던 기능들을 몇 가지 알아서 좋았습니다.이미 실력이 있으시기 때문에, 내용의 디테일이 보이실 겁니다. 재밌게 읽었습니다.개념도 잘 설명하고, 곳곳마다 코드가 있어서 어떻게 적용하는지 확인하기도 쉬웠습니다.또한 저자의 경험을 설명하는 내용들이 있었는 데, 공감도 되고 새로운 부분은 즐겁게 배웠습니다. 이전에 배웠던 내용이어도 다시 보면 늘 새롭고 재밌네요.BA(Business analyst), DA(Data analyst), PA(Product analyst) 모두에게 도움이 되는 책 같습니다. 2024. 11. 30.
『SQL로 시작하는 데이터 분석』 Chapter 9. 결론 캐시 타니무라, 『SQL로 시작하는 데이터 분석』, 박상근, 한빛미디어-OREILLY(2022), p415-428. 퍼널 분석퍼널: 특정 목적을 달성하기 위해 거쳐야 하는 여러 단계단계별로 전환율을 분석SELECT count(a.user_id) as all_users,count(b.user_id) as step_one_users,count(b.user_id) / count(a.user_id) as pct_step_one,count(c.user_id) as step_two_users,count(c.user_id) / count(b.user_id) as pct_one_to_twoFROM users aLEFT JOIN step_one b on a.user_id = b.user_idLEFT JOIN step_t.. 2024. 11. 30.
『SQL로 시작하는 데이터 분석』 Chapter 8. 복잡한 데이터셋 생성 캐시 타니무라, 『SQL로 시작하는 데이터 분석』, 박상근, 한빛미디어-OREILLY(2022), p375-413. ETL 데이터 저장소 활용장점성능: 예약된 시간에 백그라운드에서 실행되기 때문에 간편함 (e. g. daily snapshot table)가시성: 조직 내의 다른 사람이 쿼리를 찾아 로직을 확인하고 적절히 활용하기가 용이함 단점최신성: 새로운 데이터가 원본 테이블에 들어와도 ETL이 실행될 때까지 최신 데이터 활용 불가능원본 테이블에서 조회 시, 오래전에 추가된 레코드까지 가져오려면 쿼리 실행 시간이 늘어남서브쿼리 or UNION을 사용해 원본 테이블과 ETL 테이블을 조합해서 분석에 활용하기도 함데이터 변경의 어려움: 한 번 ETL로 옮긴 데이터를 업데이트하거나 버그를 수정하려면, 코드 .. 2024. 11. 27.
『SQL로 시작하는 데이터 분석』 Chapter 7. 실험 분석 캐시 타니무라, 『SQL로 시작하는 데이터 분석』, 박상근, 한빛미디어-OREILLY(2022), p349-374. 실험에 필요한 요소가설: 상품, 프로세스, 메시지 등의 변경으로 인해 발생할 수 있는 고객의 행동 변화를 예측하는 일성공 지표: 기업의 미션 수행을 합리적으로 측정할 수 있는 정량화된 지표1개의 실험에서는 1~2개의 메인 성공 지표를 설정하는 것이 좋음필요시, 1~5개의 가드레일 지표를 추가로 설정코호팅 시스템(cohorting system): 실험군과 대조군에 사용자를 무작위로 할당하고 각기 다른 경험을 제공하는 시스템 A/B test 온라인 서비스https://www.evanmiller.org/ab-testing/좋은 article: https://www.evanmiller.org/ 상.. 2024. 11. 24.
『SQL로 시작하는 데이터 분석』 Chapter 6. 이상 탐지 캐시 타니무라, 『SQL로 시작하는 데이터 분석』, 박상근, 한빛미디어-OREILLY(2022), p299-347. 일반적인 SQL 이상탐지 workflowSQL로 초기 분석을 수행해 정상 범위의 min, max, mean을 결정별도의 스트리밍 서비스나 실시간 데이터 스토어를 활용해 실시간 모니터링 수행 SQL 코드는 규칙 기반으로 동작하기 때문에,급변하는 이상 패턴의 유형에 맞춰 자동으로 분석하기 위해서는 ML or Python 활용  percent_rank: 각 행 값의 백분위 수 반환percent_rank() over(partition by .. order by..)SELECT place,mag,percentile,count(*)FROM( SELECT place ,mag ,perce.. 2024. 11. 21.
『SQL로 시작하는 데이터 분석』 Chapter 5. 텍스트 분석 캐시 타니무라, 『SQL로 시작하는 데이터 분석』, 박상근, 한빛미디어-OREILLY(2022), p235-298. 텍스트 분석: 텍스트 데이터에서 의미와 인사이트를 도출하는 과정정성적 분석: 원문 분석(textual analysis), 별도의 지식을 기반으로 텍스트에 내재된 의미를 탐색정량적 분석: 분석 결과가 정량적이라는 차이가 있음분석 방법:텍스트 추출: 여러 텍스트 사이에서 의미 있는 텍스트를 가져옴카테고리화: 텍스트 데이터에서 정보를 추출하고 파싱해 태그를 붙이거나 특정 카테고리를 지정감성 분석: 글쓴이의 의도와 분위기를 파악해 텍스트의 긍/부정을 수치화SQL이 적합하지 않은 경우사람이 직접 할 때가 나을 때 (e. g. 데이터 셋이 작은 경우)빠르게 특정 문자열을 검색하거나, 특정 문자열을 포.. 2024. 11. 14.
『SQL로 시작하는 데이터 분석』 Chapter 4. 코호트 분석 캐시 타니무라, 『SQL로 시작하는 데이터 분석』, 박상근, 한빛미디어-OREILLY(2022), p167-233. 코호트 분석: 시간에 따른 개체 그룹 간 차이를 비교하는 방법코호트: 분석을 시작하는 시간 기준으로 동일한 특징을 지닌 집단을 의미다양한 편향을 제거하고 많은 인사이트를 얻을 수 있음집단별 행동 패턴이 어떻게 변화하는지 비교하는 데 유용집단 특성과 장기간 트렌드의 상관관계를 파악 ➡️ 원인을 밝히기 위한 가설 수립 가능e. g. 광고 유입 고객 vs 지인 추천 유입 고객유형리텐션: 고객의 활동 시작 날짜부터 행동 데이터가 저장된 시간 구간의 개수 (고객 재방문 유도로 서비스의 매력도 확인)생존자: 특정 시작 구간에서 이탈하지 않고 살아 있는 개체의 비율리턴십(반복 구매 행동): 일정한 시간.. 2024. 11. 11.
『SQL로 시작하는 데이터 분석』 Chapter 3. 시계열 분석 캐시 타니무라, 『SQL로 시작하는 데이터 분석』, 박상근, 한빛미디어-OREILLY(2022), p95-166. 표준 시간대(standard time zone)GMT(Greenwich Mean Time): 그린위치 평균시UTC(Coordinated Universal Time): 세계 표준시보통 UTC를 기준으로 사용 타임스탬프 시간이 제대로 동기화되었는지 주의e.g. 특정 액션 로그 데이터가 스마트폰 시간을 기록되는지 혹은 서버 DB에 도착하는 시간으로 기록되는지 확인 계절성이란?계절적 요인의 영향을 받아 1년, 혹은 일정 기간 안에 반복적으로 나타나는 패턴을 의미https://modulabs.co.kr/blog/time-series-intro/ 데이터 인덱싱: 시계열 베이스 구간을 기준으로 데이터의 .. 2024. 11. 8.
『SQL로 시작하는 데이터 분석』 Chapter 2. 데이터 준비 캐시 타니무라, 『SQL로 시작하는 데이터 분석』, 박상근, 한빛미디어-OREILLY(2022), p41-93. 정성 데이터: 주로 텍스트 형태로 적힌 의견, 느낌 서술과 같이 명확한 수치로 측정할 수 없는 데이터 퍼스트 파티 데이터: 기관에서 직접 수집한 데이터세컨드 파티 데이터: 특정 기관에 서비스를 제공하는 업체에서 수집하는 데이터서드 파티 데이터: 업체에 금액을 지불하고 구매하는 데이터 or 공개 데이터 (e.g. 정부에서 무료로 공개한 데이터) 데이터 베이스를 죽이지 않기 위해, LIMIT과 샘플링을 사용하여 쿼리로 반환받을 레코드 수를 제한하는 것이 좋음 N분위수: ntile (window function) ➡️ 구간을 나눌 때 사용백분위수 값: percent_rank (window funct.. 2024. 11. 5.
『SQL로 시작하는 데이터 분석』 Chapter 1. SQL을 활용한 분석 캐시 타니무라, 『SQL로 시작하는 데이터 분석』, 박상근, 한빛미디어-OREILLY(2022), p19-39. 분석: 호기심을 갖고 '왜' 그 숫자가 나왔는지 질문을 던지는 일다양한 패턴과 이례적인 현상들, 비즈니스가 어떻게 움직이고 인간이 어떻게 행동하는지 이해하기 위한 단서를 찾고 해석SQL: 데이터베이스에 접근하고 데이터를 가져와서 처리하는 데 사용데이터베이스: 하나 이상의 schema가 있음Schema의 오브젝트: Table, view, function테이블: field, indexDQL(Data Query Language): DB에서 원하는 데이터를 가져오기 위해 사용SELECT, JOINDDL(Data Definition Language): DB에서 테이블, 뷰, 사용자 및 기타 오브젝트를 .. 2024. 11. 2.
반응형