
「슬슬 다 떨어질 때가 되지 않았나요?」라고 말하면 고객은 가격만 보고 떠나지 않는다. AI로 '한발 앞서기' — 메커니즘부터 매일 아침의
요약
가상의 도매 상회 시나리오를 통해 고객의 주문 패턴을 분석하여 이탈 징후를 포착하고 적절한 타이밍에 제안하는 AI 활용법을 다룹니다. 단순한 스팸성 알림이 아닌, 데이터 기반의 예측 메커니즘과 AI의 자연스러운 커뮤니케이션을 결합하는 실무적 접근법을 제시합니다.
핵심 포인트
- 데이터 기반의 예측: AI의 추측이 아닌 주문 기록의 중앙값을 활용한 정교한 타이밍 계산
- 이탈 방지 메커니즘: 평소 주문 주기보다 경과일이 길어지는 고객을 최우선 관리 대상으로 선정
- 스팸 방지 전략: 주문 횟수가 적거나 불규칙한 고객은 제외하여 신뢰도 유지
- AI의 역할 정의: 데이터로 판별된 대상에게 '센스 있는 한마디'를 더하는 보조 도구로 활용
이 기사는 가상의 회사인 「마루키 상회(丸喜商会)」를 무대로 한
공개 시나리오입니다. 등장하는 기업·인물은 실재하지 않습니다. 다만, 만든 프로그램은 실제로 작동시킨 것이며, 출력물도 실물입니다. 가상의 설정으로 「현장에서 있을 법한 고민」을 재현하고, AI로 풀어보는 —— 그런 연재의 3일째입니다.

