1 엑셀 이해하기
데이터 분석을 위해서 컴퓨터도 읽을 수 있고, 사람도 읽을 수 있는 프로그램이 다수 존재한다. 컴퓨터 프로그램을 열어보면 컴퓨터가 무시하고 넘어어 가지만 사람이 더 관심을 갖는 주석과 실제 컴퓨터가 실행하는 코드로 구성된다. 따라서 컴퓨터도 읽을 수 있고, 사람도 읽을 수 있는 코드가 데이터 과학을 위해 필요하다.
코드 도 사람과 컴퓨터 모두에게 가독성을 제공해야 하지만, 데이터 도 사람과 컴퓨터 모두에게 가독성을 제공해야만 된다. 문제는 스프레드쉬트 가 사람과 컴퓨터 모두에게 가독성을 제공하지 않는데 있다. 어쩌면 가장 복잡성이 높은 것이 스프레드쉬트라고도 볼 수 있다. 처음에는 쉽게 다가오지만, 1주일만 지나도 해독하기가 만만치 않는 경험을 종종 했을 것이다.
스프레드쉬트는 데이터, 서식, 수식으로 구성된다. 숫자 데이터를 엑셀로 가져오게 되면 엑셀 내장 함수를 통해 수식 계산을 수행하고, 엑셀 사용자 본인 혹은 외부 사람을 위해 서식을 입히는 과정을 거쳐 비로소 완성된 스프레드쉬트가 된다.
스프레드쉬트와 R을 비교해 보면, 서로 상응하는 기능이 일대일로 대응되는 것을 확인할 수 있다.
스프레드쉬트 | R |
---|---|
* 데이터 | * 데이터 |
* 로직 | * .R, .Rmd |
* 그림 | * .png, .svg |
* 서식을 갖춘 표 | * .md, .html, .pdf, Shiny 앱 |
* 반응성(reactivity) | * 빌드와 배포 |
이런 스프레드쉬트 문제점을 극복하기 위해서 다양한 시도가 진행되고 있다.
2 엑셀 활용 사례
엑셀을 창의적으로 활용하는 다양한 사례를 살펴보자.
3 왜 엑셀이 위기인가
엑셀은 작은 데이터를 가지고 임의 분석과 계산을 하는데 최적화 되었지만, 데이터베이스 기능으로 사용하는 것은 자제하여야 한다. 아주 많은 기업이나 조직에서 마이크로소프트 엑셀 스프레드쉬트에 매우 중요한 데이터로 보관하고 작업을 해서, 사소한 실수로 중요한 의사결정이 왜곡되는 위험에 처해 있다.
- 항상 엑셀을 사용했다: 항상 데이터를 엑셀로 저장하고 분석해서 사용했고, 버튼 하나로 데이터를 내보내기 쉽다.
- 데이터베이스를 사용할 만큼 데이터가 충분하지 않다: 데이터가 작아서 데이터베이스를 사용할 이유를 찾지 못하지만, 사업이 커지고, 업무량이 늘어나면서 엑셀 작업량이 높아지고, 복잡성도 커지고, 엑셀 자체에서 처리되는 시간도 늘어난다.
3.1 엑셀 포기 이유
- 한번에 한사람만 작업이 가능하다: 해당 시간에 한번만 엑셀로 작업이 가능하다. 만약 다른 직원이 엑셀을 열어 작업을 하게 되면 “읽기 전용(Read-Only)”으로만 볼 수만 있다.
- 데이터 감사는 데이터베이스에서만 가능: 보통 한 사람만 엑셀 스프레드쉬트 파일을 생성하고 유지보수한다. 이 직원이 다른 부서로 전보되거나 회사를 떠나게 되면, 모든 지식이 직원과 함께 날아간다. 고로, 해당 업무를 담고 있는 엑셀 스프레드쉬트를 익히는데 수개월이 소요된다. 이와 비교하여 감사 기능이 제공되는 데이터베이스는 주기적으로 사용자 활동을 기록해서 엑셀 스프레드쉬트가 담고 있는 정보 및 직관도 전달한다.
- 데이터베이스는 정형화된 작업흐름을 지원한다: 업무 프로세스를 엑셀 스프레드쉬트로 정의할 경우, 엑셀 스프레드쉬트 파일을 전자우편으로 다수 개발자, 검토자, 승인자에게 셀 수 없이 많이 전달해야 한다. 더 큰 문제는 이를 취합해서 수작업으로 정리해야 된다. 하지만, 업무 프로세스를 데이터베이스로 정의할 경우, 특정 사업 요구사항을 해결하는데 작업을 매핑하고, 추적하고 관리하기 편하다. 효과적으로 중앙에서 체계적으로 관리되는 스프레드쉬트, 데이터베이스로 할당된 작업에 대응하기 좋다.
- 데이터베이스는 엑셀보다 모형을 보다 잘 지원한다: 엑셀 스프레드쉬트 업무가 늘어나고 크기가 커지게 되면, 오류에 취약해 진다. 예를 들어, 새로운 수식을 새로운 곳에 복사해서 넣게 되면 셀참조가 엉클어져서 엉뚱한 값이 반영되는 경우도 흔히 발견된다.
- 데이터베이스로 보고서 생성이 수월하다: 데이터베이스에서 쿼리, 쿼리에 기반한 보고서를 작성하기 더 쉽다. 정적 스프레드쉬트와 반대로 관계형 환경에서 데이터를 정렬, 매칭, 조합하기 더 좋다.
- 데이터베이스는 보안이 강력하고 규제하기 좋다: 스프레드쉬트는 규제를 가하고 보안기능을 두기가 마땅치 않는다. 보안과 제한 기능은 완전히 사용자 몫으로 남겨진다. 엑셀 사용자가 수작업으로 모든 것을 식별해서 작업해야 되고 실수한 것도 고쳐야 된다. 스프레드쉬트에 이러한 기능이 거의 전무하기 때문에, 실수한 것도 알아차리지 못한 상태로 그냥 넘어가는 경우가 상당히 많다.
3.2 엑셀 참사
대표적인 엑셀 참사를 정리해보자. (“The 7 biggest Excel mistakes of all time”, 일자 없음)
회사 | 참사 비용 | 발생일 | 영향 | 참사 개요 |
---|---|---|---|---|
옥스포드 대학 | 미확인 | ’11.12월 | 학생 인터뷰 일정 지연 | 엑셀이 수식이 꼬여 인터뷰 일정이 뒤죽박죽 |
MI5 | 미확인 | ’11년 | 잘못된 전화번호 작업 | 엑셀 서식 수식이 꼬여 엉뚱한 전화번호 작업 |
’12년 런던 올림픽 | £ 0.5백만 | ’12.01월 | 티켓 환불 소동 | 수영장 10,000 티켓이 초과 판매 (엑셀 입력 오류) |
Mouchel | £ 4.3백만 | ’10.11월 | CEO 사임, 주가폭락 | 연금펀드평가 £ 4.3백만 엑셀 오류 |
C&C Group | £ 9 백만 | ’09.7월 | 주가 15% 하락 등 | 매출 3% 상승이 아니고 5% 하락, 엑셀 오류 |
UK 교통부 | 최소 £ 50 백만 | ’12.10월 | 영국민 추가 세금 부담 | 영국 철도 입찰 오류 |
King 펀드 | £ 130 백만 | ’11.05월 | 브래드 이미지 하락 | 웨일즈 지방 NHS 지출 엑셀 오류 |
AXA Rosenberg | £ 150 백만 | ’11.02월 | 은폐, 벌금, 브래드 이미지 하락 | 엑셀 오류를 감춰서 $242 백만 벌금 |
JP Morgan Chase | £ 250 백만 | ’13.01월 | 명성, 고객 신뢰도 저하 | 바젤 II VaR 위험 평가 엑셀 오류 |
Fidelity Magellan 펀드 | £ 1.6 십억 | ’95.01월 | 투자자에게 약속한 배당금 지급 못함 | 음수 부호 누락으로 자본이득 과대계상 (Plumer, 2021) |
2010년 하버드 경제학자 카르멘 라인하트와 케네스 로고프가 발표한 학술 논문은 Excel 스프레드시트를 잘못 사용해 심각한 오류를 범한 사례로 유명하다. 국가의 부채가 GDP의 90%를 초과하면 경제 성장이 둔화된다는 이들의 연구는 긴축 정책에 대한 논거를 강화하는 데 사용되었다. 그러나 재분석 결과, 엑셀 오류로 인해 일부 국가의 데이터가 계산에서 누락되었다는 사실이 밝혀졌다. 오류를 수정하자 마이너스 성장률 수치가 플러스 성장률로 바뀌었다. 이 사건은 연구에서 세심한 데이터 처리와 투명성의 중요성과 복잡한 계산을 위해 Excel에 크게 의존할 경우 발생할 수 있는 잠재적 위험의 대표적인 사례로 회자된다. (Borwein & Bailey, 2023)
4 엑셀 탈옥
스프레드쉬트에 대한 대중성을 인정한다. 엔론 사례를 통해 스프레드쉬트 현황을 통해 스프레드쉬트에서 R/파이썬으로 나아갈 방향을 살펴본다.
엑셀로 대표되는 스프레드쉬트는 가장 많은 사람들이 사용하는 데이터 분석 및 숫자형 데이터 처리를 위해 사용하는 도구다. 사실 애플 컴퓨터가 대중화 되는데 있어 가장 많은 기여를 한 것도 비지캘크(VisiCalc) 라는 스프레드쉬트다. 전세계적으로 R 사용자는 백만명이 되지 않을 것으로 추산된다. 2016년 jailbreakr: Get out of Excel, free 발표에 따르면 숫자를 다루는 가장 많은 사람이 사용하는 도구는 엑셀이다.
데이터 분석 도구 | 사용자 수 |
---|---|
마이크로소프트 오피스 | 10 억명 |
스프레드쉬트(엑셀) | 6억 5천만명 |
수식(formulas) 사용 | 50% ↑ |
파이썬 | 백만 ~ 오백만명 |
R | 25만 ~ 백만명 |
4.1 엑셀 코퍼스 1
엑셀 코퍼스 저장소
- EUSES corpus: 4,447 스프레드쉬트 (16,853 워크쉬트)
- A modern day Pompeii - Spreadsheets at Enron: 15,770 스프레드쉬트 (79,983 워크쉬트)
엔론 엑셀 코퍼스 분석 결과
- 24% 엔론 스프레드쉬트 수식에 엑셀 오류가 있음
- 스프레드쉬트에 사용되는 함수 : 핵심 함수 15 개가 76% 스프레드쉬트에 사용됨
- 매일 스프레드쉬트 100개가 전자우편에 첨부되어 유통
- 전자우편을 통해 스프레드쉬트가 10% 전자우편이 첨부되거나 주제로 전달됨.
순위 | 함수 | 스프레드쉬트 갯수 | 누적 백분율(%) |
---|---|---|---|
1 | SUM | 578 | 6.4% |
2 | + | 1259 | 14.0% |
3 | - | 2262 | 25.1% |
4 | / | 2625 | 29.1% |
5 | * | 3959 | 43.9% |
6 | IF | 4260 | 47.3% |
7 | NOW | 5322 | 59.1% |
8 | AVERAGE | 5664 | 62.8% |
9 | VLOOKUP | 5733 | 63.6% |
10 | ROUND | 5990 | 66.5% |
11 | TODAY | 6182 | 68.6% |
12 | SUBTOTAL | 6480 | 71.9% |
13 | MONTH | 6520 | 72.3% |
14 | CELL | 6774 | 75.2% |
15 | YEAR | 6812 | 75.6% |
4.1.0.1
‘you go to war with the army you have, not the army you might want or wish to have at a later time’ – Donald Rumsfeld
‘you go into data analysis with the tools you know, not the tools you need’ – Jenny Bryan