AI 활용 CRM 관리 (feat. 클로드)

파이썬 (Python) 활용해서 미분류 컨택 54% 줄인법

by 이레

허브스팟(HubSpot)에 쌓인 컨택 데이터를 기업/아카데미 등으로 분류하고 계신가요?가지고 있는 컨택 데이터가 많다보니, 아카데미는 이메일에 'ac.kr'이, 조직 이름에 '대학'이 들어가는 걸로 분류하고 그 외는 기업으로만 분류를 할 수밖에 없었어요. 그래서 세그먼트를 나눠서 마케팅 캠페인을 할 때 정확한 타겟팅이 어려웠습니다.


오늘은 저희 마케팅 리스트 중 미분류(None) 3,041건을 1,391건으로, 즉 54%를 줄인 방법을 공유할게요. 사람이 한 건씩 분류한 게 아니라 요즘 일 너무 잘한다고 소문난 클로드(Claude)와 Python 스크립트로 자동화한 실전 사례예요.


참고로 저는 비개발자이고 파이썬에 대해서는 잘 모릅니다 ^^..



미분류 3,041건, 왜 문제인가

저희 허브스팟 마케팅 수신 동의 목록 (이메일 보낼 수 있는 대상)을 Business Type이라는 커스텀 프로퍼티가 있는데, Startup, Mid-Size, Enterprise, Academy, Government, Investor, None 이렇게 분류하고 있어요.


문제는 None, 즉 미분류가 3,041건이었다는 거예요. 전체의 31%가 어떤 유형인지 모르는 상태였어요. 이러면 Enterprise 대상 이메일을 보내려고 해도 실제로는 Enterprise인데 None으로 빠져있는 컨택들을 놓치게 돼요.


수동으로 분류하는 건 현실적으로 불가능해요. 3,000건을 사람이 일일이 확인하려면 아무리 빨라도 며칠은 걸리고 정확도가 현저히 낮으니까요.



분류 로직의 시작. 이메일 도메인과 회사명

분류 하기 위한 핵심 로직은 이러합니다.


첫 번째는 이메일 도메인 기반으로 한 분류예요. samsung.com이면 Enterprise, kaist.ac.kr이면 Academy, go.kr이면 Government.


두 번째는 회사명(Company Name) 키워드 매칭이에요. 회사명에 "삼성", "현대", "SK" 같은 키워드가 있으면 Enterprise, "대학교", "University"가 있으면 Academy로 분류하는 식이에요.


세 번째가 Peer Vote라는 방식인데요. 같은 회사에 이미 분류된 컨택이 있으면, 미분류 컨택도 동일하게 분류하는 거예요. 예를 들어 삼성화재에 samsung.com 이메일로 Enterprise 분류된 사람이 있으면, 같은 삼성화재인데 개인 이메일(naver.com)을 쓰는 사람도 Enterprise로 잡아주는 거죠.


이러한 로직으로 스크립트로도 상당수를 분류할 수 있었지만, 여전히 3,041건이 None으로 남아있었어요.



반복 개선의 과정

여기서부터가 클로드의 진가가 나오는 부분이에요. 첫 번째 로직에 따른 분류 결과를 보고 "아직 미분류인 건들의 패턴이 뭐지?"를 클로드에게 분석시켰어요.


허브스팟에 마케팅 수신 동의 목록을 첨부하고, 미분류 컨택들의 Company Name을 빈도순으로 정렬해봤더니 흥미로운 패턴이 보였어요.


연세대학교 영문명인 Yonsei University, Seoul National University 등 대학 소속인데 개인 이메일을 쓰고 있어서 Academy로 안 잡힌 사람들을 발견했어요. 그 외 대기업들도 한글이 아니라 영문 회사명이라서 Enterprise로 분류가 안됐고요.


일부 허브스팟이 이메일 도메인에서 자동으로 회사명을 추출했는데, 사실상 naver.com이나 nate.com 사용자로 개인들이어서 기타로 다시 분류했어요. 이런 노이즈 데이터가 분류를 방해하고 있었던 겁니다. 이 분석 결과를 바탕으로 파이썬에 돌릴 스크립트를 반복 개선했어요.


[TIP]
파이썬 돌리는 방법은? 클로드나 제미나이에게 물어보면 아주 쉽게 알려줍니다. 처음에는 시행착오가 있을 수 있지만, import할 고객 DB를 거의 1초만에 만들어주니 이번 기회에 꼭 익혀보세요!



Job Title 활용하기

그 다음엔 이번에는 Job Title이 비어있을 때 직무 및 역할 컬럼을 대체하여 활용하는 로직을 넣었어요. "교수", "Professor"면 Academy, "사무관", "주무관"이면 Government로 잡아주는 식이에요.


그 다음 번 버전에서는 허브스팟 Company 속성에 있는 산업 분류를 기반으로 Business Type을 매핑했어요.



HubSpot MCP로 실시간 데이터 조회하며 작업한 것


