본문 바로가기
Data/[스파르타 내일배움캠프]

[TIL]본캠프 26일차(기초 프로젝트 5일차)

by MIN_JOON 2024. 5. 23.
  • 이동평균
    • 전체 데이터 집합 중에서 하위 집합에 대한 평균을 만들어 데이터 요소를 분석
    • 전체의 추세를 알 수 있음
  • SQL을 이용한 이동평균
    • WINDOW FUNCTION을 사용하여 이동평균을 구할 수 있음
    • AVG() OVER(ORDER BY [COLUMN1] BETWEEN ROWS BETWEEN lower_bound(A) AND upper_bound(B)): A와 B 사이의 이동평균
    • UNBOUNDED PRECEDING, UNBOUNDED FOLLOWING: 이전이나 이후 모든 범위를 포함하여 계산
#7일 구매량 이동평균

SELECT date_columns
	  ,SUM(amount_of_purchase)
      ,AVG(SUM(amount_of_purchase)) OVER(ORDER BY date_columns ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS seven_day_avg
FROM purchase
GROUP BY date_columns
ORDER BY date_columns
;
  • AARRR(해적지표)
    • Acquisition(획득): 방문, 회원 가입, 다운로드 등
    • Activation(활성화): 컨텐츠 조회, 장바구니 담기, 상세 페이지 조회 등
    • Revenue(매출): 구매와 결제
    • Retention(유지): 재결제, 재구매, 재접속 등
    • Referral(추천): 지인 추천, 친구 초대 등
    • 각 지표는 어떻게 정의 하느냐에 따라 달라질 수 있음
  • SQL에서 주의할 점
    • 정수/정수를 진행할 경우 결과가 정수로 반환
    • 임시로 1.0을 곱해준 후 나눗셈을 통해 실수 결과를 얻을 수 있음!!
COUNT(DISTINCT CASE WHEN signup_action = 'Confirmed' THEN user_id END)
/COUNT(DISTINCT user_id)

-> 결과가 0.0으로 출력됨

COUNT(DISTINCT CASE WHEN signup_action = 'Confirmed' THEN user_id END)*1.0
/COUNT(DISTINCT user_id)

->올바른 실수 결과가 출력

기초 프로젝트 마무리 그리고 SQL 챌린지 세션!!

정수를 정수로 나누면 값이 다르게 나올 수 있다는건 처음 알았다🙃

분명히 기억해야할 듯!!!