피드로 돌아가기
Detecting Earnings Manipulation with the Beneish M-Score: Python Implementation
Dev.toDev.to
Backend

Detecting Earnings Manipulation with the Beneish M-Score: Python Implementation

Cornell 학생들이 1998년 Beneish M-Score 모델로 Enron을 조기 적발한 3년 전 경고 신호 포착

Javier2026년 3월 25일9intermediate

Context

Wall Street 애널리스트들이 Enron에 매수 추천을 내릴 때, Cornell 대학 학생들이 통계 모델을 사용해 이미 회계 조작 신호를 감지했다. 재무제표만으로는 적발이 어려운 수익 조작을 정량적으로 탐지할 수 있는 방법이 필요했다.

Technical Solution

  • Beneish M-Score 공식 구현: -4.84 + 0.920×DSRI + 0.528×GMI + 0.404×AQI + 0.892×SGI + 0.115×DEPI - 0.172×SGAI + 4.679×TATA - 0.327×LVGI 계수 조합
  • 8개 재무 비율 변수 계산: DSRI(매출채권 일수), GMI(총마진), AQI(자산 품질), SGI(매출 성장), DEPI(감가상각), SGAI(판관비), TATA(총 발생액), LVGI(레버리지)
  • 임계값 기준 판정: M-Score > -1.78이면 조작 가능성 있음, < -1.78이면 조작 가능성 낮음
  • TATA 변수 가중치 우선순위: 4.679 계수로 모든 변수 중 최대값을 부여하여 현금흐름 대비 회계 이익의 괴리도 강조
  • 상호검증 방법론: Piotroski F-Score, Altman Z-Score와 결합한 3중 품질 점검 함수 제공

Key Takeaway

M-Score는 과거 데이터에 기반하고 고성장 기업에서 오탐지가 발생할 수 있으므로, 단독 지표보다는 다른 재무 모델들과 조합해 사용할 때 최대 효과를 발휘한다.


펀드 또는 개인 투자자가 상장사 재무제표 데이터로 Python 함수를 구현할 때, calculate_variables()로 8개 변수를 자동 계산하고 M-Score > -1.78인 기업들을 우선 정밀 검토 대상으로 분류하면 회계 조작 위험을 사전에 필터링할 수 있다.

원문 읽기