1.6 엔지니어링 메트릭을 위한 통계적 소양
개요 및 동기
메트릭 프로그램을 잘 운영하기 위해 통계학 학위가 필요한 것은 아니지만, 그렇지 않으면 잘 거버넌스되고 잘 계측된 메트릭을 적극적으로 오도하게 만드는 소수의 특정하고 흔한 실수는 피해야 한다. 팀은 모든 것을 올바르게 할 수 있다: 명확한 결정을 명명하고, 굿하트의 법칙을 피하고, 결과 쪽으로 가중치를 두고, 소유권을 거버넌스하고, 신뢰성 있게 계측하고서도, 백분위수가 필요한 곳에서 평균을 읽거나, 잡음을 추세로 착각하거나, 원인으로 치장된 우연에 속아 여전히 잘못된 결론에 도달할 수 있다. 이 주제는 이 책이 이후의 모든 주제의 독자가 이미 가지고 있다고 전제하는 최소한의 통계적 판단력을 다룬다.
핵심 문제는 엔지니어링 메트릭이 공식 통계학의 기준으로 볼 때 보통 시끄럽고, 치우쳐 있으며, 표본이 작다는 것이다. 단일 팀의 주간 배포 수는 매끄러운 종형 곡선이 아니다. 그것은 이따금 큰 이상치(큰 릴리스, 인시던트로 인한 롤백 소동)를 가진 소수의 데이터 포인트다. 크고 잘 행동하는 데이터셋을 위해 만들어진 순진한 직관을 이런 종류의 데이터에 적용하면 정기적으로 자신 있고 틀린 결론이 만들어진다. 어떤 수치가 신뢰하기에는 너무 시끄러운지, 평균이 언제 당신에게 거짓말을 하고 있는지, 그리고 함께 움직이는 두 가지가 인과관계에 대해 아무것도 말해 주지 않는 것은 언제인지 알아채는 법을 배우는 것은 선택적인 엄격함이 아니다. 그것은 조직에 진실한 무언가를 가르치는 메트릭 프로그램과 그럴듯하게 들리지만 거짓된 무언가를 가르치는 메트릭 프로그램을 가르는 것이다.
엔터프라이즈와 정부 규모에서는 통계적 실수가 복합적으로 커지는데, 리더십이 일단 받아들인 오도하는 결론은 누군가 근본적인 분석을 다시 살펴볼 생각을 하기 전에 여러 팀에 걸쳐 실행에 옮겨지기 때문이다. 두 사업부 사이의, 혹은 주요 재조직 전후의 통계적으로 순진한 비교는 아무도 통제하지 않은 잡음이나 교란 변수에 지나지 않는 것을 근거로 몇 년 동안 자원 배분 결정을 형성할 수 있다. 이 주제는 그 실패를 덜 가능성 있게 만들기 위해 존재한다.
핵심 원칙
- 중앙값이나 백분위수는 보통 평균보다 더 많은 것을 말해 준다. 엔지니어링 데이터는 평균은 흡수하지만 백분위수는 흡수하지 않는 이상치에 의해 일상적으로 치우친다.
- 작은 표본은 시끄러운 수치를 만들어 낸다. 소수의 사건으로부터 계산된 백분율은 실제 변화와 전혀 무관한 이유로 격렬하게 흔들린다.
- 평균으로의 회귀는 사람들을 끊임없이 속인다. 유난히 좋거나 나쁜 값은 개입이 있든 없든 더 정상적인 값이 뒤따르는 경향이 있다.
- 상관관계는 인과관계가 아니며, 교란 변수는 어디에나 있다. 함께 움직이는 두 메트릭은 하나가 다른 하나를 이끄는 것이 아니라 숨겨진 세 번째 원인을 공유할 수 있다.
- 관리도는 단일한 전후 비교를 이긴다. 정상적인 변동 범위를 보는 것이야말로 진짜 변화를 잡음으로부터 구별하게 해 준다.
권장 사항
치우친 데이터에는 기본적으로 중앙값과 백분위수를 사용하라
리드 타임, 인시던트 복구 시간, 응답 지연 시간 같은 엔지니어링 시간 기반 메트릭은 거의 항상 오른쪽으로 치우쳐 있다: 대부분의 값은 낮은 쪽에 몰려 있고, 이따금 큰 이상치의 긴 꼬리가 있다. 그 꼬리에 끌려간 평균은 전형적인 사례가 실제로 전혀 그렇게 보이지 않는 그림을 그릴 수 있다. 중앙값(중간값, 관측치의 절반이 위에 있고 절반이 아래에 있는 값)을 90번째 또는 95번째 백분위수(관측치의 90% 또는 95%가 그 아래로 떨어지는 값)와 함께 보고하라. 이 둘은 함께 전형적인 사례와 팀이 실제로 경험하는 최악의 꼬리를 모두 보여 준다. 자매편인 software-engineering-guide 책의 KPI 주제와, 이 책의 2부에 있는 모든 전달 메트릭 주제는 이 습관을 전제로 한다.
표본이 신뢰하기에 너무 작을 때를 알아두라
한산한 주의 세 번의 배포로부터 계산된 변경 실패율은 의미 있는 신호가 아니다. 단 한 번의 실패가 하룻밤 사이에 백분율을 0%에서 33%로 움직이며, 이는 근본적인 위험과 아무 관계가 없는 이유일 수 있다. 백분율 기반 메트릭에 반응하기 전에 그 근본적인 개수를 확인하라. 실용적인 경험 법칙으로, 근본 사건이 대략 스물에서 서른 개 미만인 비율은 시끄러운 것으로 취급하여 결론을 내리기 전에 더 긴 관측 창을 필요로 한다고 보고, 변동성이 큰 소표본 백분율을 안정적인 대표본 백분율과 동일한 확신으로 제시하는 대신 대시보드에 그것을 명시적으로 표시하라.
개입을 공로로 돌리기 전에 평균으로의 회귀를 경계하라
팀의 사상 최악의 인시던트 주간이 리더십의 관심과 이어지는 개선으로 뒤따른다면, 그 개입에 공로를 돌리고 싶은 유혹이 생긴다. 흔히 그 개선의 일부는 어쨌든 일어났을 것인데, 유난히 극단적인 값은 순전히 통계적 산물로서 더 전형적인 값이 뒤따르는 경향이 있기 때문이며, 이 현상을 평균으로의 회귀라고 부른다. 관심을 촉발한 단일 극단적 데이터 포인트가 아니라 더 긴 역사적 기준선과 비교함으로써, 그리고 관측된 개선 중 얼마나 많은 부분을 특정 행동에 귀속시킬지에 대해 적절히 겸손해짐으로써 이를 경계하라.
메트릭이 결과를 일으켰다고 주장하기 전에 교란 변수를 찾아보라
두 메트릭이 함께 움직일 때, 예를 들어 배포 빈도가 고객 만족도와 함께 상승할 때, 하나가 다른 하나를 일으켰다고 주장하려는 반사적 반응을 물리치고 먼저 교란 변수, 즉 둘 다를 이끄는 숨겨진 세 번째 요인을 고려하라. 새로운 기능 출시는 배포 빈도(더 많은 후속 수정)와 만족도(기능 자체) 둘 다를 독립적으로 끌어올릴 수 있으며, 두 메트릭 사이에는 아무런 인과 관계가 없을 수 있다. 상관관계를 인과관계의 증거로 제시하기 전에, 같은 시기에 바뀐 다른 무언가가 두 움직임 모두를 설명할 수 있는지 능동적으로 물어보라.
단일한 전후 스냅샷이 아니라 관리도를 사용하라
관리도는 메트릭을 시간에 따라 그리며 그 정상적인 변동 범위를 명시적으로, 보통 중심 평균 주위의 밴드로 보여 준다. 이는 단일한 전후 비교로는 구별할 수 없는 진짜 변화, 즉 정상 범위를 벗어난 데이터 포인트나 지속된 흐름을 평범한 잡음으로부터 구별할 수 있게 해 준다. “변경 후 수치가 개선되었다”고 선언하기 전에, 정상적인 변동이 어떻게 보이는지 볼 수 있을 만큼 충분한 역사적 데이터를 그리고, 변경 후 값이 실제로 그 범위를 벗어나는지 확인하라.
트레이드오프: 장단점
| 접근법 | 장점 | 단점 |
|---|---|---|
| 평균 | 단순하고, 친숙하며, 계산하기 쉬움 | 치우친 엔지니어링 데이터에서 이상치에 의해 왜곡됨 |
| 중앙값과 백분위수 | 이상치에 강건하며, 전형적인 사례와 꼬리를 함께 보여 줌 | 비기술적인 청중에게는 다소 덜 친숙함 |
| 단일한 전후 비교 | 빠르고, 직관적이며, 제시하기 쉬움 | 평균으로의 회귀와 잡음에 취약함 |
| 관리도와 더 긴 기준선 | 진짜 변화를 잡음으로부터 신뢰성 있게 구별함 | 더 많은 역사적 데이터와 비기술적 청중에 대한 더 많은 설명이 필요함 |
핵심 긴장은 단순성 대 엄격함이다. 평균과 단일한 전후 비교는 계산하고 설명하기 더 쉬운데, 이것이 바로 그것들이 일상적인 보고를 지배하는 이유다. 하지만 그것들은 또한 이 책의 메트릭이 만들어 내는 시끄럽고 치우친 종류의 데이터에서 자신 있고 틀린 결론을 만들어 낼 가능성이 가장 높은 두 가지 기법이기도 하다. 실제 결과를 초래하는 모든 결정에는 더 엄격한 기법인 중앙값, 백분위수, 관리도를 기본으로 사용하고, 잘못된 판독이 거의 비용을 치르지 않는 낮은 판돈의 탐색적 관찰을 위해 더 단순한 기법을 남겨 둠으로써 이 긴장을 해결하라.
팀과 논의할 질문
우리의 대시보드 타일 중 어느 것이 중앙값이나 백분위수가 더 진실한 이야기를 전할 곳에서 평균을 보고하는가? 시간 기반 엔지니어링 메트릭은 거의 항상 치우쳐 있으며, 치우친 데이터의 평균은 전형적인 사례나 최악의 꼬리가 전혀 다른 이야기를 전하는 동안에도 괜찮아 보일 수 있다. 이 치환을 특별히 염두에 두고 시간 기반 타일을 감사하라.
우리의 백분율 기반 메트릭 뒤에 있는 근본 표본은 얼마나 작으며, 우리는 열 개의 사건에서 나온 메트릭을 천 개에서 나온 것과 동일한 확신으로 취급하는가? 근본 개수 없이 제시된 변동성이 큰 소표본 비율은 잡음에 대한 과잉 반응을 초래한다. 변경 실패율과 유사한 백분율 타일에서 이 간극을 확인하라.
평균으로의 회귀가 어쨌든 만들어 냈을 개선에 대해 개입에 공로를 돌린 적이 있는가? 이것은 저지르기 가장 쉬운 통계적 실수 중 하나이며 사후에 알아채기 가장 어려운 것 중 하나인데, 개입과 개선이 실제로 그 순서로 일어났기 때문이다. 최근의 “우리가 이것을 고쳤다”는 이야기를 되돌아보고 기준선 비교가 이것을 배제할 만큼 충분히 길었는지 정직하게 물어보라.
교란 변수를 확인하지 않은 채 한 메트릭이 다른 메트릭을 일으켰다고 가정한 곳은 어디인가? 두 가지가 함께 움직이는 것은 흔하다. 하나가 다른 하나를 일으킨다는 것은 더 많은 증거가 필요한 더 강한 주장이다. 팀이 현재 믿고 있는 상관관계를 하나 골라, 아무런 인과 관계 없이 그것을 설명할 수 있는 그럴듯한 교란 요인의 이름을 대 보라.
우리의 가장 중요한 메트릭에 대해 정상적인 변동이 어떻게 보이는지 알기에 충분한 역사적 데이터를 가지고 있는가, 아니면 단일한 지점을 비교하고 있는가? 정상 범위에 대한 감각 없이는, 어떤 단일 값도 증거가 아니라 기분에 따라 우려스럽거나 안심시켜 주는 것처럼 보인다. 가장 많이 주시하는 메트릭이 단일 수치가 아니라 관리도로 그려진 적이 있는지 논의하라.
우리는 현재 비기술적 이해관계자에게 불확실성을 어떻게 전달하며, 우리의 대시보드는 데이터가 실제로 뒷받침하는 것보다 더 많은 정밀함을 암시하는가? 정상 변동이나 표본 크기에 대한 아무런 표시가 없는 차트는 리더십 팀이 잡음에 과잉 반응하게 하거나, 마찬가지로 자주, 실제 신호를 잡음으로 치부하게 만들 수 있다. 당신의 보고가 읽을 수 없게 되지 않으면서 이것을 어떻게 정직하게 전달할 수 있을지 논의하라.
분야별 관점
스타트업. 작은 팀은 거의 모든 곳에서 작은 표본을 만들어 내며, 이는 이 주제의 소표본 경고가 끊임없이 중요하다는 것을 의미한다. 단 한 번의 나쁜 주간이나 단 한 번의 훌륭한 주간으로부터 강한 결론을 도출하려는 것을 물리쳐라. 소수의 데이터 포인트만으로는 “이것이 추세인가”에 대한 정직한 답은 흔히 “우리는 아직 모른다”이다.
중소기업. 기성 도구의 내장 대시보드는 계산하고 표시하기 가장 단순하기 때문에 흔히 기본적으로 평균과 단일 기간 비교로 설정되어 있다. 도구가 허용하는 곳에서는 시간 기반 메트릭에 대해 중앙값으로 전환하고, 작은 근본 개수로부터 계산된 “이번 달 40% 상승” 같은 헤드라인은 회의적으로 바라보라.
엔터프라이즈. 이 규모에서의 통계적 실수는 수백 명에게 영향을 미치는 자원 배분 및 재조직 결정에 굳어져 들어간다. 사업부 간 비교나 주요 변경 전후 비교가 확정된 사실로 리더십에 제시되기 전에 적절한 관리도를 구축하고 교란 요인을 확인할 수 있는 분석가나 내장된 데이터 실무자에게 투자하라.
정부. 공개 보고서나 예산 정당화를 이끄는 통계적으로 순진한 비교는 엄청난 실제 결과를 초래할 수 있으며, 정확히 그런 종류의 정밀 조사를 초래해 허술한 분석을 공개적으로 드러낸다. 외부에 발행되는 모든 것에 대해 이따금씩의 최선의 노력이 아니라 상시적인 관행으로서 더 엄격한 기법인 관리도, 문서화된 표본 크기, 교란 요인 확인을 적용하라.
사례
엔터프라이즈. 한 소프트웨어 회사의 리더십 팀은 새로운 코드 리뷰 정책을 도입한 다음 달에 변경 실패율이 25% 개선된 것을 축하하며 그 정책에 직접 공로를 돌렸다. 더 자세히 살펴보니 “이전” 달은 한 팀의 마이그레이션이 잘못되어 유난히 나빴던 달이었으며, 두 달 모두의 근본 표본 크기는 회사 전체에서 서른 번의 배포 미만이었다는 것이 발견되었다. 12개월의 이력을 사용한 관리도는 새로운 값이 정상 변동 범위 안에 잘 들어 있으며 진짜 단계적 변화가 아니라는 것을 보여 주었고, 정책의 실제 효과는 진짜이긴 했지만 헤드라인 수치가 시사하는 것보다 훨씬 더 작았다.
정부. 한 공공 교통 기관은 단일한 “이전” 분기를 단일한 “이후” 분기와 비교하여 새로 디지털화된 스케줄링 시스템에 대한 큰 전년 대비 정시 운행 성과 개선을 보고했다. 독립적인 검토 결과 “이전” 분기가 전체 네트워크의 성과를 떨어뜨린 무관한 공사 폐쇄와 우연히 겹쳤으며, 더 긴 기준선은 새로운 시스템이 출시되기 전에 이미 정시 운행 성과가 회복되고 있었다는 것을 보여 주었다. 그 기관의 수정된 보고서는 완전한 다년간의 관리도를 사용했고 더 새로운 시스템 자체에 더 온건하지만 더 방어 가능한 개선을 귀속시켰다.
비즈니스 사례: 동기, ROI, TCO
통계적 소양의 수익은 잘못된 방향 설정을 피하는 것이다: 개선을 정확하게 귀속시키거나 잡음을 정확하게 잡음으로 인식하는 조직은 유령 같은 효과를 좇는 대신 실제로 도움이 될 곳에 다음 투자를 쓴다. 위의 소매 사례가 전형적이다: 자신의 리뷰 정책만이 25% 개선을 이끌었다고 믿은 회사는 다른 실제 기여 요인에 과소 투자하거나, 미래의 결정을 오도하는 방식으로 정책의 가치를 과장했을 수 있다.
통계적 엄격함의 총비용은 대체로 새로운 도구가 아니라 습관의 전환이다: 평균 대신 중앙값을 선택하고, 반응하기 전에 표본 크기를 확인하며, 승리를 선언하기 전에 더 긴 기준선을 그리는 것. 이러한 습관은 채택하는 데 거의 비용이 들지 않으면서 자신 있고 틀린 결론으로 내려진 결정의 훨씬 더 크고 감지하기 어려운 비용을 예방한다.
안티패턴과 함정
- 치우친 시간 기반 데이터에 평균을 보고하기: 전형적인 사례와 꼬리를 하나의 오도하는 수치 뒤에 숨긴다.
- 눈에 보이는 표본 크기 없이 백분율에 반응하기: 소수 사건의 잡음을 마치 안정적이고 의미 있는 추세인 것처럼 취급한다.
- 평균으로의 회귀를 배제하지 않은 채 개입에 공로를 돌리기: 흔하고, 저지르기 쉬우며, 알아채기 어려운 실수.
- 교란 요인을 고려하지 않고 상관관계로부터 인과관계를 주장하기: 데이터가 실제로 뒷받침하는 것을 과장한다.
- 더 긴 기준선을 그리는 대신 단일한 전후 스냅샷을 비교하기: 진짜 변화를 평범한 변동으로부터 구별할 수 없다.
- 리더십을 향한 보고에서 데이터가 뒷받침하는 것보다 더 많은 정밀함을 암시하기: 잡음에 대한 과잉 반응이나 실제 신호의 기각을 초래한다.
성숙도 모델
- 1단계, 시작: 메트릭이 표본 크기, 치우침, 혹은 기준선 변동에 대한 주의 없이 원시 평균과 단일한 전후 스냅샷으로 보고된다.
- 2단계, 개발: 일부 분석가가 비공식적으로 중앙값이나 백분위수를 적용하지만, 일관된 조직적 관행은 없고 교란 요인은 거의 확인되지 않는다.
- 3단계, 표준화: 중앙값과 백분위수가 치우친 시간 기반 메트릭에 기본으로 사용되며, 표본 크기가 조직 전체에서 백분율 기반 메트릭과 함께 표시된다.
- 4단계, 관리: 역사적 기준선을 가진 관리도가 진짜 변화에 대한 어떤 주장에도 표준 관행이며, 보고에서 인과적 주장이 만들어지기 전에 교란 변수가 능동적으로 고려된다.
- 5단계, 조율: 통계적 엄격함이 도구 자체에 내장되어, 대시보드가 기본적으로 백분위수와 관리 밴드를 렌더링하며, 조직은 통계적으로 순진한 판독이 전략을 형성하기 전에 발견되어 수정된 구체적인 과거 결정을 제시할 수 있다.
논의를 위한 아이디어
- 평균을 중앙값으로 바꾸면 우리의 현재 대시보드 헤드라인 중 어느 것이 달라 보일까?
- 백분율이 우리가 가정했던 것보다 훨씬 더 작은 표본에 기반했다는 것이 밝혀져 결정을 바꾼 적이 있는가?
- 평균으로의 회귀에 비추어 다시 검토해야 할 최근의 “우리가 이 메트릭을 개선했다”는 이야기는 무엇인가?
- 우리의 두 메트릭이 하나가 다른 하나를 이끄는 것이 아니라 숨겨진 세 번째 원인을 통해 상관관계를 이루고 있는 곳은 어디인가?
- 우리의 가장 중요한 차트는 정상적인 변동 범위를 보여 주는가, 아니면 단일한 추세선만 보여 주는가?
핵심 요약
- 치우치고 시간 기반인 엔지니어링 메트릭에는 평균보다 중앙값과 백분위수를 선호하라.
- 소표본으로부터의 백분율을 시끄러운 것으로 취급하고, 안정적인 추세인 것처럼 반응하는 대신 그것을 명시적으로 밝혀라.
- 유난히 나쁜 값 다음에 온 개선에 대해 개입에 공로를 돌리기 전에 평균으로의 회귀를 경계하라.
- 상관관계는 인과관계가 아니다. 인과적 주장을 하기 전에 능동적으로 교란 변수를 찾아보라.
- 진짜 변화를 평범한 잡음으로부터 구별하기 위해 단일한 전후 스냅샷이 아니라 실제 역사적 기준선을 가진 관리도를 사용하라.
참고 문헌 및 추가 자료
- Silver, Nate. The Signal and the Noise: Why So Many Predictions Fail, but Some Don’t. Penguin Press, 2012.
- Hubbard, Douglas W. How to Measure Anything: Finding the Value of Intangibles in Business. Wiley, 2014.
- Wheeler, Donald J. Understanding Variation: The Key to Managing Chaos. SPC Press, 2000.
- Kahneman, Daniel. Thinking, Fast and Slow. Farrar, Straus and Giroux, 2011.
- Tufte, Edward R. The Visual Display of Quantitative Information. Graphics Press, 2001.