자동 분류 시스템의 품질은 성공률이 아니라 실패의 행방으로 판가름납니다. 매칭에 실패한 데이터가 어디로 가는가. 기본값으로 어딘가에 섞이는가, 조용히 버려지는가, 아니면 사람 눈에 보이는 곳에 쌓이는가. 광고 정산 데이터를 대행사별로 자동 분배하는 시스템을 만들며 우리는 세 번째를 선택했고 그 구조를 미매칭 큐라 부릅니다. 이 글은 그 설계를 정리한 것입니다.
조용한 오분류가 가장 비싸다
실패 처리의 선택지를 비용으로 비교해 보면 답이 나옵니다.
| 실패 처리 방식 | 겉보기 | 실제 비용 |
|---|---|---|
| 기본값으로 분류 | 처리율 100% | 오분류가 정산서에 섞임, 발견은 상대방 항의로 |
| 조용히 제외 | 깔끔한 결과 | 매출 행 누락, 발견은 월말 합계 불일치로 |
| 미매칭 큐 수집 | 처리율이 낮아 보임 | 실패가 보정 가능한 목록으로 남음 |
앞의 두 방식은 실패를 숨기고 숨겨진 실패는 가장 나쁜 시점(정산서 발송 후, 월말 마감)에 드러납니다. 미매칭 큐는 실패를 실행 직후, 보정이 가장 싼 시점에 드러냅니다. 처리율 숫자는 낮아 보여도 총비용은 압도적으로 작습니다.
미매칭 큐의 구성 요소
큐라고 해서 거창한 인프라가 필요한 것은 아닙니다. 우리 구현은 세 가지로 이뤄집니다.
- 수집: 매핑 조회에 실패한 행을 어느 시트에도 쓰지 않고 별도 목록에 모읍니다. 목록에는 판단에 필요한 것(계정 식별자, 출처 파일)이 담깁니다. 저장 상한을 두어 비정상 입력(엉뚱한 파일 업로드 등)으로 목록이 폭발하는 것을 막습니다.
- 노출: 처리 결과 화면에 총 행수, 매칭 수, 미매칭 수와 매칭률을 함께 보여주고, 미매칭 계정 목록을 바로 아래 표시합니다. 실패가 별도 로그 파일이 아니라 담당자가 반드시 보는 화면에 있어야 처리 흐름에 들어옵니다.
- 보정 순환: 담당자가 목록을 보고 매핑 테이블(계정 정리 시트)에 항목을 추가한 뒤 재실행합니다. 시스템은 같은 입력을 다시 처리해도 안전하게 설계되어 있으므로, 보정과 재실행의 반복이 곧 운영 절차가 됩니다.
구현 디테일 하나를 덧붙이면 미매칭 목록에는 저장 상한을 두었습니다. 엉뚱한 파일이 업로드되면 수천 행 전부가 미매칭이 되는데 이를 전부 저장하고 표시하는 것은 의미가 없기 때문입니다. 상한을 넘는 미매칭은 "파일 조합이 잘못됐다"는 신호로 읽는 것이 맞고 화면에는 대표 목록만 보여 줘도 보정에는 충분합니다.
미매칭률은 시스템의 계기판이다
운영을 시작하면 미매칭 큐는 부수적인 효용을 냅니다. 추이가 데이터 품질의 계기판이 됩니다.
- 미매칭이 꾸준히 소수라면: 신규 계정의 자연 발생분입니다. 정상 운영.
- 특정 매체에서 갑자기 늘었다면: 그 매체의 파일 양식이나 표기가 바뀌었다는 신호입니다. 파서와 정규화 규칙을 점검합니다.
- 같은 계정이 반복해서 올라온다면: 매핑 표기와 원본 표기가 미묘하게 달라 정규화가 못 잡는 케이스입니다. 규칙을 보강합니다.
실패 데이터를 버리지 않고 모아 두면, 그것이 곧 시스템 개선의 백로그가 됩니다. 파싱 실패 로그를 규칙 보강의 재료로 쓰는 메신저 주문 파싱 설계와 같은 원리입니다.
어디까지 자동 보정할 것인가
미매칭을 줄이려고 퍼지 매칭(부분 일치)을 넓게 열고 싶은 유혹이 생깁니다. 우리는 좁게 제한했습니다. 퍼지 매칭이 "비슷한 다른 대행사"에 행을 붙이는 순간, 그것은 미매칭이 아니라 조용한 오분류가 되기 때문입니다. 실패 처리의 목적은 처리율을 높이는 게 아니라 오류를 보정 가능한 형태로 유지하는 것입니다. 애매한 건 자동으로 밀어붙이지 않고 사람의 확정에 맡긴다는 점에서, 이 설계는 RPA 사람 승인 게이트와 같은 철학 위에 있습니다.
이 미매칭 큐가 동작하는 전체 시스템은 광고비 정산 자동화 사례에서, 매칭 앞단의 라우팅 구조는 계정 매핑 라우팅 설계에서 볼 수 있습니다.
자주 묻는 질문
미매칭 큐란 무엇인가요?
자동 분류·매칭에 실패한 데이터를 기본값으로 섞거나 버리는 대신, 사람이 보정할 수 있는 목록으로 수집·노출하는 구조입니다. 실패를 실행 직후에 드러내 보정 비용을 최소화하고 오분류가 결과물에 조용히 섞이는 것을 차단합니다.
매칭 실패를 그냥 기본 항목으로 분류하면 안 되나요?
정산·분배처럼 돈이 걸린 데이터에서는 위험합니다. 기본값 분류는 처리율을 좋아 보이게 하지만 오분류가 산출물에 섞여 상대방의 항의나 마감 불일치로 뒤늦게 발견됩니다. 실패는 숨기는 것보다 드러내는 쪽이 항상 쌉니다.
미매칭이 줄지 않으면 어떻게 해야 하나요?
패턴을 보고 원인 층을 찾아야 합니다. 특정 출처에서 몰리면 그 출처의 양식 변경, 같은 항목이 반복되면 표기 정규화 규칙의 공백, 전반적으로 늘면 기준 매핑 데이터의 관리 공백입니다. 미매칭 목록 자체가 진단 데이터이므로 출처와 식별자를 함께 기록해 두는 것이 중요합니다.
사람 보정 없이 완전 자동으로 만들 수는 없나요?
실패율을 낮출 수는 있어도 0으로 만들 수는 없습니다. 신규 항목은 계속 생기기 때문입니다. 현실적인 목표는 보정을 없애는 것이 아니라 보정을 몇 분짜리 운영 작업으로 만드는 것입니다. 목록 확인, 매핑 한 줄 추가, 재실행으로 끝나는 순환이면 충분히 자동화의 효용을 누릴 수 있습니다.