이번엔 내가 브랜드를 담당하면서 맡았던 카테고리 리오더링* 자동화 프로젝트에 대해서 소개하고자 한다. 실제 진행한 것이다 보니 왜 시작하게 되었는지, 무엇을 진행하였는지에 대해서 남겨볼 수 있을 것 같다.
※ 리오더링: 어떤 순서로 배열된 항목들을 다시 정렬하거나 순서를 바꾸는 행위
브랜드 프로덕트를 담당했을 때, 카테고리의 순서는 카테고리 어드민에서 설정한 순서대로 노출되고 있었다. 그렇다보니 3가지의 문제 상황을 마주하게 되었다.
① 카테고리 어드민에 설정한 순서대로 노출되는 영역이 브랜드숍 뿐만 아니라 다른 지면에도 많았기 때문에, 브랜드숍에서 원하는 순서대로 바꿀 수가 없었다.
② 계절이 바뀔 때, 시의성 있는 카테고리를 반영하려면 수동으로 처리해야 하다보니 늦게 반영되는 감이 있었다. (예를 들어 FW에는 아우터를 1순위로 보여주지만, SS에는 상의가 판기에 더 적절하다.)
③ 브랜드와 관련없어 보이는 카테고리가 먼저 노출되기도 했다.의류가 주력인 카테고리에서 '신발' 카테고리가 우선 노출되는 경우가 많았다. (참고로 비지니스 방향성 상 다른 지면에서는 뷰티와 신발 카테고리를 우선 노출하고자 했다)
이런 상황에서 브랜드숍의 카테고리 순서를 브랜드숍만의 기준으로 한번 바꿔보는 프로젝트를 진행해보았다.
내가 진행했던 방법은 카테고리 리오더링 자동화하는 방법이었다. 요약해서 설명해보자면 노출 대비 클릭율이 높은 카테고리를 특정 주기마다 자동으로 앞쪽으로 노출되도록 하는 방식이다.
이번 과제를 진행하게 되면서 알게된 추천 알고리즘을 최적화하는 MAB (Multi-Armed Bandit)라는 방법이 있었다. 선택지가 여러개 있는 상황에서 각 선택 사항에 대한 보상을 평가(여기서는 노출대비 클릭율)하고, 최적의 선택을 위해 시간이 지남에 따라 보상 정보를 활용하여 개별 머신의 선택 비율을 조정한다. 이를 통해 알고리즘이 점차 더 나은 선택을 찾아내고 최대한의 보상을 얻을 수 있도록 도와준다.
(참고글. https://docs-kr.hackle.io/docs/mab-test)
내가 진행했던 방식은 클릭율을 점수화해서 스코어링하는 부분에 있어서는 MAB에 가깝지만, 각 카테고리 별로 스코어링된 점수를 활용하여 각 카테고리 별로 노출될 비율을 조절한 것은 아니고 노출되는 순서를 바꾸었다는 점에서 조금 다른 부분이 있었다.
과제를 진행하면서 기획자로서 고민하고 개발자분과 이야기 나눴던 부분들은 다음과 같다.
① "노출 대비 클릭율을 어떻게 측정하지?" - 로그수집
당시 적재 중이던 로그는 카테고리를 click하는 이벤트에 대해서만 로그를 적재하고 있었다. 따라서 카테고리 버튼에 대한 impression도 수집하고 데이터가 어느 정도 쌓기는 것을 확인하였다.
② "노출 대비 클릭율을 어떻게 점수화하지?" - 스코어링
노출 대비 클릭 수에 대한 점수(보상)를 어떻게 설계할 것인지에 대해서도 개발자와 논의가 필요했다. 예를 들어, '한달 전에 찍힌 데이터보다 어제 찍힌 데이터가 더 시의성을 반영하는 데이터가 될테니 최신 데이터에 가중치를 둬야하지 않을까요?' 나 '신뢰성 있는 점수를 도출하기 위해서라면 데이터를 수집하는 기간과 주기는 어떻게 잡는 것이 좋을까요?' 등 믿을 만할 스코어링을 할 수 있을 지에 대해서 고민하고, 이를 위해 디테일한 논의들을 거쳤다.
③ "스코어링된 점수와 카테고리 순서를 실시간으로 확인하고 싶어요" - 스코어링 확인 대시보드
②의 논의 결과로 만들어진 점수와 카테고리 순서를 직접 확인하고 싶었다. 확인하면서 알고리즘을 수정할 필요는 없을지 점검하기도 하고, 혹은 순서를 강제로라도 조정 필요한 카테고리가 있지는 않을지를 확인하고자 하였다.
④ "비즈니스 요구사항에 의해 특정 카테고리를 앞에 노출해야하는 경우도 있을 수 있어요" - 수동 카테고리 관리
매번 자동화 과제를 진행할 때마다 비즈니스 사이드에서 '혹시 강제로 이거 앞에 노출할 수 없을까요?'하는 요구사항을 많이 들은 바 있었다. 이번 프로젝트를 진행할 때, 혹시 그런 경우를 대비해서 특정 카테고리를 N번째로 배치해서 넣을 수 있도록 수동으로 카테고리를 관리하는 툴을 함께 구현해두었다.
의류를 주력으로 판매하는 브랜드에 카테고리 리오더링 자동화를 적용하였다.
① 정량적으로는 해당 브랜드의 카테고리 클릭률이 눈에 띄게 상승하였다.
② 뷰티, 신발 카테고리가 먼저 노출되다가 상의, 바지가 먼저 노출되는 부분이 의류 브랜드 입장에서는 정성적인 개선도 크다고 생각했다.
③ 계절이 변화함에 따라 카테고리 순서를 따로 변화하지 않아도 시의성 있는 소재가 먼저 보여지는 부분도 좋은 점 중 하나였다.
위의 과제는 의류 브랜드를 그룹화하여 해당 그룹 끼리는 동일하게 카테고리가 적용된 셈이었다. 각 브랜드마다 각 브랜드에 최적화된 카테고리로 노출하고 싶었지만 기술적인 이유로 위 스펙으로 먼저 진행했다. 적용해둔 알고리즘을 고도화하여 각 브랜드마다 인기가 많은 카테고리를 우선 노출한다면 더 좋은 성과와 브랜드 만족도를 올려줄 수 있을 것이라고 생각한다.