'Blux AI' 도입 사례로 보는 프로젝트 성과 측정 방법

핵심 지표 설정부터 A/테스트 검증까지
Content's avatar
May 03, 2024
'Blux AI' 도입 사례로 보는 프로젝트 성과 측정 방법

어느 스타트업이든 ‘프로젝트의 성과 측정’을 제대로 잘 하기 위해서는 ‘도입 이전에 비해 우리 커머스에서 얼마나 성과를 낼 수 있는가?’에 대해 정확하게 잘 측정하고 이를 검증할 수 있어야 합니다. 블럭스에서 새로 도입한 AI 상품 추천 ‘Blux AI’ 프로젝트 역시 성과를 구체적으로 파악해서 성공 여부를 측정하기 위해 많이 고민했습니다. 오늘은 기획자로서 새로 도입한 프로젝트의 성과를 측정하는 방법과 이를 어떻게 분석해야 하는지 알아보겠습니다.

잘 측정하기

프로젝트의 성공 여부를 검증하기 위해서는 크게 두 가지가 중요합니다.

(1) 잘 측정하기: 어떤 지표를 볼 지 잘 설정하기.

(2) 올바르게 검증하기: A/B 테스트를 잘 설계하기.

아무리 열심히 성과를 분석하려고 해도 의미 없는 지표라면 성공 여부를 확인할 수 없고, 올바른 검증 방법을 활용하지 않으면 좋은 지표를 가지고도 잘못된 해석과 결론이 도출될 수 있기 때문입니다.

그렇다면 블럭스가 새로 도입한 ;AI 상품추천’의 성과를 제대로 파악하기 위해서는 어떤 지표를 봐야 할까요? 성과 지표를 설정할 때는 해당 프로젝트를 통해서 달성하고 싶은 회사의 핵심 목표가 무엇인지 우선 정의하고, 그 목표를 가장 잘 수치화할 수 있는 지표를 찾는 것이 좋습니다. 블럭스에서 세운 주요 목표는 다음과 같습니다.

“고객이 좋아할 만한 상품을 잘 추천해서 만족도 높이고, 더 많은 상품을 구매하게 만들기.”

이 목표를 달성했는지 확인하기 위한 지표로, 클릭률을 통해 정말 고객이 좋아할 만한 상품을 잘 추천했는지, 구매 전환율을 통해 더 많이 구매하게 했는지 등을 확인할 수 있습니다.

프로젝트의 핵심 목표를 측정하는 ‘KPI(Key Performance Indicator)’ 이외에도 상품 추천과 관련하여 더 다양한 관점에서 생각하기 위해 보조 지표를 파악하기도 합니다. 예를 들면 추천 기여 매출액(추천된 상품을 클릭한 후 일정 시간 이내에 구매로 이어진 경우의 거래액)을 계산하여 AI 추천이 매출에 얼마만큼 기여했는지 분석하는 방법도 있습니다.

또한, 고객당 평균 방문 횟수를 측정하여 ‘고객 리텐션’에 미치는 영향을 측정하는 방법도 있습니다. 이 수치는 한 명의 고객이 평균 몇 번 방문했는지 의미하므로, 이 횟수가 증가할수록 고객 리텐션에 긍정적인 영향을 주는 것을 의미합니다.

올바르게 검증하기

앞서 설명한 것처럼 어떤 지표로 성공 여부를 측정할지 확정했으면, 이제 실제 성과를 검증할 차례입니다. 보통 새로운 알고리즘이나 UI/UX 성능을 테스트하기 위해 주로 ‘A/B 테스트’를 진행하며, 대조군과 실험군을 나누어 대조군 대비 실험군에서 실제로 성과가 있는지를 확인할 수 있습니다.

도입 전후를 비교해 개선 여부를 확인하는 ‘Before-After’ 방식에 비해, A/B 테스트는 제3의 변수가 개입될 여지를 최소화할 수 있는 장점이 있습니다. 일반적으로 A/B군을 나누는 방법으로 두 가지 방식이 이용됩니다.

(1) 이벤트마다 A, B 노출이 랜덤하게 달라지도록 설정: 이 방식은 통계적 유의성이 높지만, 고객이 매번 다른 경험을 하게 되어 서비스 이용에 혼란을 야기할 수 있습니다.

(2) 고객을 랜덤하게 A, B군으로 각각 분할하여 고정된 세팅을 노출: 한 고객이 계속해서 동일한 UX에 노출되므로 보다 안정적으로 실험 대상의 UX 효용을 측정할 수 있지만, ‘이상치(Outlier, 관측 데이터 범위에서 많이 벗어난 아주 작거나 큰 값)’로 구분되는 고객의 영향을 받을 위험이 존재합니다.

블럭스에서는 어떻게 했을까?

블럭스에서는 성과를 검증하기 위해 A/B 테스트를 진행했습니다. 연동된 행동 데이터를 바탕으로 각각의 고객을 랜덤으로 절반씩 분할하고 실험군(blux_group) 여부를 확인합니다. 실험군으로 분류된 고객에게는 ‘Blux AI 추천’을 노출시키고, 대조군으로 분류된 고객에게는 기존 계좌를 노출하도록 설정합니다.

