본문 바로가기
추천시스템

[빵그리의 오븐 추천 시스템 구축기]2.메인 홈화면 상품 추천을 위한 테스트 설계 과정

by thrcle 2024. 11. 10.

안녕하세요. 오니입니다 🙌

이번 포스팅에서는 메인 홈 화면에서 상품 추천 구축기:유저데이터 모집 및 테스트 설계 과정에 대해 공유하고자 합니다.


테스트 목적 및 설계

우선 이전 포스팅에서 언급하였듯,

 

[빵그리의 오븐 추천 시스템 구축기]1. 도전의 시작과 어려움 (feat. 유저 데이터 부족)

안녕하세요. 오니입니다.👋이번 포스팅은 제가 참여하고 있는 사이드프로젝트에 대해, 또 추천시스템 구축 여정과정에 대해 공유해보고자 합니다. Intro. 추천시스템과의 첫 만남 저는 평소에

thrcle.tistory.com

 

가장 큰 문제인 유저데이터 부족문제를 해결하기 위해 사용자 조사를 기획 및 진행하였습니다.

  • 테스트와 설문문항은 UX, HCI를 전공한 기획팀원과 함께 기획하였습니다.

구글 폼 화면 일부

  • 사용자 조사의 목적은 크게  1. 유저-상품 인터랙션 데이터 수집, 2. 플랫폼 서비스 만족도&유저 의견 두가지였습니다.
    • 첫번째 목적을 위해 플랫폼에 접속하여 방문목적 선택 및 관심있는 상품에 찜버튼 클릭
    •  두번째 목적을 위해 플랫폼 사용 후 설문 문항 5개의 응답 수집 
    • 분석시 유저가 자연 유입이 아니라는 점, 테스트 홍보 방식 및 채널이 특정 연령대(20-30대)에 몰려있다는 점을 감안하였습니다.

유저-상품 인터랙션 데이터 수집을 위한 고려사항

  •  상품 정렬 순서가 랜덤으로 뿌려지되, 유저별로 홈화면을 중간에 이탈했다가 돌아와도 고정되도록 
    •  권장 실행환경은 유저가 모든 상품을 확인하며, '찜' 유무로 관심여부를 확인하는 것이었으나, 현실적으로 이 조건에 대해 강제성을 부여할 수는 없는 상황임을 고려해 고안한 방법
  • 고객의 선호도 파악은 찜버튼 유무로 확인 
    • 선호도 파악에 있어서 클릭, 스크롤 등 다양한 지표가 있지만 호감 정도를 파악하는 가장 직접적인 지표라고 생각되어 설정 

설문 문항 

  • 플랫폼 서비스 만족도&유저 의견을 묻기 위해 총 5개의 질문은 다음과 같습니다.
    • 최근 1년동안 건강 디저트를 먹어본 경험이 몇 회인지 선택해주세요.
    • (본인이 찜한 상품들 중)가장 관심이 갔던 상품에 대해 구매 의사가 얼마나 있으신가요? (10점 만점)
    • 구매 의사를 위와 같이 평가한 이유를 자세하게 적어주세요.
    • '빵그리의 오븐' 플랫폼에 재방문 의사가 있으신가요? (10점 만점)
    • 재방문 의사를 위와 같이 평가한 이유를 자세하게 적어주세요.

🌟 테스트&설문 문항 설계 시 Tip

  • 설문 문항 설계시, 질문방식이 생각보다 중요합니다.
  • 특히 주관적인 영역이라도 최대한 정량화하여 문항을 작성하는 것이 중요합니다.
  • 예를 들어 "건강디저트에 얼마나 관심이 있는지 알아보고 싶다"고 할 때,
    • 이는 건강디저트 섭취 빈도를 묻는 문항으로 정량화할 수 있습니다. 
    • 그렇다면 기준 기간을 얼마로 잡는게 좋을까요? 1달? 3개월? 6개월? 1년? 정답은 없지만 관심이 아예없는 케이스와 관심이 많은 케이스의 기준을 먼저 잡고, 구간을 나누는 것이 좋습니다.
    • '최근 1년동안 건강 디저트를 먹어본 경험이 몇 회인지' 라는 질문으로 한번 구체화를 했을 때, 답변형태는 어떻게 받는게 좋을까요?
    • 횟수를 주관식으로 입력받기에는, 1년이라는 기간동안 횟수를 정확하게 기억하는 사람은 많지 않을겁니다.
    • 객관식으로 미리 구간을 나눈다고할 때, 몇개의 구간으로 나누는 것이 좋을까요? 저희는 월 평균으로 기준을 잡았고'건강디저트'의 특성을 고려하여 0회를 따로 분류하였습니다.
      • 결과를 확인해보니 놀랍게도 0회가 15.2%가 나왔습니다. 

 

 

