상관관계

Correlation

지표

두 값이 얼마나 함께 움직이는지를 -1과 1 사이의 숫자 하나로 나타낸 것입니다.

등장 배경

두 숫자가 관련 있어 보인다는 말은 오래전부터 있었습니다. 문제는 그 말을 확인할 방법이 눈밖에 없었다는 점입니다. 꺾은선 두 개를 겹쳐 놓고 한쪽은 비슷하게 움직인다고 하고 다른 쪽은 아니라고 하면 그다음 대화가 없습니다. 둘 다 같은 그래프를 보고 있으니 누가 더 자세히 봤는지를 따질 수도 없습니다.

세로 눈금을 어떻게 잡느냐에 따라 그림이 달라진다는 것도 곤란했습니다. 한쪽 축을 늘리면 두 선이 나란히 붙어 보이고, 줄이면 따로 놀아 보입니다. 같은 데이터로 정반대의 인상을 만들 수 있었던 겁니다.

상관계수는 이 판정을 숫자 하나에 맡깁니다. 그림을 어떻게 그리든 값은 변하지 않고, 0.7이라는 값을 두고는 크다 작다를 다툴지언정 관계가 있느냐 없느냐로는 다투지 않습니다. 회의에서 인상을 주고받던 자리가 같은 숫자를 놓고 이야기하는 자리로 바뀝니다.

계산 방법

두 값이 각자의 평균에서 얼마나 떨어져 있는지를 짝끼리 곱해 평균 내고, 그 결과를 두 값이 퍼진 정도로 나눠 -1과 1 사이에 오게 맞춥니다. 평균에서 떨어진 거리를 곱하는 게 핵심입니다. 한쪽이 평균보다 크고 다른 쪽도 평균보다 크면 곱이 양수가 되고, 한쪽만 크면 음수가 됩니다. 이 곱들이 대체로 같은 부호로 쌓이면 두 값이 같은 방향으로 움직인다는 뜻입니다.

순서는 셋입니다.

  1. 짝지어진 값을 모읍니다. 계정마다 지난달 초대한 동료 수와 이번 달 접속한 날짜 수를 나란히 적는 식입니다. 둘 다 기록된 계정만 남깁니다.
  2. 각 줄에서 두 값의 평균 대비 편차를 곱하고 전부 더해 평균 냅니다. 초대 수 평균이 3명이고 접속 일수 평균이 12일일 때, 초대 5명에 접속 18일인 계정은 (5-3)과 (18-12)를 곱해 12가 됩니다. 초대 1명에 접속 20일인 계정은 (1-3)과 (20-12)를 곱해 -16이 됩니다.
  3. 두 값 각각의 퍼진 정도로 나눕니다. 이 단계가 단위를 지웁니다. 나누기 전에는 값의 크기가 명과 일이라는 단위에 따라 달라지지만, 나누고 나면 -1과 1 사이의 숫자가 되어 다른 쌍과 비교할 수 있습니다.

읽는 법은 부호와 크기로 나뉩니다. 양수면 한쪽이 클 때 다른 쪽도 크고, 음수면 한쪽이 클 때 다른 쪽이 작습니다. 절대값이 1에 가까울수록 두 값이 한 직선 위에 가깝게 놓여 있다는 뜻이고, 0이면 직선 관계가 없다는 뜻입니다. 0.72는 초대를 많이 한 계정이 대체로 더 자주 들어온다는 뜻이고, -0.41은 로딩 시간이 긴 계정일수록 대체로 덜 들어온다는 뜻입니다.

계산 자체는 스프레드시트의 함수 하나나 한 줄짜리 질의로 끝납니다.

좋은 수준의 기준

절대값이 크고, 표본이 충분하고, 흩뿌린 점이 직선 모양일 때만 이 값을 근거로 씁니다. 셋 중 하나라도 빠지면 숫자는 나오지만 믿을 게 못 됩니다.

크기의 기준은 분야마다 다릅니다. 기계 계측에서는 0.9도 낮다고 보지만, 사람이 무엇을 할지는 수십 가지가 함께 정하므로 제품 데이터에서는 0.3만 나와도 볼만한 관계입니다. 대략 0.7 이상이면 강하다고, 0.3에서 0.7 사이면 살펴볼 만하다고, 0.1 아래면 없다고 읽되 이 선을 절대 기준으로 삼지는 않습니다.

표본 수가 더 중요할 때가 많습니다. 계정 8개로 0.6이 나오는 일은 아무 관계가 없어도 흔히 벌어집니다. 같은 0.6이라도 8개에서 나온 것과 800개에서 나온 것은 무게가 다릅니다. 표본이 적으면 값과 함께 신뢰구간을 확인해서, 그 구간이 0을 지나가면 관계가 있다고 말하지 않습니다.

