추천리스트를 만들 때 고민할 요소

이런 고민이 있다.

예를 들어 우리가 추천 리스트에 10개의 상품을 제공한다고 했을 때, 사람이 눈으로 보아서 그럴듯한 추천 상품이 8~9개이고, 조금 고개를 갸우뚱 하는 상품이 1~2개 정도라면, 우리 입장에서는 당연히 추천을 적용하고 싶어한다.

어차피 기계적으로 뽑는 추천 리스트가 절대 완벽할 수는 없고, 굳이 눈으로 보아 그럴듯한 추천 상품만을 남기기 위해서는 결국 어떤 부분에서는 threshold 값을 변경하거나, 특정 feature를 빼야 한다.

이렇게 하면 문제가 추천의 coverage가 떨어지거나, 너무 뻔한 상품만이 추천되어 의외성이 없어진다는 점이다. (당연히 사람이 보기에 이해가 안 되는 조합을 다 뺐으니..)

그럼 어떻게 해야 될까?

당연히 가장 좋은 방법은 정성 평가는 집어 던지고, 정량 평가를 하는 것이다. 추천 알고리즘 A, 추천 알고리즘 B를 동시에 노출하여 coverage, click rate, 구매 전환률 등을 비교하면 된다. 수치가 안 나오는 알고리즘은 빼야지 뭐.. 별 수 있나..

그런데 우리나라 많은 기업들의 문제는, 정량 평가까지 가기 전에 담당자의 정성 평가를 통과 해야 한다는 거다. 당연히 자기네 사이트에 붙이는 거니 어느 정도의 기본 품질을 확인하기 위해 정성 평가가 필요하다는 것은 동의를 한다. 그런데 정성 평가의 기준이 좀 다른데, 100개의 리스트를 확인하다가 1개가 마음에 안 드는 추천이 나오면, "이 정도 품질로는 적용할 수 없다" 라고 하는 고객사 담당자도 있다는 점이다. 그리고 그 1개 조차도 도무지 이해가 안 되는 담당자 혼자만의 기준이라면 정말 답이 없다.

이런 늪에 빠지지 않기 위해서는, 최대한 정성 평가는 배제하고, "일단 적용하고, 수치 확인하고, 다시 고친다"라는 cycle이 있어야 한다. 당연히 초기에 risk는 있을 수 있지만, 이렇게 해야만 담당자의 "주관적인" 기준을 넘어 정말 의미 있는 결과와 지속적이고 객관적인 데이터 상승을 경험할 수 있다.

댓글

Designed by JB FACTORY