// chikrii_algorithm_strategic_labprovided as internal research — read-only
root@chikrii-lab:~/chikrii-lab/softlab-archive/survivor-filter.md

살아남은 데이터만 보면 생존 비결을 잘못 배운다

살아남은 것만 보면 생존 비결을 잘못 배운다

제2차 세계대전 중 미군은 귀환한 폭격기의 총탄 흔적을 분석해서 장갑을 보강할 위치를 결정하려 했다. 엔진부에는 탄흔이 거의 없고, 동체와 날개에 집중되어 있었다. 당연히 탄흔이 많은 곳에 장갑을 두르자는 결론이 나왔다. 이때 통계학자 에이브러햄 월드(Abraham Wald)가 정반대의 제안을 했다. 엔진부에 장갑을 보강해야 한다고. 이유는 간단했다. 엔진에 피격된 비행기는 귀환하지 못했기 때문에 데이터에 포함되지 않은 것이다.

이것이 생존자 편향(Survivorship Bias)의 가장 유명한 사례다. 분석 대상이 살아남은 쪽으로 편향되면, 실패한 쪽의 정보가 데이터에서 빠진다. 그 빠진 데이터가 핵심 변수인 경우, 결론이 정반대로 뒤집힌다.

성공 사례만 분석하면 성공 요인을 잘못 짚는다

스타트업 생태계에서 이 편향이 특히 심하다. 성공한 기업의 공통점을 찾아서 “이것이 성공의 비결이다”라고 결론짓는 분석이 넘쳐나지만, 같은 조건을 갖추고도 실패한 기업이 얼마나 많은지는 분석에 포함되지 않는다. 피벗을 한 기업이 성공했다고 해서 피벗이 성공 전략인 것은 아니다. 피벗을 하고도 망한 기업이 훨씬 더 많을 수 있다. 다만 그 기업들은 사라졌기 때문에 아무도 인터뷰하지 않고 아무도 분석하지 않는다.

투자 펀드의 수익률 데이터에서도 같은 문제가 발생한다. 특정 시점에 존재하는 펀드의 평균 수익률을 계산하면 실제보다 높게 나온다. 실적이 나빴던 펀드는 이미 청산되어 데이터에서 사라졌기 때문이다. 이 효과만으로도 펀드 평균 수익률이 연 1%에서 2%까지 과대평가될 수 있다는 연구 결과가 있다.

소프트웨어가 생존자 편향에 빠지는 경로

소프트웨어라고 이 편향에서 자유롭지 않다. 오히려 데이터 수집 단계에서 생존자 편향이 구조적으로 심어지는 경우가 많다. 이탈한 사용자의 행동 데이터가 잘려나간 상태에서 “활성 사용자의 행동 패턴”을 분석하면, 이탈 원인을 찾는 것이 불가능해진다. 로그가 남아 있더라도 이탈 사용자의 마지막 세션 데이터가 불완전하게 기록되는 경우가 흔한데, 이 불완전한 데이터를 분석에서 제외하면 그게 곧 생존자 편향이 된다.

실시간 보상 시스템의 임계점에 대한 분석에서도 비슷한 구조가 드러난다. 보상에 반응하는 사용자의 데이터만으로 보상 효과를 측정하면, 보상에 무반응인 사용자 집단의 존재가 분석에서 누락된다. 이 누락이 시스템의 효과를 과대평가하게 만든다.

월드의 교훈을 코드에 적용하는 방법

IEEE Spectrum에서 다루는 엔지니어링 사례 분석에서도 반복되는 주제인데, 시스템 장애 분석에서 생존자 편향을 피하려면 “정상 작동한 케이스”뿐 아니라 “장애가 발생한 케이스”의 데이터를 동등하게 보존하고 분석해야 한다. 실무적 교훈은 데이터 파이프라인 설계 단계에서 결정된다. 이탈 사용자의 로그를 별도 테이블에 보존하고, 청산된 펀드의 과거 수익률을 아카이브에 남기고, 실패한 실험의 결과를 삭제하지 않는 것이 생존자 편향을 방지하는 가장 기본적인 방법이다.

분석의 정확도를 결정하는 건 데이터의 양이 아니라 데이터의 범위다. 살아남은 것만 보면 살아남은 이유를 잘못 배운다. 사라진 것까지 봐야 전체 그림이 보인다.

사라진 데이터를 복원하는 엔지니어링

통계학에서는 이 문제를 “절단 데이터(Truncated Data)” 혹은 “검열 데이터(Censored Data)”로 다룬다. 의학 연구에서 환자가 추적 중간에 연구를 떠나는 경우, 그 환자의 생존 시간을 “최소한 이 기간까지는 생존했다”는 하한값으로 처리한다. 이 기법을 카플란-마이어 추정이라 부르는데, 핵심은 데이터가 빠져나간 시점의 정보까지 분석에 반영한다는 것이다. 단순히 완전한 데이터만 취하고 불완전한 데이터를 버리는 것과 카플란-마이어 추정을 적용하는 것 사이에는, 생존율 추정치가 수십 퍼센트포인트까지 벌어질 수 있다.

비즈니스 분석과 데이터 그래프

이 원리는 소프트웨어 설계 전반에 적용 가능하다. 사용자 이탈 분석에서 이탈 시점의 로그를 검열 데이터로 처리하면, 이탈하지 않은 사용자 데이터만으로 분석하는 것보다 훨씬 정확한 잔존율 곡선을 만들 수 있다. 코호트 분석에서 초기 이탈자를 제외하면 리텐션이 좋아 보이지만, 그건 데이터가 좋아진 게 아니라 나쁜 데이터를 지운 것뿐이다. 좋은 분석은 살아있는 데이터와 사라진 데이터를 함께 본다.