[Stitch Fix Blog] What the SATs Taught Us about Finding the Perfect Fit 이해하기
이번 글은 Stitch Fix blog에 올라왔던 What the SATs Taught Us about Finding the Perfect Fit by PATRICK FOLEY & JOHN MCDONNELL 글을 읽고 정리한 내용입니다.
Motivation
누구나 한번쯤 온라인 상에서 옷을 샀는데 사이즈가 안맞아 반품했던 기억이 있을 것이다. 만약 오프라인 매장이라면 고객의 치수를 직접 측정해서 고객에게 딱 맞는 옷을 추천해 줄 수 있겠지만, 온라인에서는 직접 측정이 불가능 하므로, 고객에게 맞는 사이즈의 옷을 추천해 주기 너무 어려워 보인다.
또한 의류산업 자체에서 size에 대한 두가지 문제점이 있었다.
- We’re not sure what size our items are
- We’re not sure what size our clients are
먼저 의류산업 안에서 small, medium, large size의 크기가 어느 정도인지에 대한 공통적인 기준이 없고, 제조사들이 사용하는 치수가 서로 다른 경우도 있었다. 따라서 item의 size가 몇인지 공통된 기준에서 정확하게 숫자로 표현할 수 없었다. 또한, 이렇게 제조업체의 사이즈에 일관성이 없다보니, 고객들도 자기 사이즈에 대해서 서로 다른 기준을 가지고 있었다.
Stitch Fix는 이런 size 추천과 관련된 어려움 속에서, 고객들로부터 받은 size에 대한 feedback data를 이용해서 고객에게 맞는 size의 옷을 추천해 주는 방법을 찾아보고자 했다. Stitch Fix 고객들은 item을 받으면, 이 아이템이 너무 작은지, 딱 맞는지, 너무 큰지 여부를 평가해 줬고, 이 정보들이 item과 client의 true size에 대한 hint를 제공해 줄 것이라고 생각했다.
이런 고객들의 feedback을 이용해서 고객의 size와 item의 size를 match시킬 수 있는 방법을 생각해 보다가, ETS의 SAT test의 기원에서 그 해결책을 찾았다.
Background: Measurement and Classical Test Theory
ETS는 학생들의 성적을 측정하고자 했고, Stitch Fix는 고객들의 size를 측정하고자 한다. 즉, 두 문제 모두 측정(measurement)과 관련되기에, measurement에 대해 먼저 알아보자.
Measurement란, 어떤 규칙에 의해 추상적인 개념에 숫자를 부여하는 과정이다. Measurement의 목적중 하나는, 각 개개인의 추상적인 개념에 숫자를 부여함으로써, 이 개개인을 수직선 상에놓고 비교하는 것이다.
이때, 똑같은 추상적인 개념이더라도 서로 다른 규칙에 의해 숫자가 부여되면 서로 다른 measurement이다. 이에, 이런 measurement의 규칙에 대한 서로 다른 이론들이 존재하고, 기존에 존재했던 이론이 classical test theory였다. 이 이론은 measurement의 대상들에게 여러개의 item을 준 후, 각 item에 대한 반응들을 점수로 표현해서 점수의 총합이라는 total score로 추상적인 개념을 표현하고자 했다. 구체적으로 학교 내신 시험을 생각하면, 각 학생들에게 똑같은 여러개의 문항(=item)이 주어지고, 각 문항에 대한 점수들을 총합한 시험점수(=total score)로 학생들의 실력(=추상적인 개념)을 평가한다. 이 이론은 기본적으로 measurement의 결과로 얻은 total score가 true score과 error로 구성되기에, true score부분이 크고 error 부분이 작을수록 measurement가 믿을만 하다고 가정했다. 또한 measurement의 대상들에게 모두 같은 item이 주어진다고 가정했다. 따라서 만약에 measurement의 대상들에게 서로 다른 item이 주어지면, measurement 결과로 얻은 total score의 의미가 떨어진다.
Item Response Theory: The Original Recommendation System
ETS가 처음 만들어졌을 때, ETS는 학생들이 지난 시험의 답을 외우지 않게 하기위해 매번 다른 문제를 출제하고 싶었고, 또한 시험 보는 동안 학생들이 컨닝하지 못하도록 하기위해 학생들이 서로 다른 문제를 풀게 하고 싶었다.
하지만 이런 식으로 학생들이 서로 다른 문제를 풀면, “학생들의 성적을 어떻게 공평하게 비교할 수 있을까?” 라는 문제가 있었다. 사실 서로 똑같은 실력을 가진 학생들인데, 어떤 학생은 쉬운 문제를 받아서 점수가 높고, 다른 학생은 어려운 문제를 받아서 점수가 낮게 나오는 상황이 발생할 수 있기 때문에, 기존에 존재했던 classical test theory처럼 학생의 실력을 total score인 시험 점수로만 판단하기에는 문제가 있었다.
이에 Classical Test Theory와 다른 measurement rule을 사용하는 Item Response Theory 를 생각해냈다. 이 이론에서는 item에 대한 개개인의 total score를 고려하지 않고, item difficulty라는 정보와 각 개인이 item에 어떤 식으로 반응하는지에 대한 정보를 고려해서, 각 개인의 most likely level을 찾아내고자 했다.
이를 SAT시험에 대입해서 구체적으로 살펴보면, ETS는 문항의 difficulty와 학생의 능력을 같은 수직선 상에 높고 비교할 수 있다고 생각했고, 따라서 문항의 difficulty보다 학생의 능력이 높을 수록 이 학생이 해당 문제를 맞출 확률이 높아질 것이라고 생각했다. 이런 생각을 바탕으로, 학생의 능력이라는 parameter와 문항의 difficulty라는 parameter를 이용해서 s라는 학생이 q라는 문항을 맞출 확률을 다음과 같이 modeling하는 rasch model을 생각해냈다.
이때 학생들의 성적 data가 주어지면, maximum likelihood estimation technique를 이용해 학생들의 능력 parameter와 문항의 difficulty parameter의 best set을 찾을 수 있다고 한다.
Find Size with IRT
Stitch Fix는 이런 ETS의 SAT 문제가 자신들의 size 추천 문제와 비슷하다고 생각해서, rasch model적용해보기로 했다. 그 결과, 학생들의 능력은 고객의 size로, 문항의 difficulty는 item의 size로 치환된다. 즉, item의 size와 고객의 size를 같은 수직선 상에 높고 비교할 수 있다고 생각했다.
하지만 SAT에서는 학생들의 response가 맞다/틀리다 2가지인 반면, size 문제에서는 고객들의 response가 Too small / Just right / Too big 3가지이므로 기존의 rasch model을 그대로 사용할 수는 없다. 또한 response들에 ordinal한 순서가 존재하기에 (Too small vs. Just right) 과 (Just right vs. Too big) 2가지 classifier을 동시에 고려하는 Polytomous Rasch Model을 사용하기로 한다.
이 모델과 과거 고객들의 feedback data를 이용해서, maximum likelihood technique으로 고객들의 size라는 parameter와 item의 size라는 parameter를 추정할 수 있다고 한다.
Validate the model
과연 이 model로 추정된 size parameter들이 현실의 size를 잘 반영할까?
우선 site상에서 medium size가 가장 일반적이다 보니, 과거에 고객들에게 보내졌던 수천개의 medium size item을 선택했고, 이 item들의 size에 대한 고객들의 feedback data를 이용해서 고객의 size와 item의 size parameter를 추정했다.
그러면 이렇게 추정된 size parameter들이 현실의 size를 잘 반영하는지 어떻게 확인해볼 수 있을까? 우리가 item을 받았을 때 구매를 확정하지 않고 반품을 하는 이유중 하나는 size이다. 즉 item의 size가 나랑 잘 맞을 수록 구매할 확률이 올라갈 것이고, size가 잘 안맞을 수록 구매할 확률은 낮아질 것이다. 이에, 우리가 추정한 size가 만약 현실의 size를 잘 반영한다면, 추정된 고객의 size와 item의 size의 차이가 적을수록 구매한 확률은 높아지고, 차이가 클수록 구매한 확률은 낮아질 것이다.
이를 확인해보기 위해, 추정된 고객의 size와 item size의 차이에 따라 실제 구매 확률이 어떻게 변하는지 확인해 본 결과, 생각했던 대로 두 차이가 0에 가까울 수록 해당 item을 구매한 확률이 높게 나타났다.
Conclusion
따라서 이 model과 고객들의 feedback data를 이용하면, 고객들과 item의 size를 자신들 만의 숫자로 측정한 후 수직선 상에 놓을 수 있고, 이를 바탕으로 고객의 size와 item의 size를 비교하면서 고객에게 맞는 size의 item을 추천할 수 있었다고 한다.
참고: