KR100601885B1 - 아웃바운드 콜센터를 위한 통화 추천 시스템 - Google Patents

아웃바운드 콜센터를 위한 통화 추천 시스템 Download PDF

Info

Publication number
KR100601885B1
KR100601885B1 KR1020030048978A KR20030048978A KR100601885B1 KR 100601885 B1 KR100601885 B1 KR 100601885B1 KR 1020030048978 A KR1020030048978 A KR 1020030048978A KR 20030048978 A KR20030048978 A KR 20030048978A KR 100601885 B1 KR100601885 B1 KR 100601885B1
Authority
KR
South Korea
Prior art keywords
call
customer
time zone
delete delete
score
Prior art date
Application number
KR1020030048978A
Other languages
English (en)
Other versions
KR20050010099A (ko
Inventor
강호석
Original Assignee
강호석
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 강호석 filed Critical 강호석
Priority to KR1020030048978A priority Critical patent/KR100601885B1/ko
Publication of KR20050010099A publication Critical patent/KR20050010099A/ko
Application granted granted Critical
Publication of KR100601885B1 publication Critical patent/KR100601885B1/ko

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 아웃바운드 콜센터에 적용 가능한 통화 추천 시스템에 관한 것으로서 통화 추천 시스템 서버가 통화 대상 목록을 저장하고 있는 호스트 컴퓨터 서버로부터 단위 통화 목록을 전송 받는 단계; 상기 통화 추천 시스템 서버가 상기 단위 통화 목록 상의 통화 대상 고객에 관한 데이터를 고객 데이터 DB로부터 추출하는 단계; 상기 통화 추천 시스템 서버가 통화 성공 예측 모형을 결정하는 단계;
상기 통화 추천 시스템 서버가 고객별로 통화와 관련된 스코어를 부여하는 단계; 상기 통화 추천 시스템 서버가 상기 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대를 지정하는 단계; 상기 통화 추천 시스템 서버가 상기 고객별 통화 시간대 지정 정보를 전화 발신 컴퓨터 서버로 전송하는 단계를 포함하는 콜센터 시스템에서의 통화 추천 방법 및 그 방법이 기록된 매체에 관한 것이다.
본 발명을 실시함으로써, 고객과의 통화 성공율을 극대화할 수 있을 뿐만 아니라, 콜센터에서의 비용 절감 효과를 누릴 수 있다.
콜센터, 통화 성공율, 데이터마이닝, 통화 추천, 최적 시간대 지정

Description

아웃바운드 콜센터를 위한 통화 추천 시스템 {CALL RECOMMENDER SYSTEM FOR OUTBOUND CALL CENTER}
도 1은 본 발명의 통화 추천 시스템이 작동하는 네트워크 상의 환경에 대한 개념도이다.
도 2는 본 발명의 통화 추천 시스템의 내부 기능 단위에 대한 개념도이다.
도 3은 본 발명의 통화 추천 시스템이 작동하는 방법에 대한 흐름도이다.
도 4는 본 발명의 최적 통화 시간대 지정 방법에 대한 흐름도이다.
본 발명은 아웃바운드 콜센터에 적용 가능한 통화 추천 방법, 그 방법을 기록한 기록 매체 및 그 방법을 적용하는 콜센터 시스템에 관한 것으로서, 더욱 자세하게는 고객과의 통화 성공율을 극대화할 수 있도록 설계된 통화 추천 방법, 그 방법을 기록한 기록 매체 및 그 방법을 적용하는 콜센터 시스템에 관한 것이다.
고객과의 관계가 기업의 중요한 경쟁 요소로 자리 잡으면서 콜센터도 고객들의 소리만 해결해 주거나 단순히 전화 주문만을 받아서 처리하던 수준에서 이제는 적극적인 홍보 및 고객 관리의 가장 중요한 수단으로 자리 잡아가고 있다. 이러한 추세에서 콜센터에서 고객에게 전화를 거는 아웃바운드 콜센터의 중요성은 더욱 커져가고 있으며, 이와 관련된 비즈니스의 규모 역시 엄청난 속도로 증가하고 있다.
IT 산업의 변화와 CRM(고객 관계 관리)의 발전은 현재 고객 데이터 분석 단계를 넘어 CRM과 고객과의 직접 접촉하는 유력한 채널인 콜센터를 접목시키고 있다. 상담원을 통해 들어온 고객 정보는 바로 ODS(운영 데이터 저장고)에 저장되며, 데이터마이닝과 같은 고객 정보 분석 솔루션을 통해 원투원 마켓팅을 가능하게 해 준다. 이러한 변화는 아웃바운드의 역할이 앞으로 점점 더 증폭되리라는 것을 예상케 하며, 아웃바운드 콜센터의 효율적인 운영이 점점 더 중요해 짐을 암시해 준다.
아웃바운드는 인바운드(고객이 콜센터로 전화를 걸어오는 과정)와는 달리, 대상 고객의 증가에도 불구하고 통화 연결율이 낮다는 점과, 연결이 되더라도 본인 통화율이 떨어져 원하는 대상과의 통화가 효율적으로 이루어지지 않는 문제점이 있다.
또한, 빠른 속도로 증가하고 있는 아웃 바운드의 욕구를 충족시키기 위해 콜센터 시설과 상담원을 보충할 수 있는 경제적 여력은 제한되어 있는 문제점도 있다.
콜센터 전체 운영비의 60%이상을 상담원 관리비로 쓰여지고 있는 현 체제에서는 상담원들의 효율적인 운용은 전체 콜센터의 운영비 절감과 직결된다. 그래서 자동 다이얼링 시스템이 도입이 되었으나 좀 더 효율적인 시스템의 필요성이 대두되고 있다.
현재 아웃바운드 콜센터 시스템은 전화하고자 하는 고객의 목록(Calling List)를 매일 일과시간 전에 콜센터로 전송하면 콜센터의 자동 다이얼링 기계가 차례대로 고객에게 전화를 걸어 상담원과 연결 시켜주는 형태로 운용 중이다. 이 방식으로는 고객 목록의 순서에 따라 전화를 시도하므로 각 고객의 특성을 고려하지 못하는 문제점이 있고, 이로 인해 본인통화율이 저조한 상태를 벗어나지 못하고 있다.
삼성전자 주식회사의 대한민국 특허출원 번호 제 10-2001-0010541은 호 발생 이벤트를 인식하고 처리하는 자동호분배 이벤트핸들러와, 상기 발생한 호에 할당할 사용가능 에이전트 리소스가 있는지를 검색하는 에이전트 핸들러와, 상기 사용가능 에이전트 리소스가 있으면 상기 호에 상기 리소스를 할당하고, 리소스가 없으면 상기 호를 대기행렬로 전송하는 메시지 핸들러와, 사용가능 에이전트 리소스가 없는 경우 호를 저장하는 대기행렬과, 주기적으로 에이전트 리소스를 검색하여 상기 대기행렬에 저장된 호를 제어하는 타이머를 포함하고 있는 네트워크상의 콜 센터에서 호를 분배하는 장치 및 방법을 개시하고 있다. 위 발명을 실시함으로써 게이트웨이 채널 수에 제한을 받지 않는 인터넷 호 센터 서비스가 가능해진다. 다만, 이는 콜센터에서 도달한 호를 분배하는 방법 및 장치에 관한 것에 한정된 것이며, 최적 분배의 개념을 포함하고 있지 않다.
그러므로, 각 고객의 과거 통화 성공 이력 데이터와 개인 정보를 이용하여 시간대 및 채널(직장 전화, 자택 전화, 핸드폰 등)에 대한 통화 성공 예측 모형을 만들고 이를 통해 고객별 최적의 통화 가능 시간대와 채널을 예측하고, 그 예측된 결과에 따라 콜센터에서 고객에게 통화를 시도함으로써 고객과의 통화 성공률을 극 대화 할 수 있도록 하는 시스템이 요구되고 있다.
본 발명이 이루고자 하는 기술적 과제는 콜센터에서 고객을 대상으로 한 통화 연결율을 높일 수 있도록 최적 통화 배분 방법을 적용한 콜센터 시스템에서의 통화 추천 방법에 관한 것이다.
본 발명이 이루고자 하는 또다른 기술적 과제는 상기 통화 추천 방법이 내장되어 있는 콜센터 시스템에 관한 것이다.
본 발명이 이루고자 하는 기술적 과제를 달성하기 위하여,
M-1) 통화 추천 시스템 서버(100)가 통화 대상 목록을 저장하고 있는 호스트 컴퓨터 서버(200)로부터 사전에 지정된 특정한 단위를 기준으로 수행해야 할 통화 대상자 및 그 자에 대한 통화 관련 정보를 포함하는 통화 목록을 전송받는 단계;
M-2) 상기 통화 추천 시스템 서버(100)가 상기 단위 통화 목록 상의 통화 대상 고객에 관한 데이터를 고객 데이터 DB(130 또는 510)로부터 추출하는 단계;
M-3) 상기 통화 추천 시스템 서버(100)가 통화 성공 예측 모형을 결정하는 단계;
M-4) 상기 통화 추천 시스템 서버(100)가 상기 결정된 통화 성공 예측 모형에 고객별로 통화와 관련된 스코어를 부여하는 단계;
M-5) 상기 통화 추천 시스템 서버(100)가 상기 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대 및 채널 중 적어도 어느 하나 이상을 지정하는 단 계;
M-6) 상기 통화 추천 시스템 서버(100)가 상기 고객별 통화 시간대 및 채널 중 적어도 어느 하나 이상의 지정 정보를 전화 발신 컴퓨터 서버(300)로 전송하는 단계를 포함하는 콜센터 시스템에서의 통화 추천 방법을 제시한다.
상기 M-2) 단계의 고객 데이터 DB(130 또는 510)는 통화 대상 고객의 콜센터(CTI) 이력에 관한 정보, 텔레마켓팅(TM) 이력에 관한 정보, 고객 기본 정보, 신용 정보 및 자동응답시스템(ARS) 이력에 관한 정보, 인구 통계학적 정보 중에서 적어도 하나 이상의 정보를 포함하는 것일 수 있다.
상기 M-3) 단계의 통화 성공 예측 모형을 결정하는 방법은 사건 기반 추론(Case-Based Reasoning), 의사결정나무(Decision Tree), 신경망(Neural Network), 스플라인(Spline), 로지스틱 회귀 분석(Logistic Regression) 및 군집 분석(Cluster Analysis)을 포함하는 방법 중 적어도 어느 하나 이상을 사용하는 것일 수 있다.
상기 M-4) 단계의 고객별로 통화와 관련된 스코어를 부여하는 방법은 통화 성공 예측 모형 대응 함수에 고객 데이터 DB(130 또는 510) 상의 고객 정보를 입력하여 나온 결과값을 사용하는 것일 수 있다. 상기 고객별로 통화와 관련된 스코어를 부여하는 방법은 시간대별 스코어 부여, 통신 매체별 스코어 부여 및 수신 장소별 스코어 부여 중 적어도 하나 이상의 방법을 채용하는 것일 수 있다.
상기 M-5) 단계의 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대를 지정하는 방법은 통화 대상 고객의 시간대별 스코어, 통신 매체별 스코어 및 수신 장소별 스코어 중 적어도 하나 이상의 스코어를 입력 변수로 하고, 시간대별 최대 통화 고객수를 제한 조건으로 하여, 시간대별 최적 통화 연결 고객 목록을 찾아 내는 것일 수 있으며, 상기 시간대별 최적 통화 연결 고객 목록을 찾아 내는 방법은 격자 탐색법, 선형 계획법 및 거리 분석법 중 적어도 하나 이상의 방법을 이용하는 것일 수 있으며, 상기 M-5) 단계의 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대를 지정하는 방법은 시간대별 최대 통화 연결 고객수에 해당하는 고객 목록을 고객별 통화 관련 스코어를 포함하는 자료 구조로 추출하는 단계; 및 추출된 고객 목록을 시간대별 스코어, 통신 매체별 스코어 및 수신 장소별 스코어 중 적어도 하나 이상의 스코어를 기준으로 하여 정렬하는 단계를 더 포함하는 것일 수 있다.
상기 M-5) 단계의 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대를 지정하는 방법은 격자 탐색법, 선형 계획법 및 거리 분석법 중 적어도 하나 이상의 방법을 이용하는 것일 수 있다.
상기 고객별로 통화와 관련된 스코어를 부여할 때, 고객별로 사전에 부여된 가중치 정보를 포함하여 스코어를 부여하는 단계를 더 포함하는 것일 수 있다.
상기 통화 추천 방법은 M-7) 상기 전화 발신 컴퓨터가 전화 발신 컴퓨터를 통한 전화 발신의 결과를 저장하는 단계;
M-8) 상기 M-7)단계의 전화 발신 결과를 고객 데이터 DB(130)에 반영하는 단계를 더 포함하는 것일 수 있다.
(a) 복수의 고객들의 ID와 하루를 소정의 개수인 M개의 시간대로 나누었을 때 상기 M개의 시간대별 상기 고객별로 사전에 부여된 소정의 스코어 정보를 저장한 데이터베이스를 구비하는 단계;
(b) 상기 고객들의 수와 각 시간대별로 전화연결이 허용되는 최대 고객수들 중 최소값을 비교하여 상기 고객수가 상기 각 시간대별로 전화연결이 허용되는 최대 고객수들 중 최소값보다 작거나 같은 경우에는, 상기 각 고객의 상기 스코어 중 최대 스코어에 대응되는 시간대를 상기 고객의 최적 시간대로 지정하는 단계를 포함하는 것을 특징으로 하는 각 고객별 최적 시간대를 지정하는 방법을 제시한다.
(c) 상기 (b) 단계의 판단결과 상기 고객수가 상기 각 시간대별로 전화연결이 허용되는 최대 고객수 중 최소값보다 큰 경우에는 상기 고객수가 상기 각 시간대별로 전화연결이 허용되는 최대 고객수들의 합을 비교하여 상기 고객수가 상기 각 시간대별로 전화연결이 허용되는 최대 고객수들의 합보다 작거나 같은지 판단하는 단계;
(d) 상기 (c) 단계의 판단결과 참인 경우에는 각 시간대별 할당된 고객수인 CNT 값을 그 순서에 따라서 모든 각 시간대별 최대 고객 할당 수인 Max 값들과 일대일로 대응시켰을 때 모든 CNT 값이 그에 대응되는 Max 값보다 작거나 같은지 판단하는 단계; 및
(e) 상기 (d) 단계의 판단결과 참인 경우에는 상기 각 고객의 상기 스코어 중 최대 스코어에 대응되는 시간대를 상기 고객의 최적 시간대로 지정하는 단계를 포함할 수 있다.
(f) 상기 (d) 단계의 판단결과 거짓인 경우에는 상기 M 값이 2보다 큰지 여 부를 판단하는 단계; 및
(g) 상기 (f) 단계의 판단결과 참인 경우에는
상기 M개 시간대를 소정의 M개의 축좌표에 대응시키고 상기 각 고객들의 M개의 스코어에 대하여 각 시간대의 축좌표와의 거리 값을 구한 후 상기 거리 값이 작은 것부터 차례로 최적시간대를 부여하고, 임의의 두 최적시간대로 부여된 각 고객들의 상기 두 최적시간대의 스코어간의 차이값 및 상기 두 최적시간대의 스코어별 순위 값인 랭크(Rank) 값에 기초하여 상기 각 고객별로 부여된 최적시간대를 조정하는 단계를 포함할 수 있다.
상기 (g) 단계는
(g1) 상기 M개 시간대를 다음 수학식과 같이 M개의 축좌표로 대응시키는 단계;
A_1 = (1, 0, 0, ... , 0), A_2 = (0, 1, 0, ... , 0) ... A_M = (0, 0, ... , 1), 여기서 A_1, A_2, ..., A_M은 각 M개 시간대의 좌표축이다.
(g2) 상기 각 고객들의 M개 스코어에 대해 시간대 j의 좌표축과의 거리를 다음 수학식을 이용하여 계산하는 단계;
Distj = {∑M k = 1(Score_k - A_j의 K번째 원소)2}1/2
여기서 j는 1 부터 M까지의 숫자 중 임의의 수, M은 시간대의 개수 또는 고객별 스코어의 개수, A_j는 j번째 시간대의 축좌표이다.
(g3) 상기 구해진 거리들을 그에 대응되는 고객 ID 및 시간대 정보와 연계시켜 오름차순으로 정렬시키는 단계;
(g4) 이미 최적시간대가 부여되었거나 혹은 시간대별 최대허용 고객수가 이미 채워진 경우를 제외하고 상기 거리가 작은 것부터 차례로 최적 시간대를 부여하여 1차 최적시간 정보를 생성시키는 단계;
(g5) 임의의 변수 K의 값을 1 부터 M까지 변화시키고, 다른 임의의 변수 L을 1부터 M까지 변화시킬 때 상기 K의 값과 상기 L의 값이 동일한 경우를 제외하고, 상기 최적시간대가 K이거나 또는 L과 같은 고객인 조정대상고객 의 ID, 상기 ID를 갖는 고객의 K번째 스코어 및 L번째 스코어를 상기 1차 최적시간 정보 중에서 추출하는 단계;
(g6) 상기 조정대상고객의 두 스코어간의 차이 값 및 Rank(R)을 계산하는 단계; 및
(g7) 상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 R_j가 Max_K보다 작거나 같고 D_j가 0보다 크거나 같으면 K번째 시간대로 부여하는 방법일 수 있다.
상기 (g7) 단계는
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 N - R_j +1의 값이 Max_L보다 작거나 같으면 L번째 시간대로 부여하는 방법일 수 있다.
상기 (g7) 단계는
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 N - R_j +1의 값이 Max_L보다 크면 K번째 시간대로 부여하는 방법일 수 있다.
(g8) 모든 상기 고객들의 최적 시간대가 더 이상 변하지 않을 때까지 상기 (g5) 단계부터 (g7)단계를 반복하여 수행하는 단계를 더 포함할 수 있다.
상기 (g) 단계는
(g11) 상기 (f) 단계의 판단결과 거짓인 경우에는 각 고객들의 두 시간대에 대한 스코어의 차이값 및 랭크(Rank) 값을 계산하는 단계; 및
(g12) 전체 고객수를 N, 임의의 값을 갖는 변수 j번째 고객의 상기 (g1) 단계에서 계산된 스코어의 차이값을 D_j, 상기 j번째 고객의 계산된 랭크(Rank) 값을 R_j라고 할 때, 상기 j번째 고객의 최적 시간대는 상기 R_j값이 Max_1보다 작거나 같고 D_j값이 0보다 크거나 같은 경우에는 첫 번째 시간대로 지정되는 단계를 포함할 수 있다.
상기 (g12) 단계는
전체 고객수를 N, 임의의 값을 갖는 변수 j번째 고객의 상기 (g11) 단계에서 계산된 스코어의 차이값을 D_j, 상기 j번째 고객의 계산된 랭크(Rank) 값을 R_j라고 할 때, 상기 j번째 고객의 최적 시간대는 상기 N 값에서 상기 R_j값을 뺀 차이 값이 Max_2보다 작거나 같은 경우에는 두번째 시간대로 지정되는 방법일 수 있다.
상기 (g12) 단계는
전체 고객수를 N, 임의의 값을 갖는 변수 j번째 고객의 상기 (g11) 단계에서 계산된 스코어의 차이값을 D_j, 상기 j번째 고객의 계산된 랭크(Rank) 값을 R_j라고 할 때, 상기 j번째 고객의 최적 시간대는 상기 N 값에서 상기 R_j값을 뺀 차이값이 Max_2보다 큰 경우에는 첫 번째 시간대로 지정될 수 있다.
상기 (d) 단계는 상기 (c) 단계의 판단결과 거짓인 경우에는 임의의 시간대에 할당된 고객을 제외하고 상기 각 시간대별로 허용된 고객수가 채워질 때까지 상기 각 고객들의 스코어를 내림차순으로 상기 고객의 ID와 시간대 정보를 정렬시키면서 상기 시간대의 카운트(count)를 1씩 증가시키고, 상기 각 시간대들에 할당된 고객들의 집합인 제1 고객집합과 어떠한 시간대에도 할당되지 않은 제2 고객집합을 구하는 단계; 및
상기 (e) 단계는 각 시간대별 CNT 값들과 상기 시간대별 Max 값들과 일대일로 대응시켰을 때 모든 CNT 값이 그에 대응되는 Max 값보다 작거나 같은지 판단하여 참인 경우에는 상기 제1 및 제2 고객집합에 속하는 각 고객의 상기 스코어 중 최대 스코어에 대응되는 시간대를 상기 고객의 최적 시간대로 지정하는 단계를 포함할 수 있다.
상기 (e) 단계는 각 시간대별 CNT 값들과 상기 시간대별 Max 값들과 일대일로 대응시켰을 때 모든 CNT 값이 그에 대응되는 Max 값보다 작거나 같은지 판단하여 거짓인 경우에는 상기 M의 값이 2보다 큰지 여부를 판단하고,
(f) 상기 (e) 단계의 판단결과 거짓인 경우에는 상기 제1 고객 집합에 속하는 각 고객들의 두 시간대에 대한 스코어의 차이값 및 랭크(Rank) 값을 계산하는 단계;
(g) 상기 (d) 단계에서 상기 제1 고객집합에 속하는 고객들의 전체 수를 N, 상기 제1 고객집합에 속하는 고객 중 임의의 값을 갖는 변수 j번째 고객의 상기 (f) 단계에서 계산된 스코어의 차이값을 D_j, 상기 j번째 고객의 계산된 랭크(Rank) 값을 R_j라고 할 때, 상기 j번째 고객의 최적 시간대는 상기 R_j값이 Max_1보다 작거나 같고 D_j값이 0보다 크거나 같은 경우에는 첫 번째 시간대로 지정되는 단계;
(h) 임의의 변수 K의 값이 1부터 M까지 변할 때 제1 고객집합에 속하는 고객 중 K번째 시간대가 최적 시간대로 할당된 고객 및 최적 시간대가 할당되지 않은 제2 고객집합의 고객들을 추출한 후, 상기 추출된 고객들의 K번째 시간대의 스코어를 기준으로 상기 추출된 고객들을 내림차순으로 정렬시키고, 상기 정렬된 고객들 중 임의의 값인 j번째 고객의 K번째 시간대의 스코어 Score_K 순위를 R_j라고 할 때 상기 j번째 고객의 최적 시간대는 상기 R_j 값이 Max_K 값보다 작거나 같은 경우에는 K번째 시간대를 최적시간대로 지정하며 그렇지 않은 경우에는 상기 j번째 고객의 최적 시간대를 지정하지 않는 단계;
(i) 임의의 변수 L의 값이 1부터 M까지 변할 때 상기 L 값이 K값과 동일한 경우를 제외하고 제1 고객집합에 속하는 고객 중 L번째 시간대가 최적 시간대로 할당된 고객 및 최적 시간대가 할당되지 않은 제2 고객집합의 고객들을 추출한 후, 상기 추출된 고객들의 L번째 시간대의 스코어를 기준으로 상기 추출된 고객들을 내림차순으로 정렬시키고, 상기 정렬된 고객들 중 임의의 값인 j번째 고객의 K번째 시간대의 스코어 Score_L 순위를 R_j라고 할 때 상기 j번째 고객의 최적 시간대는 상기 R_j 값이 Max_L 값보다 작거나 같은 경우에는 L번째 시간대를 최적시간대로 지정하며 그렇지 않은 경우에는 상기 j번째 고객의 최적 시간대를 지정하지 않는 단계;
(j) 상기 최적시간대가 K이거나 또는 L과 같은 고객인 조정대상고객 의 ID, 상기 ID를 갖는 고객의 K번째 스코어 및 L번째 스코어를 상기 1차 최적시간 정보 중에서 추출하고, 상기 조정대상고객의 두 스코어간의 차이 값 및 Rank(R)을 계산하는 단계; 및
(k) 상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 R_j가 Max_K보다 작거나 같고 D_j가 0보다 크거나 같으면 K번째 시간대로 부여하는 단계를 더 포함할 수 있다.
상기 (k) 단계는
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 N - R_j +1의 값이 Max_L보다 작거나 같으면 L번째 시간대로 부여하는 방법일 수 있다.
상기 (k) 단계는
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 N - R_j +1의 값이 Max_L보다 크면 K번째 시간대로 부여하는 방법일 수 있다.
상기 (g) 단계는
전체 고객수를 N, 임의의 값을 갖는 변수 j번째 고객의 상기 (f) 단계에서 계산된 스코어의 차이값을 D_j, 상기 j번째 고객의 계산된 랭크(Rank) 값을 R_j라고 할 때, 상기 j번째 고객의 최적 시간대는 상기 N 값에서 상기 R_j값을 뺀 차이값이 Max_2보다 작거나 같은 경우에는 두번째 시간대로 지정되는 방법일 수 있다.
상기 (g) 단계는
전체 고객수를 N, 임의의 값을 갖는 변수 j번째 고객의 상기 (f) 단계에서 계산된 스코어의 차이값을 D_j, 상기 j번째 고객의 계산된 랭크(Rank) 값을 R_j라고 할 때, 상기 j번째 고객의 최적 시간대는 상기 N 값에서 상기 R_j값을 뺀 차이값이 Max_2보다 큰 경우에는 첫번째 시간대로 지정되는 방법일 수 있다.
(l) 모든 상기 고객들의 최적 시간대가 더 이상 변하지 않을 때까지 상기 (h) 단계부터 (k)단계를 반복하여 수행하는 단계를 더 포함할 수 있다.
상기 (e) 단계는 각 시간대별 CNT 값들과 상기 시간대별 Max 값들과 일대일로 대응시켰을 때 모든 CNT 값이 그에 대응되는 Max 값보다 작거나 같은지 판단하고,
(f) 상기 (e) 단계의 판단결과 하여 참인 경우에는 상기 M의 값이 2보다 큰 지 여부를 판단하는 단계;
(g) 상기 (f) 단계의 판단결과 참인 경우에는
상기 M개 시간대를 소정의 M개의 축좌표에 대응시키고 상기 제1 고객집합에 속하는 각 고객들의 M개의 스코어에 대하여 각 시간대의 축좌표와의 거리 값을 구한 후 상기 거리 값이 작은 것부터 차례로 최적시간대를 부여하고, 임의의 두 최적시간대로 부여된 제1 고객집합에 속하는 각 고객들의 상기 두 최적시간대의 스코어간의 차이값 및 Rank(R) 값에 기초하여 상기 제1 고객집합에 속하는 각 고객별로 부여된 최적시간대를 조정하는 단계;
(h) 임의의 변수 K의 값이 1부터 M까지 변할 때 제1 고객집합에 속하는 고객 중 K번째 시간대가 최적 시간대로 할당된 고객 및 최적 시간대가 할당되지 않은 제2 고객집합의 고객들을 추출한 후, 상기 추출된 고객들의 K번째 시간대의 스코어를 기준으로 상기 추출된 고객들을 내림차순으로 정렬시키고, 상기 정렬된 고객들 중 임의의 값인 j번째 고객의 K번째 시간대의 스코어 Score_K 순위를 R_j라고 할 때 상기 j번째 고객의 최적 시간대는 상기 R_j 값이 Max_K 값보다 작거나 같은 경우에는 K번째 시간대를 최적시간대로 지정하며 그렇지 않은 경우에는 상기 j번째 고객의 최적 시간대를 지정하지 않는 단계;
(i) 임의의 변수 L의 값이 1부터 M까지 변할 때 상기 L 값이 K값과 동일한 경우를 제외하고 제1 고객집합에 속하는 고객 중 L번째 시간대가 최적 시간대로 할당된 고객 및 최적 시간대가 할당되지 않은 제2 고객집합의 고객들을 추출한 후, 상기 추출된 고객들의 L번째 시간대의 스코어를 기준으로 상기 추출된 고객들을 내 림차순으로 정렬시키고, 상기 정렬된 고객들 중 임의의 값인 j번째 고객의 L번째 시간대의 스코어 Score_L 순위를 R_j라고 할 때 상기 j번째 고객의 최적 시간대는 상기 R_j 값이 Max_L 값보다 작거나 같은 경우에는 L번째 시간대를 최적시간대로 지정하며 그렇지 않은 경우에는 상기 j번째 고객의 최적 시간대를 지정하지 않는 단계;
(j) 상기 최적시간대가 K이거나 또는 L과 같은 고객인 조정대상고객 의 ID, 상기 ID를 갖는 고객의 K번째 스코어 및 L번째 스코어를 상기 1차 최적시간 정보 중에서 추출하고, 상기 조정대상고객의 두 스코어간의 차이 값 및 Rank(R)을 계산하는 단계; 및
(k) 상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 R_j가 Max_K보다 작거나 같고 D_j가 0보다 크거나 같으면 K번째 시간대로 부여하는 단계를 더 포함할 수 있다.
상기 (k) 단계는
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 N - R_j +1의 값이 Max_L보다 작거나 같으면 L번째 시간대로 부여하는 방법일 수 있다.
상기 (k) 단계는
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j 라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 N - R_j +1의 값이 Max_L보다 크면 K번째 시간대로 부여하는 방법일 수 있다.
(l) 모든 상기 고객들의 최적 시간대가 더 이상 변하지 않을 때까지 상기 (h) 단계부터 (k)단계를 반복하여 수행하는 단계를 더 포함할 수 있다.
상기 (g) 단계는
(g1) 상기 M개 시간대를 다음 수학식과 같이 M개의 축좌표로 대응시키는 단계;
A_1 = (1, 0, 0, ... , 0), A_2 = (0, 1, 0, ... , 0) ... A_M = (0, 0, ... , 1), 여기서 A_1, A_2, ..., A_M은 각 M개 시간대의 좌표축이다.
(g2) 상기 각 고객들의 M개 스코어에 대해 시간대 j의 좌표축과의 거리를 다음 수학식을 이용하여 계산하는 단계;
[수학식1]
Distj = {∑M k = 1(Score_k - A_j의 K번째 원소)2}1/2
여기서 j는 1 부터 M까지의 숫자 중 임의의 수, M은 시간대의 갯수 또는 고객별 스코어의 갯수, A_j는 j번째 시간대의 축좌표이다.
(g3) 상기 구해진 거리들을 그에 대응되는 고객 ID 및 시간대 정보와 연계시켜 오름차순으로 정렬시키는 단계;
(g4) 이미 최적시간대가 부여되었거나 혹은 시간대별 최대허용 고객수가 이 미 채워진 경우를 제외하고 상기 거리가 작은 것부터 차례로 최적 시간대를 부여하여 1차 최적시간 정보를 생성시키는 단계;
(g5) 임의의 변수 K의 값을 1 부터 M까지 변화시키고, 다른 임의의 변수 L을 1부터 M까지 변화시킬때 상기 K의 값과 상기 L의 값이 동일한 경우를 제외하고, 상기 최적시간대가 K이거나 또는 L과 같은 고객인 조정대상고객 의 ID, 상기 ID를 갖는 고객의 K번째 스코어 및 L번째 스코어를 상기 1차 최적시간 정보 중에서 추출하는 단계;
(g6) 상기 조정대상고객의 두 스코어간의 차이 값 및 Rank(R)을 계산하는 단계; 및
(g7) 상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 R_j가 Max_K보다 작거나 같고 D_j가 0보다 크거나 같으면 K번째 시간대로 부여하는 방법일 수 있다.
상기 (g7) 단계는
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 N - R_j +1의 값이 Max_L보다 작거나 같으면 L번째 시간대로 부여하는 방법일 수 있다.
상기 (g7) 단계는
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j 라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 N - R_j +1의 값이 Max_L보다 크면 K번째 시간대로 부여하는 방법일 수 있다.
(g8) 모든 상기 고객들의 최적 시간대가 더 이상 변하지 않을 때까지 상기 (g5) 단계부터 (g7)단계를 반복하여 수행하는 단계를 더 포함할 수 있다.
상기, M-5) 단계의 상기 통화 추천 시스템 서버(100)가 상기 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대를 지정하는 방법은 상기의 최적 시간대 부여 방법 중 어느 한 항의 방법을 적용하는 것일 수 있다.
상기의 방법 중 적어도 하나 이상을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 기록매체가 존재할 수 있다.
상기의 방법 중 적어도 하나 이상을 실행시킬 수 있는 프로그램을 탑재한 콜센터 시스템이 존재할 수 있다.
이하, 도면을 참조하면서 상세하게 설명한다.
본 발명의 콜센터 시스템은 통화 대상 목록 DB를 포함하고 있는 호스트 컴퓨터(200); 예측 모듈(140), 점수 부여 모듈(150), 최적 배분 모듈(170), 통신 모듈을 포함하는 통상의 서버 구성 요소(105) 등을 포함하고 있는 통화 추천 시스템 서버(100); 전화 발신 컴퓨터 서버(300); 상담원컴퓨터(400) 및 이들 각 컴퓨터와 서버를 연결하는 네트워크(1000)를 포함하고 있다. 본 발명의 콜센터 시스템은 도 1에 도시되어 있다.
통화 추천 시스템(100)은 데이터 수집 및 클린징 모듈(110), 데이터 마이닝 엔진(120), 통화 추천 시스템 내부 존재 고객 데이터 DB(130), 가중 점수 부여 모듈(160), 고객 목록을 전화 발신 컴퓨터에 전달하는 모듈(180), 전화 결과 리포트 생성 모듈(190) 중 적어도 하나 이상을 더 포함할 수 있다.
데이터 수집 및 클린징 모듈(110)은 호스트 컴퓨터(200)의 고객 목록 데이터 DB(210)로부터 고객 목록을 다운로드 받을 수 있으며, 외부 정보 서버 상의 고객 데이터 DB(510)로부터 고객의 신상 정보, 고객의 신용 정보, 인구 통계학적 정보 중 적어도 하나 이상의 정보를 다운로드 받을 수 있다. 이에 대한 것은 도 2에 상세하게 도시되어 있다. 그러므로, 본 콜센터 시스템은 외부 신용 정보 서버와 연결될 수 있으며, 이 외부 신용 정보 서버로부터 통화 대상 고객의 신용 정보 등을 추출해 올 수 있다.
또한, 본 콜센터 시스템의 통화 추천 시스템 서버(100)는 내부에 데이터마트 서버를 포함하고 있을 수 있으며, 이와는 독립적으로 네트워크로 연결된 외부의 데이터마트 서버가 처리한 데이터 결과를 활용할 수도 있다.
이하, 도 3을 참고하면서 본 발명의 통화 추천 방법을 설명한다.
본 발명의 콜센터 시스템에서의 통화 추천 방법은 M-1) 통화 추천 시스템 서버(100)가 통화 대상 목록을 저장하고 있는 호스트 컴퓨터 서버(200)로부터 단위 통화 목록을 전송받는 단계;
M-2) 상기 통화 추천 시스템 서버(100)가 상기 단위 통화 목록 상의 통화 대상 고객에 관한 데이터를 고객 데이터 DB(130 또는 510)로부터 추출하는 단계;
M-3) 상기 통화 추천 시스템 서버(100)가 통화 성공 예측 모형을 결정하는 단계;
M-4) 상기 통화 추천 시스템 서버(100)가 고객별로 통화와 관련된 스코어를 부여하는 단계;
M-5) 상기 통화 추천 시스템 서버(100)가 상기 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대를 지정하는 단계;
M-6) 상기 통화 추천 시스템 서버(100)가 상기 고객별 통화 시간대 지정 정보를 전화 발신 컴퓨터 서버(300)로 전송하는 단계를 포함하는 방식으로 구성되어 있으며, 이하 각각에 대해서 상세하게 설명한다.
본 발명에서 통화 추천 시스템(100)은 호스트 컴퓨터로부터 단위 통화 목록을 전송 받는다(630). 이는 통화 추천 시스템 서버(100)가 호스트 컴퓨터(200)에 접속하여 데이터를 요청하고(610), 호스트 컴퓨터(200)는 고객 목록 데이터 DB(210)로부터 통화 대상 목록을 추출하는(620) 과정을 포함할 수 있다.
단위 통화 목록이란, 사전에 지정된 특정한 단위를 기준으로 수행해야 할 통화 대상자 및 그 자에 대한 정보를 포함하는 통화 목록을 말한다. 그 목록의 단위는 일(day) 단위, 오전/오후 등과 같이 하루를 정수 또는 기타의 기준으로 나눈 단위, 1주 단위 등이 될 수 있으며, 그 단위의 설정은 통화 추천 시스템/호스트 컴퓨터(200)의 운영자가 사전에 설정해 놓거나, 통화 추천 시스템/호스트 컴퓨터(200)가 임의로 설정할 수 있다.
그 단위 통화 목록에는 그 통화 대상자의 식별 정보를 반드시 1개 이상을 포함하여야 한다. 그 식별 정보에는 주민등록번호 또는 회원번호, 전화번호 등 그 통 화 대상자에게 할당된 임의의 고유번호가 될 수 있다.
통화 추천 시스템 서버(100)는 호스트 컴퓨터(200)로부터 전송 받은 통화 목록에 있는 통화 대상자와 관련된 데이터를 내부 고객 데이터 DB(130)로부터 추출하며, 외부 정보 서버 상의 고객 데이터 DB(510)에서도 데이터를 수집할 수 있다. 이때, 추출의 키는 주민등록번호 등의 고유번호가 될 수 있다.
고객 데이터 DB(130 또는 510)는 그 고객에 대해서 콜센터 시스템이 접근할 수 있는 임의의 데이터 집합으로 개념상 분류한다면 1) 통화 대상 고객의 콜센터 통화 이력에 관한 정보, 텔레마켓팅(™)이력에 관한 정보, ARS시스템 이력에 관한 정보, 고객 기본 정보, 고객 신용 정보, 인구 통계학적 정보 등이 있을 수 있다.
고객 기본 정보에는 고객의 ID, 고객 성명, 고객의 유무선 전화 번호, 직장 전화 번호, 전자 우편 주소 등의 고객에 유무선 통신 또는 네트워크를 통하여 고객에게 접촉할 수 있는 전화 번호를 포함하는 접속 수단에 관한 정보, 고객의 생일 또는 기념일 등에 관한 신상 정보, 주소나 거소 등에 관한 정보 중 적어도 어느 하나 이상을 포함할 수 있다.
통화 대상 고객의 콜센터 이력에 관한 정보에는 시간대별 과거 통화 시도 횟수, 시간대별 과거 통화 성공 회수, 시간대별 과거 통화 목적 달성 횟수, 시간대별 과거 통화 성공 비율, 채널별 과거 통화 시도 횟수, 채널별 과거 통화 성공 횟수, 인바운드 통화 시각 등 그 콜센터와 관련하여 그 통화 대상 고객의 과거의 통화 행적에 관한 정보 중 적어도 어느 하나 이상이 포함될 수 있다. ARS나 텔레마켓팅 이력에 관한 정보도 그 내용과 형식은 위 통화 대상 고객의 콜센터 이력에 관한 정보 와 유사하다. 상기에서 채널이란 통화의 매개가 되는 통신망의 종류로, 유선 전화, 무선 전화 등이 그 한 예가 되며, 집 전화번호 또는 직장 전화번호 등과 같이 장소별로 고객과의 접촉 포인트도 채널의 한 예가 될 수 있다.
고객 기본 정보에는 나이, 거주지 코드, 성별, 직업 등 고객의 신상에 관한 정보를 적어도 하나 이상을 포함할 수 있다.
고객 신용 정보란, 신용 등급, 각종 신용 스코어, 카드 사용 한도액, 대출 한도액, 과거 거래 상품 종류, 과거 연체 금액, 과거 연체 횟수, 보유 카드 종류 등 고객의 금융 생활과 관련된 정보 중 적어도 하나 이상을 포함할 수 있다.
인구 통계학적 정보란 특정한 집단 또는 전체 모집단을 대상으로 한 사전에 조사 연구된 인구에 대한 통계 처리된 자료를 말한다. 즉, 50대 이상 여성의 경우 오전에 자택에 있을 가능성이 오후에 있을 가능성보다 20% 더 높다라든가, 20대 지방 출신 대학생의 경우 조기 기상 가능성이 통계적으로 낮다는 것이 그 한 예가 될 수 있다. 이런 인구 통계학적 정보는 통계청 또는 신용 정보 회사, 신용 카드 회사 또는 마켓팅 회사의 컴퓨터 서버로부터 획득될 수도 있다.
통화 추천 시스템(100)은 고객별 콜센터 이력 데이터, 고객별 기본 정보, 고객별 신용 정보를 결합하여 테이블 조인(table join) 방식으로 모델링용 데이터를 만든다. 이후, 이상치 및 결측치를 처리하여 잘못된 데이터를 수정한다. 이어서, 예측 정확도를 높일 수 있도록 데이터를 변환하거나 파생 변수를 생성한다. 이상의 과정은 데이터 수집 및 클린징 모듈(110)이 수행할 수 있다.
이후 데이터 마이닝 알고리즘을 적용하고, 가장 예측력이 높은 모형을 활용 하거나, 여러 모형을 결합하여 각 고객의 각 채널별 스코어를 결정한다. 이상과 같은 역할은 데이터 마이닝 엔진(120)이 수행할 수 있다(650).
상기 방법을 통해 통화 추천 시스템(100)은 단위 통화 목록 상의 통화 대상 고객에 대한 데이터를 기초로 하여 통화 성공 예측 모형을 결정한다(660). 본 예측 모형에서 목적 변수는 각 시간대별 통화 성공 여부 및/또는 각 채널별 통화 성공 여부가 될 수 있다. 이하, 본 발명에서 사용될 수 있는 예측 모형에 대해서 설명한다.
첫째, 과거 통화성공률 데이터만을 이용한 사건 기반 추론(Case-Based Reasoning) 모형이다. 이 모형은 과거 일정 기간 동안 고객별로 통화 시도했던 시간대와 채널에 대하여 가장 성공률이 높았던 시간대와 채널을 그 고객의 최적 시간대와 채널로 예측하는 알고리즘 사용한다.
둘째, 의사결정나무(Decision Tree) 모형이다. 의사결정나무는 데이터 마이닝의 분류 작업에 주로 사용되는 기법으로, 과거에 수집된 데이터들을 분석하여 이들 사이에 존재하는 패턴들을 분류하고, 해당부류의 값을 예측하고 분류 형태를 나무모양으로 표현한 방법이다. 의사결정나무는 데이터가 달라짐에 따라 모형의 형태가 달라진다는 단점은 있지만 분류나 예측의 근거를 알려주기 때문에 이해하기 쉽고, 어떠한 속성들이 각각의 부류 값에 결정적인 영향을 주는가를 쉽게 파악할 수 있는 등의 장점이 있기에 많이 사용되어지는 기법이다. 개인별 통화 추천을 위해 과거 데이터의 통화 성공 여부를 목적변수로 하고 앞에서 정의된 고객별 정보를 설명변수로 하여 널리 사용되고 있는 의사결정나무 알고리즘을 적용한 예측모형을 활 용한다. 예측의 정확도를 높이기 위하여 Bagging, Boosting, Arcing과 같은 Ensemble 알고리즘을 결합하여 사용할 수 있다.
셋째, 로지스틱 회귀 분석(Logistic Regression) 모형이다. 로지스틱 회귀분석은 이진형 목적변수에 대한 함수추정에 널리 사용되는 통계적 방법이다. 개인별 통화 추천을 위해 과거 데이터의 통화 성공 여부를 목적변수로 하고 앞에서 정의된 고객별 정보를 설명변수로 하여 로지스틱 회귀 분석 알고리즘을 적용한 예측모형을 활용한다.
넷째, 신경망(Neural Network)모형이다. 신경망 모형은 인간 두뇌의 신경세포를 모방한 개념으로 마디와 고리로 구성된 망구조를 모형화 하고, 의사결정나무와 마찬가지로 과거에 수집된 데이터로부터 반복적인 학습과정을 거쳐 데이터에 내재되어있는 패턴을 찾아내는 모델링 기법이다. 신경망은 분류, 군집, 연관규칙 발견과 같은 작업에 널리 사용되는 데이터 마이닝 기법으로 신용평가, 카드도용패턴분석, 수요 및 판매예측, 고객 세분화 등 여러 가지 목적으로 다양한 분야에서 적용되고 있다. 개인별 통화추천을 위해 과거 데이터의 통화 성공 여부를 목적변수로 하고 앞에서 정의된 고객별 정보를 설명변수로 하여 신경망 알고리즘을 적용한 예측모형을 활용한다.
다섯째, 스플라인(Spline) 모형이다. 스플라인은 목적변수에 대한 비선형 함수를 적합시키는 정확도 높은 함수 추정 방법이다. 개인별 통화추천을 위해 과거 데이터의 통화 성공 여부를 목적변수로 하고 앞에서 정의된 고객별 정보를 설명변수로 하여 Dichotomous Regression 알고리즘을 적용한 Spline 예측모형을 활용한 다.
여섯째, 군집 분석 (Cluster Analysis) 모형이다. 군집 분석은 모집단을 유사한 성질을 갖는 것끼리 묶어 몇 개의 그룹으로 분할하는 방법이다. 즉, 서로 비슷한 자료를 같은 그룹으로 mapping하는 분석 기법이다. 군집분석은 단순히 자료를 서로 분리하는 것으로, 분류결과를 이미 알고있는 자료에 대해 적합시키는 것이 아니라 분류결과를 이용해서 모르는 자료를 분리하는 것이다. 이러한 방법에 쓰이는 알고리즘은 SOM(Self-Organizing Feature Map)과 k-means algorithm등이 많이 쓰인다. 개인별 통화추천을 위해 고객별 정보의 유사성을 이용한 군집분석 결과를 활용한다.
통화 추천 시스템(100)은 상기 통화 성공 예측 모형 중 적어도 하나 이상을 사용하여, 최적 시간대에 대한 예측 모델(141)을 결정하여 고객별로 최적 시간대를 점수화(scoring, 스코어링, 점수 부여)를 할 수 있다(680). 이때, 최적 채널별에 대한 예측 모델을 결정하여 상기 점수화를 할 수도 있으며, 나아가 시간대와 채널을 복합하여 상기 점수화를 할 수도 있다.
통화 추천 시스템(100)은 상기 고객별로 통화와 관련된 스코어를 부여할 때, 고객별로 사전에 부여된 가중치 정보를 포함하여 스코어를 부여할 수 있다(720). 즉, 특정한 고객 또는 고객군들은 다른 고객들과 통화의 가중치가 다를 수 있다. 그 가중치를 결정하는 요소로는 고객의 중요도, 통화의 긴급성 또는 기타 통화 추천 시스템 또는 통화 추천 시스템을 사용하는 자가 입력 또는 지정한 가중치 정보에 의한다.
이 과정에서 전화 목적 달성 가능성에 대한 예측 모델(142)이 활용될 수 있다. 즉, 상기 가중치를 결정하는 각 요소와 전화 목적을 대응하는 예측 모델을 적용하여, 이를 가중치를 고려한 점수 부여 과정에 적용할 수 있다.
이러한 가중치 정보를 점수 부여에 편입시켜 최종 스코어를 부여할 수도 있다. 이 과정은 선택적으로만 사용할 수도 있다(700).
통화 추천 시스템(100)은 고객별로 통화와 관련된 각 시간대별 및 채널 중 적어도 하나 이상을 기준으로 하는 스코어를 부여할 수 있다. 예를 들어 설명하면 다음과 같다.
통합 고객 데이터의 한 예
주민번호 성별 연령 과거 오전 통화율 과거 오후 통화율 . . .
1 680213-xxxxxxx 1 35 0.33 0.60 . . .
2 451123-xxxxxxx 2 58 0.20 0.50 . . .
3 700604-xxxxxxx 2 33 0.75 0.10 . . .
4 741012-xxxxxxx 1 29 0.60 0.66 . . .
위 표 1과 같은 통합 고객 데이터를 예측 모델에 투입하여 스코어를 계산할 수 있다. 예측 모델은 시간대별 및/또는 채널별 스코어를 계산하는 것을 목적으로 할 수 있다. 그 예측된 결과의 한 예가 표 2에 있다.
데이터 마이닝 모델을 이용한 시간대별 및 채널별 스코어 계산의 한 예
주민번호 오전 스코어 오후 스코어 자택 스코어 핸드폰 스코어 . . .
1 680213-xxxxxxx 0.67 0.47 0.28 0.63 . . .
2 451123-xxxxxxx 0.35 0.21 0.72 0.57 . . .
3 700604-xxxxxxx 0.76 0.47 0.36 0.44 . . .
4 741012-xxxxxxx 0.29 0.66 0.32 0.59 . . .
통화 추천 시스템(100)은 고객별 통화 관련 스코어를 처리하여 고객별로 통 화 시간대를 지정할 수 있으며, 이하 이에 대해 상세하게 설명한다. 통화 시간대 지정이 필요한 이유를 간단하게 설명하면 다음과 같다. 반나절 기준 콜센터의 통화 최대량이 2라고 하자. 위 표 2에서 볼 수 있듯이 1, 2, 3번 모두가 오전에 전화를 거는 것이 유리하게 나올 때, 누구와 누구를 선택하고, 어떤 순서로 전화를 거는 것이 가장 효율적인가의 문제가 발생하게 된다. 즉, 콜센터의 제한 조건(여기서는 반나절 기준 콜센터의 통화 최대량 2)을 감안할 때, 개별 통화 고객을 대상으로 어느 시간대, 어느 채널로 배분하는 것이 가장 효율적인가가 문제 시 된다. 그러므로, 이런 최적 배분 문제를 결정하는 것이 고객별로 최적인 통화 시간대를 지정하는 것이 된다.
최적 배분 과정을 수행하는 모듈을 최적 배분 모듈(170)이라 한다. 최적 배분 모듈은 시간대만을 대상으로 최적 배분을 할 수 있다. 나아가 채널별 최적 배분도 적용할 수 있으며, 시간대와 채널을 복합적으로 반영하여 최적 배분을 할 수 있다.
이하, 고객별 최적 통화 시간대 지정 과정을 중심으로 최적 배분에 대해서 설명한다.
본 발명에서 차용하는 고객별 최적 통화 시간대 지정 방법은 크게 격자 탐색법(Grid Search), 선형 계획법(Linear Program), 거리 분석법(Distance Method)가 있을 수 있다.
격자 탐색법은 주어진 조건을 만족하는 가능한 모든 조합에 대한 목적함수 값을 계산하여 목적함수가 최대가 되는 조합을 선택하는 방법이다.
선형계획법은 유효 적절하게 배분할 수 있는가 하는 최적배분과 생산계획의 문제 등, 1차 부등식이라는 제약 하에서 목적함수를 최대화하는 방법이다.
거리 분석법은 스코어간의 거리를 통한 목적함수를 최대화하는 방법으로 분석 대상의 크기가 큰 경우 처리속도와 정확도 등을 고려하여 목적함수가 최적값에 가까운 조합을 선택하는 방법이다.
격자 탐색법과 선형계획법은 고객의 수가 커짐에 따라 처리 속도가 기하급수적으로 증가하는 단점이 있으므로, 본 발명에서는 고객의 수가 클 때는 거리 분석법을 채용한다.
이하, 도 4에 도시된 흐름도를 중심으로 설명한다.
먼저 용어를 정의한다. M : 시간대 구분의 개수, Max_M은 M 시간대의 최대허용 고객수, CNT_M은 M 시간대의 현재 할당된 고객수, min()은 모든 시간대의 허용 고객수 중 최소값, sum()은 모든 시간대의 허용 고객수의 총 합, R_j은 특정한 어떤 시간대의 고객들의 스코어들의 순위를 말한다.
본 최적 시간대 지정을 위해서는 복수의 고객들의 ID와 하루를 소정의 갯수인 M개의 시간대로 나누었을 때 상기 M개의 시간대별 상기 고객별로 사전에 부여된 소정의 스코어 정보를 저장한 데이터베이스가 필요하게 된다. 이 준비 단계를 (a) 단계라 칭한다.
또한, 각 시간대별로 전화 연결이 허용되는 최대 고객수가 사전에 지정되어 있어야 한다. 이러한 최대 고객수는 중요한 제한 조건이 될 수 있다.
상기 고객들의 수와 각 시간대별로 전화연결이 허용되는 최대 고객수들 중 최소값을 비교하여 상기 고객수가 상기 각 시간대별로 전화연결이 허용되는 최대 고객수들 중 최소값보다 작거나 같은 경우에는(이 판단 단계를 (b)단계의 판단이라 칭한다.), 본 발명의 세부 결정 방법 1이 적용될 수 있다. 본 발명의 알고리즘 1은 각 고객의 상기 스코어 중 최대 스코어에 대응되는 시간대를 상기 고객의 최적 시간대로 지정하는 것을 특징으로 한다.
만약, (b) 단계의 판단 결과 상기 고객수가 상기 각 시간대별로 전화연결이 허용되는 최대 고객수 중 최소값보다 큰 경우에는, 상기 고객수와 상기 각 시간대별로 전화연결이 허용되는 최대 고객수들의 합을 비교하여 상기 고객수가 상기 각 시간대별로 전화연결이 허용되는 최대 고객수들의 합보다 작거나 같은지 판단하는 단계가 필요하다. 이 판단 단계를 (c)단계의 판단이라 칭한다.
상기 (c) 단계의 판단결과 참인 경우에는 최대 스코어를 이용하여 각 시간대별 할당된 고객수인 CNT 값을 그 순서에 따라서 모든 각 시간대별 최대 허용 고객수인 Max 값들과 일대일로 대응시켰을 때 모든 CNT 값이 그에 대응되는 Max 값보다 작거나 같은지 판단하는 단계가 필요하다. (이 판단 단계를 (d) 단계의 판단이라 칭한다.)
상기 (d) 단계의 판단결과 참인 경우에는 알고리즘 1이 적용된다.
상기 (d) 단계의 판단결과 거짓인 경우에는 상기 M 값이 2보다 큰지 여부를 판단하는 단계가 필요하다. (이 판단 단계를 (f) 단계의 판단이라 칭한다.)
상기 (f) 단계의 판단결과 참인 경우에는 알고리즘 3이 적용되며, 그렇지 않은 경우에는 알고리즘 2가 적용된다.
알고리즘 3은 시간대가 3 이상인 경우에 적용되며, 다음과 같은 특징을 가진다. 알고리즘 3은 초기치 생성 단계 및 세부 조정 단계를 거친다. 먼저 초기치 생성 단계를 설명하며, 이 단계는 다음과 같은 (g1) 단계에서부터 (g8)단계로 구성되어 있다.
상기 M개 시간대를 다음 수학식과 같이 M개의 축좌표로 대응시키는 단계이다.(이 단계를 (g1) 단계라 칭한다.) ;
A_1 = (1, 0, 0, ... , 0), A_2 = (0, 1, 0, ... , 0) ... A_M = (0, 0, ... , 1), 여기서 A_1, A_2, ..., A_M은 각 M개 시간대의 좌표축이다.
상기 각 고객들의 M개 스코어에 대해 시간대 j의 좌표축과의 거리(Distj)를 다음 수학식을 이용하여 계산하는 단계이다.(이 단계를 (g2) 단계라 칭한다.);
[수학식 1]
Distj = {∑M k = 1(Score_k - A_j의 K번째 원소)2}1/2
여기서 j는 1 부터 M까지의 숫자 중 임의의 수, M은 시간대의 갯수 또는 고객별 스코어의 갯수, A_j는 j번째 시간대의 축좌표이다.
상기 구해진 거리들을 그에 대응되는 고객 ID 및 시간대 정보와 연계시켜 오름차순으로 정렬시키는 단계이다.(이 단계를 (g3) 단계라 칭한다.);
최적시간대가 이미 부여되었거나 혹은 시간대별 최대허용 고객수가 이미 채워진 경우를 제외하고 상기 거리가 작은 것부터 차례로 최적 시간대를 부여하여 1차 최적시간 정보를 생성시키는 단계이다.(이 단계를 (g4) 단계라 칭한다.)
이어서 조정 단계로 넘어가며, 조정 단계는 다음과 같은 알고리즘으로 표현할 수 있다.
Do K=1 to M
Do L=1 to M (단, K는 L과 다르다)
(1) 최적 시간대가 K 이거나 L 인 고객만 ID, Score_K, Score_L 추출
(2) 각 고객의 두 시간대 Score 차이 (D = Score_K - Score_L)및 Rank(R)를 계산
(3) 추출된 고객수를 N, j 번째 고객의 Score 차이를 D_j, Rank를 R_j 라고 두면
(3-1) If (R_j <= Max_K and D_j >= 0) Then (j 번째 고객의 최적 시간대 = K)
(3-2) Else If (N-R_j+1 <= Max_L) Then (j 번째 고객의 최적 시간대 = L)
(3-3) Else If (N-R_j+1 > Max_L) Then (j 번째 고객의 최적 시간대 = K)
End
End
그리고, 모든 고객의 최적 시간대가 더 이상 변하지 않을 때까지 위의 과정을 반복한다.
조정 단계를 설명하면 다음과 같다.
임의의 변수 K의 값을 1 부터 M까지 변화시키고, 다른 임의의 변수 L을 1부터 M까지 변화시킬때 상기 K의 값과 상기 L의 값이 동일한 경우를 제외하고, 상기 최적시간대가 K이거나 또는 L과 같은 고객인 조정대상고객 의 ID, 상기 ID를 갖는 고객의 K번째 스코어 및 L번째 스코어를 상기 1차 최적시간 정보 중에서 추출하는 단계이다. (이 단계를 (g5) 단계라 칭한다.)
상기 조정대상고객의 두 스코어간의 차이 값 및 Rank(R)을 계산하는 단계이다.(이 단계를 (g6) 단계라 칭한다.)
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 R_j가 Max_K보다 작거나 같고 D_j가 0보다 크거나 같으면 K번째 시간대로 부여하고, 상기 N - R_j +1의 값이 Max_L보다 작거나 같으면 L번째 시간대로 부여하고, 상기 N - R_j +1의 값이 Max_L보다 크면 K번째 시간대로 부여하는 단계이다. (이 단계를 (g7) 단계라 칭한다.)
모든 상기 고객들의 최적 시간대가 더 이상 변하지 않을 때까지 상기 (g5) 단계부터 (g7)단계를 반복하여 수행하는 단계이다.(이 단계를 (g8) 단계라 칭한다.)
알고리즘 2는 시간대 M이 2인 경우에 적용된다. 알고리즘 2는 다음과 같이 표현될 수 있다.
각 고객의 두 시간대에 대한 스코어의 차이 (D = 스코어_1 - 스코어_2) 및 랭크(Rank)를 계산하고, 전체 고객수를 N, j 번째 고객의 스코어 차이를 D_j, 랭크 를 R_j 라고 두면 다음과 같이 최적 시간대를 부여한다.
(1) If (R_j <= Max_1 and D_j >= 0) Then (j 번째 고객의 최적 시간대 = 1)
(2) Else If (N-R_j+1 <= Max_2) Then (j 번째 고객의 최적 시간대 = 2)
(3) Else If (N-R_j+1 > Max_2) Then (j 번째 고객의 최적 시간대 = 1)
상기 알고리즘 2를 설명하면 다음과 같다.
상기 (f) 단계의 판단결과 거짓인 경우에는, M이 2인 경우에는, 각 고객들의 두 시간대에 대한 스코어의 차이값 및 랭크(Rank) 값을 계산하는 단계를 수행한다.(이 단계를 (g11) 단계라 칭한다.)
전체 고객수를 N, 임의의 값을 갖는 변수 j번째 고객의 상기 (g11) 단계에서 계산된 스코어의 차이값을 D_j, 상기 j번째 고객의 계산된 랭크(Rank) 값을 R_j라고 할 때, 상기 j번째 고객의 최적 시간대는 상기 R_j값이 Max_1보다 작거나 같고 D_j값이 0보다 크거나 같은 경우에는 첫번째 시간대로 지정되고, 상기 N 값에서 상기 R_j값을 뺀 차이값이 Max_2보다 작거나 같은 경우에는 두번째 시간대로 지정되고, 상기 N 값에서 상기 R_j값을 뺀 차이값이 Max_2보다 큰 경우에는 첫번째 시간대로 지정되는 단계를 포함한다.(이 단계를 (g12) 단계라 칭한다.)
상기 (c)단계의 판단이 거짓일 경우, 즉 상기 고객수가 상기 각 시간대별로 전화연결이 허용되는 최대 고객수들의 합보다 클 경우 다음의 알고리즘 4 과정이 적용된다.
알고리즘 4는 다음과 같다. 임의의 시간대에 할당된 고객을 제외하고 상기 각 시간대별로 허용된 고객수가 채워질 때까지 상기 각 고객들의 스코어를 내림차순으로 상기 고객의 ID와 시간대 정보를 정렬시키면서 상기 시간대의 카운트(count, CNT)를 1씩 증가시키고, 상기 각 시간대들에 할당된 고객들의 집합인 제1 고객집합과 어떠한 시간대에도 할당되지 않은 제2 고객집합을 구하는 단계를 거친다.(이 단계를 (e)단계라 칭한다.)
상기 (e) 단계는 각 시간대별 CNT 값들과 상기 시간대별 Max 값들과 일대일로 대응시켰을 때 모든 CNT 값이 그에 대응되는 Max 값보다 작거나 같은지 판단하여 참인 경우에는 상기 제 1 고객 집합에 알고리즘 1을 적용하여, 상기 제1 고객집합에 속하는 각 고객의 상기 스코어 중 최대 스코어에 대응되는 시간대를 상기 고객의 최적 시간대로 지정한다.
각 시간대별 CNT 값들과 상기 시간대별 Max 값들과 일대일로 대응시켰을 때 모든 CNT 값이 그에 대응되는 Max 값보다 작거나 같은지 판단하여 거짓인 경우에는 상기 M의 값이 2보다 큰지 여부를 판단한다. M값이 2보다 크지 않을 경우, 알고리즘 2와 5가 결합되어 적용된다. 알고리즘 5는 아래 설명되는 (h)단계부터 (k)단계까지를 말한다. 이를 설명하면 다음과 같다.
M값이 2보다 크지 않을 경우 다음과 같은 과정을 거친다.
상기 제1 고객 집합에 속하는 각 고객들의 두 시간대에 대한 스코어의 차이값 및 랭크(Rank) 값을 계산하는 단계를 거치고,
상기 (e) 단계에서 상기 제1 고객집합에 속하는 고객들의 전체 수를 N, 상기 제1 고객집합에 속하는 고객 중 임의의 값을 갖는 변수 j번째 고객을 대상으로 하 여 각 고객들의 두 시간대에 대한 스코어의 차이값을 D_j, 상기 j번째 고객의 계산된 랭크(Rank) 값을 R_j라고 할 때, 상기 j번째 고객의 최적 시간대는 상기 R_j값이 Max_1보다 작거나 같고 D_j값이 0보다 크거나 같은 경우에는 첫번째 시간대로 지정하고, 상기 N 값에서 상기 R_j값을 뺀 차이값이 Max_2보다 작거나 같은 경우에는 두번째 시간대로 지정하고, 상기 N 값에서 상기 R_j값을 뺀 차이값이 Max_2보다 큰 경우에는 첫번째 시간대로 지정한다.
그리고, 임의의 변수 K의 값이 1부터 M까지 변할 때 제1 고객집합에 속하는 고객 중 K번째 시간대가 최적 시간대로 할당된 고객 및 최적 시간대가 할당되지 않은 제2 고객집합의 고객들을 추출한 후, 상기 추출된 고객들의 K번째 시간대의 스코어를 기준으로 상기 추출된 고객들을 내림차순으로 정렬시키고, 상기 정렬된 고객들 중 임의의 값인 j번째 고객의 K번째 시간대의 스코어 Score_K 순위를 R_j라고 할 때 상기 j번째 고객의 최적 시간대는 상기 R_j 값이 Max_K 값보다 작거나 같은 경우에는 K번째 시간대를 최적시간대로 지정하며 그렇지 않은 경우에는 상기 j번째 고객의 최적 시간대를 지정하지 않는다.(이를 (h)단계라 칭한다.)
임의의 변수 L의 값이 1부터 M까지 변할 때 상기 L 값이 K값과 동일한 경우를 제외하고 제1 고객집합에 속하는 고객 중 L번째 시간대가 최적 시간대로 할당된 고객 및 최적 시간대가 할당되지 않은 제2 고객집합의 고객들을 추출한 후, 상기 추출된 고객들의 L번째 시간대의 스코어를 기준으로 상기 추출된 고객들을 내림차순으로 정렬시키고, 상기 정렬된 고객들 중 임의의 값인 j번째 고객의 K번째 시간대의 스코어 Score_L 순위를 R_j라고 할 때 상기 j번째 고객의 최적 시간대는 상기 R_j 값이 Max_L 값보다 작거나 같은 경우에는 L번째 시간대를 최적시간대로 지정하며 그렇지 않은 경우에는 상기 j번째 고객의 최적 시간대를 지정하지 않는다.(이를 (i)단계라 칭한다.)
상기 최적시간대가 K이거나 또는 L과 같은 고객인 조정대상고객 의 ID, 상기 ID를 갖는 고객의 K번째 스코어 및 L번째 스코어를 상기 1차 최적시간 정보 중에서 추출하고, 상기 조정대상고객의 두 스코어간의 차이 값 및 Rank(R)을 계산한다. (이를 (j)단계라 칭한다.)
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 R_j가 Max_K보다 작거나 같고 D_j가 0보다 크거나 같으면 K번째 시간대로 부여하고, 상기 N - R_j +1의 값이 Max_L보다 작거나 같으면 L번째 시간대로 부여하고, 상기 N - R_j +1의 값이 Max_L보다 크면 K번째 시간대로 부여하는 단계를 더 포함한다. (이를 (k)단계라 칭한다.)
그리고, 상기 고객들의 최적 시간대가 변하지 않을 때까지 상기 (h)단계부터 (k)단계까지를 반복 수행할 수 있다.
알고리즘 4 이하에서, 각 시간대별 CNT 값들과 상기 시간대별 Max 값들과 일대일로 대응시켰을 때 모든 CNT 값이 그에 대응되는 Max 값보다 작거나 같은지 판단하여 거짓이고, M이 2보다 클 경우에는 알고리즘 3과 5가 결합되어 적용된다. 이하에서 상세하게 설명한다.
상기 M개 시간대를 소정의 M개의 축좌표에 대응시키고 상기 제1 고객집합에 속하는 각 고객들의 M개의 스코어에 대하여 각 시간대의 축좌표와의 거리 값를 구한 후 상기 거리 값이 작은 것부터 차례로 최적시간대를 부여하고, 임의의 두 최적시간대로 부여된 제1 고객집합에 속하는 각 고객들의 상기 두 최적시간대의 스코어간의 차이값 및 Rank(R) 값에 기초하여 상기 제1 고객집합에 속하는 각 고객별로 부여된 최적시간대를 조정하는 단계가 있다. 이 단계가 알고리즘 3에 해당한다.
임의의 변수 K의 값이 1부터 M까지 변할 때 제1 고객집합에 속하는 고객 중 K번째 시간대가 최적 시간대로 할당된 고객 및 최적 시간대가 할당되지 않은 제2 고객집합의 고객들을 추출한 후, 상기 추출된 고객들의 K번째 시간대의 스코어를 기준으로 상기 추출된 고객들을 내림차순으로 정렬시키고, 상기 정렬된 고객들 중 임의의 값인 j번째 고객의 K번째 시간대의 스코어 Score_K 순위를 R_j라고 할 때 상기 j번째 고객의 최적 시간대는 상기 R_j 값이 Max_K 값보다 작거나 같은 경우에는 K번째 시간대를 최적시간대로 지정하며 그렇지 않은 경우에는 상기 j번째 고객의 최적 시간대를 지정하지 않는 단계가 있다. 이 단계는 상기 (h) 단계와 동일하다.
임의의 변수 L의 값이 1부터 M까지 변할 때 상기 L 값이 K값과 동일한 경우를 제외하고 제1 고객집합에 속하는 고객 중 L번째 시간대가 최적 시간대로 할당된 고객 및 최적 시간대가 할당되지 않은 제2 고객집합의 고객들을 추출한 후, 상기 추출된 고객들의 L번째 시간대의 스코어를 기준으로 상기 추출된 고객들을 내림차순으로 정렬시키고, 상기 정렬된 고객들 중 임의의 값인 j번째 고객의 K번째 시간대의 스코어 Score_L 순위를 R_j라고 할 때 상기 j번째 고객의 최적 시간대는 상기 R_j 값이 Max_L 값보다 작거나 같은 경우에는 L번째 시간대를 최적시간대로 지정하며 그렇지 않은 경우에는 상기 j번째 고객의 최적 시간대를 지정하지 않는 단계가 있다. 이 단계는 상기 (i) 단계와 동일하다.
상기 최적시간대가 K이거나 또는 L과 같은 고객인 조정대상고객 의 ID, 상기 ID를 갖는 고객의 K번째 스코어 및 L번째 스코어를 상기 1차 최적시간 정보 중에서 추출하고, 상기 조정대상고객의 두 스코어간의 차이 값 및 Rank(R)을 계산하는 단계가 있다. 이 단계는 상기 (j) 단계와 동일하다.
상기 조정대상고객의 수를 N이라 하고, j번째 고객의 스코어간의 차이를 D_j라 하고, 상기 j번째 고객의 Rank(R)을 R_j라 하면, 상기 j번째 고객의 최적시간대는 상기 R_j가 Max_K보다 작거나 같고 D_j가 0보다 크거나 같으면 K번째 시간대로 부여하고, 상기 N - R_j +1의 값이 Max_L보다 작거나 같으면 L번째 시간대로 부여하고, 상기 N - R_j +1의 값이 Max_L보다 크면 K번째 시간대로 부여한다. 이 단계는 상기 (k) 단계와 동일하다.
고객들의 최적 시간대가 더 이상 변하지 않을 때까지 상기 (h) 단계부터 (k) 단계를 반복 수행할 수 있다.
상기의 각 시간대별 CNT 값들과 상기 시간대별 Max 값들과 일대일로 대응시켰을 때 모든 CNT 값이 그에 대응되는 Max 값보다 작거나 같은지 판단하여 거짓이고, M이 2보다 클 경우의 상기 설명에서, 알고리즘 3은 알고리즘 5와 결합되어 적용될 수 있다.
최적 배분 모듈이 그 최적 배분 과정을 수행하면 통화 대상의 최적 배분이 결정된다(740).
상기의 고객별 최적 통화 시간대 지정 과정이 끝나면, 상기 통화 추천 시스템 서버(100)가 상기 고객별 통화 시간대 지정 정보를 전화 발신 컴퓨터 서버(300)로 전송한다(750).
전화 발신 컴퓨터 서버(300)전화 발신 컴퓨터 서버(300)정된 통화 대상 정보를 기준으로 고객에 통화를 진행한 다음, 개별 상담원컴퓨터(400)로 통화 연결한다(760).
전화 발신 컴퓨터 서버(300) 또는 개별 상담원컴퓨터(400)는 단독 또는 복합적으로 통화 결과를 저장할 수 있다. 이 과정에서 전화 발신 컴퓨터 서버(300)는 자동적으로 또는 개별 상담원컴퓨터(400)는 개별 상담원에 의해 수동적으로 통화 결과를 입력받을 수 있다. 상기 통화 결과는 통화 추천 시스템(100)으로 전송될 수 있고, 이러한 전송된 결과는 고객 데이터 DB(130)에 저장될 수도 있다. 통화 추천 시스템(100)은 상기 통화 결과를 반영하여 예측 모듈, 최적 배분 모듈, 점수 부여 모듈(150) 상의 데이터를 갱신할 수 있다.
상기의 통화 추천 방법은 고객의 최적 통화 시간대를 중심으로 설명하였다. 위의 최적 통화 추천 방법을 그대로 활용하면, 통화 최적 채널을 찾을 수도 있을 것이다. 이는 당업자 수준에서 통화 시간대에 대응하여 최적 채널을 배치함으로서 달성 될 수 있을 것이다. 채널이란, 집 전화 번호 등의 거주지 전화 번호, 회사 등의 직장 전화 번호, 휴대 전화 번호 또는 기타의 음성 통신 번호, 화상 통신 번호를 포함하는 고객에게 접근 가능한 통신 수단의 종류를 말한다.
이러한 채널에는 전자 우편, 팩스, 단문 메시지, 단방향 또는 쌍방향 메시지 등의 고객과의 비실시간 통신 수단도 포함될 수 있다. 이에는 메신저 등의 통신 수단도 당연히 포함될 수 있다. 그리고, 이러한 채널은 고객의 위치에 따른 통신 수단 체계에 따른 구분도 활용될 수 있다. 국내 또는 국제 전화, 시내 또는 시외 전화 등의 구분이 그 한 예가 될 수 있다.
이러한 채널이 의미를 가지는 이유는 각 통신 수단에 따르는 통신 비용, 각 고객의 속성(물리적 위치, 나이, 통신 수단의 종류 및 보유 여부)에 따른 최적 통신 수단의 선택이 콜센터 운용에서 중요하기 때문이다. 이는 특히, 전화 등의 실시간 쌍방향 통신 수단과 전자 우편 등의 비실시간 통신 수단 또는 단문 메시지 등과 같은 비쌍방향 통신 수단이 병행될 경우 더욱 유용하게 활용될 수 있다.
나아가, 상기 통화 추천 방법은 최적 시간대와 최적 채널을 함께 고려하는 방식도 적용될 수 있을 것이다. 즉, 최적 시간대가 결정된 내부 고객 목록을 대상으로 하여, 더욱 세분화된 시간대별로 최적 채널을 할당할 수도 있으며, 최적 채널이 할당된 고객 목록을 대상으로 최적 시간대를 할당할 수도 있을 것이다.
상기의 모든 방법들은 컴퓨터 프로그램으로 특정한 기록 매체에 기록될 수 있다. 이러한 기록 매체에는 HDD, CD-ROM, DVD, MEMORY STICK, RAM, ROM 등 통상의 컴퓨터 시스템에서 사용될 수 있는 기억 또는 기록 수단이 될 수 있다.
나아가 이러한 기록 매체를 그 내부에 포함하고 있는 콜센터 시스템 그 자체도 본 발명의 범위에 포함 될 수 있다. 즉, 본 발명의 콜센터 시스템은 상기의 모든 최적 통화 배분 방법을 실행할 수 있는 프로그램을 그 내부에 포함할 수 있다. 상기 내부라는 말은 물리적으로 반드시 내부일 필요는 없다. 즉, 본 콜센터 시스템이 네트워크로 연결되어 있는 제 3의 컴퓨터에서 상기의 방법 중 일부를 실행하거나, 상기의 방법을 실행할 수 있는 프로그램이 담겨 있는 기록 매체가 있다고 하더라도 개념적으로 본 콜센터 시스템의 내부라 칭할 수 있기 때문이다.
실시예
본 발명의 이해를 위하여 실시예를 기술한다. 다만, 본 발명이 본 실시예에 한정되지 않음은 분명하다.
알고리즘 1의 적용 결과.
알고리즘 1에 따라 각 고객의 스코어 중 최대 스코어에 해당하는 시간대를 그 고객의 최적 시간대로 지정한다.
각 고객별 각 시간대별 스코어(알고리즘 1 적용)
ID score_1 score_2 . . . score_M
6305241032934 0.723 0.394 . . . 0.429
4611052130294 0.596 0.692 . . . 0.265
7204121064591 0.339 0.218 . . . 0.506
5812042103428 0.618 0.502 . . . 0.715
6605122130294 0.593 0.215 . . . 0.443
7108222014391 0.448 0.733 . . . 0.504
각 고객별 최적 시간대(알고리즘 1 적용)
ID 최적 시간대
630524 1
461105 2
710822 M
630524 M
630524 1
630524 2
알고리즘 2의 적용 결과
M= 2이며, Max_1 = 2, Max_2 = 5인 경우에 알고리즘 2를 적용한 결과이다.
각 고객별 각 시간대별 스코어(알고리즘 2 적용)
ID Score_1 Score_2
6305241032934 0.723 0.394
4611052130294 0.596 0.692
7204121064591 0.339 0.218
5812042103428 0.618 0.502
6605122130294 0.593 0.215
7108222014391 0.448 0.733
각 고객별 스코어의 차이 및 랭크(알고리즘 2 적용)
ID 스코어의 차이 랭크
6305241032934 0.329 2
4611052130294 -0.096 5
7204121064591 0.121 3
5812042103428 0.116 4
6605122130294 0.378 1
7108222014391 -0.285 6
각 고객별 최적 시간대(알고리즘 2 적용)
ID 최적 시간대
6305241032934 1
4611052130294 2
7204121064591 2
5812042103428 2
6605122130294 1
7108222014391 2
알고리즘 3의 적용 경우
m = 3 이상인 경우에 대한 적용 결과이다.
각 고객별 각 시간대별 스코어(알고리즘 3 적용)
ID Score_1 Score_2 . . . Score_M
6305241032934 0.723 0.394 . . . 0.429
4611052130294 0.596 0.692 . . . 0.265
7204121064591 0.339 0.218 . . . 0.506
5812042103428 0.618 0.502 . . . 0.715
6605122130294 0.593 0.215 . . . 0.443
7108222014391 0.448 0.733 . . . 0.504
각 고객별 거리(알고리즘 3 적용)
ID 거리_1 거리_2 . . . 거리_M
6305241032934 0.762 1.214 . . . 0.992
4611052130294 1.526 0.989 . . . 2.235
7204121064591 1.734 1.982 . . . 1.021
5812042103428 0.973 1.718 . . . 0.879
6605122130294 1.020 1.922 . . . 1.769
7108222014391 1.002 0.814 . . . 0.993
각 고객별 초기 시간대(알고리즘 3 적용)
ID 초기 시간대
6305241032934 1
4611052130294 2
7204121064591 M
5812042103428 M
6605122130294 1
7108222014391 2
각 고객별 최적 시간대(알고리즘 3 적용)
거리 ID 최적 시간대
1 0.762 6305241032934 1
2 0.814 7108222014391 2
3 0.879 5812042103428 M
4 0.973 5812042103428 1
5 0.989 4611052130294 2
6 0.992 6305241032934 M
7 0.993 7108222014391 M
8 1.002 7108222014391 1
9 1.020 6605122130294 1
10 1.021 7204121064591 M
알고리즘 4의 적용 결과
통화 목록 고객수가 Max_1가 Max_M의 합보다 클 경우에 적용된다.
각 고객별 각 시간대별 스코어(알고리즘 4 적용)
ID Score_1 Score_2 Score_3
6305241032934 0.723 0.394 0.429
4611052130294 0.596 0.692 0.265
7204121064591 0.339 0.218 0.506
5812042103428 0.618 0.502 0.715
6605122130294 0.593 0.215 0.443
7402172104936 0.493 0.619 0.810
7108222014391 0.448 0.733 0.504
각 고객별 시간대(알고리즘 4 적용)
Score ID 시간대
1 0.810 7402172104936 3
2 0.733 7108222014391 2
3 0.723 6305241032934 1
4 0.715 5812042103428 3
5 0.692 4611052130294 2
6 0.619 7402172104936 2
7 0.618 5812042103428 1
8 0.596 4611052130294 1
9 0.593 6605122130294 1
10 0.506 7204121064591 3
추출된 고객별 시간대
ID 시간대
1 7402172104936 3
2 7108222014391 2
3 6305241032934 1
4 4611052130294 2
5 5812042103428 1
제1 고객 집단
ID Score_1 Score_2 Score_3
7402172104936 0.493 0.619 0.810
7108222014391 0.448 0.733 0.504
6305241032934 0.723 0.394 0.429
4611052130294 0.596 0.692 0.265
5812042103428 0.618 0.502 0.715
제 2 고객 집단
ID Score_1 Score_2 Score_3
7204121064591 0.339 0.218 0.506
6605122130294 0.593 0.215 0.443
본 발명을 실시함으로써, 각 고객별 최적화된 통화 가능 시간대와 채널을 예측할 수 있으며, 그 예측된 결과에 따라 콜센터에서 고객에게 통화를 시도함으로써 고객과의 통화 성공율을 극대화할 수 있을 뿐만 아니라, 콜센터에서의 비용 절감 효과를 누릴 수 있다.

