기술

매입이 끊긴 매장 열한 곳, 절반 넘게 점검표에 이미 적혀 있었습니다

2026.09.299분 읽기

프랜차이즈 ERP 에서 본사 물류 매입을 보다가 이상한 패턴이 잡혔습니다. 매출은 평소대로 나오는데, 본사가 공급하는 축산 품목군 매입만 0 이 되거나 크게 줄어든 매장이 있었습니다.

매출이 같이 빠졌으면 장사가 안 되는 것입니다. 그런데 매출은 그대로인 채 그 품목군만 0 이면 뜻이 하나로 좁혀집니다. 그 매장은 그 재료를 다른 데서 사고 있습니다.


목록만 던지면 아무 일도 안 일어납니다

여기서 나올 수 있는 답은 넷이었습니다. 점주가 개인적으로 사입했거나, 본사가 허용한 직납이거나, 전표가 지사 단계에서 누락됐거나, 아무도 모르거나. 넷은 대응이 전부 다릅니다.

사입이면 전용 품목 기준으로 회수 금액과 사유별 집계를 냅니다

직납이면 직납 매장으로 등록해 다음 달부터 이 대조에서 빼야 합니다

전표 누락이면 지사에 확인해 데이터를 다시 모아야 합니다

모름이면 다음 현장 점검의 확인 항목으로 넘어갑니다

물류 데이터만으로는 이 넷을 가를 수 없었습니다. 그래서 '이상 매장 목록' 한 장만 넘기면 고객사 담당자가 매장마다 전화를 돌려야 합니다. 상대가 조사를 해야 답할 수 있는 질문은 답이 늦거나 안 옵니다. 확인 질의를 따로 설계하기로 한 이유가 그것입니다.


질의를 쓰기 전에 사내 기록부터 뒤졌습니다

여기서 그냥 넘어갈 뻔했습니다. '사입 여부는 현장에 물어봐야 알지'가 자연스러운 결론이기 때문입니다. 물류 테이블에 사입 여부를 적는 칸은 없었고, 없는 데이터를 짜낼 방법도 없었습니다.

다만 한 가지가 걸렸습니다. 이 업종은 현장 인력이 매장을 돌면서 글을 적습니다. 슈퍼바이저가 매장을 점검하며 쓰는 점검표에 서술형 메모 칸이 있었습니다. 그 칸을 전수로 훑었습니다.

훑은 것

결과

점검 메모 전체

262건

사입을 언급한 메모

33건 (여러 매장에 걸침)

품목별 분포

원육·돈뼈 쪽 12건 / 기본찬 쪽 15건

가장 많이 적힌 사유

금액 부담 (품질 불만이 그다음)

그리고 숫자로 뽑아둔 이상 매장 열한 곳과 대조했습니다. 여섯 곳이 그 메모에 이미 잡혀 있었습니다. '개인 사입 중'이라는 뜻의 문장이 몇 달 전 날짜로 적혀 있었고, 그중 한 곳은 어디서 무엇을 받는지까지 적혀 있었습니다.

남은 다섯 곳 중 네 곳은 메모가 없었습니다. 한 곳은 메모가 있는데 이상 패턴과 맞지 않았습니다. 공급처가 안 적힌 채 거래명세서만 언급돼 있어서, 사입인지 직납인지 판단할 근거가 되지 못했습니다.

숫자로 후보를 좁히고 사내 비정형 기록으로 대조한 뒤 사람에게는 고르게 하는 3단계 흐름도


데이터가 없던 게 아니라 그 화면이 안 읽고 있었습니다

이 메모는 DB 에 들어와 있었습니다. 외부 점검 시스템에서 넘어와 테이블에 적재까지 돼 있었습니다. 매입을 보는 화면이 그 칸을 안 쓰고 있었을 뿐입니다.

'데이터가 없다'와 '이 화면이 그 데이터를 안 읽는다'는 전혀 다른 문제인데, 화면 앞에 앉은 사람에게는 겉모습이 똑같습니다. 둘 다 조회하면 빈칸이 나옵니다. 그래서 전자로 단정하고 사람에게 물으러 가는 일이 생깁니다.

같은 모양의 사고를 전에도 한 번 적었습니다. 값은 멀쩡히 저장돼 있는데 찾는 쪽의 조건이 어긋나서 '없다'는 경고가 올라오던 건이었습니다.


세 갈래로 갈라서 물었습니다

확인 질의는 열한 곳을 한 덩어리로 묻지 않았습니다. 우리가 이미 아는 정도가 매장마다 달랐기 때문에, 상대가 해야 하는 일도 달라야 했습니다.

갈래

무엇을 묻나

메모가 이미 있는 여섯 곳

이게 맞는지만. 그리고 앞으로의 방향(직납 허용 / 물류 조건 조정 / 그대로)

메모가 없는 네 곳

사입 · 직납 · 전표 누락 · 모름 중 하나를 매장별로 고름

메모가 어긋난 한 곳

공급처 한 가지만

여섯 곳은 '왜 매입이 줄었습니까'가 아니라 '이렇게 적혀 있는데 맞습니까'가 됐습니다. 담당자가 확인하러 가지 않고도 답할 수 있는 형태입니다. 사내 기록을 한나절 훑은 대가로 질문 절반이 확인 작업으로 내려갔습니다.

서술형 질문과 선택지 질문의 응답 흐름을 좌우로 비교한 그림


선택지에 모름을 일부러 넣었습니다

선택지를 셋만 주면 담당자는 모르는 매장에 대해 둘 중 하나를 해야 합니다. 확인하러 가거나, 아무거나 고르거나. 둘 다 우리가 원하는 결과가 아닙니다.

'모름'은 버리는 답이 아닙니다. 그 매장은 다음 현장 점검의 우선 확인 항목이 되고, 슈퍼바이저가 어차피 도는 동선 안에서 처리됩니다. 답변자가 지금 부담을 지지 않아도 되는 자리를 만들어 두면 나머지 칸의 답이 정직해집니다.

다만 이건 신호로도 읽어야 합니다. '모름'이 많이 돌아오면 담당자가 게으른 것이 아니라 선택지 설계가 틀린 것입니다. 본사 재고 결품이나 배송 사고처럼 우리가 넷에 못 넣은 사유가 있으면 전부 거기로 뭉쳐 들어옵니다.


답이 바꿀 행동을 질의 안에 미리 적었습니다

질의 끝에 '이렇게 답하시면 우리가 무엇을 합니다'를 항목마다 적었습니다. 사입이면 회수 기준을 적용하고, 직납이면 대조 대상에서 빼고, 전표 누락이면 지사에 재수집을 요청하고, 모름이면 다음 점검으로 넘긴다고 썼습니다.

효과는 양쪽에 있습니다. 상대는 자기 답의 무게를 알고 고릅니다. 우리는 답을 받은 다음에 무엇을 할지 다시 회의하지 않습니다.

판단 기준을 질의에 미리 적는 것과 같은 결의 이야기를 상태값 쪽에서도 한 번 썼습니다. 같은 뜻을 서로 다른 표기로 부르면 읽는 쪽이 아무것도 못 고릅니다.

부산물도 하나 나왔습니다. 메모에 적힌 사입 사유 중 가장 많은 것이 금액 부담이었다는 사실입니다. 이건 적발 목록이 아니라 물류 조건을 다시 볼 근거입니다. DB 에 몇 달째 쌓여 있었는데 아무도 세어본 적이 없던 숫자였습니다.


이 방법이 안 통하는 자리

현장 기록이 늘 맞지는 않습니다. 여기서도 한 곳은 메모와 패턴이 어긋났습니다. 메모는 가설의 출처이지 확정이 아니라서, 여섯 곳도 맞는지를 물었습니다

비정형 기록이 아예 없는 도메인이 있습니다. 사람이 현장을 도는 업종이라 메모가 있었습니다. 안 도는 서비스라면 뒤질 곳이 없고 그때는 그냥 묻는 편이 맞습니다

전수로 훑을 수 있는 크기였습니다. 몇백 건이라 사람이 읽었습니다. 수십만 건이면 키워드 추출이나 분류 모델이 먼저이고, 그러면 빠짐없이 봤다는 보장이 사라집니다

사내 기록을 뒤지는 데도 비용이 듭니다. 여기서는 한나절이었습니다. 물어보는 쪽이 한 시간이면 물어보는 게 맞습니다

갈림선은 하나로 보고 있습니다. 상대가 답하려면 조사를 해야 하는 질문인가입니다. 상대도 조사해야 하는 질문이면 내가 먼저 뒤지는 쪽이 쌉니다.

데이터가 없다고 결론 내리기 전에 확인할 네 가지 사내 비정형 기록 목록


질의를 쓰기 전에 훑는 순서

정형 데이터로 갈 수 있는 데까지 후보를 좁힙니다. 여기서 멈추면 목록만 남습니다

사내에 사람이 글로 적는 칸이 있는지 찾습니다. 점검표·상담 이력·방문 기록·AS 코멘트가 그 자리입니다

그 칸이 지금 어느 화면에서 읽히는지 셉니다. 적재만 돼 있고 아무 화면도 안 읽으면 없는 데이터로 취급되고 있습니다

후보 목록과 그 기록을 매장 단위로 대조해, 이미 아는 것과 모르는 것을 가릅니다

아는 것은 맞는지만 묻고, 모르는 것은 닫힌 선택지로 내리고, 선택지에는 모름을 넣습니다

각 답이 바꿀 행동을 질의 안에 적어 보냅니다


마무리

이 건에서 실제로 한 일은 숫자로 좁히고, 글로 확인하고, 사람에게는 고르게 한 것이 전부입니다. 세 층을 섞지 않는 것이 요령이었습니다. 숫자에 사람 얘기를 기대하거나, 사람에게 숫자를 되묻는 순간 답이 안 옵니다.

남은 과제는 손으로 한 대조를 자동으로 돌리는 것입니다. 점검 메모를 매입 화면 쪽에서도 읽게 붙이면 같은 대조를 매달 받을 수 있습니다. 이번에는 사람이 한나절 읽어서 찾아냈습니다.

#점검표#확인질의#비정형데이터#데이터정합#질문설계