본문 바로가기

IT기반지식/경영일반

AHP(Analytic Hierarchy Process)

AHP (Analytic Hierarchy Process)는 가중치를 산정할 때 더없이 좋은 도구(tool)이다.
난 이 기법이 전문가 의사결정에 빠질 수 없는 것이라고 생각한다. 과학적/수학적 근거가 튼튼하여 보고를 해도 자신감을 실어준다.

AHP는 두뇌가 단계적 또는 위계적 분석과정을 활용한다는 사실에 착안하여 Thomas L. Saaty교수가 고안한 계산모델이다. 이것은 의사결정의 전 과정을 다단계로 나눈 후 이를 단계별로 분석 해결함으로써 최종적인 의사결정에 이르는 방법으로, 굳이 한글로 번역하여, '계층 분석 과정'이라고 불리기도 한다.
웹서핑하면 제법 많은 AHP 관련내용이 쏟아진다. 하지만, 정작 그걸 보고 적용할 수 있을까하면 아닌 것 같다.
이미 몇번 실전에서 써본 나도, 리마인드를 좀 하려고 들여다보면 별 쓸데없는 소리만 있고 실제 사용을 위한 중요한 정보는 보기 힘들다.

AHP는 행렬을 이용한 가중치 산정법이라고도 볼 수 있다.
그 절차를 예를 들어서 4개의 스탭으로 설명해보려 한다.
나는 현재 3개의 학교(A, B, C)를 놓고 어느학교로 진학할지 고민하고 있다... 재밌는 것은 의외로 많은 사람이 그렇듯이 본인이 정말 뭘 원하는지 정확하게 모르는 상태라는 것이다.
뭔가 하나를 꼭 찝어서 결정해야 하는데, 이걸보면 이게 좋고  저걸 보면 저게 좋은 이순간! 나의 뇌는 생각을 조각내어 Bottom up방식으로 접근하게 된다.
그걸 쭉 적어보니 학업, 교유, 학교생활, 학비, 진로, 위치 라는 요소들이 나의 학교에 대한 만족도를 결정짓는 요소(Factor)인 것 같다. 3개의 학교에 대해 6개의 요소를 고려해야 하는 상황이다. 경우의 수는 18가지가 된다.
이 상황을 정리해보면 Figure 1.과 같다.

< Figure 1 >

오오... 한 학교에 대해서 6개씩 묶어서 세번이나 생각하려니 머리가 뽀개질 것 같다. 게다가 상호 비교도 잘 안되는 것 같구, 자꾸 헷깔리기 까지 하다.
사실 이것은 당연한 현상인데, 그것은 보통의 인간의 뇌는 순간적으로 7~8개의 숫자만을 기억할 수 있기 때문이다. 이게 이름하여 매직넘버 세븐(Magic No. 7) 이론다. 전화번호가 7~8자리인 것도 이런 이론에 기초하고 있다는 사실도 덤으로 알아두는 센스!
암튼 난 보통사람이라 한번에 7개 기억해서 비교하는 것이 힘든데, 내 앞에는 무려 18개의 경우의 수가 서로 비교해 달라고 하고 있다.
어찌어찌 해서 할 수는 있겠지만, 그 정확성은 보장 못하겠다.

하지만, Factor 두 개를 상호 비교하는건 쉽다. 이게 이름하여 쌍대비교이며, AHP의 방식이다.
학업에 대해서 3개 학교를 쌍대비교 해보자. 학업적 측면에서 'A가 B보다 좋은가?', 'A가 C보다 좋은가?', 'B가 C보다 좋은가?'의 세가지 쌍대비교가 존재한다. 이 각각에 대한 답을 내는건 어렵지 않다.
이런식으로 6개 Factor에 대해 모두 수행하면, 어느덧 모든 Factor와 학교를 다 다루게 된다. 훨씬 쉽다.
A와 B를 쌍대비교하게되면, 자연스럽게 B와 A도 비교결과는 나와버린다. A가 B를 2배만큼 좋아하면 B는 A보다 1/2만큼만 좋은 것이다. 즉, 역수를 취하면 된다. 이런 원리로, 쌍대비교 결과는 행렬로 정리된다. 그 내용을 정리하면 Figure 2.와 같다.

