$30 off During Our Annual Pro Sale. View Details »

당근마켓과 함께 성장하며 데이터 신뢰성 지켜내기 - 수군수군 데이터 엔지니어 밋업 1회

Bumsoo Kim
January 12, 2023
92

당근마켓과 함께 성장하며 데이터 신뢰성 지켜내기 - 수군수군 데이터 엔지니어 밋업 1회

수군수군 데이터 엔지니어 밋업 1회 (2023.01)

당근마켓과 함께 성장하며 데이터 신뢰성 지켜내기
서비스와 조직이 성장함에 따라 데이터 활용의 난이도는 급격하게 상승합니다. 이런 복잡한 환경 속에서 당근마켓 데이터 가치화 팀이 데이터의 신뢰성을 지켜내며 데이터를 가치로 연결하기 위한 노력들을 소개합니다.

Bumsoo Kim

January 12, 2023
Tweet

Transcript

  1. 당근마켓 데이터 가치화 팀
    2023.01.12 수군수군 데이터 엔지니어 밋업
    당근마켓과 함께 성장하며
    데이터 신뢰성 지켜내기

    View Slide

  2. 발표자 소개
    데이터 가치화 팀 데이터 엔지니어링 매니저
    https://bsk.im/
    네고왕 당근마켓 편에 등장했던 그 사람

    View Slide

  3. 당근마켓 팀 https://about.daangn.com/

    View Slide

  4. 당근마켓의 비전
    이웃과 더 가까워지는
    따뜻한 동네를 만들어요.

    View Slide

  5. 데이터 가치화 팀의 비전
    이웃과 더 가까워지는
    따뜻한 동네를 만드는데 필요한
    크고 작은 의사결정들을
    데이터를 활용해 배우고 이뤄내는 당근
    마켓이 된다.

    View Slide

  6. Data -> Info -> Value ->
    6
    Business
    Impacts
    데이터를 가치로

    View Slide

  7. Data -> Info -> Value ->
    7
    데이터를 가치로
    Business
    Impacts

    View Slide

  8. 데이터를 통한 Business Impacts
    Data driven Application
    피드, 검색, 알림 등 사용자로부터 수집한 데이터가 어플리케이션으로서 활용되며 만들어내는 가

    Data informed Scientific Decision Making
    가설과 실험을 통해 사용자와 비즈니스와 관련된 사실을 확인하고, 그 사실 기반으로 의사결정하
    는 프로세스

    View Slide

  9. 데이터 가치화 팀의 고객
    데이터 가치화 팀의 고객은 사용자를 위해 크고 작은 의사결정을 하는 당근마켓의
    구성원 분들이에요.
    데이터는 바다 한 가운데에서 방향을 잡고 길을 찾을 수 있도록 해주는 나침반이에요.
    데이터 가치화 팀은 당근마켓의 구성원들이 데이터라는 나침반을 의사결정에 활용할 수
    있도록 보급하고 활용토록 해요.

    View Slide

  10. 데이터 엔지니어링 at 당근마켓
    데이터 엔지니어들은 데이터를 가치화하는 과정에서 발생하는 문제들을 소프트웨어
    엔지니어링을 통해 해결해요.
    빠르게 성장하는 당근마켓에 발맞추어 미래에 병목이 되지 않을 데이터 시스템을 설계하
    고, 자동화된 테스트와 시스템에 대한 관측성 확보를 통해 데이터의 신뢰성을 지켜내요.

    View Slide

  11. 데이터 엔지니어링 at 당근마켓
    데이터 엔지니어들은 데이터를 가치화하는 과정에서 발생하는 문제들을 소프트웨어
    엔지니어링을 통해 해결해요.
    빠르게 성장하는 당근마켓에 발맞추어 미래에 병목이 되지 않을 데이터 시스템을 설계하
    고, 자동화된 테스트와 시스템에 대한 관측성 확보를 통해 데이터의 신뢰성을 지켜내요.
    Scalability
    Automation / Testability Observability Data Quality

    View Slide

  12. Software Engineering X Data Engineering
    Data Reliability Engineering: A New Approach to Data Quality | Bigeye https://youtu.be/u7sJmmAyJT4

    View Slide

  13. 데이터 엔지니어링 at 당근마켓
    견고한 소프트웨어 엔지니어링을 기반으로
    고품질의 데이터가 병목 없이 흐르며
    가치를 만들어낼 수 있게 한다.

    View Slide

  14. 데이터 가치화를 향한
    데이터 가치화 팀의 여정

    View Slide

  15. Data -> Info -> Value ->
    15
    Business
    Impacts

    View Slide

  16. Phase 1.
    성장하는 서비스와
    폭발하는 데이터 수요

    View Slide

  17. 견고하지 못한 데이터 인프라
    Data Reliability Engineering: A New Approach to Data Quality | Bigeye https://youtu.be/u7sJmmAyJT4

    View Slide

  18. 견고하지 못한 데이터 인프라
    신뢰할 수 있는 소스 데이터 확보하기
    Firebase Analytics: 과집계, 오집계, 적재 속도의 불확실성, 블랙박스인 기준들
    In house event collection: 신뢰성, 내부 데이터와의 연결성, 통일된 기준
    한 곳으로 데이터를 모으기 데이터 파편화 문제
    점점 늘어나는 데이터 소스들과 지표들
    ● 하루가 멀다하고 늘어나는 서비스 데이터베이스
    ● 서드파티 데이터들 ex. Appsflyer, …
    BigQuery로 데이터를 통합

    View Slide

  19. Karrot Data Pipeline Simplified

    View Slide

  20. Phase 2.
    숨쉬듯 데이터와 함께
    일하는 조직으로

    View Slide

  21. 성장하는 서비스, 폭발하는 데이터 수요 좋은데…
    데이터가 한 곳으로 모여 점점 많이 쌓이고 활용되면서
    데이터 활용에 병목이 생기기 시작하는데…
    ● 데이터가 너무 많아 찾기 어렵고 복잡해지는 문제
    ● 데이터 형식과 활용 방법의 파편화 문제
    ● 데이터 신뢰성 문제

    View Slide

  22. 어떤 데이터가 어디에 있는지 알 수 없는 환경

    View Slide

  23. Data Discovery Platform
    ● 데이터 발견하기: 어떤 데이터가 어디에 있나요?
    ○ ex. 게시글 피드 노출 현황을 알고 싶은데 어디서 찾아봐야 하나요?
    ● 데이터의 의미 이해하기: 이 데이터는 뭐고, 어떻게 생겼고, 어떻게 쓰는가?
    ○ ex. 게시글 테이블을 찾았는데, 이 필드는 대체 무슨 뜻이고 어떻게 쿼리해야 하나요?
    ● 데이터의 소유자와 여정 Lineage , 생애주기 이해하기: 이 데이터는 어디에서 발생하고, 누
    가 만들고 있나요? 이 데이터는 어떤 테이블에서 계산되고, 어디서 쓰이나요?
    ○ ex. 게시글 테이블은 어떤 서비스에서 온건가요? 이 테이블은 어떻게 계산된 건가요?

    View Slide

  24. Data Discovery Platform DataHub

    View Slide

  25. 중앙화된 스키마 레지스트리로 이벤트 명세를 관리
    DataHub
    데이터 형식이 다른 문제: 이벤트 스키마 관리
    Schema
    Registry
    이벤트 스키마 정의
    Data Pipeline
    Schema
    Git Repo
    CI/CD
    Github PR

    View Slide

  26. 데이터 형식이 다른 문제: 이벤트 네이밍 컨벤션의 필요성
    네이밍은 원래 어렵다 feat. 개발자의 3대 난제
    점점 심해지는 이벤트 네이밍 규칙의 파편화
    팀마다 서로 다른 네이밍 컨벤션
    같은 이름 다른 의미, 같은 의미 다른 이름

    View Slide

  27. 전사 이벤트 네이밍 컨벤션
    client_clicked_fleamarket_writeArticle_categoryPrediction_categoryButton_v1
    클라이언트 이벤트 클릭 중고거래 서비스 게시물 작성 화면 카테고리 예측 영역 카테고리
    버튼 버전 1

    View Slide

  28. 자동화된 이벤트 로깅으로
    영원히 고통 받는 모바일 이벤트 명세 설계 및 구현
    ● 사람이 이벤트를 추가하다 보면 결국 실수가 생긴다
    ● 중앙화되어 있고, 규칙이 있다면 자동화가 가능한 영역이 아닐까?
    Primitive event를 기반 사용자 이벤트 로깅 자동화!
    ● ex. view, click, screen enter/leave, scroll

    View Slide

  29. Phase 3.
    데이터로 학습하며
    성장하는 당근마켓

    View Slide

  30. 우리의 나침반, 지표
    Mixpanel - The Guide to Product Metrics https://mixpanel.com/de/content/guide-to-product-metrics/full-report/

    View Slide

  31. 의사결정에 지표를 활용할 수 없는 환경
    Getting numbers is easy;
    getting numbers you can trust is hard.
    Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing

    View Slide

  32. 의사결정에 지표를 활용할 수 없는 환경
    ● 지표를 볼 때마다 값이 달라져요.
    ● 지표 계산하는 방식이 어렵고 신뢰하기 어려워요.
    ● 지표가 여기저기 흩어져 있어요.
    볼 때마다 바뀌는 지표값
    지표 계산 기준의 변경

    View Slide

  33. 지표 플랫폼, KarrotMetrics
    KarrotMetrics의 대표 기능
    ● 디멘젼 dimension 정의
    ● 데이터 의존성 관리
    ● 스케줄링
    ● 편리한 지표 추출: 몇 줄의 sql로 각 국가 별/디멘젼 별 지표를 만들어요.
    ● 지표가 통일된 기준으로 정의되고, 중앙으로 모여요.
    ● 다른 팀이 정의한 지표나 디멘젼을 누구나 사용 가능해요.

    View Slide

  34. 지표 플랫폼, KarrotMetrics
    지표 정의
    KarrotMetrics
    Repository
    KarrotMetrics Pipeline
    Extract metric
    source events
    Dimension level
    metric
    aggregation
    Github PR

    View Slide

  35. 데이터를 활용한 의사결정의 완성
    실험
    Online Controlled Experiments

    View Slide

  36. 당근마켓과 실험
    직관만 믿고 까불었다가 망한 PM의 사연 Demi 당근마켓 팀블로그 https://medium.com/daangn/직관만 믿고
    까불었다가 망한 pm의 사연 61946dc969eb
    1주 1개 실험하는 프로덕트 팀이 되는 여정 Matthew 당근마켓 팀블로그 https://medium.com/daangn/1주 1
    개 실험하는 프로덕트 팀이 되는 여정 b8a4c337a8e1

    View Slide

  37. 의사 결정에 실험을 활용할 수 없는 환경
    어떻게 사용자를 나누나요?
    어떻게 실험 결과를 판단하나요?
    어떤 실험이 진행되고 있나요?

    View Slide

  38. 의사 결정에 데이터를 활용할 수 없는 환경
    어떻게 사용자를 나누나요?
    어떻게 실험 결과를 판단하나요?
    어떤 실험이 진행되고 있나요?
    실험플랫폼

    View Slide

  39. 실험플랫폼을 구성하는 요소
    ● 사용자/트래픽 나누기 randomizer
    ● 실험변수를 통한 분기 remote config feature flag
    ● 실험 결과 분석 result analysis pipeline

    View Slide

  40. 실험플랫폼 결과 분석 파이프라인

    View Slide

  41. 실험플랫폼 실험 Overview

    View Slide

  42. 실험플랫폼 모수 및 SRM

    View Slide

  43. 실험플랫폼 결과 분석

    View Slide

  44. 2022 당근마켓 실험 연말정산

    View Slide

  45. 앞으로의 과제

    View Slide

  46. 데이터 기반 학습을 폭발적으로 성장시키기
    데이터 기반 학습을 폭발적으로 성장시키기 위한 3요소
    학습의 속도
    학습의 폭
    학습의 질

    View Slide

  47. 데이터 기반 학습을 폭발적으로 성장시키기
    학습의 속도 x 학습의 폭 x 학습의 질

    View Slide

  48. 데이터 기반 학습을 폭발적으로 성장시키기
    학습의 속도
    제품의 연결과 고도화 KarrotAnalytics, 실험플랫폼, KarrotMetrics
    학습의 폭
    Data volume Data coverage
    학습의 질
    Data quality

    View Slide

  49. Data Quality

    View Slide

  50. 낮은 품질의 데이터로 발생하는 비용
    Data Reliability Engineering: A New Approach to Data Quality | Bigeye https://youtu.be/u7sJmmAyJT4

    View Slide

  51. Road to Data Reliability Engineering
    Data Reliability Engineering: A New Approach to Data Quality | Bigeye https://youtu.be/u7sJmmAyJT4

    View Slide

  52. Thank You.
    당근마켓과 함께 할 멋진 동료를 찾고 있어요!
    🥕 데이터 엔지니어
    🥕 데이터 분석가
    당근마켓 채용 페이지 바로가기
    데이터 가치화 팀과 티타임 하기
    Ian 김범수 ian daangn.com
    티타임 바로 신청하기

    View Slide