Claims (38)

  1. M-1) 통화 추천 시스템 서버가 통화 대상 목록을 저장하고 있는 호스트 컴퓨터 서버로부터 사전에 지정된 특정한 단위를 기준으로 수행해야 할 통화 대상자 및 그 자에 대한 통화 관련 정보를 포함하는 통화 목록을 전송 받는 단계;
    M-2) 상기 통화 추천 시스템 서버가 상기 단위 통화 목록 상의 통화 대상 고객에 관한 데이터를 고객 데이터 DB로부터 추출하는 단계;
    M-3) 상기 통화 추천 시스템 서버가 통화 성공 예측 모형을 결정하는 단계;
    M-4) 상기 통화 추천 시스템 서버가 상기 결정된 통화 성공 예측 모형에 고객별로 통화와 관련된 스코어를 부여하는 단계;
    M-5) 상기 통화 추천 시스템 서버가 상기 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대 및 채널 중 적어도 어느 하나 이상을 지정하는 단계;
    M-6) 상기 통화 추천 시스템 서버가 상기 고객별 통화 시간대 및 채널 중 적어도 어느 하나 이상의 지정 정보를 전화 발신 컴퓨터 서버로 전송하는 단계를 포함하는 콜센터 시스템에서의 통화 추천 방법.
  2. 제 1항에 있어서, 상기 M-2) 단계의 고객 데이터 DB는 콜센터 통화 이력에 관한 정보, 텔레마켓팅(TM) 이력에 관한 정보, 고객 기본 정보, 신용 정보 및 자동응답시스템(ARS) 이력에 관한 정보, 인구 통계학적 정보 중에서 적어도 하나 이상의 정보를 포함하는 것을 특징으로 하는 콜센터 시스템에서의 통화 추천 방법.
  3. 제 1항에 있어서, 상기 M-3) 단계의 통화 성공 예측 모형을 결정하는 방법은 사건 기반 추론(Case-Based Reasoning), 의사결정나무(Decision Tree), 신경망(Neural Network), 스플라인(Spline), 로지스틱 회귀 분석(Logistic Regression) 및 군집 분석(Cluster Analysis)을 포함하는 방법 중 적어도 어느 하나 이상을 사용하는 것을 특징으로 하는 콜센터 시스템에서의 통화 추천 방법.
  4. 제 1항에 있어서, 상기 M-4) 단계의 고객별로 통화와 관련된 스코어를 부여하는 방법은 통화 성공 예측 모형 대응 함수에 고객 데이터 DB 상의 고객 정보를 입력하여 나온 결과값을 사용하는 것을 특징으로 하는 콜센터 시스템에서의 통화 추천 방법.
  5. 제 4항에 있어서, 상기 고객별로 통화와 관련된 스코어를 부여하는 방법은 시간대별 스코어 부여, 통신 매체별 스코어 부여 및 수신 장소별 스코어 부여 중 적어도 하나 이상의 방법을 채용하는 것을 특징으로 하는 콜센터 시스템에서의 통화 추천 방법.
  6. 제 1항에 있어서, 상기 M-5) 단계의 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대를 지정하는 방법은 통화 대상 고객의 시간대별 스코어, 통신 매체별 스코어 및 수신 장소별 스코어 중 적어도 하나 이상의 스코어를 입력 변수 로 하고, 시간대별 최대 통화 고객수를 제한 조건으로 하여, 시간대별 최적 통화 연결 고객 목록을 찾아내는 것을 특징으로 하는 콜센터 시스템에서의 통화 추천 방법.
  7. 제 6항에 있어서, 상기 시간대별 최적 통화 연결 고객 목록을 찾아내는 방법은 격자 탐색법, 선형 계획법 및 거리 분석법 중 적어도 하나 이상의 방법을 이용하는 것을 특징으로 하는 콜센터 시스템에서의 통화 추천 방법.
  8. 제 6항에 있어서, 상기 M-5) 단계의 고객별 통화 관련 스코어를 처리하여 고객별로 통화 시간대를 지정하는 방법은
    시간대별 최대 통화 연결 고객수에 해당하는 고객 목록을 고객별 통화 관련 스코어를 포함하는 자료 구조로 추출하는 단계; 및
    추출된 고객 목록을 시간대별 스코어, 통신 매체별 스코어 및 수신 장소별 스코어 중 적어도 하나 이상의 스코어를 기준으로 하여 정렬하는 단계를 더 포함하는 것을 특징으로 하는 콜센터 시스템에서의 통화 추천 방법.
  9. 제 1항에 있어서, 상기 M-4) 단계는
    고객별로 사전에 부여된 가중치 정보를 포함하여 스코어를 부여하는 단계를 더 포함하는 것을 특징으로 하는 콜센터 시스템에서의 통화 추천 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