이 작업에서 특히 유용했던 건 HubSpot MCP(Model Context Protocol) 연동이에요. 클로드가 허브스팟 API를 직접 호출해서 실시간 데이터를 조회할 수 있거든요.


예를 들어 미분류 컨택 중 Company Name이 있는 건들을 HubSpot MCP로 조회해서, 해당 Company에 이미 설정된 Company Type이나 산업 속성을 가져올 수 있었어요. CSV 파일을 제가 첨부하는 과정 없이, 대화 안에서 바로 데이터를 확인하고 스크립트를 수정하는 루프가 가능했어요.


실제로 이런 식으로 작업했어요. Claude에게 "마케팅 수신 동의 목록 중에 Business Type별 분포 보여줘"라고 하면 HubSpot MCP로 바로 조회해서 결과를 보여주고, 그 결과를 보고 "None 중에서 Company Name이 있는 건들 패턴 분석해줘"라고 하면 CSV 파일을 파싱해서 분석해주고, 그 분석 결과로 "그럼 이 회사들을 Enterprise DB에 추가해서 새로운 버전 만들어줘"라고 하면 파이썬 스크립트를 수정해주는 거예요.


사람이 직접 했다면 HubSpot 접속, CSV 다운로드, 엑셀에서 피벗, 패턴 확인, 스크립트 수정, 재실행. 이 사이클을 버전별로 반복해야 했을 거예요. 클로드와 함께하니 대화 한 세션 안에서 다섯 번 이터레이션을 돌 수 있었어요.



최종 결과. 분류율 69%에서 86%로

최종 파이썬 스크립트를 돌린 결과를 정리하면 이래요.


None(미분류)은 3,041건에서 1,391건으로 줄었어요. 54% 감소예요. Enterprise는 2배가 되고 Academy는, Startup, Government도 수치가 개선되었어요.전체 분류율로 보면 69%에서 86%로 17%p 개선된 거예요.


결과 CSV 파일은 허브스팟에 바로 Import할 수 있는 형식으로 생성했어요. Email을 기준으로 Business Type을 덮어쓰기하며 Import 하면 끝이에요.



남은 1,391건은 왜 못 줄였나

남은 미분류 건들을 분석해보면 대부분 이런 케이스예요. 개인 이메일(gmail, naver)을 쓰면서 Company Name도 비어있거나, "프리랜서", "개인", "." 같은 노이즈 값이 들어있는 경우. 또는 회사명이 있어도 워낙 소규모라서 어떤 DB에도 매칭이 안 되는 경우예요.


이 건들은 스크립트로 자동 분류하기보다는, 이후에 해당 컨택이 폼을 제출하거나 세일즈 미팅이 잡힐 때 수동으로 업데이트하는 게 현실적이에요. 또는 HubSpot Workflow를 만들어서 특정 행동(예: Enterprise 대상 콘텐츠 다운로드)을 할 때 자동으로 태깅하는 방법도 있고요.




이걸 우리 CRM에도 적용해 보고 싶다면?
이 순서를 추천드려요.

먼저 HubSpot에서 분류 대상 리스트를 CSV로 내보내요. 필수 컬럼은 Email과 Company Name이고, Job Title, Company Type, 직무 및 역할 컬럼도 있으면 분류 정확도가 올라가요.


다음으로 클로드에게 "이메일 도메인과 회사명 기반으로 Business Type을 분류하는 Python 스크립트 만들어줘"라고 요청해요. 첫 버전 결과를 보고, 미분류 건의 패턴을 분석해달라고 하면 돼요.


패턴이 보이면 회사명 DB를 확장하고, 노이즈 필터를 추가하고, 직무 컬럼 같은 보조 데이터를 활용하는 식으로 반복 개선해요. 저희 경우 다섯 번 이터레이션으로 충분했어요.


최종 결과 CSV를 HubSpot에 Import하면 끝이에요.


[TIP]
분류 기준을 처음부터 완벽하게 세우려고 하지 마세요. v1을 빠르게 돌리고, 결과를 보고, 개선하는 사이클이 훨씬 효율적이에요. Claude가 이 사이클을 빠르게 돌릴 수 있게 해주거든요.



마무리

CRM 데이터 정리는 노가다라는 인식이 강해요. 맞아요, 원래는 그랬어요. 하지만 클로드 같은 LLM과 함께라면 분석, 패턴 발견, 스크립트 작성, 반복 개선까지 대화 한 세션에서 끝낼 수 있어요.


핵심은 사람이 모든 건을 일일이 보는 게 아니라, AI에게 패턴을 찾게 하고 규칙을 코드로 만들게 하는 거예요. 미분류 54% 감소라는 숫자가 그 증거고요.



다음 글에서는 이렇게 정리된 Business Type 데이터를 기반으로 세그먼트별 캠페인을 어떻게 설계했는지 다뤄볼게요. 궁금한 점이나 피드백이 있으시면 편히 댓글 달아주세요 :)

매거진의 이전글허브스팟 사용법 가이드 (2)-기업명 중복 정리하는 법