inflearn logo
Course

Course

Instructor

kyleschool's Posts

kyleschool kyleschool

@kyleschool

Students
16,579
Reviews
686
Course Rating
4.9

Posts 448

Q&A

최종 과제 제출합니다.

안녕하세요. 문제 푸시느라 고생하셨습니다! 하나씩 의견을 드려볼게요. Overview 현황은 잘 남겨주셨습니다. 현황을 잘 정리해주셔서 깔끔하게 시작되는 인상을 받았습니다 New, Resurrected, Dormant, Current는 시간이 흐르면서 바뀌는 값입니다. 주차마다 New 유저가 바뀝니다. 따라서 지금 작성하신 것처럼 표현하는 것보단, 주차별로 New/Resurrected/Dormant/Current의 수를 시각화하는 그래프를 그리며 해석할 것 같아요. 제품을 개선하기 위한 전략 Dormant 이탈율을 개선하여 Current 유저를 증가시키는 방안으로 Dormant 유저의 마지막 이벤트가 무엇인지를 분석 —> 해당 UI & UX 를 개선 Screen_view welcome, home 화면과 로그인 화면을 우선 유저들이 지속할 수 있도록 매력적인 UI 개편하여 Dormant 유저를 줄이는 전략 이 부분 쿼리에서 (dor_last_action) WHERE 조건에 screen_view가 있어서 다른 이벤트가 나오지 않을 것 같네요. 이 부분 사이에 수많은 논리가 있을 수 있는데, 간단하게 정리하셔서 아쉽습니다 Action Item은 구체적으로 작성해야 합니다. 지금 작성해주신 특정 화면에서 매력적인 UI를 만들자! 라는 것은 덜 구체적입니다. weclome 35% 이탈 -> UI가 매력없다는 것은 여러 가설 중 하나일 뿐입니다. 가입 직후 온보딩 이탈인지, 음식점을 보고 이탈인지 퍼널 별 전환율까지 확인해야 더 이야기를 할 수 있어요. 매출 계산식과 기간을 명시하고, 테스트용 필터는 지워두면 좋을 것 같아요. 평소부터 잘 정리된 형태로! 문제 푸시느라 고생하셨습니다. 조금 더 구체적 Action Item을 찾아보셔요!

Likes
0
Comments
2
Viewcount
71

Q&A

3-13 과제

유정님 안녕하세요! 과제하시느라 고생하셨어요. 1번 쿼리는 수업 시간에 다룬 것이니 쿼리는 잘 작성하셨고, 해석도 제가 강의에서 다룬 부분이라 다른 관점을 드려볼게요. '왜 8%로 급락했을까요?', '사용하는 사람들은 왜 쓰고 있을까요?' 이런 질문을 한 후에, 가설을 떠올리는 것이 필요해요. 그래프를 단순히 살펴보는 것 다음엔 왜 그랬을까? 가설을 떠올리는 것이 중요하니 계속 해보셔요. 그래야 어떤 데이터를 더 살펴볼지 아이디어를 떠올릴 수 있어요. 2번 status_def2에서 next_diff >= 2로 잡아서 이후에 다시 돌아오지 않은 유저(next_diff IS NULL)은 Dormnat로 집계되지 않아요 first_date 컬럼이 사용되지 않고 있어요. history_table에서 ORDER BY user_pseudo_id는 없어도 쿼리가 잘 동작해요. CTE 안에서 ORDER BY가 있으면 속도가 느려지니 제일 바깥쪽 쿼리에서 한번만 쓰셔도 됩니다(ORDER BY 없어도 윈도우 함수는 잘 동작합니다) 이미지 시각화하신 것 잘하셨습니다. 쿼리 좀만 더 손보시고 그래프 살펴보셔요 해석한 부분은 1번과 유사하게 "해석과 가설"이 필요합니다. 현재는 그래프를 읽고 묘사한 것이고, 그 이후에 "어 이건 왜 이렇게 되었지?"라는 생각을 하면서 추가적으로 데이터를 보시면 좋을 것 같아요. 이런 습관과 훈련이 데이터를 볼 때 제일 중요합니다 current 600명대 = 액티브 유저 안정화라고 해주셨는데, 주간 액티브는 new + current + resurrected(12월 기준 약 7,000명). current는 연속 2주 사용자에요. 주간 액티브의 정의는 new + current + resurrected입니다. 리포트를 작성할 때 각 부분의 정의를 작성하고 시작하시면 더 좋을 것 같네요 3번도 마찬가지로 가설을 단단하게 만드시면 좋겠어요 가설1 : 왜 click_payment를 떠올렸는지 근거가 있을까요? 무엇을 "유의미"로 볼 것인지 기준도 정해보시면 좋을 것 같아요 가설2 : 3일 연속 유저의 커브 말고 다른 유저 커브가 있어야 비교를 할 수 있어요. 비교군을 설정해주셔요. 모수가 적으면 가설이 무의미한 것이 아니라 세그먼트 정의가 빡빡한 것이라고 볼 수 있어요. 조건을 완화해서 다시 보면 어떻게 되나 살펴보셔도 좋을 것 같아요. 4번에서 구매빈도가 가장 높은 상위 5% 유저의 구매 패턴을 분석하여 , 해당 주차나 요일, 시간을 벤치마크하여 마케팅 푸시 메시지를 보낸다.라고 해주셨는데, 그렇다면 이후에 상위 5%의 유저를 확인한 후, 구매 패턴 분석해서 어느 시기에 마케팅 Push가 제일 좋을지 제시를 같이 해주면 좋을 것 같아요! 해석을 하고 끝이 아니라 후속 데이터도 같이 공유해주시면 더 좋은 분석이 될 수 있을 것 같아요 문제 푸시느라 고생하셨습니다!

Likes
0
Comments
3
Viewcount
73

Q&A

3-13 과제

유정님 안녕하세요! 답변을 드리려고 했는데 지금 답변에 엔터 입력이 안되네요. 인프런에 문의했는데, 월-화 이내로 답변드릴게요!

Likes
0
Comments
3
Viewcount
73

Q&A

battle 테이블 오류

안녕하세요! 이 오류는 대부분 건너뛸 헤더행 설정, 컬럼 스키마 정의, 압축 일부만 해제해서 쓴 경유 발생해요. 테이블 생성할 때 설정하신 것을 캡처해서 보여주시겠어요?

Likes
0
Comments
2
Viewcount
69

Q&A

강의 수강 목적

민지님 안녕하세요! 수강 목표 모두 달성하시면 좋겠네요. 하시다가 궁금한거 있으시면 언제든 남겨주셔요!!

Likes
0
Comments
2
Viewcount
61

Q&A

3-13 리텐션 과제 제출합니다

mm j님 안녕하세요! 문제 푸느라 고생하셨습니다. 1, 4번 문제는 기존 쿼리를 약간만 수정하면 되는 문제인데 잘 풀어주셨네요. 1번 해석은 제가 했던 것을 그대로 하신거라 추가적으로 다른 해석도 생각해보셔요! 4번도 해석해주신 내용 토대로 그럼 무엇을 할 수 있을까?까지 생각해보시면 더더 좋을 것 같아요 2, 3번에 대해 피드백을 드려볼게요 2번 평균 접속 일수로 보신 것 좋아요!! 기준을 바로 정하지 않고 데이터로 보는 것 좋아요 팁으로 이런 데이터를 볼 때 Daily, Weekly, Monthly로 바꾸는 것이 어렵진 않을 수 있으니 마지막에 데이터를 한번 보시는 것도 추천해요(Weekly로 어떻게 변화하는지) 쿼리에서 first_month를 계산하고 사용하지 않네요. 안쓴다면 지워도 동일해요 CASE 마지막 조건 != 1 AND lag_month IS NOT NULL 이 부분은 앞에서 IS NULL 조건을 이미 사용해서 그냥 ELSE 'resurrected' 라고 해도 충분해요 "Current가 꾸준히 증가"는 맞지 않는 것 같아요 1월에 6565 → 4186으로 줄었고, 이런 경우 1월 모든 데이터가 들어갔나 확인해서 일부만 들어갔으면 해석을 제외했다고 써두면 좋아요. Current와 Dormant를 볼 때 절대 수도 볼 수 있지만 비율로도 볼 수 있어요. "지난 달 활성 유저 중 이번 달 안 온 사람"이 Dormant라서 Current/(Current+Dormant)가 월간 리텐션과 비슷하게 됩니다 9월 18%, 10월 33%, 11월 32%, 12월 34%는 유지가 어렵다보다는 1/3 수준에서 안정화되었다는 서술이 더 정확합니다 신규가 많을수록 다음 달 Dormant 증가는 거의 당연한 결과일 수 있어요. 지난 달 활성 유저가 늘어나면 Dormant 후보도 많아지게 됩니다 신규 유저의 초기 이탈이 높다고 말하려면 Dormant를 직전 상태가 New인지, Current, Resurrected였는지 나눠서 이탈률을 비교해야 해요 첫 달 결제 안하명 Dormant라는 가설은 좋은데, 액션이 바로 나와요. 쿠폰 지급을 꼭 해야 한다는 이유를 추가로 보강을 하는 것이 필요해요(만약 데이터가 없다면, 그 액션 말고 할 수 있는 것을 떠올려 보시는 것을 추천해요) 결제한 유저와 안 한 유저의 리텐션 차이가 결제 때문에 남았다고 하기엔 어려워요. 원래 남은 사람이 결제했을 수도 있거든요. 쿠폰 효과 같은 것은 AB Test로 확인해야 합니다 AB Test나 논리적 사고 흐름은 제 데이터 리터러시 강의를 보시면 더 도움이 될 것 같아요 Action Item을 조금 더 자세히 써보시면 좋을 것 같아요. 플랫폼별 Current 유저 비율을 분석하여 => 그러면 플랫폼 정보는 이미 있기에 바로 해볼 수 있겠지요? 그럼 그 데이터까지 포함해서 가져오면 더 좋습니다(이게 3번이랑 이어질 것 같은데 그러면 문서에 별도 레포트 첨부함 이렇게 써주셔요) Current 유저의 공통 특성 파악 => 이것도 파악을 하는 것까지 해야 합니다. 지금 액션 아이템에서 2-3번째는 가설만 떠올렸을 뿐 실제 데이터 분석이 없는 상황이에요 3번 가설을 처음 5개 나열하고 하나씩 검증한 구조 좋습니다! 기각된 가설도 남긴 부분도 좋아요! 플랫폼까지 확인해서 두 그룹 비교도 좋아요 3번 가설을 채택하기엔 근거가 약하긴 합니다. 두 그룹의 차이가 소수점 둘째 자리에서 0.01 차이나는 주가 몇 개 있을 뿐이거든요. 채택과 기각을 말하려면 각 그룹의 유저 수를 봐서 실제 몇 명인지도 봐야 합니다. 지금은 비율만 있지요 10주차부터 벌어진다고 작성되어 있는데 10주차는 0.09, 0.07이지만 11주차는 0.07, 0.07로 동일합니다 .한 지점의 튐은 경향이 아니긴 합니다. 뒤로 갈수록 n 자체의 숫자가 줄어서 흔들릴 수도 있어요 1, 2번은 유의미한 차이가 없다라고 해주셨는데 통계적 검정을 한 것이 아니기 때문에 차이가 거의 없다라고 쓰는 것이 더 정확합니다. 유의미는 통계 용어라 통계와 같이 나와야 합니다 쿼리에서는 아래 쿼리가 신경쓰이네요 MIN(event_date) OVER(PARTITION BY user_pseudo_id, platform) : 한 유저가 두 플랫폼을 쓰면 first_week이 갈라집니다! 이런 케이스가 현업에서 많아서 파티션 안에 플랫폼을 넣을지도 데이터 보고 결정해야 합니다 문제 푸느라 고생하셨습니다!!!

Likes
0
Comments
2
Viewcount
78

Q&A

1번 문제 질문

안녕하세요. 선호님이 말씀하신 논리로 생각할 때 catch_date 컬럼을 사용해도 괜찮고, 이 문제는 좀 더 현업스럽고 의도가 있는 문제라고 생각해주시면 됩니다. 선호님의 생각 흐름도 매우 좋습니다! 회사에서 데이터 조직이 아닌 다른 팀에서 한국 시간 기준으로 데이터 뽑아달라고 하는 경우가 있는데, 그 때 데이터에 대한 이해가 없어서 질문을 의도와 다르게 하는 경우가 있습니다. 그럴 때 의도를 잘 파악하고, 데이터를 확인하는 것이 데이터를 다루는 사람의 책임입니다. 저희가 있는 곳이 대한민국이라 UTC 기준으로 데이터를 요청하지 않을 것이고, 요청자의 의도에 한국 시간으로 뽑아달라는 것이 내포가 되어 있다고 이해해주시면 됩니다

Likes
0
Comments
2
Viewcount
68

Q&A

app logs 데이터로 쿼리 연습

유정님 안녕하세요 unnest 와 집계함수를 연속적으로 쓰려고 할 때나 unnest+집계함수+having 쓰려고 할 때는 반드시 with문으로 분리해서 사용해야 오류가 안 나는 것 같더라고요. 그러다 보니 쿼리가 길어지는데 더 가독성 좋은 쿼리 작성법이 있을 것 같습니다. ㅎㅎ 이 말이 어떤 쿼리에서 발생한 걸까요? 말씀하신 경우가 항상 WITH를 써야 된다는 것은 아닐텐데 쿼리를 어떻게 바꾸셨는지 말씀해주시면 가이드를 드릴 수 있을 것 같아요. 그리고 이 문제들은 쿼리 작성도 좋지만, 데이터 결과를 보고 해석을 해보는 경험을 더 추천드려요! 해석을 잘 하는 것이 중요하기에 결과 보고 해석을 어떻게 할지 고민해보셔요(현상을 파악하고 그걸 토대로 가설을 떠올리면 좋아요)

Likes
0
Comments
2
Viewcount
83

Q&A

[과제] 연습문제 쿼리 작성했습니다!

유정님 잘 작성해주셨네요! 쿼리를 잘 작성해주셨고, basic2 쿼리 안에서 ORDER BY가 필요없어서 삭제해도 좋을 것 같아요 ORDER BY는 쿼리문에서 제일 바깥 쿼리 한번에서만 쓰신다고 생각하시면 좋을 것 같아요. ORDER BY라는 것은 모든 값을 확인해야 하거든요(정렬을 하기 위해) 그래서 쿼리 시간이 좀 더 걸리게 됩니다. 그래서 정렬이 필요한 경우엔 제일 바깥 쿼리에서만 써주시면 좋아요

Likes
0
Comments
2
Viewcount
73

Q&A

3번 문제 질문!

넵 상관없습니다!! 논리적 구조만 맞으면 됩니다

Likes
0
Comments
2
Viewcount
62