2026-02-12
Share
Copy Link
김형남 회계사_한서회계법인 파트너
김형남 회계사는 한서회계법인의 파트너이며 한국공인회계사이자 공인부정조사사(CFE)이다. 연세대학교 경제학 석사이며 홍익대학교에서 경제학을 전공하였다. Deloitte 안진회계법인에서 기업구조조정 프로젝트를 경험한 후, 삼정KPMG의 금융사업본부에서 내부회계관리제도 구축 및 평가, 은행내부통제 진단, M&A, 국제회계기준 도입 등 다양한 금융회사에 대한 컨설팅과 회계감사를 담당하였다. 특히, 국내에 내부회계관리제도 도입당시 내부감사 및 내부통제 전문컨설팅 그룹인 Protiviti에서 전문적인 지식을 습득하고 다양한 프로젝트 경험을 쌓았다. 현재는 다양한 금융회사, 부동산자산운용회사, 기업체, 정부기관 등에서 강연과 공인회계사 전문 컨설팅을 제공하고 있다.
9.11 테러당시 미국 정보기관은 다양한 이상징후를 탐지하였다. 비행학교에 다니는 중동 출신의 남자들이 조종기술은 배우려했지만 이착륙 훈련에는 관심이 없다는 점을 수상하게 여겼다. 또한, ‘내일 경기가 시작될 것이고 내일이 제로아워(zero hour)다’라는 첩보를 수집했다. 하지만, 미국 정보당국은 이러한 이상징후를 실제위협으로 예측하거나 연결하지 못해 9.11 테러라는 중요한 위협을 방지하지 못했다고 9.11위원회 보고서는 이야기 한다.
이러한 이상징후의 감지와 포착은 사회 여러 곳에서 중요하게 다루어진다. 야구에서 루틴이 변경되는 등의 이상징후 탐지로 상대편의 사인훔치기를 잡아내기도 하고, 금융회사는 보이스피싱 범죄자의 불법인출을 막기도 하며, 외부감사인은 대규모 분식회계를 찾아내기도 한다.
전통적인 내부회계관리제도는 샘플링에 근거한 테스트에 의존하고 있다. 기업의 데이터가 폭발적으로 증가추세에 있고 거래도 복잡해지면서 내부회계관리제도의 전통적인 평가방법으로는 부정행위를 적시에 적발하는데 한계가 있다는 지적이다.
AI와 머신러닝은 전수 데이터(population, 모집단)를 기반으로 적시(timely)에 인간이 수작업으로 찾기 힘든 미묘한 이상징후(anomaly)를 탐지할 수 있다. AI를 활용하면 이상징후의 탐지를 비교적 매우 낮은 비용으로 활용할 수 있어, 내부회계관리제도를 더욱 효과적이며 유효한 제도로 발전시킬 수 있다.
이번 연재에서는 AI를 활용하여 이상징후를 검토하는 강력한 3가지 방법론, 벤포드 법칙(Benford’s law), Z-Score, Isolation forest를 알아보고 고도화와 한계점을 알아본다.
벤포드 법칙(Benford’s law), 회계부정의 냄새를 맡다.
다양한 재무데이터, 재무제표 등을 활용함에 있어서 대한민국에 있는 모든 회사는 10진법을 사용한다. 재무제표를 16진법으로 만든다거나 아니면 2진법을 활용하는 회사나 조직은 없을 것이다. 10진법을 사용하게 되면 모든 숫자의 앞자리에 나올 수 있는 숫자는 0이 될 수 없으니 1부터 9까지 9개의 숫자가 된다. 그렇다면 자연적으로 발생되는 숫자의 첫자리는 1부터 9까지 숫자가 균등하게 나타날까?
물리학자인 프랭크 벤포드는 로그표 책의 앞쪽(1, 2로 시작하는 구간)이 너덜너덜해지고 뒷부분은 많이 사용되지 않았다는데 착안하여 숫자의 첫번째가 나타날 확률이 1부터 9까지 균등하지 않다는 사실을 발견하였고 다음과 같다는 사실을 수학으로 증명하였다.
/%EB%B2%A4%ED%8F%AC%EB%93%9C%EB%B2%95%EC%B9%99.gif?width=350&height=313&name=%EB%B2%A4%ED%8F%AC%EB%93%9C%EB%B2%95%EC%B9%99.gif)
벤포드 법칙은 인위적으로 부여한 숫자(학번, 사원번호, 인보이스 번호 등)이 아니라 자연적으로 발생되는 숫자(대한민국 국민의 핸드폰 요금, 국가별 인구, 주가, 거래내역, 회계장부)라면 모두 적용이 된다.
누군가가 숫자를 인위적으로 조작한다면 벤포드 법칙의 숫자 패턴을 벗어나게 될 것이고, 차이를 감지하게 되면 해당 데이터가 조작되었을 것이라는 위험신호(red flag)로 간주하고 정밀조사를 실시할 수 있다.
필자는 이 벤포드 법칙을 실무에서 많이 활용중인데 신기하게도 자연적으로 발생되는 숫자는 이 법칙을 따르는 것이 일반적이고 큰 차이를 발생시키지 않는다.그렇다면 벤포드 법칙을 내부회계관리제도에서 어떻게 사용할 수 있을까?
대표적으로 사용할 수 있는 분야는 분개장 분석, 통장 거래내역 분석, 비용처리 분석에 사용된다. 금융회사와 같이 특정 계정과목(수수료수익 등)의 데이터가 많다면 그러한 곳에도 응용하여 적용할 수 있으며 그 활용도는 무궁무진하다.
벤포드 법칙의 적용은 엑셀로 모델링을 하여 수작업으로 산출하는 것도 가능하다. 또한, 파이썬(python) 코드를 이용하여 직접 프로그래밍 할 수도 있다. 하지만, ChatGPT, Gemini와 같은 LLM 모형의 AI가 가장 잘 할 수 있는 분야중의 하나이다. 이러한 LLM 모형은 벤포드 법칙 분석과 그 증적(파이썬 프로그래밍 코드)을 모두 제공하므로 AI의 환각(hallucination)이라는 한계점을 극복할 수 있다.
그러면, 예를 들어 분개장에 대해 AI를 이용하여 벤포드 법칙을 적용하면 다음과 같다.
첫번째, 검토하고자 하는 분개장을 준비한다. 대부분의 회사와 조직에서는 SAP Hana, Oracle Netsuite, 더존iCUBE, 영림원소프트랩 KSystem, UNIERP와 같은 애플리케이션을 사용할텐데, 각 시스템에서 분개장을 추출할 수 있을 것이다.
두번째로 준비된 분개장을 ChatGPT나 Gemini와 같은 LLM 모형에 drag and drop을 이용하여 데이터를 업로드하고 다음과 같은 프롬프트를 입력한다.
/%EB%B2%A4%ED%8F%AC%EB%93%9C%EB%B2%95%EC%B9%99_%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8.gif?width=495&height=243&name=%EB%B2%A4%ED%8F%AC%EB%93%9C%EB%B2%95%EC%B9%99_%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8.gif)
이렇게 간단하게 프롬프트만 입력하면 AI는 엑셀로 모델링을 하거나 파이썬 프로그래밍을 직접 고민할 필요없이 결과를 도출해준다. 예전에는 비용을 많이 들여서 ACL이나 IDEA와 같은 감사전용 애플리케이션(CAAT application)을 활용해야 분석이 가능한 경우가 많았는데, 이렇게 간단한 한줄의 프롬프트로 결과를 도출해 내는 것을 보면 기술의 발전이 놀랍다.
다음은 ChatGPT와 Gemini의 벤포드 분석 결과에 대한 답변 사례이다.
/%EB%B2%A4%ED%8F%AC%EB%93%9C_%EB%B6%84%EC%84%9D%EA%B2%B0%EA%B3%BC.gif?width=669&height=819&name=%EB%B2%A4%ED%8F%AC%EB%93%9C_%EB%B6%84%EC%84%9D%EA%B2%B0%EA%B3%BC.gif)
/%EC%8B%9C%EA%B0%81%ED%99%94_%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8.gif?width=527&height=236&name=%EC%8B%9C%EA%B0%81%ED%99%94_%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8.gif)
다음은 ChatGPT와 Gemini의 그래프에 대한 답변 사례이다.
/%EC%8B%9C%EA%B0%81%ED%99%94_%EB%8B%B5%EB%B3%80.gif?width=643&height=623&name=%EC%8B%9C%EA%B0%81%ED%99%94_%EB%8B%B5%EB%B3%80.gif)
ChatGPT나 Gemini를 활용할 때 가장 핵심은 이러한 결과만 도출해주는 것이 아니라, 그 결과를 도출하게 된 파이썬(python) 코드를 같이 호출하여 준다는 것이다. 이러한 파이썬 코드를 통해 그 결과를 검증할 수도 있고, 그 결과를 도출한 Audit trail이나 증적(evidence)으로 활용할 수 있다.
/GPT_GEMINI.jpg?width=700&height=1826&name=GPT_GEMINI.jpg)
이렇게 벤포드 법칙에 따라 이상징후를 검토해 보면 위의 사례에서는 숫자5에서 실제 관측치(actual, observed data)가 벤포드 법칙에 의한 기대치(expected data)에 크게 위반된 것으로 감지되었다.
그렇다면 내부회계관리제도에서는 분개장의 첫번째 숫자5로 시작되는 거래가 잘못되었다고 결론내는 것이 아니라, 분개장중 차변금액의 숫자가 5로 시작하는 거래가 잘못되었을 수 있으니 정밀분석하여야 한다는 것을 의미한다. 그 분석결과 타당한 이유가 존재할 수도 있고, 인위적으로 분개장을 조작할 위험도 존재할 수 있다. 그 정밀분석 검토한 내용을 문서화하고 내부회계관리자에게 보고한다.
실무에서 벤포드 법칙을 적용하는 경우 이상징후 분석이 매우 용이하기 때문에 통장거래내역 등에 대한 적용을 적극 권장한다.
이상한 숫자 나라의 앨리스: Z-score로 본 이상징후
Z-score는 특정한 관측값이 전체 데이터 집단의 평균에서 얼마나 떨어져 있는지를 표준편차 단위로 나타내는 통계적 척도를 의미한다. Z-score가 이상징후를 파악하는데 유리한 점은 우선 통계학을 사용하기 때문에 논리적이라는 점(정량화 및 객관화)과 대규모 거래를 일일이 눈으로 확인하는 대신 이상치를 빠르게 좁혀서 테스트의 효율을 높일 수 있다.
Z-score는 개별 관측값이 평균을 기준으로 어느위치에 있는지를 상대적으로 보여주기 위해 다음의 수식으로 계산된다.
/Z-Score.gif?width=177&height=135&name=Z-Score.gif)
Z-score는 정규분포에 기반하여 각 관측값에 특정점수를 부여하며, 각 관측값이 정하여진 신뢰수준 이내에 존재하는지 알 수 있기 때문에 활용에 있어 매우 유용하다. 아래는 Z-score의 절대값에 따른 신뢰수준을 나타내는 표인데 Z-score의 절대값이 1.96이내에 존재한다면 이는 95% 확률로 범위내에 존재하며, 1.96 보다 크다면 5%의 확률로 발생하는 이상징후로 이해할 수 있다.
/Z-Score_%EC%A0%88%EB%8C%80%EA%B0%92%EA%B3%BC%EC%8B%A0%EB%A2%B0%EC%88%98%EC%A4%80.gif?width=486&height=217&name=Z-Score_%EC%A0%88%EB%8C%80%EA%B0%92%EA%B3%BC%EC%8B%A0%EB%A2%B0%EC%88%98%EC%A4%80.gif)
/Z-Score_%EC%A0%95%EA%B7%9C%EB%B6%84%ED%8F%AC.gif?width=484&height=294&name=Z-Score_%EC%A0%95%EA%B7%9C%EB%B6%84%ED%8F%AC.gif)
실무에서는 5%만을 이상징후로 판단하기 위해 1.96을 사용하기도 하며 사용 편의성을 위해 2를 사용하기도 한다. 물론 이상징후를 신뢰수준 99%를 벗어난 1%로 한다면 2.58을 사용할 수도 있다.
Z-score를 통한 이상징후의 탐지는 신용카드 사용액에 자주 활용된다. 특히 법인 신용카드의 사용은 그 건수가 많아 개별 건이 유효한지 판단하기 어렵다. 신용카드 사용액에 대해 Z-score를 적용하면 유의미한 이상징후를 탐지할 수 있다.
첫번째로 법인 신용카드 사용내역을 준비한다. 법인 신용카드 사용내역은 신용카드사를 통해 확보할 수 있으므로 데이터 수보에 용이하다. 해당 데이터를 ChatGPT나 Gemini에 올려서 다음과 같은 프롬프트를 입력하여 보자.
/Z-Score_%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8.gif?width=528&height=194&name=Z-Score_%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8.gif)
물론 프롬프트는 법인 신용카드가 여러장이 있는 경우 신용카드별로 이상징후를 검토할 수도 있으며 혹은 신용카드별 사용액 합계를 이용할 수도 있는 등 응용이 가능하다. 이렇게 프롬프트를 입력하면 ChatGPT나 Gemini와 같은 LLM 모형을 파이썬 프로그래밍을 통해 Z-score를 산출하고 그 결과를 보여준다.
다음은 ChatGPT와 Gemini의 Z-score에 대한 답변 사례이다.
/Z-Score_%EB%8B%B5%EB%B3%80%EC%82%AC%EB%A1%8001.gif?width=622&height=322&name=Z-Score_%EB%8B%B5%EB%B3%80%EC%82%AC%EB%A1%8001.gif)
Z-score도 마찬가지로 파이썬 코드를 통해 그 결과를 도출한 Audit trail이나 증적(evidence)으로 활용할 수 있다.
/Z-Score_%EB%8B%B5%EB%B3%80%EC%82%AC%EB%A1%8002.gif?width=641&height=813&name=Z-Score_%EB%8B%B5%EB%B3%80%EC%82%AC%EB%A1%8002.gif)
Z-score를 사용하게 되면 모집단이 큰 데이터에서 이상징후만으로 집중하여 분석할 수 있다. 본 사례에서는 가상의 카드사용데이터를 사용하였는데, 11,307개의 전체 카드 사용데이터를 Z-score 절대값이 1.96 이상이 거래를 추출하였는데 220건이 추출되었다.
실무에서는 이러한 220건도 모두 검토하는데 시간과 노력이 많이 소요될 수 있다. 이렇게 산출된 결과값을 2차 가공을 하여 사용하기도 한다. 즉, 산출된 220건은 평균에서 많이 벗어난 것을 의미하므로 금액적으로 매우 작은 것을 포함하기 때문에, 금액적 중요성을 사용하여 산출된 내역에서 특정금액 이상만 추출하도록 가공한다면 최종 검토하여야 하는 내용은 20-30건 이내로 축소할 수 있다.
Z-score는 예시로 든 것처럼 신용카드 사용내역의 이상징후를 포착하는데 매우 효과적이며 사용도 간편하다. 이러한 부분의 검토에 있어 실무에서 사용을 적극 권장한다.
Isolation forest, 내부회계관리제도에서는 좀…
Isolation forest는 가장 AI 다운 이상징후 탐지방법이다. 이 방법은 비지도 학습(unsupervised learning, 간단한 설명은 (연재1) 참조)에 기반한 알고리즘으로 “격리(isolation)”이라는 아이디어에 기반하여 정상 데이터를 모델링 한다기 보다는 이상치(anomaly)를 잘 격리하고 고립시키는데 초점을 둔다.
하지만, Isolation forest는 내부회계관리제도의 이상징후 탐지에서 한계점을 갖게 된다. 결론부터 말하면 Isolation forest의 결과는 매번 달라지고 동일하지 않기 때문에 결과 검증이나 재현성과 같은 증명이 어려워 Audit trail이나 evidence로의 설명력과 활용은 떨어진다.
결론: Measure, don’t guess
AI(인공지능)는 만능이 아니다. 하지만, 잘만 사용한다면 매우 낮은 비용으로 매우 유의미한 질적 향상을 가져올 수 있는 강력한 도구이다.
언제까지 내부회계관리제도를 감(感, feeling)이나 직관(直觀)에 의존할 것인가? 이제는 야구와 같은 스포츠까지도 감에 의한 접근을 하지 않고 투수의 구종, 타자의 타구방향, 출루율, 장타율, 상대전적 등과 같은 세부적인 데이터에 의한 전략을 세우고 있다.
“감에 의존하지 말고 측정하라”는 “Measure, don’t guess 원칙”을 잊지말자.
#내부회계관리제도 #AI #내부회계관리제도와AI #Z-Score #벤포트법칙 #관측치와 기대치
Legal Disclaimer
해당 자료의 내용은 집필자의 개인적인 의견으로 삼일피더블유씨솔루션(주)의 공식적인 의견이 아님을 밝힙니다.
해당 자료의 내용은 집필자의 개인적인 의견으로 삼일피더블유씨솔루션(주)의 공식적인 의견이 아님을 밝힙니다.
Copyright(C) 삼일피더블유씨솔루션㈜ All right reserved.
본 사이트에 게재된 자료들은 저작권법에 의하여 보호 받는 저작물로 그 저작권은 삼일피더블유씨솔루션(주)에 있으므로 무단 복제 및 배포를 금합니다.
본 사이트에 게재된 자료들은 저작권법에 의하여 보호 받는 저작물로 그 저작권은 삼일피더블유씨솔루션(주)에 있으므로 무단 복제 및 배포를 금합니다.