묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
6-7 로그설계하기 연습문제 제출/ 피드백 요청
#1. 기능이 잘 동작하고 있는지 확인하려면? 해당 앱이 WEBVIEW이고, GTM 코드를 삽입하여 적재하는 전제조건하에 진행(가정). 1) 지표 정의 : event 기준contents_click / contents_imp AS contents_ctr 선호도 파라미터를 기반으로 클릭된 콘텐츠와 매칭 비교 분석을 통해 분석 고도화 가능. 2) 분석 시 사용자(user_pseudo_id)기준 위 지표에 노출 대비 클릭률 즉, 고관여 콘텐츠가 어떤게 있고 저관여가 어떤게 있는지 확인하여 개선한다. 3) 이벤트 텍소노미 -> 3-1) contents_click 이벤트, 트리거 타이밍: 사용자가 해당 콤포넌트 클릭시 CSS 요소를 기준으로 이벤트가 발생하도록 설정(button or link) ga4로 태깅한다고 가정하고 gtm을 사용해서 요소나 클래스 기준으로 설정, 이벤트 파라미터 1. contents_location : 각 영역 별로 구분이 필요하므로 해당 파라미터를 통해 각 영역을 지정해준다 ex. banner, food_category etc. * css를 이용해서 타이틀값을 뽑아오도록 코드 적용2. contents : html에 text나 alt값을 가져온다. 이 경우 사용자가 클릭한 구체적인 string 값을 확인 가능 ex. 한식, 고기, 구운연어 등 * bold값이 있는 경우 세부 텍스트 보다 굵은 텍스트 값을 if 코드를 태워 저장. 3. genre_matched : 0이나 1로 저장하며 0의 경우 사용3-2) contents_imp 이벤트- 지정된 콘텐츠 픽셀이 노출된 경우 이벤트 트리거 발동 이벤트 파라미터contents_location, genre_matched 파라미터는 동일하게 적용4)유저프로퍼티-> 해당 정보는 사용자 DOM 최초 진입시 ga4_dataset.user 하위에 key-value형태로 값을 가지고 있고, 해당 값을 gtm에서 js로 파싱해서 사용. 최초값은 null로 초기화하고 기존 데이터가 있는 경우 load. 1. u_preference: 비로그인/사용자 모두 포함해서 최초 애플리케이션 사용시 입력하는 선호도 값을 적재. 일식, 중식, 양식, 한식, 패스트푸드, 없음(해당 서베이를 하지않고 저장한 경우) 우선순위(1순위,2순위,3순위) 별로 최대 3개 저장 가능 구분자는 '|' ex. 패스트푸드|중식|한식 #2. 검색 만족 지표 1) 지표 정의 : event 기준search_contents_click / search_comp2) 분석 시 세션 기준, concat(user_pseudo_id+ga_session_id)해당 지표를 세션 기준으로 파악 즉, 목적은 사용자가 방문 기준으로 검색을 최소화 하면서 바로 검색결과 콘텐츠를 클릭하여 상품상세로 넘어가는지 파악하기 위함. 예를 들어 지표의 값이 1이 가까울 경우 검색결과에 만족하여 상품상세로 연결된다고 볼 수 있고, 0에 가까울 수록 검색을 반복하여 원하는 콘텐츠를 찾는데 노력했다고 볼 수 있으므로 데이터를 기반으로 기능 개선이 필요하다고 판단 가능하다. 3) 이벤트 텍소노미 -> 3-1) search_comp 이벤트트리거 타이밍: 사용자가 검색 완료 시점에 개발자에게 요청하여 dataLayer.push 매소드로 custom 이벤트를 event: " search_contents_click"으로 데이터를 받고 이걸 GTM에서 트리거 시점으로 설정하여 이벤트 발생 , 이벤트 파라미터 1. search_num : 세션 내 검색 완료 누적 횟수 ex. 1, 10 etc. 2. search_list_item : 검색 완료시 상품 카드 수 ex. 1, 10, 15 etc. 3-2) search_contents_click 이벤트트리거 타이밍: 검색 결과 페이지에서 사용자가 제품 카드를 클릭시 요소기준으로 이벤트가 발생하도록 조건 설정. , 이벤트 파라미터1. contents_location : 각 영역 별로 구분이 필요하므로 해당 파라미터를 통해 각 영역을 지정해준다 ex. banner, food_category etc. * css를 이용해서 타이틀값을 뽑아오도록 코드 적용2. contents : html에 text나 alt값을 가져온다. 이 경우 사용자가 클릭한 구체적인 string 값을 확인 가능 ex. 한식, 고기, 구운연어 등 * bold값이 있는 경우 세부 텍스트 보다 굵은 텍스트 값을 if 코드를 태워 저장. 3. genre_matched : 0이나 1로 저장하며 0의 경우 사용#3. 검색 필터 기능의 활성화 지표 1) 지표 정의 : event 기준search_filter_click / search_comp2) 분석 시 세션 기준, concat(user_pseudo_id+ga_session_id)여기서 분석 지표 포인트는 방문 내에서 검색 완료 대비 얼마나 많은 필터 요소를 클릭 하였는지? 그리고 어떤 기능들을 많이 적용하였는지(현재 기준에서는 remove_filter는 미적용) 확인하여 쌓인 데이터를 기반으로 사용자의 편의성을 개선. 3) 이벤트 텍소노미 -> 3-1) search_filter_click 이벤트트리거 타이밍: 사용자가 검색결과 페이지에서 필터박스 영역 내 요소를 클릭시 이벤트를 발생함 , 이벤트 파라미터1. search_filter_option {카테고리}_{element값} 형태로 저장. 예를 들어 최상위 카테고리가 "가격"이고 하위 필터에 최저가를 선택시 구분자는 "|"를 넣고 가격|최저가 형태 string 값을 저장. 해당 값은 프론트 html값은 css로 파싱해서 사용. 필터가 고도화되어있는 경우 파라미터를 쪼개서 저장하게되면 ga4 360이 아닌 이상 파라미터 낭비가 심하므로 일단 파이프를 넣어 계층구조로 수집하고 필요시 BQ에서 split해서 필요한 값을 사용. ** 추가 질문: 안녕하세요 카일님 저는 ga4 tech 컨설턴트로 N년차 근무하였고 현재는 DA나 BA로 전직을 시도하고 있습니다. 아무래도 이런 이벤트 텍소노미나 KPI설계는 제 강점이라고 느껴지나, 실제 서비스 오너쉽을 가지고 개선하거나 분석한 케이스가 없다보니 인하우스 서류에서 대부분 컷이 되거나 면접에서도 이 부분 관련 공격이 많이 들어오는데 조언을 받을 수 있을지 요청드립니다. 이런 부분을 상쇄하기 위해 AI 빅데이터 공학석사를 직장과 병행하여 받았지만 어떻게 어필하면 좋을지 방향성이 필요한 상태입니다. GA4, BQ, GTM 모두 사용하고, 개발자 경험은 없지만 CS 백그라운드도 어느정도 존재합니다.
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
4-8. 지표 정의하기 연습문제
안녕하세요! 지표 정의하기 연습문제를 풀어봤습니다. 피드백해주시면 학습을 이어가는 데 도움이 될 것 같습니다 😀 #1. 기능이 잘 동작하고 있는지 확인하려면 배너 영역1) 목적 정의: 배너 영역을 통해 사용자가 배너의 상세 페이지로 유입되는가?2) 지표 정의: 배너아이템별 클릭률(CTR) = 배너아이템별 클릭수 / 홈 화면 조회수3) 멘탈 시뮬레이션CTR ⬆: 사용자의 흥미를 끌어 배너 클릭을 유도했다는 가설이 검증되므로 '배너 상세 페이지'의 목적을 달성하는지(a. 쿠폰 다운로드 b. 매장상세페이지 조회 c. 추천 상품 구매 등)를 파악하기 위한 이후 액션을 결정 → 예상 지표: 배너의 목표 액션 전환율(CVR) = 배너페이지 내 a or b or c 액션 수/배너 클릭수CTR ⬇: 사용자가 배너 영역에 대한 충분한 유인을 얻지 못했다고 판단하고 UX/UI 혹은 컨텐츠를 개선할 방안을 찾는 액션을 결정UX/UI: 배너의 개수, 배너의 크기, 배너당 지속 시간컨텐츠: 카피라이팅, 이미지 퀄리티 메뉴 카테고리1) 목적 정의: 메뉴 카테고리를 통해 사용자가 상품 목록 페이지로 유입되는가?2) 지표 정의Main: 메뉴카테고리별 클릭률(CTR) = 메뉴카테고리별 클릭수 / 홈 화면 조회수Sub: 메뉴 상품 목록 페이지 체류시간(Duration Time)3) 멘탈 시뮬레이션CTR ⬆, Duration Time 5초 미만: 메뉴 카테고리에 대해 기대하는 상품 목록이 아닐 경우 체류시간이 많이 짧을 수 있으므로 이후 메뉴 분류 변경과 같은 액션 결정CTR ⬇: 상품 사용자가 메뉴 아이템을 클릭할 유인이 부족했으므로 배너와 마찬가지로 UX/UI 측면을 고려하거나, 특정 메뉴의 클릭률만 낮다면 해당 메뉴의 사용자 세그먼트별 클릭률, 시간별 클릭률을 파악하여 유지 여부 결정 이런 음식 어때요1) 목적 정의: 이런 음식 어때요 영역을 사용하여 사용자가 상품 상세 페이지로 유입되는가?2) 지표 정의: 이런 음식 어때요 상품 클릭률(CTR) = 이런 음식 어때요 상품 클릭수 / 홈 화면 조회수3) 멘탈 시뮬레이션CTR ⬆: 사용자가 추천을 통해 상품 상세 페이지 조회까지 유도했다는 가설이 검증되므로 상품 주문 전환율을 분석해 이후 액션을 결정 → 지표: 상품 주문 전환율(CVR) = 이런 음식 어때요로 진입한 사용자의 상품 주문수 / 이런 음식 어때요 상품 클릭수CTR ⬇: 추천 기능의 성능 문제인지 판단하기 위해 가로 스크롤 이벤트를 발생시킨 사용자의 클릭 전환율(CVR)과 발생시키지 않은 사용자의 클릭 전환율(CVR)을 분석 → 1. 스크롤 이벤트를 발생시키지 않았는데 클릭 전환율이 높다면 상위 추천 항목 노출 성능이 유효하다고 판단 → 2. 스크롤 이벤트를 발생시켰는데 클릭 전환율이 낮다면 추천 성능이 유효하지 않다고 판단 동네 맛집1) 목적 정의: 동네 맛집 영역을 통해 사용자가 매장의 상세 페이지로 유입되는가?2) 지표 정의: 매장 카드 클릭률(CTR) = 매장 카드 클릭수 / 홈 화면 조회수3) 멘탈 시뮬레이션CTR ⬆: 이런 음식 어때요 기능과 유사하게 상품 주문 전환율을 고려하여 다른 조건과의 비교를 통한 후속 액션 도출 (검색을 통한, 메뉴를 통한, 배너를 통한, 이런 음식 어때요를 통한 CVR과 비교) → 지표: 상품 주문 전환율(CVR)= 동네 맛집으로 진입한 사용자의 상품 주문수 / 동네 맛집 카드 클릭수CTR ⬇: 내용 측면에서 동네의 범위가 적절한지, UX/UI의 측면에서 불편함이 있는지 검증하는 후속 액션 수행 #2. 검색 만족도 지표1) 문제 정의: 검색 기능을 통해 선호도가 높은 상품을 발견할 수 있는가?2) 지표 정의: 스크롤 깊이별 클릭률(CTR) = 최종 스크롤 깊이가 얕을수록 가중치 * 클릭수 / 검색 결과 페이지 조회수만족도를 정의하기 위해 반대로 검색에 불만족해 문제의식을 가지는 경우, 상세페이지를 조회할 정도로 관심이 있는 상품을 발견하기까지 스크롤을 많이 하거나 시간이 몇 분이상 소요되는 경우를 떠올릴 수 있습니다.좋은 상품이 많아 어떤 것을 클릭할지 고민하는 시간이 길 수 있기 때문에 체류시간은 비례하기 어렵지만 스크롤 깊이가 깊다면 상단에 원하는 검색 결과가 노출되지 않았다고 유추할 수 있기 때문에 더 실험효과가 좋은 지표라고 생각합니다.3) 멘탈 시뮬레이션CTR ⬇: 사용자별 개인 구매 데이터를 통한 알고리즘 고도화 #3. 검색 필터 기능의 활성화 지표1) 문제 정의: 사용자는 검색 필터 기능을 적극적으로 활용해 원하는 결과를 조회하는가?2) 활성화 지표 정의메인 지표: 검색 필터 기준별 클릭률(CTR) = 기준별 검색 필터 내 '적용하기' 버튼을 클릭한 사용자 수 / 검색하기 액션을 한 사용자수서브 지표: 검색 필터 기준별 검색결과 조회 전환율(CVR) = 검색 결과 가게 클릭수 / 검색 필터 적용수메인 지표로 검색 필터가 얼마나 '많이' 사용되고 있는지, 서브 지표로 검색 필터가 '잘' 사용되고 있는지 판단합니다.3) 멘탈 시뮬레이션CTR⬆ CVR⬇: 검색 필터 자체의 사용률은 높으나 검색 필터의 결과가 사용자의 마음에 들지 않는다는 판단을 할 수 있다. 기준별로 검색 필터가 적용된 결과 데이터의 적합성을 판단해 데이터 라벨링 및 정렬 가중치 등을 개선한다.CTR⬇ CVR⬆: 검색 필터의 UI를 변경해야 할 수 있다. 검색 필터 내 UI별 클릭률을 통해 후속 액션을 결정한다. 너무 작거나 다른 버튼과 차별화되지 않아 사용자의 눈에 띄지 않거나 '적용하기'를 누르기까지 필터 내부의 사용자 동선을 개선한다. #4. 배달 서비스에서 가장 중요한 지표1) 목적 정의비즈니스 관점: 소비자의 주문건을 증가시켜 매출을 증대시킬 수 있을까?이유) 배달 서비스의 Revenue Stream은 광고 수익, 배달 대행 수수료, 결제 수수료이므로 결제건을 증가시켜야 광고, 결제 수수료를 통한 수수료를 증대시킬 수 있다.사용자(가게, 판매자) 관점: 소비자의 주문건을 증가시켜 플랫폼을 통해 얻는 주문 매출을 증대시킬 수 있을까?2) 지표 정의메인지표: 기간별 주문건수서브지표: 기간별 주문전환율(CVR) = 총 주문 수 / 서비스 총 방문자 수이유) 배달 서비스 플랫폼과 판매자 모두에게 필요한 소비자의 최종 행동은 '주문'이기 때문이다.3) 멘탈 시뮬레이션: 어떻게 하면 기간별 주문건수를 증가시킬 수 있을까?서비스 사용성 관점: 주문에 이르기까지 활성화, 리텐션 퍼널별 전환율을 증가시킨다.마케팅 관점: 최초의 퍼널인 유입을 증가시킨다. #5. 추천 알고리즘의 성능 지표1) 문제 정의: 알고리즘이 순위기반으로 추천한 상품에 만족할까?2) 지표 정의: MAP사용자가 원하는 아이템을 얼마나 상위권에 올려 놓는지 평가: 1000개의 추천리스트에 사용자가 원하는 상품이 있는 것과 10개의 추천리스트에 사용자가 원하는 상품이 있는 것은 확연히 다르다. 따라서 추천시스템에서는 precision과 recall을 precision@k, recall@k와 같이 상위 k개의 추천에 대한 평가지표로 표현한다.precision@k = K 개 내의 추천 항목 중 유관 항목의 수 / K 개 내의 추천 항목 수예측한 것중에 정답의 비율recall@k = (K 개 내의 추천 항목 중 유관 항목의 수) / (전체 유관 항목 수)찾아야 할 것중에 실제로 찾은 비율추천리스트 내의 rank에 따른 평가: K개의 추천리스트에서 순위도 중요하다. 사용자가 원하는 상품을 첫 번째로 보여 주는 것이 10 번째로 보여 주는 것보다 좋은 평가를 받아야 한다.→MAP(Mean Average Precision): precision@k에서 k를 점점 늘려가며 얻게되는 precision score를 평균내고 User별 전체 평균을 낸다 6. 자주 사용하는 서비스 'Duolingo'의 지표1) 문제 정의: 더 많은 사용자가 서비스에 만족하여 구독 서비스에 가입할 수 있을까?듀오링고는 수익의 70%를 '슈퍼 듀오링고'라는 서비스 구독료로부터 얻는다. 이미 활성사용자를 충분히 확보한 상태에서 플랫폼 입장에서 현재 가장 중요한 문제는 더 많은 구독자를 만드는 일일 것이다.2) 지표 정의메인 지표: 구독 서비스 결제 전환율(CVR) = 구독서비스 결제 수 / 서비스 방문자 수그 외 지표: 연속 학습 리텐션, 이탈율활성사용자수를 유지하지 위해 사용자가 결제까지 도달하지 않고 이탈하는 이유를 판단하거나 지속적으로 연속 학습을 이어갈 수 있는 유인을 마련하기 위한 보조 지표를 측정한다. 7. 퍼널 개선 프로젝트1) 문제 정의: 가입 퍼널에 온보딩을 진행함으로서 가입자를 증가시킬 수 있을까?2) 지표 정의:가입 전환율(CVR) = 회원가입 수 / 온보딩 진행 완료 수일별 리텐션: 온보딩 과정 삽입 이전 대비 삽입 이후, 회원가입 완료자의 일별 서비스 유지율이유) 온보딩을 진행함으로써 1. 회원가입까지 완료하여 서비스를 이용하고 싶어지는지, 2. 실제로 서비스의 가치가 홍보되어 회원가입 이후 서비스 이용이 지속되는지 두 가지 가설을 확인해 기대효과가 충족되는지 확인한다.
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
protected 접근 제어자 간단한 질문 및 코드 작성 방식?
안녕하세요, 다름이 아니라 제가 퀴즈 #7, 퀴즈 #8, 섹션 8. 접근 제어자 (전반전 및 후반전) 강의를 듣고, 궁금한 것이 생겨서 이렇게 글을 남깁니다.(1) 접근 제어자랑 관련된 간단한 질문입니다. 제가 올바르게 이해하고 있는지 한 번 확인해보고 싶습니다. 제가 강의를 들었을 땐, protected 예약어는 같은 패키지에서도 사용 가능하고, 다른 패키지에서 사용하고 싶을 땐, 자식 클래스에서 써야하는 걸로 이해했는데, 이 '같은 패키지'라는 말은 패키지 뿐만 아니라 (아마 당연하겠지만) '같은 클래스 안에서도 사용 가능하다'는 것도 내포하는 건가요?(2) 코드 작성 방식에 관한 질문입니다. 퀴즈 #7 강의를 듣기 이전에 제 스스로 코드를 아래와 같이 적고 결과도 강의에서 제시한 바와 같이 똑같이 만들었습니다:그런데 선생님의 코드를 보니 한 클래스 내에서 여러 개의 생성자를 만들 수 있다는 것을 이용해서 아래 사진처럼 생성자 2개를 하나는 this()로, 하나는 String name 전달 값을 포함하는 public 생성자를 만들어서 이름을 지으셨는데, 혹시 이렇게 코드를 적는 방식의 차이가 있을까요? 또한 이름을 지을 때 그대로 this,name = "햄버거"; 또는 super,name = "치즈버거"; 이렇게 작성해도 상관없는 건가요? (중간에 반점은 점(.)을 넣게되면 글 안에서 하이퍼링크가 자동 생성되어 불가피하게 반점을 넣었습니다. 양해 부탁바랍니다.)3. 마찬가지로 코드 작성 방식에 관한 질문입니다. 퀴즈 #8 강의를 듣기 이전에 제 스스로 코드를 적고, 결과도 강의에서 제시한 바와 같이 똑같이 만들었습니다:다만 한 가지 다른 것은 저는 사진처럼 this.AccidentDetector = AccidentDetector;로 직접적으로 접근하는 방향으로 해서 코드를 썼고, 이 이후에는 this.detector.detect();나 this.reporter.report();를 이용한 것이 아닌 AccidentDetector.detect();와 VideoReporter.report();로 작성하여 코드를 완성했습니다. (비록 사진에는 나와있지 않지만...ㅎ) 이러한 경우에도 상관 없는 건가요?지난 번에 제 글에 달린 답변은 정말로 자세해서 많이 도움이 되었습니다. 항상 감사합니다.
-
미해결인공지능 기초수학
chapter7-2 함수 연습 문제 풀이에 관하여
안녕하세요.chapter7-2 강의에서 나오는 함수의 연속 연습문제의 풀이 과정과 정답이 [모두의 인공지능 기초 수학] 책 108페이지에 나오는 같은 문제의 풀이과정과 정답과 다릅니다.강사님의 신속한 답변 바랍니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
연습문제(달팽이) 21분:59초 질문
int nextX = x+ dx[dir];로 선언해주셨는데, 만약에 cin >> N 값에 3을 입력하면 dir이 Right의 방향을 가리키고 있다가 down으로 nextX=3이 되면 방향이 전환된 후 int nextX = x+ dx[dir];을 거치면 nextX 가 2값을 갖게 되는 데 왜 그런지 잘 모르겠습니다..
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
팩토리얼
강사님 팩토리얼 순서가 어떻게 처리되는지 이해가 안 됩니다 ㅠㅠ 왜 그 값이 나왔는지 몇 줄부터 이해를 해야 하는지
-
미해결쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
첨부파일 확인 부탁드립니다.
첨부파일 관련 문의 드립니다. 첨부된 파일이 강의해 주시는 내용의 연습문제와 다른 거 같습니다. 확인을 부탁드립니다. 감사합니다.
-
미해결유니티(Unity)로 시작하는 게임개발: Part 2. C# 프로그래밍 입문
연습문제파일
강의 항상 잘보고 있습니다. 강사님 강의를 보다보면 연습문제 모아논 파일들이 있는데 혹시 연습문제 모음집이 따로 있나요?? 찾을수가 없네요..
-
미해결홍정모의 따라하며 배우는 C++
연습문제 질문하겠습니다
안녕하세요! 강의 너무 잘듣고있습니다. 질높은 강의에 매우 만족하고 감사하게생각하고있습니다. 궁금한점이 하나있는데 가끔 강의 끝나실때 연습문제를 많이 풀어보는게 좋다고하시는데 따로 홍정모 교수님의 사이트나 책이있나요?