< Figure 2 >

3 by 3 쌍대비교 행렬에서는 자기기리의 비교는 당연히 1이 되고, 반대방향 비교는 역수가 되므로, 실제로는 3번의 비교만 수행하면 9칸이 모두 채워진다.
여기에 상위에서 6개 Factor간에도 쌍대비교를 실시한다. 예를 들면, 나에게 있어 학비와 위치 중 어떤 요소가 더 중요한지를 알아볼 필요가 있는 것이다. 이것도 총 30개의 행렬 cell을 채워야 하지만, 실제로 비교는 15회만 하게 된다.

쌍대비교 행렬은 자체적으로 행렬 곱을 연산해서, 상호 중요도를 수학적으로 도출할 수 있는 매력을 가진 행렬이다.
계산법은 Figure 3.에서 나타낸 바와 같이 (1) 두 행렬을 곱하여, (2) 행간을 더한 행렬을 구한 다음, (3)전체 합에서 각 행의 비율을 산정하는 것이다.

< Figure 3 >

결과 값으로는 0에서 1사이의 숫자가 나오는데, 이건은 전체 합이 1이 되는 상대적 가중치가 된다.
Figure 3.의 예에서 Factor 1의 중요도는 0.15, Factor 2의 중요도는 0.60, Factor 3의 중요도는 0.25이다. Factor 2가 가장 중요하고, Factor 3 다음에 Factor 1 순서로 중요하다는 의미이다. 뿐만 아니라 Factor 2는 Factor 1보다 4배 더 중요하다라는 논리비교도 가능하게 해주는 매우 유용한 가중치이다. 몽땅 더하면 1이 되니 모든 Factor를 공평하게 비교했다는 반증도 된다.
그냥 통밥으로 Factor 1, 2, 3의 중요도를 고민해서 만든 결과와 그 객관성에서 수준차이가 날 것이다.

다시, 예제로 돌아가보자. 이제 우리가 만들었던 총 7개의 쌍대비교행렬을 모조리 Figure 3.의 로직을 이용해서 각 Factor간 가중치를 산정해내자.
그리고, 각 학교에 대한 6개의 Factor의 가중치 합을 구해본다. 계산식은 Figure 4.와 같다.

< Figure 4 >


마지막으로, 당연히 중요도 값이 가장 높게 나오는 학교를 선택하면 된다.
중요도가 가장 높게 나오는 학교가 6개의 Factor측면에서 다른 2개의 학교보다 종합적으로 최고의 만족도를 안겨줄 것이 객관적으로 증명된 것이기 때문이다.

매우 매력적이지 않은가?
다만, 이런 time consuming 작업들은 사람이 할 짓은 못된다.
또한, AHP를 수행하기 위해서는 다수의 전문가로부터 AHP 입력을 위한 설문조사결과를 취합하여 이용해야 한다.

AHP는 분명 강력하고 논리적인 도구이기는 하지만, 계산이 자동으로 되어야 효율적으로 사용될 수 있다.
가중치 산정해야 하는 요소가 5개 미만이라면 좀 고생스럽더라도 그냥 연필로 계산하면 될 것이다. 하지만, 10 by 10 쌍대행렬이 나온다던지, 2중 3중으로 고려해야하는 요소의 계층이 구성되어 있는 경우에도 연필로 종이에 계산을 하려고 하는 모습은 별로 현명해 보이지 않는다.
게다가, 연구기획 일을 하다보면 가중치 산정작업이 왕왕있다. 그러므로, 쓸만한 AHP 툴 하나정도는 들고 있으면 정말 좋을 것이다.
내 블로그 전체에서 주장하듯이, 나중에 파워풀한 시스템을 사달라고 조르더라도 시작은 주어진 자원으로 해내야 한다. 결국 또 엑셀(MS Excel)이 가장 만만한 도구가 된다.
엑셀 VBA를 이용하여 약간의 프로그래밍을 하면 꽤 쓸만한 AHP 툴을 만들 수 있다.

