데이터 분석

[250526] Spark 1주차, Product Data Scientist 직무소개

경 민 2025. 5. 27. 09:30
👩🏻‍💻  Point of Today I LEARNED 
📌 SQL
↗ QCC 복습

📌 Spark
↗ 1주차 강의

📌 선택학습반 (Product Data Science)
↗ 1회차

 

저번 주에 심화 프로젝트가 끝나고

이번 주 금요일 최종 프로젝트가 시작된다.

그러니까 오늘부터 목요일까지가 '마지막' 학습 주간이라는 소리..

이번 주 공부 스케쥴 ^_^

파이팅 ! 팅 !


1. SQL 

1-1. QCC 복습

 

QCC 6회차

1번제출한 쿼리 (오답)(select gender, name, scorefrom studentswhere gender = 'F'order by score desc limit 3)union(select gender, name, scorefrom studentswhere gender = 'M'order by score desc limit 3) → 틀린 부분 수정) age 조건을 안 넣

rosenps3.tistory.com


2. Spark

2-1. 강의 1주차 

1) 핵심 내용

  1. 대용량 데이터 처리를 위해서 spark 사용
  2. CPU = 내 컴퓨터가 보유한 일꾼의 수. 당연하게도 많을수록 성능이 좋은 것.
    • 내 맥북은 8개의 cpu를 가지고 있었음 (※ 터미널 실행 후 sysctl hw.physicalcpu hw.logicalcpu 입력)
  3. 데이터 형식별로 데이터 크기를 조절할 수 있다. 내 데이터에 맞게 적절한 타입을 사용해서 메모리를 절약하자.
  • 숫자 (int, float)
    • [ int64 > int32 > int16 > int8 순 ]으로 더 큰 숫자를 다룰 수 있음
    • 크기에 맞지 않은 데이터를 넣으면 오버플로우 현상 나타남
    • 부동 소수점은 원리상 오차가 있을 수밖에 없다. → 딥러닝의 경우 오차를 감수하더라도 메모리 크기를 조절함 (float16)

정수 int 데이터 타입별 가용 숫자 범위

  • 문자열 (string, category)
    • 기본적으로 유니코드를 사용해서 인코딩하는데, 하나의 단어를 이진수로 표현하는 과정에서 메모리를 정말 많이 잡아먹는다. 따라서 주로 범주형으로 형변환 후 인코딩해서 사용.
  • 시간 (Datetime)
    • 기본적으로 Unix Timestamp를 기준으로 함. (1970년 1월 1일 0시를 기준으로 몇 초가 경과했는지 숫자로 표현)
    • timezone 정보 필수

4. 파일 유형

  • csv,txt : 가장 흔한 포맷이지만, 대규모 데이터에 부적절
  • json : cst,txt와 비슷/ 딕셔너리 형식 ( {key : value} ) / ecoding=utf-8 사용이 일반적 / 대규모 데이터에 부적절
  • pickle : 비교적 가볍지만 개인용 프로젝트에서만 유용
  • parquet
    • 표 형태의 데이터를 저장한다는 점에서 엑셀, csv랑 비슷하지만
    • 압축해서 저장하기 때문에 매우 가볍고 빨라서 대용량 데이터에 적합
    • 필요한 열만 골라서 읽을 수 있어서 효율적
    • 개발도구들을 사용해야만 열람 가능 (Spark, Hive, Pandas, AWS, Google BigQuery 등)
df.to_parquet('파일이름.parquet')
df = pd.read_parquet('파일이름.parquet')

 

 


3. Product Data Scientist

 

1. 직무 소개

  • 데이터 기반으로 제품/서비스의 의사결정 지원 & 제품 팀과 협업해서 문제 정의 및 해결책 제시
  • 주요 업무 : 기회규모 추정, 지표 설계, A/B test 설계 및 분석
  • 제품 데이터 분석 및 최적화를 위해 머신러닝을 다루긴 하지만 목적은 예측보다는 해석에 초점을 맞춘다.
  • 같은 맥락에서 통계 많이 사용 (제품팀/비즈니스 팀에게 해석 잘 해줘야 함)

2. 주요 업무

1) 기회 규모 (Opportunity Sizing) 추정
새로운 기능, 개선점 등이 시장 진출했을 때 발생할 가치와 영향을 수치화해서 추정

 

개발 비용, risk 비용 등을 고려해서 얼마의 profit이 발생할 것인지를 계산해서 새로운 기능, 개선점을 도입하는 게 합리적인지를 판단

아무리 아이디어가 좋아도 기회 비용이 너무 크면 대부분 ban

2) 지표 설계
제품 및 비즈니스 성과를 측정/관리하기 위한 핵심 지표를 정의하고 체계적으로, 섬세하게 설계하는 과정

* metric을 많이 넣을수록 A/B 테스트 성능은 안 좋아질 수 있다.

  • 지표 유형
    • North Star Metric : 비즈니스 목표와 연결되면서 제품의 최종적인 성공을 정의하는 핵심 지표 (보통 1~2개)
      • Ex) 멜론 '총 스트리밍 시간', 팝업 광고 수익, 쇼츠 조회 수 등
    • Guardrail Metic : North Star Metric에 집중하는 과정에서 부정적인 영향을 방지하기 위한 보조 지표 (보통 3~4개)
      • 스트리밍 시간을 늘리려고 했더니 사용자 만족도가 떨어지면 무용지물
      • Guardrail Metic을 모니터링하면서 조기탐지 후 최소화해야 함
      • 사용자 만족도, 취소율, CS 접수 건수, 구매 건수 등
    • Input Metirc : North Star Metric에 직접적으로 기여하는 행동 기반 지표
      • 일간 검색 건수, 신규 사용자 등록 수, CTR (팝업 광고 클릭률) 등
3) 메트릭 변동 딥다이브
제품 지표가 예상치 못하게 변화했다면 왜 그런지 Root Cause Analysis

→ 앱 버전의 문제? 데이터 문제? 외부이슈 요인?

→ 데이터 시각화해서 관련 팀과 협업

 

4) A/B 테스트 설계 및 분석
제품의 두 가지 버전을 사용자에게 무작위로 제공한 후, 두 집단의 차이를 수치적으로 비교

데이터 기반으로 의사결정할 수 있는 가장 논리적이고 신뢰도 높은 전략 기획 방법

→ 보통 실험 성공률 10~20%

    • 실험 설계: 가설 설정, 샘플 크기 계산, 실험군/대조군 정의
    • 결과 분석: p-value 계산, 효과 크기 추정, 비즈니스 인사이트 도출
      • 결과 분석할 때 통계 해석이 중요 (t-test, z-test, ... )
      • A vs B, A vs. C 집단 비교할 땐 t-test
      • A vs. B vs. C 집단 비교할 땐 ANOVA