서론
「『그 사람만이 할 수 있는 일』을 풀다.」라는 30일간의 연재 중, 3일째입니다. Day01은 FAX를 「읽어내기」, Day02는 이력에서 「떠올리기」. 오늘의 AI는 한발 앞서 나갑니다(先回り).
그리고 오늘은, 어떻게 판정할 것인가(메커니즘)뿐만 아니라, 어디에 두고 매일 아침 어떻게 전달할 것인가(구현과 설치)까지 작성합니다. 현장에서 사용하는 도구는 「어디서 움직이고, 무엇이 계속 움직이는가」가 보이지 않으면, 단순한 데모로 끝나기 때문입니다.
Before: 소모품인데도 고객이 가격 때문에 떠나지 않는 이유
공업용 부자재(면장갑, 웨스, 절삭유, 연마재…)의 루트 도매 「마루키 상회」(가상·15명). 취급하는 것은 어디서든 살 수 있는 소모품. 본래, 가장 가격으로 비교되기 쉬운 사업입니다.
그런데도 고객은 떠나지 않습니다. 베테랑 영업 담당인 반두(番頭) 씨가 "슬슬 면장갑이 다 떨어질 때가 되지 않았나요?"라고, 다 떨어지기 전에 말을 걸기 때문입니다. 고객은 「센스 있네」라고 느끼며, 단순히 저렴하기만 한 업체를 찾지 않습니다.
더욱 놀라운 것은 "최근에 디스크 주문이 안 들어오네… 무슨 일이 있나?"라며, 평소의 페이스가 끊긴 고객을 알아차릴 수 있다는 점입니다. 이것은 이탈의 징후입니다. 다른 곳으로 흘러가려는 고객에게, 태도로 드러나기 전에 말을 걸어 붙잡습니다.
하지만 반두 씨가 쉬면, 신입은 누구에게 언제 말을 걸어야 할지 모릅니다. 보충을 놓치게 되고, 무엇보다 —— 자신도 모르는 사이에 고객이 조용히 떠나갑니다.
처음에 기각한 안: 모든 고객에게 「슬슬 주문하실 때가 되었습니다」라고 일제 송신
처음에는 「모든 고객에게 정기 리마인드」를 생각했습니다. 하지만 이것은 **스팸(Spam)**입니다. 필요 없는 타이밍의 재촉은 「센스 있다」는 말은커녕 「끈질기다」는 느낌을 줍니다. 가치는, 누구에게·언제 말을 걸 것인가를 판별하는 것에 있습니다.
메커니즘: 누구를 「오늘의 대화 대상」으로 선택할 것인가
입력값은 회사에 원래 있는 주문 기록뿐 —— 누가·언제·무엇을 샀는가. 이것을 (고객 × 품목) 단위로 봅니다.
컷오프(대상에서 제외할 고객을 먼저 제외)
-
주문이 3회 미만 = 페이스를 읽을 수 없음 → 대상 외 (추측하지 않음).
-
주문이 부정기적(페이스가 안정되지 않음) = 예측이 틀림 → 대상 외 (오보 = 스팸 방지).
-
평소의 페이스를 측정: 주문 간격의 **중앙값(Median)**을 주기로 한다.
-
두 가지 트리거 적용 (
gap= 지난번으로부터 경과한 일수):- 이탈 징후 (최우선):
gap이 그 고객의 평소 페이스보다 이상적으로 길다. = 「항상 10일 주기의 고객이 22일 동안 오지 않음 = 떠나려 함」. - 보충 시기: 다음에 살 예측일(지난번 + 주기)이 곧 다가오거나 ~ 지났다.
- 둘 다 해당하지 않으면, 오늘은 내보내지 않는다.
- 이탈 징후 (최우선):
-
정렬: 이탈 징후 > 보충 초과 > 곧 다가옴.
중요한 것은, **「누구에게·언제」는 전부 “기록의 계산”**이며, AI에게 추측하게 하지 않는 것입니다. AI는 마지막에 「센스 있는 한마디」를 쓸 뿐입니다. 그래서 현장에서 말할 수 있는 것은 "AI가 말했다"가 아니라 "우리 주문 기록이 그렇게 말하고 있다" —— 이것이 신용의 원천입니다.
▼ 기술적으로 어떻게 측정하고 있는가 (엔지니어용 · 건너뛰어도 OK)
- 주기 =
median(간격)(평균이 아닌 중앙값 = 특가·대량 구매와 같은 이상치(Outlier)에 강함), 변동성 =σ(표준편차). - 부정기 판정 =
CV = σ / median > 0.5이면 제외. - 이탈 징후 =
gap ≥ max(median + 2σ, median × 1.5). 글로벌 상수가 아니라 그 고객 자신의 규칙성(σ)으로부터 임계값(Threshold)을 만든다.×1.5는 σ가 너무 작은 고객에게 과민하게 반응하지 않도록 하는 제동 장치. - 보충 시기 =
예측일 − today ≤ 5일(리드 타임). - 판정은 결정론적(숫자를 조작하지 않음). AI의 담당은 대화 문구의 생성뿐.
실행해 보기
가상의 주문 이력으로 「오늘 = 4/22」라고 설정하고 작동시키면 다음과 같이 나옵니다. 판정 근거(숫자)를 화면에 그대로 출력하도록 했습니다.