표본의 수 설정

  •  분석의 유효성을 위해서는 많은 유저수를 확보하는 것이 중요한데요.  커피쿠폰 이벤트까지 끼고(?) 하였으니 300명 이상의 유저를 확보할 수 있을 것이라고 생각했는데 생각보다 참여율이 저조했습니다. (냉혹한 현실 ,,🍂)
  • 일정상의 문제로 기간을 더 늘릴 수 없어 최종 응답자 166인의 응답을 받았고, 이 중 '건강디저트를 1회라도 구매/시식해본 경험이 있는 자 or 섭취 의향이 있는가'에 '그렇다'고 답변한 응답자 132인에 대해서만 분석을 진행했습니다.
  • 목표 인원에 미달하긴 하였으나, 이건 무의미한 결과야! 하며 독짓는 늙은이마냥 뚜왕뚜왕 독(결과)을 깨버릴 순 없었기에.. 이에 대한 절충안으로 결과 분석시 표본수를 고려하여도 비율차이가 10%이상 두드러지게 난다고 판단되면 결과를 의사결정에 활용하였습니다. 
    • 다른 프로젝트에서도 충분히 생길 수 있는 부분이라고 생각되는데, 다른 분석가분들의 케이스&의견이 궁금하네요 💭

 

+ Q. 왜 300명인가요? 🤔

A.  결과 분석에 통계적 유의성을 가지기 위해서는 설정한 신뢰수준과 오차한계, 선택확률에 따라 표본의 수를 산정할 수 있습니다.
예를 들어 상품을 선호할 확률을 50%, 95% 신뢰 수준에 5% 오차 한계를 가진다고 하면, 약 385명의 샘플이 필요합니다. 
이때 기존 세그먼트의 수가 총 10개임을 고려하여 각 집단별 약 30명*10개 =300개가 필요하다고 기준을 잡았습니다.  

1. 표본 크기 계산 공식

  • n: 필요한 표본 크기
  • Z: 신뢰 수준에 해당하는 Z-값 (보통 95% 신뢰 수준에서 1.96)
  • p: 모집단에서 관심 있는 속성이 나타날 확률 (보통 0.5로 설정, 이는 가장 보수적인 추정)
  • E: 허용할 표본 오차 (보통 0.05, 즉 5%)
2. 각 변수의 의미 
  • Z-값: 신뢰 구간을 설정하는데 사용됩니다. 예를 들어, 95% 신뢰 수준을 선택하면, Z-값은 1.96입니다. 이는 모집단의 속성(즉, 사용자가 상품을 선호하는 비율)에 대한 95%의 확신을 의미합니다.
  • p: 모집단에서 우리가 추정하려는 속성의 비율입니다. 만약 우리가 사용자의 특정 제품에 대한 선호도를 모른다면, 가장 보수적인 추정으로 50% (p = 0.5)를 사용합니다. 이는 우리가 알고 싶은 속성(예: 찜 여부)이 균등하게 발생할 가능성이 있다고 가정하는 것입니다.
  • E (표본 오차): 샘플 결과와 실제 모집단 사이의 차이를 허용하는 한계를 의미합니다. 5% 오차 한계(E = 0.05)는 우리가 얻는 데이터가 ±5% 범위 내에서 모집단의 실제 값을 대표한다고 가정합니다.
3. 계산과정


4. 해석

  • 이 계산은 95% 신뢰 수준에서 5% 오차 한계로, 모집단에서 상품을 선호할 확률이 50%라고 가정했을 때 통계적으로 유의미한 결과를 얻기 위해 필요한 최소 샘플 크기입니다.
  • 만약 p가 50%보다 크거나 작을 경우, 혹은 더 높은 신뢰 구간이나 더 낮은 오차 한계를 설정할 경우, 필요한 샘플 크기는 달라질 수 있습니다. 하지만 50%의 확률은 가장 보수적인 경우이므로 일반적으로 표본 크기를 결정할 때 자주 사용됩니다.

 

 

11/23에 열리는 가짜연구소 데모부스를 마무리하고

다음 글에서는 테스트 결과 분석편으로 돌아오도록 하겠습니다. 🍀

 

*혹시 포스팅 내용 중 궁금한점/피드백/제안이 있으셨다면 댓글 부탁드립니다