Today I learned (0412)

윤진호·2022년 4월 12일
0

Today I Learned

목록 보기
14/16

오늘 할일

태블로 14일차

리텐션 대시보드

  • 코호트 분석 : 특정 기간 동안 공통된 특성이나 경험을 갖는 사용자 집단. 행동 패턴의 추적
  • 유저 : 경영진의 기존 고객 잔존율, 신규 고객 획득 트렌드 관찰
  • 목표 : 신규 고객 유지 및 신규 획득 고객의 관리
  • 요구사항 : 최근 몇 주간 기존 고객 유지율 보여줄 것, 신규 획득 고객 트렌드 보여줄 것, 총 누적 고객 트렌드 보여줄 것
  • 뷰&데이터&계산식
    1) Retention Analysis : User ID + Event Time
    2) New Acquisition Users : 유저별 최초 플레이 시점 + COUNTD
    3) Cumulative Total Users : 유저별 최초 플레이 시점 + COUNTD + 테이블 계산 누계
  • 디자인 : 파란색-녹색 팔레트. 리텐션 40% 이상 차지해 집중
  • 샘플 데이터 : https://data.world/markbradbourne/rwfd-real-world-fake-data

SQL

예제 1. Employees Earning More Than Their Managers

  • 테이블 Employee(id, name, salary, managerId)
  • 관리자보다 수입이 많은 직원을 찾는 SQL을 작성하시오.
(쿼리문)
select name as Employee
from Employee e
where salary > (select salary from Employee m where e.managerId = m.id)

예제 2. Duplicate Emails

  • 테이블 Person(id, email)
  • 중복된 이메일을 확인하는 코드를 만들 것
(쿼리문)
SELECT email as Email
FROM Person
GROUP BY email
HAVING count(email) > 1

예제 3. Rising Temperature

  • 테이블 Weather (id, recordDate, temperature)
  • 이전 날짜와 비교하여 온도가 더 높은 모든 날짜의 ID를 찾는 SQL 쿼리를 작성하시오.
(쿼리문)
SELECT w1.id
FROM Weather AS w1 , Weather AS w2
WHERE w1.Temperature > w2.Temperature AND DATEDIFF(w1.recordDate , w2.recordDate) = 1 # 온도가 더 높고, 날짜 하루 차이 추출

예제 4. Consecutive Numbers

  • 테이블 : Logs(id, num)
  • 연속적으로 세 번 이상 나타나는 모든 숫자를 찾는 SQL 쿼리를 작성하시오.
  • 이해가 안되서 사례들 확인하면서 했다. 이너 조인은 좀 적응이 안 되서, where절 활용했다.
(쿼리문)
select a.num as ConsecutiveNums
from Logs a, Logs b, Logs c
where a.Id=b.Id+1 and a.num=b.num and b.Id=c.Id+1 and b.num=c.num

예제 5. Delete Duplicate Emails

  • 테이블 Person(id, email)
  • 최소 id 기준 중복된 이메일을 확인하는 코드를 만들 것. SELECT 없이 DELETE 문만 사용해야 함
  • 차이는 모르겠는데 p1.id > p2.id로 입력했을 때 정답이었다. 최소 id 기준에 해당해서 그런 걸로 보임
(수정 전 쿼리문)
Delete p1
From Person p1, Person p2
Where p1.email=p2.email and p1.id != p2.id
(수정 후 쿼리문) 
Delete p1
From Person p1, Person p2
Where p1.email=p2.email and p1.id > p2.id

내일 할 일

태블로 14일차 : 리텐션 대시보드

리트코드 SQL 예제 풀기

GC케어 화상면접

profile
데이터 분석가

0개의 댓글