흩뿌린 점을 눈으로 확인하는 절차도 빠뜨리지 않습니다. 이 값은 직선 관계만 잡아내므로 관계가 직선이 아니면 0에 가깝게 나옵니다. 알림 횟수와 잔존율이 그렇습니다. 주 2회까지는 잔존이 오르다가 주 10회를 넘으면 오히려 떨어지는 U자를 뒤집은 모양인데, 여기에 상관계수를 구하면 오르는 구간과 내리는 구간이 서로를 지워 0.05가 나옵니다. 숫자만 보고 알림은 잔존과 상관없다고 적으면 정반대의 결론입니다. 점 하나가 유난히 멀리 떨어져 있을 때도 그 계정 하나를 빼면 0.8이 0.2로 내려앉기도 합니다.

실무 용례

"초대 수랑 리텐션 상관계수가 0.62 나왔어요."

두 값이 꽤 뚜렷하게 함께 움직이니 들여다볼 만하다는 보고입니다.

"상관은 있는데 이걸 원인이라고 쓰면 안 될 것 같아요."

함께 움직인다는 관찰을 근거로 기능을 바꾸자는 제안에 제동을 거는 말입니다.

"표본이 12개인데 이 수치는 좀 위험해요."

계정 수가 적어 우연히 나온 값일 수 있다는 지적입니다.

페이지덱에서 지현이 이 값을 가장 자주 꺼내는 자리는 어느 지표를 먼저 볼지 고를 때입니다. 유료 전환과 함께 움직이는 값을 대여섯 개 구해 놓고 그중 계수가 큰 쪽부터 파고듭니다. 지난 분기에는 첫 주에 동료를 초대한 계정과 6개월 뒤 잔존 사이에서 0.62가 나왔습니다.

그 숫자를 들고 지현이 한 일은 초대 버튼을 키우자는 제안이 아니라 교란 변수를 찾는 일이었습니다. 두 값 모두에 영향을 주는 숨은 값이 있는지 보는 겁니다. 계정을 팀 규모로 갈라 보니 20명이 넘는 팀에서는 계수가 0.2로 내려갔습니다. 초대를 많이 한 것도, 오래 남은 것도 팀이 크기 때문이었습니다. 지현은 팀 규모를 맞춘 집단 안에서 다시 계산한 뒤에야 다음 실험을 설계했습니다.

흔한 오해

상관계수가 높으면 한쪽이 다른 쪽을 일으켰다고 읽는 경우가 가장 많습니다. 두 값이 나란히 움직이는 표를 보면 앞의 것이 뒤의 것을 만들었다고 읽는 게 사람에게 자연스럽습니다. 하지만 이 값은 함께 움직였다는 사실만 말하고 누가 누구를 움직였는지는 말하지 않습니다. 순서가 반대일 수도 있고, 둘 다를 움직인 제3의 값이 있을 수도 있습니다. 이 오해로 결정하면 초대 수를 늘리는 데 한 분기를 쓴 뒤에도 잔존은 그대로입니다.

반대쪽으로 기울어 인과가 아니면 쓸 데 없다고 보는 것도 흔한 오해입니다. 앞의 실수를 한 번 겪은 팀에서 자주 나옵니다. 그런데 이 값의 쓸모는 원인을 밝히는 게 아니라 어디를 먼저 파 볼지 고르는 데 있습니다. 지표 수십 개 중 어느 것이 목표와 함께 움직이는지 한 번 훑어 두면 실험할 후보가 대여섯 개로 줄어듭니다. A/B 테스트처럼 원인을 확인하는 방법은 한 번 돌리는 데 2주가 걸리니, 후보를 줄여 주는 단계를 버리면 무엇을 실험할지 감으로 고르게 됩니다.

자주 헷갈리는 용어

용어무엇을 말하는가상관관계와의 차이
인과관계한쪽이 다른 쪽을 실제로 일으키는 관계상관은 함께 움직였다는 관찰이고 인과는 원인이라는 주장입니다. 인과로 가려면 실험처럼 다른 설명을 지우는 절차가 더 필요합니다
교란 변수두 값 모두에 영향을 줘 관계를 있어 보이게 만드는 숨은 값상관이 있는데 인과가 아닌 경우의 가장 흔한 범인입니다. 계수를 구한 다음에 찾아보는 대상입니다
회귀 분석변수 사이의 관계를 식으로 추정하는 방법상관은 관계의 세기를 숫자 하나로 요약하고, 회귀는 한쪽이 1 늘 때 다른 쪽이 얼마나 변하는지를 식으로 냅니다. 변수를 여럿 넣을 수 있다는 점도 다릅니다

같이 보면 좋은 페이지

  • 분석 기법

    상관관계가 해석 갈래의 어디에 놓이는지, 편향 점검과 어떻게 이어지는지 봅니다

  • 인과관계

    상관에서 한 걸음 더 나가려면 무엇이 필요한지 바로 이어서 읽습니다

마지막 업데이트 2026-09-16