데이터는 거짓말을 잘한다.
현대 경영학의 아버지로 불리는 피터 드러커는 “측정할 수 없으면 관리할 수 없고, 관리할 수 없으면 개선할 수 없다” 고 말했습니다. 마찬가지로 우리가 어떤 마케팅을 집행하거나 특정한 기능을 업데이트했을 때, 내가 집행한 결과물의 성과를 확인하기 위해선 성과를 측정할 수 있는 여러 지표를 사전에 정의하고 해석할 수 있어야 합니다. 그래야 어떤 부분이 마케팅 또는 기능을 왜, 얼마나 성공시켰는지 알 수 있고 이 레슨을 다음 기획에 녹여 앞으로의 성공 가능성을 높일 수 있습니다. 즉 PM, 마케터에게 데이터를 이해하고 분석하는 역량은 사용자를 이해하고 서비스를 성장시키기 위해 반드시 갖춰야 하는 역량입니다.
저 또한 PM으로서 데이터 분석의 필요성을 인지하고 여러 가지 실험을 설계하고 해석하며 레슨을 쌓고 있었습니다. 그런데 여러 실험을 거치다 보니 이런 의문이 생깁니다. 내가 정말 사용자를 올바르게 이해하고 있는 게 맞는 걸까?
이 의문을 해소하기 위해 A/B test 실험 방법, 커뮤니티 등 여러 글을 읽으며 해결의 단서를 찾다 보니, 결국 데이터 실험 설계와 해석은 통계적 지식으로부터 출발한다는 사실을 깨닫게 되었습니다. 우리가 흔히 말하는 A/B test도 실험군과 대조군을 대상으로 특정 처치를 가함으로써 인과관계를 파악하는 통계적 실험 중 하나인 것이죠. 앞으로 데이터를 겉핥기만 하지 않을 거라면 간단한 통계 지식은 이해해야 했습니다.
결국 데이터를 잘 해석하기 위해서는 간단한 통계 지식을 갖추어 실무에 활용해야겠다는 생각을 하게 되었습니다. 이를 위해 우연한 기회로 '데이터리안'에서 주관하는 데이터넥스트레벨챌린지 3기에 참여하여 "새빨간 거짓말, 통계"라는 책을 읽게 되었습니다.
이 글에서 얻은 레슨을 객관적 사실과 저의 주관적 해석을 통해 통계적 지식을 IT 데이터 분석 실무에서 활용할 수 있는 방법에 대해 쉽게 설명해보려 합니다. 서론이 길었네요. 어렵지 않으니 지금 출발해 볼까요?
우리가 "한국 중고등학생의 한 달 평균 용돈"이 얼마인지 알아보기 위해 현장에 나가 설문조사를 한다고 생각해 볼게요. 정말 정확한 데이터를 얻기 위해선 한국의 모든 중고등학생을 찾아가서 설문을 받아야 합니다. 하지만 현실적으로 그러기는 비용이 너무 많이 듭니다. 이를 해결하기 위해 서울시의 중고등학생 500명의 응답을 받았다고 했을 때, 과연 그 응답이 한국 전체 중고등학생을 대변할 수 있을까요?
이때, "한국 중고등학생"은 모집단이 되고, "서울시 중고등학생"은 표본집단이 됩니다. 이 경우 서울시 중고등학생은 한국 중고등학생 전체를 대변한다고 할 수 있을까요? 아마 그렇지 않을 것입니다. 용돈의 규모는 부모의 소득 수준과 지역물가 등에 영향을 받을 겁니다. 그리고 서울시에서 만난 중고등학생 500명이 우연하게도 매우 높은 용돈을 받고 있다면 평균값이 크게 왜곡될 수도 있기 때문입니다. 이렇듯 설문과 실험을 설계할 때, 표본이 모집단을 대표할 수 있는지 항상 의심해보아야 합니다.
2030 직장인을 대상으로 자기 계발에 한 달에 얼마까지 투자할 의향이 있는지 묻는지 알아보기 위해, 평일 오후 3시부터 6시까지, 삼성역 코엑스 취업/이직 박람회에 방문한 직장인 300명을 대상으로 설문조사를 했습니다. 결과가 약 30만 원이었다고 했을 때, 과연 이 결과를 신뢰할 수 있을까요?
우선 표본이 모집단을 대표하지 못할 것입니다. 평일 오후에 방문할 수 있는 직장인은 오후 시간에 휴가를 내거나 자유롭게 업무시간을 활용할 수 있는 직장을 가진 사람이어야 합니다. 지방에서 근무를 하거나 업무시간에 자리를 비우기 어려운 직장인은 표본에서 제외됩니다. 뿐만 아니라 해당 취업/이직 박람회의 성격에 따라 방문자의 도메인 IT업계로 특정하게 쏠릴 가능성도 있습니다.
하지만 모집단을 100% 대표하는 표본집단을 선정하는 건 현실적으로 거의 불가능할 겁니다. 모집단을 조금 더 좁게 정의하거나, 표본이 모집단을 100% 대변하지 못하는 걸 인지했다면 다른 보조지표나 직관으로 결과를 보완하여 해석해야 합니다.
*100%라는 수치에 너무 매몰될 필요는 없다고 생각합니다. 우리가 비만의 정도를 평가할 때 BMI나 인바디 결과도 있지만, 몸무게 만으로 충분할 수 있으니까요.
특정 지역의 연간 평균소득이 대략 1억 원 정도 된다고 했을 때, 우리는 이 평균을 어떻게 해석해야 할까요?
우리는 이 평균을 올바르게 해석하기 위해선, 평균값이 산술평균인지, 중앙값인지, 최빈값인지 파악해야 하고 평균을 구성하는 각 값들이 얼마나 편차가 큰지 확인해 보아야 평균의 함정을 피해 데이터를 올바르게 해석할 수 있습니다.
평균을 산술평균으로 계산하게 되었을 때 아래의 두 가지 경우가 있을 수 있습니다. case A와 같은 데이터셋이라면 위 책에 표시된 1억은 토지 구매의 관점에서 올바른 값이라고 할 수 있지만, case B라면 해석은 달라질 수 있습니다. 산술평균은 1억으로 같지만, 중앙값과 최빈값은 2천만 원이 되기 때문입니다.
평균을 구성하는 데이터셋이 어떻게 이루어져 있는지, 그로 인한 표준편차나 분산이 얼마나 되는지에 따라 결과를 다르게 해석해야 합니다.
case A : 1억, 1억, 1억, 1억, 1억, 1억, 1억, 1억, 1억, 1억
case B : 2천만 원, 2천만 원, 2천만 원, 2천만 원, 2천만 원, 2천만 원, 2천만 원, 2천만 원, 4.2억, 4.2억
산술평균 : 모든 값의 합을 데이터의 개수로 나눈 값
최빈값 : 데이터 집합에서 가장 자주 나타나는 값
중앙값 : 데이터를 크기 순서대로 나열했을 때 가운데 위치한 값
모수가 작을수록 결과가 왜곡되기 쉽습니다. 이제 사례를 볼까요? 우리는 아래 숫자를 볼 때 어떻게 해석해야 할까요? 결론은 해당 실험에 참여한 참여 모수가 얼마나 되는지, 해당 통계의 신뢰 수준(p value)은 얼마나 되는지 파악해야 합니다.
위 23%는 책에 따르면 10명 미만의 실험 참여자로부터 얻은 통계이므로 신뢰도가 매우 낮습니다. 신뢰도가 매우 낮다는 건 해당 결과가 우연에 가깝다는 뜻입니다. 쉽게 예를 들면 동전을 던졌을 때, 앞면이 나올 확률은 50%입니다. 하지만 우연히 4번 던져서 4번 모두 앞면이 나오는 경우는 생각보다 심심찮게 발견할 수 있습니다. 동전 던지기를 무수히 반복할수록 50%에 수렴하게 되므로, 4번 던졌을 때 4번 모두 앞면이 나왔다는 사실은 시행 횟수가 부족하여 신뢰할 수 없으므로 우연이라고 해석해야 합니다.
실험 결과가 우연이 되는 경우는 시행 횟수뿐만 아니라, 실험의 처치 대상이 되는 대상의 성격에 따라 달라질 수도 있습니다. 예를 들어 새로운 감기 주사약을 개발한 신약 회사가, 아래의 문구로 홍보를 한다고 했을 때 이 문구를 신뢰해야 할까요?
00 약을 투여한 실험군 500명 중 95%가 7일 내에 감기가 모두 나았습니다.
위 문구를 신뢰할 수 있는지 판단하기 위해선 아래의 정보가 필요할 수 있습니다.
1. 감기는 약 없이도 대부분 7일 뒤에 낫는다. (처치 대상의 성격)
2. 실험 대조군의 7일 뒤 감기가 나은 참여자의 비율을 알 수 없다. (대조군과의 비교 수치)
만약 1번이 맞다면, 95%라는 수치는 통계적으로 왜곡되었을 수 있습니다. 7일 뒤 자연 치유율과 신약의 치유율의 차이를 비교해보아야 합니다. 2번의 경우도 1번과 비슷합니다. 특정 처치를 하지 않은 대조군의 치유율과 실험군이 큰 차이가 나지 않는다면 위 결과는 우연이며, 훨씬 더 많은 실험, 대조군을 필요로 합니다.
제가 실험을 해석하면서 자주 겪는 문제는 실험을 신뢰할 수 있는 수준의 모수를 모으지 못했을 때 발생합니다. 실험 결과를 해석할 때, 통계적 유의성을 검증하는 과정을 꼭 거쳐야 이 실험의 결과가 우연이 아닌 명백한 인과관계가 있음을 검증할 수 있습니다. 이 계산을 쉽게 도와주는 오픈소스 툴을 공유합니다.
내가 실험을 통해 얻은 모수와 전환율, 그로 인한 차이가 통계적으로 유의미한지 아닌지 간단하게 계산해 주는 서비스입니다. 왼쪽에서 실험군과 대조군의 모수와 전환수를 적은 후, 아래에서 가설 종류와 신뢰구간을 선택하면, 주어진 값을 통해 계산을 도와줍니다. 우측의 p-value가 신뢰도를 의미하며, 0.05라는 것은 신뢰도가 95%라는 의미입니다. (신뢰도 = 1 - p value)
2. 표본 샘플사이즈 계산기
실험을 수행하기 전, 유의미한 모수를 구하기 위해 얼마만큼의 시간을 필요로 하는지 계산해 주는 오픈소스 툴입니다. 일일 평균 방문자와 전환율을 작성하면 유의미한 모수를 구하기까지 걸리는 기간을 유의 수준에 맞추어 간단하게 계산해 줍니다.
모든 내용을 기억하기 어렵더라도 아래 내용 3가지만 기억하면 더 정확한 분석과 해석이 가능해질 거예요.
1. 표본집단이 모집단을 대표하고 있는지 의심하기
2. 평균이 무엇이고, 어떤 데이터로 구성되어 있는지 확인하고 올바르게 해석하기
3. 실험 모수가 충분히 크고 통계적 유의성을 가지고 있는지 체크하기
#데이터리안 #데이터넥스트레벨챌린지 #데벨챌