커머스 검색 품질 Tip - Part2

Deyan Lee·2025년 11월 23일

검색

목록 보기
2/3

랭킹의 절대좌표 "카테고리 가중치(Category Mapping Probability)"

우리가 사용하는 위도,경도에는 0점이 있습니다. 군대에서 사격연습을 시작하기전에 0점을 맞춥니다.
그 0점이 기준이되어야 나머지 위치가 결정이 되기 때문이죠.
랭킹에도 마찬가지로 0점이 있습니다. 오늘은 그 랭킹의 0점, 즉 절대좌표를 제가 아는 지식과 경험내에서 적어보려고 합니다.
특히 커머스에선 바로 "카테고리 가중치"입니다. CMP(Category Mapping Probabiliy)의 약자로 저랑 오랫동안 함께 일하셨던 아주 숙련된 검색기획자분께서 알려주셨습니다.이 용어의 원천출처는 어딘지는 모르겠으나, 이 용어 CMP가 업계에서 몇몇 회사에서 사용하는 걸 봤습니다. 여기선 그냥 CMP로 쓰겠습니다.
CMP는 제 나름대로 재해석 해보자면, "Categrory Mapping Probability for User's Queries" 표현해 볼 수 있겠습니다. 즉, "사용자 질의에 대한 카테고리 가중치 지표"라고 할 수 있겠네요.

필수 조건

  • 검색 로그가 수집 중인 경우.

  • 상품 Category ID가 관리되고 있는 경우.

    추출 방법

  1. 상품 Click Log를 이용해서, 질의(Query)별 클릭한 상품의 Category ID를 수집합니다.
    이때 Category Depth 중 가장 마지막 Depth로 하는 것이 좋습니다. 그 이유는 가장 기초 랭킹이기 때문에 최대한 심플하게 대부분 상품은 마지막 depth에 위치하기 때문에
    나중에 데이터 재활용 측면에서 효율적입니다.
  2. 수집된 Query와 Category ID에 대해서 집계를 합니다. 보통 Count로 표현합니다.
  3. 해당 Category ID에 대해서 Count가 낮은 현저하게 낮은 Query들은 버립니다.이는 어뷰징 및 오클릭을 어느정도 걸러내기 위함입니다. 이때 많은 방법들이 있겠지만, 저는 여기서 Atan2를 사용했습니다.
  4. 최종적으로 count에 대하서 score를 계산하면 됩니다. 여기도 많은 방법들이 있겠으나, 저의 경우는 최대한 심플하기 위해서 Atan2를 그대로 사용했습니다. 이는 랭킹에서 CMP에 가중치를 줄때, atan2값이 1보다 작기 때문에. CMP내에서 큰 차이가 없기 때문에 CMP고유가중치를 지정하여 줄 때
    관리적인 측면에선 효율적입니다.
  5. 추가적으로 기간별로 CMP스코어 가중치를 주는 것이 좋습니다. 한국 커머스 특성상 사계절 트렌드가 자주 바뀌기 때문에 기간별 가중치를 주는 것이 매우 효과적이었습니다.
    예를 들어 5월에 "게스"라고 검색했을 때 패딩 카테고리 상품이 상위에 나오는 경우는 없어야겠죠.
    예) 최근 7일 = score + 2, 최근 30일 = score + 1
  6. 추출 예

적용효과

  • 아래 예시는 CMP 효과 차이를 비교하기 위한 예시일 뿐, 해당 커머스가 어떤 랭킹을 썼는지는 모릅니다.
  • 아래 예시는 대부분의 유저들이 "스킨"을 화장품 "스킨로션"의 스킨을 주로 의미했다는 것을 가정했을 때입니다.

CMP 적용 전

CMP 적용 후

추가 적용

  • CMP는 다양한 서비스에 활용이 가능합니다. 앞으로 적용사례를 하나하나 정리해 볼 생각입니다.
    이번에는 쉽게 적용 가능한 "카테고리별 인기질의"서비스입니다.

가장 중요한 Simplity

  • CMP는 랭킹의 기준이기 때문에 최대한 Simplity를 추구해야 합니다. 왜냐하면 검색랭킹은 여러가지 복합적인 Layer층으로 이루어져 단계적으로 보안점을 쌓아 올려야 제 경험상 유지 관리하기 쉬웠습니다.

CMP의 한계

  • CMP가 모든 경우에대한 검색품질을 보장하지 않습니다. 다만 그 기준을 제시하고 그 기준을 활용하여 추가 랭킹레이어에 적용이 가능합니다.
    그리고 커머스 카테고리개편에 따른 Category Id 변화가 그 랭킹기준을 변화시켜 서비스에 큰 영향을 주는 고질적인 문제점도 있습니다. 이러한 문제는 추후에 어떻게 해결했는지도 정리 할 예정입니다.
profile
서비스에 죽고 못사는 개발자

0개의 댓글