| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- advent of sql
- funnel
- 독서
- pandas
- leetcode
- LEFTJOIN
- 퍼널분석
- 그로스해킹
- 리텐션
- 서브쿼리
- 순위함수
- Datarian
- 데이터리안
- 윈도우 함수
- row_number
- MYSQL
- Retention
- 취준
- regexp
- 신입 데이터분석가
- rank
- 데이터분석
- 윈도우함수
- SQL
- 린분석
- python
- 프로그래머스
- SolveSQL
- 누적합
- dense_rank
- Today
- Total
목록전체 글 (109)
데이터 분석
문제 Write a solution to find the cancellation rate of requests with unbanned users (both client and driver must not be banned) each day between "2013-10-01" and "2013-10-03". Round Cancellation Rate to two decimal points. 일별 Cancellation Rate은 '취소 건수 / 요청 건수'와 같이 계산한다.단, client와 driver 모두 banned = 'No' 조건을 만족하는 경우만 고려한다. SolutionSELECT t.request_at AS Day , ROUND(COUNT(CASE ..
어떻게 하면 성장하는 서비스를 만들 수 있을까?💡그로스 해킹은 이 질문의 답을 찾는 과정.: 데이터에서 찾아낸 인사이트를 바탕으로 제품이나 서비스를 지속적으로 개선해 나가는 방법 1) 성공이 아닌 '성장'이 핵심사례1) 에어비앤비가설 : '숙소 주인이 올리는 사진의 퀄리티가 너무 낮아서 방의 매력도를 충분히 표현하지 못하기 때문에 예약이 증가하지 않는다'검증 : 고품질의 사진이 등록된 숙소들이 그렇지 않은 곳보다 3배 많은 예약을 기록했다. 인사이트 : 사진의 퀄리티가 좋을수록 예약 건수가 증가한다. 사례2) 드롭박스'무료로 공간을 확장하세요'라는 버튼 하나를 추가했을 뿐인데 가입자가 60% 이상 증가했다. 사례3) 핫메일'추신: 당신을 사랑합니다. 핫메일에서 무료 이메일 계정을 받으세요'라는 안내 문..
사용자 고착도(=Stickiness) Stickiness를 알기 전에, 우선 dau/wau/mau 개념이 필요하다.DAU(Daily Active User): 일간 활성 사용자 수WAU(Weekly Active User): 주간 활성 사용자 수MAU(Monthly Active User): 월간 활성 사용자 수일반적으로 Stickiness, 즉 사용자 고착도 지표는 dau를 wau 또는 mau로 나누어 정의한다. 이는 사용자가 특정 서비스나 플랫폼에 얼마나 지속적으로 참여하고 있는지를 측정하는 중요한 지표이다. 이것이 중요한 이유는 이 지표가 높을수록 사용자가 서비스를 떠날 가능성이 낮아지는 것으로 해석할 수 있기 때문이다. 아래 solvesql 문제 해결을 통해 Stickiness 지표를 계산해보자. ..
클래식 리텐션 Retention은 유저들이 어떤 서비스를 1회성이 아닌 지속적으로 사용하는지, 핵심 가치를 꾸준히 경험하는지를 측정한다. 사용자 유지와 관련한 지표 계산 방법 중에 클래식 리텐션, N-Day Retention이라고도 불리는 측정 방법이 있다. 다만 클래식 리텐션은 특정일에 접속했는지 여부는 고려하지만 그때까지 꾸준히 반복적으로 들어왔는지 여부는 고려하지 못한다는 점을 유념하자. 지속적 사용을 어떻게 정의할까?이에 대한 대답은 정답이 없다. 서비스의 특성, 서비스가 유저들로 하여금 기대하는 행동에 따라 이에 대한 정의는 '방문', '주문', '결제' 등 다양한 행위가 가능하다. 예를 들어 내가 새해를 맞이해서 사용하고 있는 스픽이라는 영어 말하기 앱이 있다. 이 서비스의 핵심 가치는 내가..
정규성 검정이란? ● 데이터셋의 분포가 정규분포를 따르는지 검정하는 것을 정규성 검정이라 한다.● 모수 검정은 데이터의 정규성을 확인하는 검정 과정을 진행한 후에 수행된다. ● 중심극한정리에 의해 표본의 크기가 30보다 크면 표본평균의 분포는 모집단의 분포 모양과는 관계없이 정규분포에 가까워진다.● 데이터 수가 30이 넘어도 데이터 특성에 따라 정규분포를 만족하지 않을 수 있어 확인하는 것이 좋다. 정규성 검정 종류에는?Shaprio-Wilks Test표본수가 5000미만인 데이터셋에 적합한 검정 방법, pvalue 반환shaprio(x)Kolmogorov-Smirnov Test두 개의 데이터셋이 같은 분포인지 아닌지 검정하는 방법, pvalue 반환kstest(x1, x2)Normal Test20개 ..
이전에 다른 자료를 통해 리텐션을 간략하게 학습한 적이 있었다.고객의 주문 데이터를 활용하여 첫구매월이 동일한 고객을 기준으로 코호트를 정의한 후에 3개월 간의 Retention을 측정한 경험이 있다. 계산 방법으로는 서비스의 성격에 대한 고려 없이 '클래식 리텐션'을 적용하였고, 아래 5개 자료를 정독 후에 다시 보니, 부족한 점이 많은 프로젝트였지 않나 싶다. 리텐션 (1) Classic Retention 리텐션 (1) Classic RetentionAARRR 프레임워크에서 가장 중요한 Retention, 사용자 유지와 관련한 지표 계산에 대해서 알아봅시다.datarian.io:443 리텐션 (2) Rolling Retention 리텐션 (2) Rolling Retention롤링 리텐션은 '사용자..
문제 Write a solution to find employees who have the highest salary in each of the departments.Return the result table in any order. 부서별 최고 급여를 갖는 직원의 부서명, 이름, 급여를 조회하는 문제이다.📢동일한 최고 급여를 가진 경우 모두 출력해야 하기 때문에 순위함수 중 ROW_NUMBER 함수는 사용해서는 안 된다. Solution ✅ WHERE절 다중 컬럼 서브쿼리를 활용WITH highest AS ( SELECT departmentID , MAX(salary) FROM Employee GROUP BY departmentID)SELECT d.name AS Dep..
문제 Write a solution to find the employees who earn more than their managers.Return the result table in any order. 본인의 매니저보다 급여가 높은 직원의 이름을 조회하는 문제이다.Joe의 salary 옆에 Sam의 salary를 붙여놓고 비교하는 방식으로 접근하면 해결할 수 있을 것이다. Solution ✅ 동일한 두 테이블을 SELF-JOIN하여 접근한다. ● e1 테이블은 기존에 기록된 직원들의 정보를 알기 위해 사용● e2 테이블은 기존에 기록된 직원들의 매니저 정보를 알기 위해 사용SELECT e.name AS EmployeeFROM Employee e JOIN Employee m ON e.manager..
문제Write a solution to find all customers who never order anything. Return the result table in any order. 주문 이력이 없는 고객을 조회하는 문제이다. SolutionSELECT c.name AS CustomersFROM Customers c LEFT JOIN Orders o ON c.id = o.customerID WHERE o.customerID IS NULL/*SELECT name AS CustomersFROM Customers WHERE id NOT IN (SELECT DISTINCT customerId FROM Orders)*/ ● Customers 테이블의 모든 행을 유지하면서, Orders 테이블에서 일치..
문제 Reformat the table such that there is a department id column and a revenue column for each month. Return the result table in any order. Solution ✅ 제공 테이블의 id, month, revenue 데이터를 가지고, 각 month를 열로 변환하여 revenue 데이터를 각 열에 맞게 매핑해야 하는 문제이다. 👉 CASE문과 집계 함수(MAX, SUM, ... )를 조합하여 피봇 테이블을 구현한다. ● 1 SELECT id , MAX(CASE WHEN month = 'Jan' THEN revenue END) AS Jan_Revenue , MAX(CASE WHEN month..