피드로 돌아가기
컬리에서 데이터 분석가로 일한다는 것
컬리 기술블로그컬리 기술블로그
Backend

컬리에서 데이터 분석가로 일한다는 것

컬리 데이터농장팀이 6단계 데이터 분석 프로세스(요구사항 정리→데이터 탐색→분석용 테이블 구축→QA→배치 타이밍 최적화→검증)를 통해 운영계와 분석계를 분리하고 데이터 품질을 보증하는 체계 구축

2022년 2월 15일8intermediate

Context

사내 여러 팀(운영, 기획, 재무, 홍보)의 데이터 요청이 모두 다른 방식과 수준으로 들어오면서 실제 필요한 데이터를 파악하기 어려웠습니다. 운영 데이터는 시스템 동작용이지 분석용이 아니어서, 기존 데이터를 그대로 사용하면 정확도 문제가 발생했습니다. 가상 재고 시스템 도입 시 상품 KEY가 변경되면서 기존 3개 재고 데이터 프로덕트의 사용성을 보장하기 어려워졌습니다.

Technical Solution

  • 요구사항 정리 단계에서 사용목적, 사용주기, 세부조건을 반복 질의로 상세화하기: 스무고개 방식으로 운영팀과 소통하여 초기 애매한 요청을 구체적으로 변환
  • 운영계와 분석계를 분리하기 위해 코어 테이블 생성: 가상 재고 시스템 도입 시 코어 테이블을 Source로 설정하여 기존 데이터 프로덕트의 구조는 유지
  • 데이터 전처리와 QA 프로세스 실시: 알 수 없는 이유로 발생한 오류 데이터(디바이스 고장, 작업자 실수)를 검증하여 제거
  • 배치 적재 타이밍에 버퍼 추가: 출고 완료 예정 시간보다 30분 늦게 처리되는 경우를 대비하여 각 속성별 배치 시간을 조정
  • 확보된 분석 데이터로 시뮬레이션 수행: 최초 정책 재고 운영 비율과 신규 개발한 비율을 비교하여 재고 이동 효율성 검증

Impact

2020년 냉장 센터 이원화 작업에서 신규 개발한 재고 운영 비율이 최초 정책 비율보다 재고 이동에서 더 효율적임을 데이터 시뮬레이션으로 확인하고 발주 및 재고운영에 적용했습니다.

Key Takeaway

데이터 분석 기반 의사결정을 위해서는 단순히 데이터를 모으는 것을 넘어 사용자 요구사항의 정확한 파악, 운영과 분석 계층의 분리, 철저한 QA와 배치 타이밍 최적화, 그리고 확보한 데이터의 검증 단계가 모두 필요합니다. 이 모든 단계를 거쳐야만 경험과 직관이 아닌 객관적 수치로 일할 수 있습니다.


여러 팀의 서로 다른 데이터 요청을 받는 데이터 분석 조직에서는 초기 요구사항을 명확히 하는 단계에 충분한 시간을 투자하고, 운영계 데이터와 분석계 데이터를 코어 테이블을 통해 분리하며, 배치 적재 시 예상 시간보다 여유 있는 버퍼를 두어야 서로 다른 속성의 데이터 간 불일치를 줄일 수 있습니다.

원문 읽기