나는🛫 PM

주니어 PM의 알고리즘 개발기_part 1

awesomey 2024. 8. 21. 16:41

Part 1: 문제 정의와 상황 분석

*일부 내용은 공개 가능한 범위 내에서 실제 현황과 데이터를 바탕으로 재구성되었습니다.

0. 서비스 소개

<관심사 기반 커뮤니티 '문토'>

좌: 문토 앱 main / 우: 모임 list

 

문토(Munto)는 관심사 기반의 오프라인 모임 플랫폼입니다.

 

문토에서는 누구나 원하는 주제와 일정 및 지역을 선택하여 소셜링(Socialing/원데이 모임)을 열어 '호스트'로 활동할 수 있으며, 다른 사람들이 개설한 모임에 참여할 수도 있습니다.

문토를 통해 유저들은 영화, 전시, 러닝, 등산, 카페 투어 등 다양한 활동을 새로운 친구들과 함께 경험하고 있으며, 최근 1인 가구의 증가에 따라 느슨한 사회적 연결을 원하는 사람들에게 큰 관심을 받고 있습니다.

 

문토팀은 이렇게 '느슨하면서도 의미 있는 사회적 연결'을 형성할 수 있는 기회를 제공하는 것을 목표로 일하고 있습니다.


1. 문제 상황: 알고리즘 개발의 필요성

최근 몇 년간 서비스 내에 모임 수가 많아지며, 많은 사용자들이 모임을 찾고 참여하는 데에 어려움을 겪고 있었습니다.

유저가 신청할만한 매력적인 모임을 찾기 위해서는 많은 탐색 시간이 필요했고, 조회 대비 신청율이 지속적으로 낮아지는 문제를 발견하게 되었습니다. 

 

기존의 모임 노출 방식은 주로 모임의 일정, 확정 인원수, 잔여석 등 단순한 몇 가지 숫자를 고려하여 순서대로, 혹은 랜덤으로 정렬하는 방식을 사용했습니다. 그러나 이 방식은 유저가 참여할 만한 매력적인 모임을 우선적으로 보여주지 못했고, 이는 유저의 탐색 피로도 증가와 신청율 저하로 이어졌습니다.


2. 문제 상황 상세 분석 및 정의

기존 알고리즘은 다음과 같습니다:

  • 모임 진행일이 가까운 모임
  • 참가자가 N명 이상 있는 모임
  • 모집 마감이 되지 않은 모임

위 조건을 충족하는 소셜링을 랜덤으로 정렬하여 우선 노출하였고, 이 조건을 충족하지 못하는 소셜링은 그 이후에 별도의 기준 없이 무작위로 정렬되었습니다.

 

문제1) 유저 경험의 문제: 탐색 피로도와 지속적으로 낮아지는 조회 대비 신청율

기존 알고리즘은 모임의 일정, 확정 인원, 잔여석 등을 고려하여 모임을 랜덤하게 정렬하는 방식으로 동작했습니다.

앞서 기재한 기존 알고리즘 조건에 만족하는 소셜링은 매일 200개 이상이였고, 유저는 그중에서 약 40개 정도의 모임만 유효하게 탐색했습니다. 그 결과, 모임을 조회한 뒤 실제 신청까지 이어지는 경우가 매우 적었습니다.

이는 유저들이 매력적인 모임을 찾기 위해 지나치게 많은 시간을 소비해야 했고, 탐색 과정에서 피로감을 느끼게 되었음을 의미합니다.

 

문제2) 호스트의 어려움: 진행일이 2주 이상 남은 소셜링의 극단적인 노출 제한

기존 알고리즘은 모임 진행일이 가까운 소셜링만 상단에 노출되도록 설계되어 있었습니다.

이로 인해 일반적으로 2주 전에 모임을 오픈하여 준비하는 호스트들은 초기 단계에서 충분한 노출 기회를 얻지 못했고, 결국 참가자를 모집하지 못해 모임을 폐강하는 사례가 빈번하게 발생했습니다. 이는 모임 오픈 대비 진행 완료 데이터가 점차 감소하는 것으로도 증명되었습니다.


3. 유저와 비즈니스 측면에서의 니즈 분석

1.유저 측면: 유저 측면에서 매력적인 모임은 다음과 같은 특성을 가집니다.

  • 인기 있는 모임: 참가자가 많고, 다른 유저들도 관심을 보이는 모임.
  • 신뢰할 수 있는 모임: 과거에 좋은 평가를 받은 호스트가 운영하는 모임.
  • 승인이 잘 이루어지는 모임: 신청 후 승인이 빠르게 이루어져 실제로 모임에 참여할 수 있는 모임.

2. 비즈니스 측면: 비즈니스 측면에서는 다음과 같은 목표를 달성해야 합니다.

  • 잠재 수익이 높은 모임: 새로운 유저가 참여 가능한 잔여석이 많고, 모임 단가가 높은 모임.
  • 구매 확정이 신속하게 이루어지는 모임: 모임을 결제한 유저를 신속하게 '승인'해 주는 모임.
    (*서비스에는 유저가 참여하고 싶은 모임에 결제한 이후 모임장의 '승인'을 대기하는 과정이 있음.
    이 과정에서 모임장이 참가자를 '거절'하거나 24시간 내 승인을 하지 않는다면 참가자는 참여가 취소되고, 결제한 금액을 모두 환불받음.)
  • 전반적인 앱 탐색 시간을 늘릴 수 있는 모임: 앱의 전반적인 활성도가 높아 보이도록 하는 모임.

4. 추가 고려 사항

알고리즘 적용 시, 특정 조건에 의해 지나치게 노출이 유리해지거나 일부 카테고리나 특정 유저의 모임만이 상단에 보이는 상황은 피해야 합니다. 또한, 모임의 규모나 금액 등으로 인해 불이익을 받지 않도록 하는 것도 중요하다고 판단했습니다.


5. 결론

이상의 과정으로 이러한 문제들을 해결하기 위해 새로운 알고리즘이 필요하다는 것과, 어떤 방향성을 가지고 알고리즘을 설계해 나가야 할지에 대한 대략적인 합의를 진행했습니다.

 

새로운 알고리즘은 유저가 매력적으로 느낄 수 있는 모임을 상단에 배치함으로써 탐색 시간을 줄이고 신청율을 높이는 것이 첫 번째 목표이며, 새로운 알고리즘을 통해 호스트들이 오랜 시간 동안 준비한 모임이 충분히 노출될 수 있도록 하여 모임 폐강을 줄이고, 회사의 수익성을 극대화하는 방향으로 나아가고자 합니다.


 

Part 1에서는 문제의 정의와 초기 상황 분석을 다루었으며, Part 2에서는 팩터 설정과 알고리즘 설계 과정에 대해 자세히 다룰 예정입니다.

 

다음 글에서는 구체적인 팩터 설정과 알고리즘 설계 과정을 공유하겠습니다.

 

 

 


다음 글)

 

주니어 PM의 알고리즘 개발기_part 2

이전 글) 주니어 PM의 알고리즘 개발기_part 1Part 1: 문제 정의와 상황 분석 0. 서비스 소개 문토(Munto)는 관심사 기반의 소셜 네트워킹 플랫폼입니다. 문토에서는 누구나 원하는 주제와 일정 및

awesomey.tistory.com