CRM 데이터를 활용한 딜 건강 점수(Deal Health Score) 구축: RevOps 엔지니어링 가이드
요약
CRM 데이터의 불확실성을 해결하기 위해 행동 신호를 기반으로 한 딜 건강 점수(Deal Health Score) 구축 가이드를 제공합니다. 단계별 가중치와 유휴 시간 페널티 등 실질적인 데이터 입력값을 활용하여 영업 파이프라인의 추진력을 정량화하는 방법을 다룹니다.
핵심 포인트
- 단순 단계와 확률을 넘어 행동 신호 기반의 점수화 필요
- 과거 전환율을 반영한 파이프라인 단계별 가중치 설정
- 구매자 참여 부재를 감지하는 유휴 일수 페널티 적용
- 활동량과 이해관계자 커버리지를 통한 딜 추진력 측정
모든 영업 리더가 적어도 일주일에 한 번, 보통 예측(Forecast)을 발표하기 직전인 금요일 오후에 던지는 질문이 있습니다. "이 딜들 중에서 실제로 유효한 게 무엇인가요?"
솔직한 답변은 이렇습니다: 아무도 모릅니다. 정말로요. 대부분의 CRM (Customer Relationship Management)은 활성화된 것처럼 보이는 딜들로 가득 차 있기 때문입니다. 단계(Stage)는 협상(Negotiation) 중이라고 되어 있고, 확률(Probability)은 70%라고 표시되어 있으며, 마감일(Close date)은 이달 말로 되어 있지만, 정작 구매자와는 11일 동안 아무도 대화하지 않았습니다. 매핑된 유일한 이해관계자(Stakeholder)는 최초 미팅에 참석했던 사람뿐이며, 마지막으로 기록된 활동(Activity)은 영업 담당자가 단계(Stage) 필드를 업데이트한 것이 전부입니다.
그것은 파이프라인(Pipeline)이 아닙니다. 그것은 낙관적인 가정들의 집합체일 뿐입니다.
딜 건강 점수(Deal Health Score)는 목요일에 그런 사실을 깨닫는 것에 지쳤을 때 구축하게 되는 것입니다.
단계(Stage) + 확률(Probability)만으로는 부족한 이유
기본적인 CRM 설정은 두 가지 레버(Lever)를 제공합니다: 단계(Stage)와 확률(Probability)입니다. 단계(Stage)는 딜이 프로세스의 어느 지점에 있는지를 알려줍니다. 확률(Probability)은 영업 담당자가 할당하거나(매우 주관적임), 단계에 따라 할당됩니다(매우 일반적임). 둘 중 어느 것도 딜이 실제로 움직이고 있는지를 알려주지는 않습니다.
당신이 실제로 알아야 하는 것은 다음과 같습니다: 이 딜이 클로징(Close)을 향해 진행 중인가, 아니면 그냥 필드에 머물러 있는가?
이에 답하기 위해서는 행동 신호(Behavioral signals), 즉 딜 주변에서 일어나는(또는 일어나지 않는) 일들을 살펴봐야 합니다. 유휴 시간(Idle time). 활동량(Activity volume). 이해관계자 커버리지(Stakeholder coverage). 이것들이 바로 딜에 추진력(Momentum)이 있는지, 아니면 아무도 보지 않는 사이에 조용히 쇠퇴하고 있는지를 알려주는 입력값(Inputs)입니다.
그것이 바로 딜 건강 점수(Deal Health Score)가 하는 역할입니다. 이는 여러 개의 약한 신호들을 하나의 실행 가능한 수치로 변환하는 가중치 공식(Weighted formula)입니다.
실제로 중요한 네 가지 입력값
코드 한 줄을 쓰기 전에, 무엇을 측정할지 결정해야 합니다. 다음은 다양한 영업 방식(Sales motions) 전반에서 일관되게 작동하는 프레임워크입니다.
1. 파이프라인 단계 가중치 (Pipeline Stage Weight)
모든 단계가 동일한 비중을 갖는 것은 아닙니다. Discovery (발견) 단계의 딜은 초기 단계이며 불확실합니다. 반면 Contract Review (계약 검토) 단계의 딜은 종료에 가깝고 확정적입니다. 당신의 점수는 이를 반영해야 합니다.
실제 파이프라인 단계와 승률 (Win-rate) 데이터를 기반으로 0과 1 사이의 단계 승수 (Stage multiplier)를 할당하세요:
STAGE_WEIGHTS = {
"Discovery": 0.2,
"Qualified": 0.35,
...
이 값들을 단계별 과거 전환율 (Conversion rates)에 맞춰 보정하십시오. 만약 귀사에서 "Proposal Sent" (제안서 발송) 단계의 딜이 30%의 확률로만 성사된다면, 0.65를 할당하지 마십시오. 가중치를 현실에 맞추어야 합니다.
2. 유휴 일수 페널티 (Idle Days Penalty)
이것은 대부분의 CRM이 완전히 무시하는 가장 중요한 신호입니다. 구매자 측의 참여 (Buyer-side engagement)가 14일 동안 없었던 딜은 어제 무언가 발생한 딜과는 전혀 다른 딜입니다.
def idle_days_score(last_buyer_activity_date):
from datetime import date
idle = (date.today() - last_buyer_activity_date).days
...
한 가지 중요한 점은, 영업 담당자 (Rep)의 활동이 아니라 구매자 측의 활동을 원한다는 것입니다. 영업 담당자가 후속 이메일을 보내는 것은 포함되지 않습니다. 구매자가 답장을 하거나, 통화에 참여하거나, 동료에게 전달하는 것이 포함됩니다. 대부분의 CRM은 이를 느슨하게 추적하므로, 이를 정확하게 파악하려면 이메일 메타데이터나 통화 로그를 파싱 (Parse)해야 할 수도 있습니다.
3. 활동량 점수 (Activity Volume Score)
활동량은 노력과 참여를 나타내는 신호입니다. 하지만 단순한 수치는 오해를 불러일으킬 수 있습니다. 영업 담당자 측에서 발생한 12개의 활동은 상호 간의 6번의 교환과는 다릅니다. 일방적인 소음으로 인해 딜의 점수가 부풀려지는 것을 방지하기 위해 점수에 상한선 (Cap)을 두십시오.
def activity_score(total_activities, mutual_activities):
# 상호 작용에 더 높은 가중치를 부여
raw = (total_activities * 0.3) + (mutual_activities * 0.7)
...
4. 이해관계자 커버리지 (Stakeholder Coverage)
엔터프라이즈 (Enterprise) 딜은 챔피언 (Champion)이 사라지고 다른 관계가 없을 때 무너집니다. 커버리지 점수는 구매 결정에 관여된 핵심 인물들을 파악했는지 측정합니다.
def stakeholder_score(contacts_mapped, decision_maker_identified, budget_holder_identified):
score = 0
score += 0.4 if decision_maker_identified else 0
...
가중치 공식 (The Weighted Formula)
이제 네 가지 신호(signals)를 결합합니다. 여기서 사용된 가중치는 시작점일 뿐이며, 귀사의 특정 영업 방식(motion)에서 어떤 신호가 계약 성사(close)를 가장 잘 예측하는지에 따라 이를 조정하십시오.
def calculate_deal_health_score(deal):
stage_w = STAGE_WEIGHTS.get(deal['stage'], 0.1)
idle_w = idle_days_score(deal['last_buyer_activity'])
...
출력값은 0에서 100 사이의 숫자입니다. 40 미만은 즉각적인 주의가 필요하거나 정체(stalled) 상태로 이동시켜야 하는 딜입니다. 40~65는 활성 상태이지만 취약한 상태입니다. 65 이상은 추진력(momentum)을 가진 진정으로 건강한 상태입니다.
CRM에 적용하기 (Running This Against Your CRM)
이를 대규모로 실행하는 가장 깔끔한 방법은 CRM API를 통해 진행 중인 딜(open deals)을 가져와 점수를 계산하고, 이를 커스텀 필드(custom field)에 다시 쓰는 일일 배치 작업(daily batch job)을 수행하는 것입니다.
import requests
def update_deal_scores(crm_deals):
...
점수가 CRM에 기록되면, 월요일 아침 회의 중에 문제를 발견하는 대신, 회의 전에 가장 위험도가 높은 5개의 딜을 표면화하는 파이프라인 리뷰 대시보드(pipeline review dashboard)를 구축할 수 있습니다.
이를 통해 얻을 수 있는 가치 (What This Unlocks)
딜 건강 점수(deal health score)는 단순히 대시보드 위의 숫자가 아닙니다. 이는 다음과 같은 활동의 기반이 됩니다:
- 딜이 특정 임계값(threshold) 아래로 떨어질 때 영업 담당자(rep)와 관리자(manager)에게 전달되는 자동 알림(automated alerts)
- 낮은 건강도를 가진 딜이 예측 수치를 부풀리기 전에 이를 제거하는 예측 필터링(forecast filtering)
- 영업 담당자의 기억이 아닌 실제 딜 행동(deal behavior)에 근거한 코칭 대화
- 인수인계 품질: 영업 담당자가 퇴사하거나 휴가를 갈 때, 후임자가 추진력(momentum)이 정확히 어느 단계에 있는지 확인할 수 있음
이것이 바로 확신을 가지고 예측을 수행하는 팀과 금요일 오후에 CRM과 현실을 대조하며 시간을 허비하는 팀을 가르는 CRM 데이터 과학(CRM data science)의 핵심입니다.
실행과의 연결 고리 (Where This Connects to Execution)
점수는 문제를 식별합니다. 더 어려운 부분은 그 문제에 대해 실제로 무언가가 일어나도록 만드는 것입니다. 즉, 점수가 28점인 정체된 딜이 후속 조치(follow-up)를 트리거하고, 적절한 관리자에게 보고되며, 딜이 완전히 종료되기 전에 구체적인 다음 단계(next step)가 할당되도록 보장하는 것입니다.
그것이 바로 가시성(visibility)과 실행(execution) 사이의 격차입니다. 그리고 이 격차를 메우는 것이 바로 SpurIQ's DealIQ가 구축된 목적입니다. 이러한 신호들을 자동으로 실행 가능한 조치(executed actions)로 전환함으로써, 파이프라인 건강도(pipeline health)가 단순히 측정되는 것에 그치지 않고 관리되도록 만듭니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기