KR1020030048978A 2003-07-18 2003-07-18 아웃바운드 콜센터를 위한 통화 추천 시스템 KR100601885B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030048978A KR100601885B1 (ko) 2003-07-18 2003-07-18 아웃바운드 콜센터를 위한 통화 추천 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030048978A KR100601885B1 (ko) 2003-07-18 2003-07-18 아웃바운드 콜센터를 위한 통화 추천 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020060016572A Division KR20060023596A (ko) 2006-02-21 2006-02-21 아웃바운드 콜센터를 위한 통화 추천 시스템

Publications (2)

Publication Number Publication Date
KR20050010099A KR20050010099A (ko) 2005-01-27
KR100601885B1 true KR100601885B1 (ko) 2006-07-14

Family

ID=37222564

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030048978A KR100601885B1 (ko) 2003-07-18 2003-07-18 아웃바운드 콜센터를 위한 통화 추천 시스템

Country Status (1)

Country Link
KR (1) KR100601885B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016019194A1 (en) * 2014-08-01 2016-02-04 Genesys Telecommunications Laboratories, Inc. System and method for case-based routing for a contact center
US9781270B2 (en) 2014-08-01 2017-10-03 Genesys Telecommunications Laboratories, Inc. System and method for case-based routing for a contact
US9848084B2 (en) 2014-08-01 2017-12-19 Genesys Telecommunications Laboratories, Inc. Adaptable business objective routing for a contact center
KR102209715B1 (ko) 2018-12-13 2021-01-29 주식회사 마인즈랩 복수 사용자에 대한 연락 일정 관리 방법
KR102400617B1 (ko) * 2020-04-28 2022-05-23 주식회사 마인즈랩 컨택 시나리오 관리 인터페이스 제공 장치
US11221728B2 (en) 2020-04-28 2022-01-11 Minds Lab Inc. Device for providing contact scenario management interface
CN113450124B (zh) * 2021-06-24 2024-06-25 江苏百应信息技术有限公司 基于用户行为的外呼方法、装置、电子设备及介质
KR102379615B1 (ko) * 2021-12-08 2022-03-31 주식회사 세븐포인트원 인공지능 기반 대상자의 치매 검사를 위한 아웃바운드 콜 처리 방법, 장치 및 시스템
CN117812185B (zh) * 2024-02-29 2024-05-24 江苏鑫埭信息科技有限公司 一种智能外呼***的管控方法及***