- 北工業【이탈 징후·최우선】: 연마 디스크는 보통 10일 주기. 지난 3/31부터 22일(평소의 2.2배) 동안 소식이 없음 → "최근 연락이 뜸했는데, 무슨 일 있으신가요?" (재촉이 아닌 배려)
- 미와 제작소【보충 시기】: 웨스(Wipes) = 예측 4/21을 1일 초과 / 절삭유 = 예측 4/22로 오늘이 보충 기준일
- 야마다 철공【보충 시기】: 면장갑 = 앞으로 며칠 내로 보충할 시기
그리고 화면 하단에는, 선제적으로 대응하지 않는 고객도 이유와 함께 표시합니다 (칸사이 금속 = 발주가 불규칙 / 다이토 제작소 = 주문 1회로 데이터 부족). "내보내지 않는 판단"까지 보여주는 것이 이 도구의 성실함입니다.
여기까지는 작동했습니다. 하지만 현장 사람들이 가장 신경 쓰는 것은 아마 다른 두 가지일 것입니다. "우리 데이터로 가능한가요?"와 "그래서, 이거 어디서 돌아가나요?". 차례대로 쓰겠습니다.
데이터는 어디서 오는가
이 알고리즘에 필요한 것은 거래처·품명·날짜의 3가지 항목뿐입니다. 이것은 사업을 하고 있다면 반드시 어딘가에 있습니다 (청구도 배달도 하기 때문입니다). 새로 입력해야 하는 것이 아닙니다.
- 판매 관리·수발주 소프트웨어 (Yayoi Hanbai, Shoho, freee, kintone 등) → CSV 또는 API로 내보내기.
- Excel로 관리 → 해당 파일을 읽기.
- 종이 기록뿐 → 초기에 한꺼번에 가져오기. ※ 완전히 종이뿐이고 디지털 기록이 전혀 없다면, 우선 디지털화가 선행되어야 합니다 (솔직히 말해서).
유일한 수고는 데이터 통합 (Data Cleansing/Mastering) (예: "야마다 철공", "(주)야마다 철공", "야마다 철공"을 동일한 고객으로 맞추는 작업)입니다. 도입 시 딱 한 번 수행합니다. AI로 반자동화할 수 있지만, 공수가 전혀 들지 않는 것은 아닙니다. 오히려 이 "기존 데이터에 연결하여 작동 가능한 상태로 만드는 것"이 도입 지원의 핵심입니다.
그리고——귀사의 모든 데이터를 그대로 무료 AI에 던지지는 않습니다. 가격·원가·개인정보·거래처명은 기밀성에 따라 분류하여, 외부로 보내도 되는 것만 보내고 "어떤 AI에 무엇을 보냈는지"의 기록을 남깁니다. 지저분한 자료를 자산으로 바꾸는 것과 정보를 유출하지 않는 것은 세트입니다. 본업(정보 보안)으로서 가장 신경 쓰는 부분입니다.
어디서 작동시키고, 매일 아침 어떻게 전달하는가 (구현과 설치)
이 부분이 가장 중요할지도 모릅니다. "계속 켜져 있는 앱"은 없습니다.
작동하는 것은 두 가지이며, 성격이 다릅니다.
- Web 화면: 로직을 보여주는 데모. 실제 운영에는 필요하지 않습니다. 상주하지도 않습니다.
- 아침 알림 스크립트 (Notification Script): 이것이 본체입니다. 아침 8시에 몇 초 동안만 실행되고 종료됩니다.
스케줄러가 깨움 → 장부를 읽음 → 판정 → 송신 → 종료
즉, 계속 ON 상태인 것은 기계의 전원과 OS의 스케줄러뿐입니다 (Windows = 작업 스케줄러 / Mac·Linux = cron). 특별한 상주 앱이 아닙니다. **설치 장소는 고객이 이미 가지고 있는 "항상 전원이 켜져 있는 사무실 PC"**입니다. 새로운 서버는 필요 없습니다. 이를 통해——
사무실 PC 내에서 완결 = 데이터가 외부로 나가지 않음 = 유출되지 않음 (On-premise).
클라우드(24시간 작동하는 VPS 등)에 두는 방법도 있지만, 그 순간 데이터가 사외로 나가는 것이므로 보안 판단이 필요합니다. 중소기업이라면 기본적으로 "PC + 스케줄러" 방식이 정석입니다.
그리고, 전달되는 대상은 고객이 아니라 자사의 담당자입니다.

매일 아침의 알림은 사내용 = "오늘 이 고객에게 신경 써주세요"라는 **트리거 (Trigger)**입니다. 실제 연락(전화·방문)은 담당자가 상대방과 타이밍을 맞춰 자신의 언어로 합니다. 화면의 한마디는 그때 사용할 수 있는 대본 초안이지, 자동으로 전송되는 문구가 아닙니다.
왜냐하면, 고객에게 있어 가치는 '세심함' 즉, 사람이 신경 써주었다는 느낌입니다. 거기에 명백히 자동 메시지가 전달되면 마법은 깨지고 스팸이 됩니다. 그래서——
AI의 역할은 사람을 움직이는 "트리거"까지입니다. 마지막 "판단과 책임"은 사람이 쥡니다.
이것이 이 도구에서 AI에게 맡기지 않는 경계선입니다. (반대로, EC의 발송 통지나 정기 배송처럼 "자동이라는 것을 처음부터 알고 있는 연락"이라면 자동 송신이 좋습니다. 경계선은 "관계의 깊이"로 긋습니다.)
마지막으로, 운용을 3단계로 정리하면——
- 단 한 번 (도입 시): 흩어진 자료를 장부화 (이후에는 정기 업데이트).
- 매일 (자동): 아침 8시, 스크립트가 실행되어 메일 1통 발송.
- 계속: 아무것도 상주하지 않음. PC의 전원과 스케줄러뿐.
설치는 cron이라면 한 줄이면 됩니다 (송신은 SMTP 실코드. 채팅 = Chatwork라면 Webhook으로 교체).
0 8 * * * cd /path/to/app && python 朝の通知.py --send 宛先
"확인하러 가는 툴은, 여는 것을 잊은 순간 죽는다". 그래서 열게 만들지 않는다. 매일 아침, 평소 받는 메일로 '오늘 말을 걸 대상'이 먼저 도착한다.
설계의 혼: 가치는 '주문을 받는 것'이 아니라 '이탈을, 태도로 나타나기 전에 붙잡는 것'
이 툴의 핵심은 보충 리마인드(Reminder)가 아니라, 이탈의 징후를 고객이 '이제 주문하지 않겠다'고 결정하기 전에 붙잡는 것이다. 소모품처럼 가격으로 비교되기 쉬운 사업일수록, 이 '한발 앞선 배려'가 효과적이다. 저렴한 업체는 얼마든지 있다. 하지만 '다 떨어지기 전에, 먼저 신경 써주는' 업체는 쉽게 갈아탈 수 없다. 배려가 곧 가격 경쟁으로부터의 방벽이 된다.
그리고 그것을, 점장(番頭) 개인의 재능에서 누가 나와도·어떤 교대 근무 시간대라도 일정한 회사의 표준 장비로 만든다. 가격 '만'으로는 비교할 수 없는 회사가 되는 것——그것이 목표다.
다만 솔직히 말하자면, 이것은 '마법'이 아니다. 압도적으로 저렴한 상대가 나타나거나, 고객 자신의 경영이 어려워지면 그럼에도 이탈한다. 배려가 하는 역할은 "가격만으로 즉시 결정되지 않게 하는 것", "떠나기 전에 'A사가 저렴한데...'라고 상담할 수 있게 하는 것"이다. 가격으로 비교되는 경기장에 곧바로 올라가지 않도록 하는 것. 면역이 아니라, 방어다.
After
- 신입이라도 베테랑과 똑같이 "슬슬 다 떨어질 때가 되지 않았나요?", "요즘 어떠신가요?"라고 말할 수 있다.
- 조용히 떠나려던 고객을 알아차리고 말을 걸 수 있다. 이탈이 멈춘다.
- 점장은 '모든 고객의 재고를 머릿속으로 관리해야 하는' 압박에서 해방된다. 직관은 사라지지 않는다. 독점이 풀린다.
마치며
Day03은 베테랑의 '한발 앞선 행동'을 모두에게 나누어 주는 AI였다. 메커니즘도, 어디에 두고 매일 아침 어떻게 전달할지도 작성해 두었다. 현장에서 사용되는 도구는 영리함보다 '어디서 움직이고, 무엇을 사람에게 남길 것인가'가 보이는 것이라고 생각한다.
내일도 '그 사람만이 할 수 있는 일'을 풀어헤치러 가겠다.
"우리 회사에도 고객의 소모 속도를 전부 기억하고 있는 점장이 있다 (그 사람이 나가면 고객이 조용히 떠날 것 같다)"라고 생각된다면, 언제든 편하게 말을 걸어달라. 지금부터라도 괜찮다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기