여기서 잠깐!
물론 비주얼베이직까지 안쓰고 엑셀의 기본기능을 이용해서 행렬곱을 계산하고, 연산을 수행할 수도 있다.
하지만 행렬곱을 구하는 방법이 F2키 누르고 Shift+Ctrl+Enter누르고... 그다지 심플하지는 않을 뿐더러, 그 이후의 연산도 다시 일일이 해야 한다.
내가 원하는 것은 결과넣으면 내가 원하는 위치에 답이 탁탁 나오는 툴(tool)이었다.
그렇게 만든 엑셀파일은 Figure 1.과 같다.

< Figure 1 >

<사용법>
  • 하얀색 부분에 비교결과를 입력한 후, 상단의 'AHP Calculating Start'버튼을 눌러주면, 노란색으로 시된 결과란에 가중치(Weight)를 산정해 준다.
  • 15 by 15 행렬까지 처리 가능하다. (더 큰 행렬은 아직 실전에서 써본적은 없지만, 필요하다면 코드만 약간 고치면 된다.)
  • 비교값은 3점 척도를 사용하건, 7점 척도를 사용하건 얼마든지 적용할 수 있다.
  • 우측 상단에는 'Consistency Index'도 산정해준다.


< Consistency Index >
'Consistency Index'는 비교수행자가 얼마만큼의 일관성을 가지고 결과를 적었는가를 보여주는 지표이다.
약자로 CI라고도 부른다.
예를 들어보자. 어떤 사람이 A는 B보다 중요하고, B는 C보다 중요하다고 말해놓고, A는 C보다는 덜 중요하다라고 비교를 했다면, 그 사람은 일관성이 있다고 볼 수 없다. 그리고 그런 사람이 도출한 결론은 그만큼 신뢰성이 떨어진다.
이런 응답에 있어서의 논리적인 모순을 잡아내는 것이 'Consistency Index'이다.
응답자가 논리적으로 모순을 유발하게 되면 'Consistency Index'가 증가하게 된다.
그러므로, 'Consistency Index'가 지나치게 높게 나오면 응답자의 수준이나 자격을 의심해보아야 하며, 그 결과의 신뢰성이 그만큼 떨어진다고 염두에 두어야 한다.
응답자가 해당 Factor와 분야에 대한 전문성이 높을 수록, 'Consistency Index'는 낮게 나온다고 한다. 통상, CI가 0.1이상이면 응답자의 답변을 신뢰할 수 없다고 본다.
Figure 2는 'Consistency Index'의 산정법이다.

< Figure 2 >


<Figure 1. 해석>

  • 모든 값에 1이 들어가있다는 말은 모두 똑같이 선호한다는 의미가 된다.
  • 그러므로 당연히 모든 Factor의 가중치는 0.167로 같게 결과가 도출 된다. (물론, 이 6개의 가중치의 합은 1이다.)
  • 이 행렬에는 논리적인 모순이 전혀 없으므로 'Consistency Index'는 0이 된다.


< AHP 적용을 위한 설문조사의 예 >
AHP를 고려해서 작성된 설문조사는 어떤 모양을 띄게 될까?
당연히 쌍대비교를 수행하도록 설문항목이 구성된다. (쉽게 이야기 하면 Figure 1.의 하얀색 행렬cell을 채우기 위한 질문)
6개의 Factor에 대한 가중치 산정이 필요한 경우에 대한 5점 척도 설문지를 작성해보자. 설문지는 Figure 3과 같이 만들어 질 것이고, 전문가는 해당 비교평가란에 V표를 한다.

< Figure 3 >


전문가가 여러명이면 각 전문가의 의견을 통합하여 하나의 sheet로 구성해서 사용하면 된다.
점수가 나왔다면, 이것을 엑셀로 만든 AHP 툴에 입력한다.
입력하여 결과를 도출해보면 Figure 4와 같이 나타난다.

< Figure 4 >

<예제 결과 해석>
Factor 2가 상대적으로 가장 중요한 요소임이 밝혀졌다.
중요도는 Factor 2, 6, 3, 5, 1, 4 순서대로이며, 물론 이들간의 대소비교도 가능하다.
CI는 0.0631로 수용할만 하다.

 

출처: 양군 블로그 http://yjhyjh.egloos.com