모든 설정이 완료되면, 테스트를 시작하여 비교 대상이 되는 화면에서의 클릭률, 구매 전환율을 메인 지표로 측정합니다. 그 외에도 전체 매출액이나 고객당 방문 횟수 등의 보조 지표를 확인하며, 두 고객군의 지표를 비교합니다.

저희는 단순히 Blux AI 추천의 성능을 기존 화면과 비교하여 증명하기 위한 목적 이외에도 AI 모델을 클라이언트의 도메인에 맞게 최적화하기 위해 자체적인 A/C 테스트를 진행하기도 했습니다. 도메인 특성, 커머스 플랫폼 내에서도 어느 지면에 삽입된 추천 화면인지, ‘고객 여정(Customer Journey)’ 상 어느 위치에 해당하는 곳인지 등에 따라 다른 추천 UX가 필요할 수 있기 때문입니다.

따라서 보다 최적화된 추천 모델을 찾아내기 위해 실험군(A군) 내의 고객들을 또 둘로 쪼개어 A, C군으로 나누는 A/C 테스트도 진행했습니다. 각 고객군에 다른 알고리즘 또는 다른 커스터마이징 처리를 적용하여 더 성능이 좋은 모델을 개발하기 위해서입니다.

이때 가장 고민이 됐던 지점은 “이 결과가 정말 유의미한 차이가 있는 것인지 어떻게 알 수 있을까?”라는 부분이었습니다. 사실 100%의 확률로 완벽하게 신뢰할 수 있는 결과를 얻기란 어렵습니다. 아무리 엄밀한 통계적 방법론을 쓰더라도 결국엔 분포 가정을 포함해야 하는 등 결과 해석에 대해 일정 부분의 가정은 필요하기 때문입니다.

그럼에도 가능한 선에서 다양한 방법을 시도하며 결과의 신뢰도를 높이는 것이 중요한데요. 이를 위해 블럭스가 주로 이용한 방법을 소개하겠습니다. 신뢰도를 높인다는 것은 결국 ‘우연에 의한 결과일 가능성을 최대한 제거하는 것’이라는 관점에서 이용한 방법입니다.

A/B 테스트 결과의 신뢰도 높이기

(1) 고객군 바꾸기
고객군이 랜덤하게 분할되었다고 해도, 그룹의 편향성을 완전히 무시하기는 어렵습니다. 고객군을 바꾸어 똑같은 실험을 다시 집행했을 때도 유사한 결과가 나온다면, 실험 결과가 편향성에 치우치는 위험을 제거할 수 있습니다.

(2) 일자별 데이터의 일관성 확인하기
누적된 하나의 결과만 보는 것이 아닌, 일자별 데이터를 확인함으로써 결과의 일관성을 확인할 수 있습니다. 만약 일자별 데이터가 일정한 방향의 결과를 보이지 않는다면, 테스트 종료 시점을 언제로 설정했는지에 따라 종료 시점의 누적 지표가 긍정적일 수도, 부정적일 수도 있게 됩니다. 시계열적 우연을 최소화하기 위해 일자별 (데이터가 충분하다면 시간대별) 데이터를 함께 파악하는 것이 좋습니다.

(3) ‘유의 확률(p-value)’ 구하기
유의 확률의 통계적인 의미는 '내가 관측한 값보다 더 극단적인 값이 나올 확률'입니다. 이 값이 작을수록 중심값으로부터 더 멀리 떨어진 극단값을 관측했다는 뜻입니다. 다시 말해, 우리가 중심이라고 가정한 것이 맞다면, 발견한 결과가 매우 드문 경우라는 의미입니다.

보통 이런 가설을 귀무가설이라고 부르며, A/B 테스트처럼 각 고객군의 결괏값이 다른지를 확인할 때 자주 사용합니다. 귀무가설은 '두 값이 같다'는 것입니다. 유의 확률이 아주 낮다면, 두 집단의 차이가 통계적으로 유의미하다는 의미입니다. 단, 올바른 분포를 가정해야 하고, 통계 모형의 가정이 현실에 잘 맞지 않을 수도 있다는 점에 주의해야 합니다.

성과를 올바르게 측정하는 이유

오늘은 블럭스에서 도입했던 ‘AI 상품추천’ 프로젝트를 사례로 들어 ‘성과를 올바르게 측정하는 법’에 대해 이야기해 보았습니다. 이렇게 성과를 검증하는 과정은 단순한 숫자를 넘어서서 실제로 클라이언트에게 제대로 된 가치를 제공하고 있는지를 파악하는 일입니다. 또한 클라이언트들이 우리 제품에 어떻게 반응하는지, 그리고 어떻게 개선할 수 있는지에 대한 통찰을 얻을 수 있는 중요한 과정입니다. 앞으로도 클라이언트들의 비즈니스에 도움이 될 수 있는 새로운 인사이트와 함께 찾아오겠습니다.

Share article
개인화 상품 추천으로 기업 매출 상승!
지금 서비스 소개서를 받아보세요!
Privacy Policy

블럭스 매거진