Also Published As

Publication number Publication date
KR20050010099A (ko) 2005-01-27

Similar Documents

Publication Publication Date Title
Wu et al. Integrated churn prediction and customer segmentation framework for telco business
CN105007171B (zh) 基于通信领域大数据的用户数据分析***及方法
Olle et al. A hybrid churn prediction model in mobile telecommunication industry
CN107071193B (zh) 互动应答***接入用户的方法和装置
US7328218B2 (en) Constrained tree structure method and system
US20140180976A1 (en) Systems and methods for generating leads in a network by predicting properties of external nodes
CN112633962B (zh) 业务推荐方法、装置、计算机设备和存储介质
CN112232892B (zh) 基于移动运营商的满意度的易访用户的挖掘方法
KR100601885B1 (ko) 아웃바운드 콜센터를 위한 통화 추천 시스템
Zhang et al. Behavior-based telecommunication churn prediction with neural network approach
CN107767153A (zh) 一种数据处理方法及装置
CN107977855B (zh) 一种管理用户信息的方法及装置
TW201233099A (en) Method and system for carrying out predictive analysis relating to nodes of a communication network
CN110728301A (zh) 一种个人用户的信用评分方法、装置、终端及存储介质
CN110677269A (zh) 通信用户关系的确定方法、装置和计算机可读存储介质
CN111882113A (zh) 一种企业手机银行用户的预测方法和装置
CN110324418B (zh) 基于用户关系推送业务的方法和装置
Neslin et al. Defection detection: improving predictive accuracy of customer churn models
KR20060023596A (ko) 아웃바운드 콜센터를 위한 통화 추천 시스템
CN110139288A (zh) 一种网络通话方法、装置、***和记录介质
EP2465085A2 (en) Systems and methods for gererating leads in a network by predicting properties of external nodes
CN115203545A (zh) 基于深度学习和知识图谱的康养服务智能匹配方法和***
CN114173010A (zh) 智能匹配外呼对象的方法及装置、存储介质、计算设备
CN108564380B (zh) 一种基于迭代决策树的电信用户分类方法
Gholamveisy DISCOVERING HIDDEN CLUSTER STRUCTURES IN CITIZEN COMPLAINT CALL VIA SOM AND ASSOCIATION RULE TECHNIQUE

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee