8년차 데이터 과학자, 데이터 엔지니어, 머신러닝 엔지니어로 근무했으며, 쏘카와 타다에서 데이터 분석, 데이터 엔지니어링 개발, 머신러닝 알고리즘을 개발했습니다.
카일스쿨 유튜브에 데이터 커리어 관련 영상을 올리고 있으며, 어떻게 해야 강의를 수강하신 분들이 회사에서 일을 잘할 수 있을까?를 고민하며 자료를 만들고 있어요.
카일스쿨 유튜브 : https://www.youtube.com/c/kyleschool
기술 블로그 : https://zzsza.github.io/
인스타그램 : https://www.instagram.com/data.scientist/
대표 컨텐츠 : https://github.com/Team-Neighborhood/I-want-to-study-Data-Science
데이터 과학자가 되기 위해 진행한 다양한 노력들 : https://zzsza.github.io/diary/2019/04/05/how-to-study-datascience/
Courses
Reviews
- Using BigQuery (SQL) (Funnel Analysis, Retention Analysis)
- BigQuery (SQL) for Beginners
- Using BigQuery (SQL) (Funnel Analysis, Retention Analysis)
- Data Literacy for PMs (Product Data Analysis)
- Data Literacy for PMs (Product Data Analysis)
Posts
Q&A
4-8 지표 정의 연습문제
솔의눈님 안녕하세요. 과제 하시느라 고생하셨어요!노션을 보니까 생각의 흐름을 자세히 정리해주셔서 인상 깊네요. 이렇게 생각하시는 과정에서 솔의눈님의 사고 역량이 늘어났을 것 같아요. 또한, 인프런에 올려주신 것은 타인에게 공유하는 정리본 느낌이고 노션은 그 정리하는 과정이 보이네요. 처음엔 오래 걸렸을 수 있지만, 점점 시간을 줄이고 반복하면 비슷하구나!라는 것을 깨달을 수 있을 것 같아요.일단 전반적으로 생각의 흐름이 자세하고 저도 공감되게 작성해주셨고, 피드백을 드리고 싶은 부분과 질문에 대한 답변을 드려볼게요. #1. 기능이 잘 동작하고 있는지 확인하려면?배너 영역에 배너 카테고리를 쿠폰이라고 해주셨더라구요. 만약 배너가 쿠폰이 아니라 멤버십 홍보를 위한 배너거나, 신기능 추가를 위한 설명 배너였다면 어떻게 해야할까요?나아가서 배너 타입이 다 다를텐데 이걸 어떤 기준으로 봐야 통합해서 볼 수 있을까요?해석할 때, 쿠폰 다운로드 배너가 신기능 공지 배너보다 더 많이 클릭된다 이렇게 해석해야 하는 경우가 있을 거예요.재방문율의 경우 3개월이라고 했는데, 3개월 뒤 지표를 봐야합니다. 그래서 저는 빠른 의사결정을 위해 재방문, 리텐션 시리즈를 덜 보는 편이에요(제품 주기가 짧다면 채택해도 괜찮음)예를 들어 알라미 같은 서비스는 매일 사용하는 알람 앱이라 재방문 주기가 짧은 서비스겠지요보면 좋은 글주기가 짧은 것이 아니라면 다른 지표를 선택하는 것도 방법이에요1번에 나온 여러 영역이 사실상 동일한 지표를 사용할 수 있습니다. 그래야 서로 비교가 가능해지거든요. 각각에서 커스텀 지표까지 생각해주셨는데, 비교 관점에선 같은 지표가 좋을 수 있다라고 생각해주시면 됩니다동네 맛집의 배달 완료 시간의 경우 -> ETA라고 표현하는데 배달 서비스에서 전체적으로 중요하게 보는 지표입니다. 전사적으로 관리를 하는 편이고, 동네 맛집의 ETA가 진짜 전체 ETA보다 더 빠른가?를 확인해보는 것이 필요할 것 같아요이제 지표 선택에서 나아가서 지표를 활용하는 방법까지 고민해보셔요. 지표가 높으면 우리는 어떤 행동을 할 수 있을까? 낮아지면 뭘 해야할까? 이걸 구체적으로 생각해보는 것이 중요하더라구요 #2. 검색 만족도 지표말씀해주신 지표를 모두 사용할 수 있을 것 같고, 다만 궁금한 점은..메뉴리스트 체류 시간에서 체류 시간을 어떻게 구해야 할까요?만약 유저가 잠깐 홈으로 나가고, 다시 들어오고 이런 경우까지 고려가 되었을까요?앱의 특성상 특정 파트에서 백그라운드로 빠졌다가 몇시간 후에 다시 해당 파트(페이지)로 진입이 가능한 경우가 있는데 이런 경우는 해당 페이지의 체류 시간에 포함해야 할까요?필터 사용 횟수에서 2회 이하일 때 높다라고 해주셨는데 이 2의 근거가 생각인지, 데이터 기반인지가 중요할 것 같네요(전체 질문이라 마지막에 답변드릴게요)검색이나 추천 같은 알고리즘 지표는 별도의 지표가 존재합니다. 이런 관점도 있구나 생각하시면서 아래 글을 읽어보셔요 네이버 검색 사례무신사 사례 #3. 검색 필터 기능은 잘 사용되고 있을까요 ? 필터 기능의 활성화 지표를 정의하면 어떻게 할 수 있을까요?필터 사용자와 미사용자군의 주문전환율을 비교해야 하는 이유가 있을까요?검색 vs 전체 유저를 비교할 땐 가능할 것 같은데 검색 필터에 초점을 맞출 때 이게 나와서 질문드려봅니다검색 필터 기능이 잘 사용되고 있는가?라는 질문을 드렸는데 그걸 한 단계 추상화를 하셔서 주문으로 확장하신 것 같네요간단하게는 필터를 사용하고 있는가, 한번의 주문에 얼마나 사용하는가 등을 보는 것이 검색 필터를 사용하고 있는가? 잘 사용하는가?의 시작점이라고 생각해요 #4. 배달 서비스에서 가장 중요한 지표는 무엇일까요 ? 왜 그 지표가 중요할까요? 그것을 어떻게 늘리거나 줄일 수 있을까요 ?왜 월간으로 봐야할까요? 리텐션 지표와 마찬가지로 월간으로 보려면 런칭 후 지표는 1달 후에나 볼 수 있어요.Output 지표로 사용할 수 있는 지표지만 1달이 좀 길다고 생각하는 경영진이 있다면 어떻게 설득하시겠어요?사용자당 결제 횟수를 쪼개서 사용자 수, 구매 빈도, 건당 금액으로 나누신 부분 좋습니다! 메트릭 하이라키를 생각하신건데, 그렇다면 저는 Input 지표를 제일 중요한 지표로 제시할 것 같아요. 우리 비즈니스에서 나오는 핵심적인 것은 무엇일까?배달 서비스의 핵심은 일단 음식을 주문해서 음식을 받는 것이죠. 그렇다면 주문을 요청하는 수가 핵심이 아닐까요? 주문이 늘어나면 결국 총매출이 늘어나는 방식으로 산식을 만들 수 있습니다주문을 했지만 받는 것의 괴리가 있는지도 살펴봐야 합니다. 음식은 덜하지만 택시는 택시를 부르는 것과 택시를 타고 집에 가는 것의 간극이 존재합니다(특히 새벽 시간 - 택시가 적기에)잘 생각해주셨는데 관점을 살짝 제품으로 바꾸고 싶어서 질문드렸어요 #5. 추천 알고리즘의 성능을 확인하기 위해 어떤 지표를 파악해야 할까요 ? 왜 해당 지표일까요 ?추천 알고리즘은 검색 알고리즘처럼 지표가 있어서, 아래 글을 살펴봐주셔요https://sungkee-book.tistory.com/11말씀해주신 CTR/CVR도 기본적으로 사용합니다추가적으로 데이터가 없는 사용자에 대한 대처 방안도 필요하다고 해주셨는데, 콜드 스타트 문제를 말씀하신 것 같아요https://velog.io/@gorany/User-Cold-Start-Problem-in-Recommendation-System-A-Systematic-Review-2023-IEEE콜드 스타트를 해결하기 위한 논문이나 시도도 많아서 위 글도 살펴보시면 도움이 될 것 같아요 #6. 여러분들이 자주 사용하는 서비스에서 제일 중요한 지표는 무엇일까요?이 부분을 보면서 오! 했어요. 지표의 위계까지 생각해주셨네요여기서 행동 유저 비율의 정의를 보면 오 그렇구나 정도로 넘어가는데, 이름만 보면 음? 하거든요지표의 이름을 조금 더 구체적으로 정의해보면 좋을 것 같아요혹은 지표의 정의 자체가 너무 커서 이름이 크게 나오는 경우일 것 같네요저라면 탭에 접속한 뒤 이탈하지 않고라는 조건을 제외하고 각 탭에 접속한 사람의 수라고 표현할 것 같네요지표를 특정 조건으로 필터링을 한 것인데, 특정 조건이 시기나 상황에 따라 달라질 수 있어요. 그래서 저는 전체적인 지표를 바라볼 때는 필터링을 해서 보는 것보단 전체 지표를 보고, 이게 중요하면 별도로 따른 대시보드에 세부적인 빈도를 파악해봅니다이렇게 하는 이유는 해석이 어려워 질 수 있기 때문에, 더 쉬운 해석을 만들려고 진행하는 편이에요당근의 비즈니스 모델이 어떻게 될까도 한번 생각해보시면 더 좋을 것 같네요여기서 나온 질문광고 소재, 광고 위치, 추천 적합도.. 와 같은 항목을 PM으로선 봐야하는 건가요?어떤 PM이냐에 따라 달라질 것 같네요. 광고 관련 PM이라고 하면 당연히 봐야한다고 생각해요(목표가 광고를 더 많이 봐서 수익성 개선하는 관점이라면)지표의 위계에 추가하고 싶다면 중요한 부분 하나 정도 추가할 수 있을 것 같은데, 광고의 클릭수 아래에 소재로 쪼개서 볼 수 있을 것 같아요. 어떤 소재에 따라 클릭수가 많은가?광고 위치는 매번 바뀔 수 있어서 지표의 위계에는 넣지 않을 것 같고 별도로 위치 별 지표를 파악하는 대시보드를 만들어서 볼 것 같네요추천 적합도의 경우 알고리즘 파트라서 AI/ML 엔지니어와 같이 만들어서 볼 것 같네요핵심은 전체적인 중요한 지표들 위주로 보는 것이고, 한방에 다 보려고 안하면 됩니다. 만약 쪼개서 봐야한다고 생각하면(합치는게 힘들거나 애매하면) 나누면 됩니다. MECE 기억나시죠? 여기서도 적용되는 원칙입니다[질문 1번] 광고 노출된 사용자수는 중복을 포함하는데, DAU는 중복을 포함하지 않고 당일 방문한 사용자수 전체를 의미하므로, DAU는 적합하지 않은 지표일까요?이렇게 정의를 하신다면 광고 노출된 사용자수가 아니라, 광고 노출된 건이라고 표현을 해야할 것 같아요. 사용자수는 보통 중복을 제거한 고유한 값을 의미해요DAU가 중복을 포함하지 않고 당일 방문한 사용자수 전체라고 해주셨는데 이게 제가 이해한 것과 약간 다른 것 같기도 하고 같은 것 같기도 하고 이해하기 어렵네요. DAU = Active User(Unique)를 Daily로 구하는 것. 보통 중복을 다 제거해서 유저 수만 구합니다왜 이런 고민이 있었을까 생각해보면, 지금 메트릭 하이라키가 곱하기 관계가 많은데, 메트릭 하이라키에서 곱하기를 하고, 그 후엔 더하기나 빼기(MECE)를 하고, 그 후에 다시 곱하기를 하는 과정으로 만들곤 합니다광고 노출수랑 광고 노출된 사용자수랑 거의 비슷하지 않을까? 라는 생각이 드네요[질문 3번] 사실 ‘게시글 작성 수’ 라고만 지표를 선정하면, 도배성 글이 작성되어도 지표를 달성했다고 생각하는 여지를 줄 수도 있기에 ‘양질의 게시글 작성수’라고 선정하고 싶었습니다. 그런데 ‘양질’을 지표화 시키는 데 어려움이 있는 것 같아 일단 ‘게시글 작성수’로만 작성했습니다.솔의눈님이 정의하신 대부분에 지표를 어느정도 필터링해서 보고 싶어하시는 것 같아서 위에 제가 말씀드렸는데 질문에도 있네요. 말씀하신 것처럼 양질이 참 애매합니다. 그래서 이런 경우엔 내부적으로 글이 중복인가 아닌가를 판단하는 로직을 만들고(예를 들어 제목이 같다거나부터 시작하고 점점 고도화를 하면 될 것) 그 로직을 한 후 글만 보는 것도 방법입니다그런데 저는 도배성 글은 시스템적으로 같은 글은 하루에 1번만 가능하다 등으로 막아둘 것 같고, 그 외에는 사람들이 욕구가 있어서 계속 올릴 수 있다고 생각할 것 같아요도배성 글도 생기는지 안생기는지 알 수 있으려면 지표를 필터링하지 않고 전체적으로 봐야 알 수 있어요.#7. 퍼널 개선 프로젝트이건 실험 파트를 보시고 오시면 더 이해가 될 것 같다고 말씀드리려고 했는데 이미 AB Test를 말씀해주셨네요! 잘하셨어요 추가 질문 : 지표의 성공 기준을 수립하는 방법을 잘 모르겠습니다.업계의 평균 수치 (구매전환율 3% 등..)과 비교해서 성공 기준을 보통 잡는 것 같은데, 이것이 맞는 기준인지 잘 모르겠습니다. 처음에 지표를 설정한 다음 테스트를 하면서 목표를 수정해 나간다고 하는데 처음 지표를 세우는 게 가장 어려운 것 같습니다. 현실적으로 KPI를 세워야 할 때 어떤 값을 기준으로 하는 걸까요?저는 평균 수치를 신경쓰지 않는 편입니다. 왜냐하면 업계의 평균 수치도 서비스마다 살짝 달라서 실제로 다른 지표가 나오는 경우가 많거든요. 서비스의 특징에 따라 같은 업계도 지표가 다르게 나올 수 있어서 의미가 없습니다(예를 들어 우리가 경쟁사보다 높게 나온다고 해서 그게 좋은 것이냐?하면 좋을 수 있지만 우리가 경쟁사의 데이터를 계속 알 수 없습니다. 그래서 저희가 통제할 수 없는 영역이고, 우리가 통제할 수 있는 것은 우리의 제품에서 계속 지표를 올리는 것이지요)그럼 어떻게 하느냐? 관점에선 여러가지가 가능합니다아예 처음인 경우 : 일단 처음 기능을 배포하고, 1주일 정도 뒤 지표를 베이스라인으로 잡는다이 베이스라인을 기준으로 계속 지표를 올리자고 합니다성공의 기준은 과거의 제품 지표보다 올라가는 것. 이건 1%여도 좋고, 2%여도 좋은데 선택의 문제 같아요. 회사의 비전과 목표를 정하는 관점에서 정하고 그걸 위해 Action하는 것이 더 중요합니다비슷한 기능 배포가 있었던 경우과거의 그 기능의 초반 지표를 파악합니다. 다만 지표가 같은 지표여야 비교가 가능하겠죠(1번 문제를 생각해보셔요)이 초반 지표를 베이스라인으로 생각해서, 이 지표만큼만 하자!라는 생각을 합니다보통 신기능은 기존 기능보다 더 잘되기 바라기 때문에 이런 생각을 하고, 기존 기능이 막강한 경우에는 이 정도가 최대일 수 있겠구나? 정도로 생각합니다그리고 나서 페르미 추정을 합니다. 페르미 추정은 제가 인프콘 때 발표한 영상에 자세히 나와있어서 그 영상으로 대체할게요https://youtu.be/axZLFQjrFKM?si=LOF5q8iAnPR5OZue&t=1972그리고 대표님이나 PM이 목표를 그냥 찍는 경우도 있습니다. 물론 시뮬레이션을 어느정도 하겠지만, 우리가 얼마의 매출이 나와야 하므로(전사적인 목표) 우리의 목표는 이정도의 지표다!라고 하고 계속 나아가는 것도 방법입니다. 결국 해내는 것이 중요하니깐요 문제 자세하게 고민해주셔서 감사합니다!
- 0
- 2
- 49
Q&A
4-8.지표 정의 연습문제
안녕하세요. 문제 푸느라 고생하셨습니다! 이런 생각하는 과정이 재영님의 역량 향상에 도움이 될 거예요.보고 피드백을 드려볼게요1. 배너 영역, 메뉴 카테고리, 이런 음식 어때요, 동네 맛집 기능이 잘 동작하고 있는지 확인 하려면 어떤 지표를 확인 해야 할까요 ?이 부분을 조금 더 잘 정리를 해두면 좋을 것 같아요. 지금 생각의 흐름이 작성된 것 같고, 조금 더 정돈된 형태를 작성하는 연습을 해보면 어떨까 싶어요예를 들어잘 작동한다 -> 홈 화면에 들어왔을 때 배너를 많이 클릭한다.판단 지표-> 배너 CTR (배너를 클릭한 수 / 홈 화면에 들어온 수 ) 추가로 사용할 수 있는 지표가 있을까 ? -> 없음 (있다 하더라도 CTR 보다 직관적이지 못함) 지표 판단 기준 -> 배너 CTR 값 중에서 분모에 해당하는 홈 화면에 들어온 수가 충분하다는 가정 하에 "CTR값이 클 수록 배너가 잘 작동된다" 라고 판단할 수 있다. 위에 내용을 저라면 이렇게 바꿀 것 같아요문제 정의잘 작동한다 : 사람들이 많이 클릭한다(활용한다). 즉, 홈 화면에 들어왔을 때 배너 클릭으로 정의지표 정의Focus Metric : 배너 CTR(배너를 클릭한 수 / 홈 화면에 들어온 VIEW 수)지표 해석만약 배너 CTR이 특정 기준보다 높다면 좋다고 판단할 수 있음특정 기준을 설정하는 방법 : 처음엔 기대 수준을 정의하고, 실제로 배포된 후에 데이터를 일정 기간을 보고 수치를 수정하는 방법으로 진행추가적으로 CTR도 좋은 지표지만, CVR도 생각해봐도 좋을 것 같아요. 다만 배너의 특성상 결제까지 가지 않는 경우도 있다면 어떻게 해야할까요? 배너의 타입에 따라 다르게 봐야할까요?메뉴 카테고리, 이런 음식 어때요나 배너 영역도 사실상 같은 문제입니다. 같은 화면에서 나오는 개념이라, 같은 지표를 봐야 서로 판단을 할 수 있습니다예 : 사람들은 홈 화면으로 들어와서 배너 영역을 메뉴 카테고리보다 더 많이 클릭하더라. 이런 비교를 하기 위해서 같은 지표를 사용해야 합니다이런 음식 어때요에 나온 First CTR 같은 지표는 계산하는 것도 그렇지만, 해석이 어려울 수 있습니다이런 음식 어때요를 처음 클릭한 수에 대한 것도 조금 더 정확히 작성해주면 좋습니다. 유저의 이벤트 전체에서 처음 클릭한 시점인지, 접속한 날의 처음 클릭한 여부를 확인할 것인지?해석이 어려운 이유는 메뉴 카테고리와 비교를 하려고 하는데 지표 정의가 다르기 때문에(그걸 맞추는 과정이 피룡할테고) 그렇습니다동네 맛집 기능리텐션이란 기능은 유저가 앱을 얼마나 사용하는지를 의미합니다. 만약 리텐션이 긴 서비스라고 하면 말씀하신 지표는 상대적으로 낮게 나올 수 있고, 지표를 파악하기까지 오래 걸립니다(3달에 1번 접속하는 서비스라고 하면 지표를 보기까지 3달을 더 지켜봐야 다음에 들어온지 알 수 있겠죠?)그래서 리텐션이란 지표를 프러덕트 전체적으로 보거나, 1주 단위로 짧게 보려고 합니다. 1번의 답변을 여러 관점을 잘 해주셨는데, 문제의 핵심은 "간단한 지표로 여러가지에 적용할 수 있고, 그걸 어떻게 활용할지 고민하는 것"을 해보는 것입니다. 지표를 어떻게 해석할지 고민해보셔요. 잘 작동된다가 아니라, 실제로 그래프가 여러 케이스로 나오면 어떻게 해석해야 할까?도 고민해보셔요 2. 고객이 검색 기능에 만족했지 확인하려면 어떤 지표를 봐야 할까요 ?고객의 행동을 예상해보는 것 좋습니다!다만 만족했을 때 어떤 행동을 할지를 고민해보시는 것을 먼저 해보셔요불만족했을 때의 상황은 꽤 어렵습니다재검색을 처음 검색과 유사한 검색을 count한다고 하는데 유사하다는 것을 구체적으로 정의해야 합니다. 예를 들어 치킨, 양념 치킨은 유사어일까요? 치킨이 들어가니까 치킨이 들어간 것을 COUNT하죠! 라고 할 수 있는데, 그럼 피자나 베이컨 피자는 어떻게 해야할까요?치킨과 닭강정은 유사할까요?이걸 계산을 어떻게 해야할지까지 고려해야 해서 난이도가 있는 문제입니다(이걸 생각하다가 본질적인 것에 대해 생각을 놓칠 수 있어서, 처음엔 만족부터 생각하란 의미였어요)검색 창을 이탈했다는 것도 다양한데, 치킨을 검색했다가 => 홈으로 가서 => 결국 그 치킨을 시켰다면 이건 검색 창을 그 순간엔 나온 것은 맞지만 결국엔 영향을 미쳤다고 볼 수 있다고 주장하는 사람들이 있다면 어떻게 답변하시겠어요?검색이나 추천 같은 알고리즘은 알고리즘 관점에선 지표가 정의되어 있는 경우가 많습니다. 아래 글도 한번 살펴보셔요. 네이버 검색 사례무신사 사례3. 검색 필터 기능은 잘 사용되고 있을까요 ? 필터 기능의 활성화 지표를 정의하면 어떻게 할 수 있을까요?검색 필터의 이미지를 잘 보시면, 검색 필터에 여러 속성이 있습니다. 여러 속성들이 각각의 다른 의도를 의미하는데, 이 의도들에 부합하게 지표를 정의를 해보면 어떨까요? (단순하게 검색 필터 클릭 수가 아닌 그 안의 세부적인 기능에 집중해서) 4. 배달 서비스에서 가장 중요한 지표는 무엇일까요 ? 왜 그 지표가 중요할까요? 그것을 어떻게 늘리거나 줄일 수 있을까요 ?4번 문제에서 핵심은 비즈니스 모델을 생각해보고, 그 과정에서 지표를 결정하는 것입니다비슷한 서비스인 Doordash의 비즈니스 모델입니다https://www.appsrhino.com/blogs/how-doordash-works-business-model-and-revenue-model플랫폼 사업에서 제 경험상 수요를 담당할 사용자도 중요하지만, 공급도 중요합니다. 결국 음식점이 없거나, 배달하시는 분들이 없다면 고객이 원하는 음식을 받지 못하거든요.배달 서비스가 어려운 이유가 고객 / 음식점 / 배달 라이더. 3개의 이해관계자가 있는 서비스라서 그렇습니다그래서 조직도 각각을 케어하도록 만들곤 합니다작성해주신 지표는 DAU로 말씀해주셨는데, 전체 사용자 수 - 휴먼 계정 수라는 지표는 사용할지 고민되네요Active를 정의하고 하루 단위로 Active 이벤트를 발생한 사람들을 COUNT하면 됩니다전체 사용자에서 휴먼 계정 수라는 지표가 왜 고민되었냐면, 휴먼 계정이라는 것이 계속 바뀝니다. 1월 1일에 휴먼이였다가 1월 2일에 다시 들어오면? 그리고 1월 3일에는 안들어왔다면? 이 유저는 언제 포함이 되어야 할까요? 1월 3일에 하루 안들어온 것이 휴먼이진 않을 것 같거든요배달 서비스의 지표라고 했다면 그 서비스의 비즈니스 모델을 생각해서, 비즈니스 모델에서만 나올 수 있는 지표를 생각해보세요. DAU나 리텐션은 모든 서비스에서 적용할 수 있는 지표고 Output 지표입니다. 이런 질문에선 Input 지표를 생각하고, Output 지표와 어떻게 연결하는지를 알고 싶은 경우가 있습니다(면접에서도 종종 나오구요)연속적 주문에 대한 혜택을 부여하는 방식으로 관리하면 좋을 것 같다데이터 관련 내용에선 ~ 것 같다라는 내용은 피하는게 좋습니다. ~같다가 아니라 그걸 위한 근거를 추가적으로 제시하거나, 어떻게 데이터를 볼지까지는 작성해주세요. 왜 그러냐면, 실제로 아닐 수 있거든요. 그래서 생각만 하는 것이 아니라 실제 데이터까지 보는 것 혹은 실제 데이터를 구하는 과정까지 생각해보는 것이 필요합니다5. 추천 알고리즘의 성능을 확인하기 위해 어떤 지표를 파악해야 할까요 ? 왜 해당 지표일까요 ?말씀해주신 지표도 사용 가능하고, 추천 알고리즘의 지표들도 있어요. 아래 글을 참고해보셔요https://sungkee-book.tistory.com/116. 여러분들이 자주 사용하는 서비스에서 제일 중요한 지표는 무엇일까요? 왜 해당 지표가 제일 중요할까요 ?비즈니스 모델을 고려해서 다시 생각해볼까요?문제에 정답은 없지만, CTR도 중요하지만 그 CTR을 늘리기 위해선 VIEW가 많아야 합니다. 그 VIEW가 많으려면 어떤 현상이 있어야 할까요?조금 더 Input 지표를 생각해보셔요 7. 퍼널 개선 프로젝트전환율의 정의가 명확하게 나와있지 않네요. 어떤 전환율일까요? 문제 푸느라 고생하셨습니다! 보시고 자신만의 기준을 세워보셔요
- 0
- 3
- 51
Q&A
퍼널의 개념을 제조업에도 대입 가능할까요?
안녕하세요. 퍼널을 더 추상화해서 생각하면, 목표로 가기 위한 과정을 하나의 퍼널로 정의합니다.이런 관점에선 어떤 분야에서도 적용할 수 있습니다.제조업에서도 어떤 목적이냐에 따라 퍼널 정의가 다르겠지만, 생산 공정이라고 할 땐 이렇게 생각할 수 있지요. 이는 식스시그마에서도 나오는 개념과 유사합니다.원자재 투입 (Raw Material Input) : 총 원자재가 얼마나 들어왔고, 만든 것이 얼마나 되나부품 생산/조달 (Component Production/Procurement) : 여러 부품 라인이 있을거고, 그 중에 합쳐진 비율조립 (Assembly)품질 검사 (Quality Control)포장 (Packaging)출하 (Shipping) 이렇게 각 프로세스에서 다음 프로세스까지를 생산 과정의 퍼널로 볼 수 있습니다. 그럼 각 과정에서 생산량이 어떻게 되는지 파악해볼 수 있습니다. 잘못된 부품이 생기는 양이 얼마나 되는지 보고 어떻게 개선해야 하나 생각할 수 있지요 생각하신 제조업 측면이 어떤 관점인가요? 그 정의에 따라 다양할 것 같네요. 제조업에서도 데이터만 잘 확보가 된다면 가능합니다. 요즘은 채용 직무에서도 퍼널 내용을 적용하곤 해요(지원자 탐색 과정부터 지원, 합격 등의 퍼널)
- 0
- 2
- 39
Q&A
4-8.지표 정의 연습문제
재영님 안녕하세요. 답변이 늦어지고 있어서 먼저 답변해보아요. 제가 이번 주 내로 피드백 드릴게요 🙏
- 0
- 3
- 51
Q&A
JOIN 1번 문제
종호님 안녕하세요. 일단 저는 강의에서 WHERE 절에 status의 조건을 걸었고, 그 데이터를 가지고 집계를 했습니다. 종호님은 COUNTIF를 사용하셨네요. 그래서 결과가 다를 수 밖에 없습니다. 지금 해당 서브쿼리는 status가 Active, Training이 아닌 것들도 포함되어 있을겁니다. 그래서 JOIN할 때 더 많은 데이터가 JOIN되겠지요. 제 서브쿼리와 종호님의 서브쿼리를 둘 다 실행해서 무슨 차이가 있는지 보시면 이해하실 수 있을 것 같아요. 두개의 차이를 살펴보셔요
- 0
- 1
- 21
Q&A
Mysql과 빅쿼리
안녕하세요. SQL 코딩 테스트 플랫폼에선 MySQL나 PostgreSQL을 많이 사용합니다. 그 이유는 두개는 오픈소스로 사용할 수 있어서, 코딩 테스트 플랫폼에서 구현하기 수월하기 때문이에요. 빅쿼리를 사용하려면 빅쿼리 클라이언트를 만들어야 해서 회사 입장에선 선택하진 않을 것 같네요.테스트는 보통 MySQL, PostgreSQL을 사용하지만, 기본적으로 SQL 문법은 거의 다 비슷합니다. 강의에서도 말씀드리는데, 시간 함수가 SQL마다 다르고, 데이터의 타입 변환도 다릅니다. 이것을 제외하곤 큰 컨셉은 거의 다 비슷합니다. 그래서 어떤 것으로 학습하셔도 상관없다고 생각하고, 입사하신 회사에서 사용하는 DB에 맞게 회사에서 적용하시면 될 것 같아요.
- 0
- 2
- 20
Q&A
1-9. [자습] PIVOT 테이블 생성하기
안녕하세요! 쿼리 잘 작성해주셨네요!이 기세를 모아 다른 부분도 학습해보셔요. 만약 시간이 남으시면 PIVOT 하는 다른 방법도 있는데, 이 방법도 한번 학습해보시는 것도 추천드려요https://zzsza.github.io/gcp/2021/05/16/bigquery-pivot/
- 0
- 2
- 37
Q&A
4-8. 지표 정의 연습 문제
Yooooo님 안녕하세요. 문제 푸느라 고생하셨어요! 처음엔 시간이 오래 걸리는 것이 당연하고, 이게 맞나?라는 생각이 드는 것도 지극히 당연합니다. 이런 과정을 실제로 경험한 것이 중요하지요. 하나씩 피드백을 드려볼게요문제 1번CTR, CVR 모두 다 잘 작성해주셨네요.여러 요소들의 CTR, CVR이 다양하게 나올 수 있는데 그 때 적절한 의사 결정을 하는 것이 필요합니다. 지표와 함께 Action까지 고려하는 것이지요CVR 분자를 상세 페이지로 할지, 완료 페이지로 할지에 대해서CVR은 보통 명시적인 전환 이벤트를 잡습니다. "결제 완료"를 한 경우를 의미하지요. 결제 완료 이벤트를 별도로 만드는 경우도 있고, 결제 완료 페이지에 노출될 때를 사용하는 경우도 있습니다. 그러나 앱의 로직 상 결제 완료 페이지에 여러번 접근이 가능하다고 하면 이 지표는 이상해질 수 있지요. 그래서 명시적인 이벤트를 사용하기도 합니다가게 상세 페이지로 하는 것은 클릭율이 될 것 같아요무엇을 먼저 봐야할지는 상황에 따라 다릅니다. 둘 다 보면서 회사에서 궁극적으로 지향하려는 지표가 무엇인지에 따라 결정하곤 합니다. 결제 전환율이 궁극적으로 필요한 지표지만 결제까지 가는 퍼널이 꽤 많습니다. 그래서 결제 전환율은 보통 지표가 낮게 구성됩니다(비즈니스마다 다르지만 10% 이하) 그 때 빠른 의사결정을 위해 CTR을 보는 경우도 있습니다. 절대적인 법칙이 있지 않다라는 것이 핵심이고 목적에 따라 달라진다고 생각하시면 될 것 같네요Q2. 분자를 사용자수로 잡은 경우만약 지표에 대해 익숙하지 않은 상황이라면 분자와 분모를 동일한 기준으로 보는 것을 추천합니다. 사용자 수로 본다는 것은 중복을 제외해서 본다는 것을 의미하거든요. 지표를 정의할 때 사용자수를 기반으로 할지 혹은 페이지뷰로 사용해야 할지 고민하고 결정하면 됩니다. 이것도 목적에 따라 다릅니다매출이나 거래량 측정은 보통 이벤트 수, 페이지뷰 수로 많이 하곤 합니다사용자 수를 분자로 사용할 경우고유 사용자의 행동 패턴을 이해하는 데 유용합니다.한 사용자가 여러 번 전환하는 행동을 중복 계산하지 않습니다. 이벤트 수(페이지뷰 또는 완료 이벤트)를 분자로 사용할 경우총 거래량이나 상호작용 볼륨을 측정하는 데 유용합니다.한 사용자가 여러 번 전환하는 경우를 모두 포함합니다. 문제 2번검색 기능의 경우도 CVR, CTR을 사용할 수 있고, 검색 기능 지표를 측정하는 기준이 이미 있을 수 있습니다. 알고리즘이나 특정 기능은 정해진 지표가 있나? 검색하는 것을 추천드려요무신사의 글이 잘 정리되어 있어서 글을 공유드려요https://medium.com/musinsa-tech/map-416b5f143943 문제 3번필터 버튼 클릭률로 해주셨는데 필터가 여러 종류가 있다면 어떻게 정의해야 할까요?여러 필터 옵션이 있다면 어떻게 의사결정을 해야할까요? 문제 4번4번 잘 고민해주셨네요! 증대 방안에서 쿠폰 프로모션 제공이라고 해주셨는데, 왜 쿠폰을 제공해야 할까요? 쿠폰을 제공하면 우리의 수익성이 줄어들지 않을까요? (매출 관점에서)주문 프로세스 단계 간소화에서 구체적으로 한번 더 나아가면 좋을 것 같아요. 어떤 것들을 먼저 살펴보실 것 같나요?(데이터는 없지만 한번 생각해보면 좋을 것 같아요) 문제 5번검색 문제와 유사하게 추천 알고리즘도 정해진 기준이 있어요. 말씀해주신 CTR도 많이 사용하고, 아래 글에 나온 기준도 알고 계시면 도움이 될 것 같아요https://sungkee-book.tistory.com/11 문제 6번인스타그램의 핵심 지표로 재방문율을 말씀해주셨는데, 정의는 어떻게 해야할까요? 지표에서는 항상 정의가 중요합니다. 주차별 재방문인지 월별인지 등도 같이 포함되어야 해요그리고 재방문율 지표라는 것은 모든 서비스에서 사용할 수 있는 지표지만, Output 지표로 볼 수 있습니다. Output 지표가 아닌 인스타그램의 기능이나 본질적인 목표에 기반해서 지표를 생각하면 무엇일까요?(그 서비스의 특징이 반영된 지표를 선택하시는 것이 좀 더 input 지표가 될 가능성이 높아요)이건 추후에 메트릭 하이라키 파트를 보시면 더 이해가 되실 것 같아요 문제 7번말씀해주신 지표를 보면 될 것 같고, 그걸 실행하는 과정에서 실험(AB Test)를 진행하면 된답니다. 실험 파트를 공부하신 후에 다시 보시면 어떻게 해야할지 감이 오실 것 같아요 문제 푸느라 고생하셨어요!! 🙂
- 0
- 2
- 119
Q&A
3-7. 리텐션 쿼리 작성 및 질문(Weekly, Montly)
안녕하세요! 쿼리 잘 작성해주셨네요! 지금 현상에 대해 설명해드릴게요.BigQuery는 ;을 기준으로 쿼리 블록을 나눕니다. ;가 쓰이면 새로운 쿼리가 시작된다는 의미입니다. 그래서 위 쿼리 블록에서 정의한 CTE 표현을 ; 이후에 있는 아래 쿼리에서(월별 리텐션) 참고하지 못하는 것입니다. 위클리를 주석처리하면 실행되는 이유는 WITH문과 Monthly Retention을 하나의 쿼리 블록으로 보는거고, 그래서 참조를 할 수 있게 됩니다. 쓰신다면 CTE로 리텐션을 2개 정의하고, 마지막 SELECT 구문에서 필요한 CTE를 명시해서 쓸 것 같네요
- 0
- 2
- 33
Q&A
1-9 PIVOT문제 풀기
준혁님 안녕하세요! 쿼리 작성하느라 고생하셨습니다! 큰 틀은 잘 하고 계셔요. 하나씩 답변드릴게요 1. WITH 문 질문.WITH 문 관련해서는 초보자를 위한 BigQuery(SQL) 입문 강의의 6-3 파트를 보시면 이해가 되실 것 같아요협업하는 관점에서, 가독성이 좋지 않은 쿼리보단 가독성이 좋은 쿼리가 다른 사람들과 협업하기에 수월합니다 현업에서 일을 하다보면 중간 값을 수정해야 하는 경우가 있는데, WITH 문으로 논리적인 흐름을 나누었다면 다시 수정이 쉽습니다. 다만 모든 쿼리에 다 넣어두면 어려울 수 있죠현업에서는 보통 100줄이 넘는 쿼리를 작성해서 특히 더 심해집니다. 과거의 내가 짠 쿼리도 미래에 까먹는 경우가 생기더라구요. 그래서 처음부터 습관을 잘 들이는 것을 추천하고 있어요그러나 이 쿼리가 틀리냐?하면 결과가 맞다면 틀린 쿼리는 아니라 생각해요. 방식이 다른 쿼리지요. 저는 가독성도 고려하는 쿼리가 좋은 쿼리라 생각해서 WITH를 자주 활용하고 있어요CASE WHEN에서 CASE랑 WHEN이 같은 선상에 있는데 저라면 CASE랑 WHEN을 구분할 것 같아요. 이건 초보자를 위한 BigQuery 입문 6-2에 스타일 가이드를 참고하시면 좋을 것 같아요CASE WHEN ~ WHEN ~ ELSE END 2. PIVOT 문제일단 WITH에서 아래에 SELECT가 바로 붙어서 나오는데 저는 탭 한번 칠 것 같아요WITH base AS ( SELECT .. FROM .. )아래 쿼리도 탭을 적절히 사용해서 가독성을 높일 것 같아요SELECT * EXCEPT(event_name,firebase_screen,event_timestamp), CONCAT(event_name,'-',firebase_screen) AS event_name_with_screen, DATETIME(TIMESTAMP_MICROS(event_timestamp),'Asia/Seoul')AS event_datetime FROM base WHERE event_name IN ('screen_view','click_payment')쿼리를 보니까 IF문에 괄호 위치가 잘못되어 있어요IF(event_name_with_screen='screen_view-welcome', cnt) 이런 형태로 되어야 합니다. 지금은 cnt 전에 괄호가 닫혀있어요그리고 fliter_event_and_concat_evnet_and_screen 에 cnt가 없는데 cnt를 SUM하고 계시네요. 중간 집계를 하시려는 의도일까요?일단 피벗 쿼리는 쿼리 실행이 안되어서 실행되는 형태로 만들어 보는 것이 먼저일 것 같네요
- 0
- 2
- 48