전체 글(116)
-
[Database] ERD
데이터베이스 관련 이론적인 내용들을 공부하다 보면 ERD 라는 용어를 마주치게 됩니다. 예전에도 한번 ERD에 대해 간략하게 공부한적이 있지만 그때는 대략적으로만 알고 넘어간 기억이 있어서 이번 기회에 기본적인 내용들에 대해 명확하게 정리하자고 포스팅을 하게 되었습니다. ERD는 무엇일까? ERD는 Entity Relationship Diagram의 약자로 시스템(데이터베이스) 내에서 다양한 객체(테이블)들이 서로 어떻게 연관되어 있는지를 나타내는 일종의 관계도 입니다. 즉 잘 짜여진 ERD를 보면 데이터베이스 내에서 어떠한 테이블들이 어떤 방식으로 연결되어 있으며, 특정 결과를 산출하기 위해서는 어떤 테이블들을 참조해야 하는지도 간접적으로 확인이 가능합니다. 아래 사진은 하키 게임 관련 ERD 예시입니..
2022.02.27 -
[Metabase] Cohort Retention
Retention 및 Cohort Analysis 관련 쿼리문에 대한 지난 포스트 작성 후 최종적인 Cohort Retention을 BI 툴인 Metabase에 추가해보고 싶다는 생각이 들었습니다. Metabase에서 제공하는 기본 데이터에는 유저들의 접속에 대한 정보 및 상세한 로그 데이터는 존재하지 않아서 아래와 같은 기준을 설정하고 Cohort Retention 산출을 시작했습니다. 1달 범위의 Bracket Retention 산출 Active한 기준은 구매 여부로 확인 시작점을 기준으로 6달까지만 확인 최종적으로 산출하고자 한 결과물은 아래 표와 같습니다. 시작점 1달 후 2달 후 3달 후 4달 후 5달 후 6달 후 2021-01 2021-02 2021-03 ... ... ... ... ... ...
2022.02.17 -
[MySQL] Retention & Cohort Analysis
이번 포스팅에서는 MySQL 쿼리문을 이용하여 다양한 종류의 Retention을 산출하는 방법에 대해 설명해보려고 합니다. 이를 설명하기 이전에 우선 간략하게 Retention, 그리고 이와 밀접한 관계가 있는 Cohort Analysis에 대해 먼저 설명하겠습니다. 1. Retention 이란? 아마 고객 데이터 분석에 대해 관심이 있다면 Retention에 대해 들어본적이 있을꺼라고 생각합니다. Retention은 도메인을 막론하고 고객 분석을 진행할 때 대부분의 스타트업에서 매우 중요한 지표입니다. Retention을 통해 서비스를 지속적으로 이용하는 고객의 비중을 알 수 있습니다. 일반적으로 신규 고객을 유입시키는 비용보다 기존 고객을 유지하는 비용이 낮기때문에 기존 고객 유지와 관련되어 있는 R..
2022.02.16 -
[Metabase] Native query filter 적용
이번 포스팅에서는 Ask a question에서 Native query를 이용하여 filter를 적용하는 방식에 대해 설명해보겠습니다. 처음 Metabase를 사용할때는 Google Data Studio처럼 대시보드에 추가할 시 컬럼 자체가 날짜 형식 또는 범주형 변수인 경우 자동으로 필터 적용이 가능하다고 생각했었습니다. 하지만 추가적인 설정 없이 아래 쿼리문을 사용하여 대시보드에 추가할 경우 아래 사진과 같은 현상이 나타납니다. SELECT People.NAME, Orders.TOTAL - (CASE WHEN Orders.DISCOUNT IS NOT NULL THEN DISCOUNT ELSE 0 END) AS TOTAL, Orders.CREATED_AT, Products.TITLE, Products...
2022.02.14 -
[Metabase] 기본 사용법 및 대시보드(Dashboard) 구축
이번 포스트에서는 BI(Business Intelligence) 툴 중 하나인 Metabase의 기본적인 사용법과 이를 통한 대시보드 구축에 대해 설명해보려고 합니다. 최근 우연히 Metabase를 사용할 기회가 있었고 사용해본 결과 기존에 많이 사용해본 경험이 있는 BI 툴인 Google Data Studio와는 다른 느낌이며 장점도 존재한다고 생각하여 정리하게 되었습니다. 1. 메인페이지 및 Sample Dataset 둘러보기 우선 Metabase 홈페이지에서 가입은 완료한 상태라고 가정하고 설명을 진행하겠습니다. 최초 가입 및 실행 과정에서 데이터베이스를 따로 추가하지 않았다면 Metabase가 기본적으로 제공하는 Sample Dataset을 활용할 수 있습니다. 첫 메인 페이지의 하단에 잇는 OU..
2022.02.13 -
[Plotly] Dropdown Menus
최근에 plotly를 이용한 시각화를 진행하면서 plotly의 interactive한 특징일 이용하여 대시보드처럼 드롭다운 메뉴를 추가해보고 싶다는 생각이 들었다. 공식 문서를 찾아보니 plotly의 fig.update_layout의 updatemenus를 이용하여 드롭다운 메뉴 추가가 가능해서 이를 코드로 구현해보았다. 고객 정보와 관련된 데이터셋을 활용하여 시각화 하였고, 데이터셋은 아래와 같은 정보를 포함하고 있다. data.head() 위의 데이터셋에서 Year_Birth 컬럼을 이용해 연령대 컬럼인 Age_Group을 생성하였다. # 나이 컬럼 생성 data['Age'] = 2022 - data['Year_Birth'] - 1 # 연령대 컬럼 생성 def age_band(x): if x < 20..
2022.02.04